]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Make / in btrfs refer to real root, not the default volume.
[grub2.git] / ChangeLog
1 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Make / in btrfs refer to real root, not the default volume.
4 Modify mkrelpath to work even if device is mounted with subvolid option.
5
6 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
7
8 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
9 extra_dist.
10 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
11 extra_dist.
12
13 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
16 fails.
17
18 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
19
20 * docs/autoiso.cfg: New file.
21
22 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
25 COND_GRUB_PE2ELF conditions.
26
27 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
30 "vnd", "rd" and "fd" disks.
31
32 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Move grub_disk_write out of kernel into disk.mod.
35
36 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
39 handling.
40
41 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/kern/misc.c (grub_abort): Make static
44
45 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
48 transform invalid unicode codepoints.
49
50 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
53 \0 checking.
54
55 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
58
59 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Consolidate cpuid code.
62
63 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Move cpuid code to cpuid.h and TSC code to tsc.c.
66
67 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
68
69 * util/grub.d/00_header.in: Don't use LANG if it's not set.
70
71 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
72
73 * util/grub-mkconfig.in: Replace $0 with $self.
74 * util/grub-reboot.in: Likewise.
75 * util/grub-set-default.in: Likewise.
76
77 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
78
79 * docs/osdetect.cfg: New file.
80
81 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
82
83 * tests/util/grub-shell.in: Add new --debug option.
84
85 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
86
87 * tests/test_unset.in: New test.
88
89 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
90
91 * tests/test_sha512sum.in: New test.
92
93 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
96 * include/grub/misc.h: Remove strncat.
97 * grub-core/lib/posix_wrap/string.h: Likewise.
98
99 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
102 Try to handle more than 0xFFFF packets.
103 Reported by: Bernhard Übelacker <bernhardu>.
104 He also spotted few overflows in first version of this patch.
105
106 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * tests/date_unit_test.c: New test.
109
110 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
113 of first three years after start of validity of unixtime.
114
115 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
118 division as the one making more sense.
119 (update_screen): Likewise.
120 (complete): Likewise.
121
122 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
125
126 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
127
128 Make char and string width grub_size_t rather than grub_ssize_t.
129
130 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
133 unsigned.
134 (grub_history_replace): Likewise.
135
136 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
139 appropriate.
140
141 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
144 appropriate.
145
146 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
149 Use unsigned divisions rather than signed variants.
150
151 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/video/readers/png.c (grub_png_convert_image): Use
154 unsigned arithmetics.
155 Add missing break.
156
157 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
160
161 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
164 rather than signed one.
165 (recovery): Likewise.
166
167 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
170
171 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
174 than signed.
175
176 2013-10-25 Jon McCune <jonmccune@google.com>
177
178 * docs/grub.texi: Cleanup security documentation around signatures.
179
180 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
183
184 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
187 than int.
188
189 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
192 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
193 functions when compiling for kernel.
194
195 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
198 unsigned long long when using %llu.
199
200 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
203 terminal after updating progress.
204
205 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
208 argument. We don't disable Gate A20 in this code.
209
210 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
213 Conceptually based on change in branch "vbe-on-coreboot".
214
215 2013-10-24 Robert Millan <rmh@gnu.org>
216
217 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
218 numeric constants with their symbolic equivalent.
219 Taken from branch "vbe-on-coreboot".
220
221 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * docs/grub.texi: Fix ordering and use pxref rather than xref.
224
225 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
228 divmod64 for offset division.
229
230 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
231
232 Rename .bzrignore to .gitignore. Add "*.o" rule.
233
234 * .bzrignore: Renamed to...
235 * .gitignore: ...this.
236
237 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
238
239 Add new progress module that displays the load progress of files.
240
241 * grub-core/lib/progress.c: New file.
242 * grub-core/Makefile.core.def (progress): New module.
243 * grub-core/kern/file.c (grub_file_open): File name added.
244 * (grub_file_read): Progress hook added.
245 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
246 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
247 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
248 * include/grub/file.h (struct grub_file): Add progress module members.
249 * include/grub/term.h (struct grub_term_output): Likewise.
250 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
251 Terminal velocity added.
252 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
253 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
254 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
255 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
256 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
257 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
258 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
259 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
260 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
261 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
262 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
263 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
264
265 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Verify signatures of signatures unless --skip-sig is specified.
268
269 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
272 \0 checking.
273
274 Saves 70 bytes on compressed image.
275
276 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
279 check.
280
281 Saves 10 bytes on compressed image.
282
283 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/kern/misc.c (grub_isprint): Move to ...
286 * include/grub/misc.h (grub_isprint): ... here. Make inline.
287
288 Saves 20 bytes on compressed image due to remving exporting.
289
290 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
293
294 Saves 5 bytes on compressed image.
295
296 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
299 function get_utf8.
300
301 Saves 379 bytes on compressed image.
302
303 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
306
307 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
310
311 Saves 40 bytes on compressed image.
312
313 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
316 mask rather than 64-bit type.
317
318 Saves 20 bytes on compressed image.
319
320 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
323 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
324
325 Saves 273 bytes on compressed image.
326
327 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
330 variable length arrays.
331
332 Saves 50 bytes on compressed image.
333
334 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
337
338 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/fs/ufs.c: Remove variable length arrays.
341
342 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
345
346 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/fs/zfs.c: Remove variable length arrays.
349 Reduces zfs.mod by 160 bytes (208 compressed).
350
351 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
354
355 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * grub-core/net/arp.c: Remove variable length arrays.
358 * grub-core/net/bootp.c: Likewise.
359 * grub-core/net/dns.c: Likewise.
360 * grub-core/net/icmp6.c: Likewise.
361 * grub-core/net/net.c: Likewise.
362
363 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/fs/ntfs.c: Remove variable length arrays.
366 Increases ntfs.mod by 64 bytes (but decreases by 3 when
367 compressed).
368
369 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * grub-core/fs/hfs.c: Remove variable length arrays.
372 Reduces hfs.mod by 8 bytes (52 compressed).
373
374 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * grub-core/fs/udf.c: Remove variable length arrays.
377 Increases udf.mod by 128 bytes (but decreases by 13 when
378 compressed).
379
380 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/fs/iso9660.c: Remove variable length arrays.
383 Increases iso9660.mod by 200 bytes (but decreases by 79 when
384 compressed).
385
386 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/fs/nilfs2.c: Remove variable length arrays.
389 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
390 compressed).
391
392 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/fs/xfs.c: Remove variable length arrays.
395 Reduces xfs.mod by 40 bytes (43 compressed).
396
397 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/fs/fshelp.c: Remove variable length arrays.
400 Reduces fshelp.mod by 116 bytes (23 compressed).
401
402 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/normal/completion.c: Remove variable length arrays.
405 * grub-core/normal/menu_entry.c: Likewise.
406
407 Reduces normal.mod by 496 bytes.
408
409 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
412 by 356 bytes (158 compressed).
413
414 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
417 by 364 bytes (169 compressed).
418
419 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
422 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
423 * include/grub/types.h (grub_unaligned_uint64_t): New type.
424
425 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
426
427 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
428 bitmasks to small structures of size chosen to fit in registers.
429
430 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * conf/Makefile.common: Use -freg-struct-return on i386. This
433 decreases code size and improves performance.
434
435 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
438
439 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
442 "(null)" string.
443 Simplify expressions to save around 256 bytes in kernel.img.
444 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
445
446 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
449 Use GRUB_UTIL_FD_O_* rather than O_*.
450
451 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
452
453 Add haiku-specific functions.
454
455 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
458
459 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Move stat () and device mode checking into OS-dependent files as
462 long as performance doesn't suffer.
463
464 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Split make_system_path_relative_to_its_root into separate file
467 relpath.c from getroot.c as it's common between unix and haiku
468 but otherwise haiku doesn't use any functions from unix getroot.c.
469
470 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
473 New function.
474 (grub_util_is_special_file): Likewise.
475
476 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
479 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
480
481 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
484 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
485
486 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
489 (load_image): Likewise.
490
491 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * util/grub-render-label.c: Move backend part to ...
494 * util/render-label.c: ... here.
495
496 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
499 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
500
501 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
504
505 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
508 CD-ROM in case when it's declared as having subpartitions.
509
510 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Don't add -lm on haiku.
513
514 * configure.ac: Define BUILD_LIBM to -lm on most platforms
515 and empty on haiku.
516 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
517 -lm.
518
519 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * configure.ac: Use -melf_*_haiku as target on haiku.
522
523 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * Makefile.util.def: Add util/setup.c to extra_dist.
526
527 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
530 unknown types through.
531
532 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
535 (grub_util_check_char_device): Likewise.
536 * include/grub/emu/getroot.h: Likewise.
537
538 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
541 memset rather than inline static function.
542
543 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
546 not doing embedded decompressor.
547
548 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
551 shadowing.
552 * grub-core/kern/disk.c: Likewise.
553 * grub-core/kern/misc.c: Likewise.
554 * include/grub/parser.h: Likewise.
555 * include/grub/script_sh.h: Likewise.
556 * include/grub/zfs/zfs.h: Likewise.
557
558 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
561
562 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
565 defined before trying to use it.
566
567 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
570 warning.
571
572 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
575 Use __unused__ rather than __used__ on gcc < 3.2.
576
577 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
580 gcc < 4.0.
581 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
582
583 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
586
587 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
590 * include/grub/emu/misc.h: Likewise.
591
592 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
595 cur_color.
596
597 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
598
599 * grub-core/tests/checksums.h: Regenerated due to progress bar
600 get_minimal_size changes.
601
602 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
603
604 Added `tr' command support.
605
606 * grub-core/commands/tr.c: New file.
607 * grub-core/Makefile.core.def: Build rules for new module.
608
609 * tests/grub_cmd_tr.in: New test.
610 * Makefile.util.def: Build rules for new test.
611
612 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
613
614 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
615
616 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
617
618 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
619 * docs/gurb.texi: Likewise.
620
621 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
622
623 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
624 Pixmap highlighted section with east and west slices was displayed
625 incorrectly due to negative width of the central slice.
626
627 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
628
629 * docs/grub.texi: Graphical options information update.
630 Removed outdated. Updated current. Inserted missed.
631
632 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * docs/grub.texi: Mention few new platform-specific commands.
635
636 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
639 currently used so this doesn't really have any effect.
640 Reported by: Douglas Ray <dougray>
641
642 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
645 compilation but prevents gcc from displaying messages in non-Latin
646 alphabets.
647 * conf/Makefile.common: Likewise.
648
649 2013-10-16 Hiroyuki YAMAMORI
650
651 Handle Japanese special keys.
652 Reported by: Hiroyuki YAMAMORI.
653 Codes supplied by: Hiroyuki YAMAMORI.
654
655 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
656
657 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
658
659 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
660
661 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
662 * docs/grub.texi: Likewise.
663
664 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
667 value in case of incomplete read.
668 (grub_util_fd_write): Likewise.
669
670 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
673
674 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * util/grub-editenv.c (create_envblk_file): More from here ...
677 * util/editenv.c (grub_util_create_envblk_file): ... to here.
678
679 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
682 canonicalize file name before doing the rest.
683
684 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
687 mingw32.
688
689 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
690
691 Define grub_util_is_directory/regular/special_file and
692 use OS-dependent versions rather than to rely on stat().
693
694 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * util/grub-mkimage.c: Move backend part to ...
697 * util/mkimage.c: ... here.
698
699 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Allow compilation with mingw64 albeit with warnings due to lack of
702 %llx/%llu.
703
704 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
705 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
706 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
707 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
708 on mingw64.
709 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
710
711 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
712
713 Remove leftover references to some of the system headers.
714
715 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
718 read.
719
720 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
723 of strerror.
724
725 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Split out blocklist retrieving from setup.c to
728 grub-core/osdep/blocklist.c and add windows implementation since
729 generic version doesn't work on NTFS on Windows due to aggressive
730 unflushable cache.
731
732 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
733
734 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
735 files.
736
737 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
740 Cut tailing newline. Remove arbitrary limitation. Always use
741 grub_util_tchar_to_utf8.
742
743 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
746 * tests/printf_unit_test.c (printf_test): Add %% tests.
747 Reported by: Paulo Flabiano Smorigo.
748
749 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
752 implement fsync.
753
754 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * configure.ac: Check for nvlist_lookup_string in nvpair since we
757 use nvlist_lookup_string and don't use nvlist_print.
758
759 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
760
761 Add wrappers around rename, unlink, mkdir, opendir, readdir and
762 closedir to handle filename charset translation.
763
764 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * include/grub/emu/hostdisk.h: Move file operations to
767 * include/grub/emu/hostfile.h: ... here.
768
769 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
772 unicode path.
773
774 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
777
778 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
779
780 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
781 and remove export.h.
782
783 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/kern/emu/error.c: Removed.
786 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
787 explicitly as it's already in libgnu.a.
788
789 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
792 config-util.h include.
793
794 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
795
796 Split emunet into platform-dependent and GRUB-binding parts. Keep
797 platform-dependent part in kernel for easy access to OS functions.
798
799 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
802 open/read/write.
803
804 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/osdep/windows/emuconsole.c: New file.
807
808 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
809
810 * conf/Makefile.extra-dist: Add osdep/*/init.c
811
812 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
815
816 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * util/grub-probe.c (probe): Separate different drives in hint-str
819 by spaces and not newlines.
820 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
821
822 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
823
824 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
825 Handle CD-ROMs.
826
827 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Pass-through unknown E820 types. It required reorganisation of mmap
830 module.
831
832 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
833
834 * Makefile.util.def: Add osdep/init.c to grub-mount files.
835
836 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
837
838 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
839 fseeko.
840
841 2013-10-14 qwertial <qwertial>
842
843 * grub-core/gdb_grub.in: Fix overflow and wrong field.
844
845 2013-10-14 Jon McCune <jonmccune@google.com>
846
847 * docs/grub.texi: Document new signatures possibility.
848
849 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
852
853 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
856 missing prototype.
857 (grub_util_tchar_to_utf8): Likewise.
858
859 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
862 * grub-core/kern/emu/main.c: Add missing include.
863 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
864 Don't call grub_util_init_nls.
865 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
866 Likewise.
867
868 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
871 stat.
872
873 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
876
877 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
880
881 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Add a wrapper for fopen. On unix-like systems just pass-through. On
884 windows use unicode version.
885
886 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
887
888 Move set_program_name and init_nls to host_init. On windows
889 fix in this fuction console and argument charset as well.
890
891 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
892
893 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
894 GRUB_ENABLE_CRYPTODISK.
895
896 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
897 GRUB_ENABLE_CRYPTODISK.
898 * util/grub-mkconfig_lib.in: Likewise.
899
900 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
901
902 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
903
904 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
905
906 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
907 error when enabling debug.
908
909 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
910
911 * configure.ac: Use -melf_*_obsd on openbsd.
912
913 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
916
917 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * include/grub/misc.h: Use gnu_printf rather than printf as format
920 template since our functions are independent of libc.
921
922 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * util/grub-setup.c (setup): Move copying of partition table as
925 futher up as possible to avoid possible overwrite by floppy routines.
926
927 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
930
931 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
932
933 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
934 * docs/grub.texi: Likewise.
935
936 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
939 it's mostly unused. Move vestiges to the callers.
940
941 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
944 version of salt and hash. Use grub_snprintf rather than snprintf.
945
946 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * docs/grub.texi: Fix problem with braces.
949
950 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * conf/Makefile.extra-dist: Fix extra-dist list.
953 * grub-core/Makefile.core.def: Likewise.
954
955 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * docs/grub.texi: Document disk names used on Windows and AROS.
958
959 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
962 with AROS devs.
963 * grub-core/osdep/aros/hostdisk.c: Likewise.
964
965 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Avoid including hostfile.h when not necessarry as it pulls
968 in OS-specific headers which may redefine generic names
969 like "far".
970
971 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
972
973 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
974 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
975 scrollbar_bottom_pad
976 * docs/grub.texi: Likewise.
977
978 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
979
980 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
981
982 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
983
984 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
985
986 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
989 Removed.
990 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
991 Made static.
992
993 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
996 leftover.
997
998 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Move OS-specific driver configuration to grub_util_fd_open. This
1001 moves OS-dependent parts from kern/emu/hostdisk.c to
1002 grub-core/osdep/*/hostdisk.c.
1003
1004 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * util/grub-mkimage.c (generate_image): Use size_t instead of
1007 grub_size_t.
1008 * util/grub-mkimagexx.c (locate_sections): Likewise.
1009 (load_image): Likewise.
1010
1011 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
1014 size_t.
1015 (grub_util_write_image): Likewise.
1016
1017 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
1020 get random when no RNG is available.
1021 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
1022
1023 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * include/grub/util/lvm.h: Removed.
1026
1027 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
1030 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
1031
1032 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/osdep/windows/sleep.c: Add missing config.h.
1035
1036 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
1039
1040 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/net/drivers/emu/emunet.c: Move to ..
1043 * grub-core/osdep/linux/emunet.c: ..here.
1044
1045 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * util/ieee1275/ofpath.c: Move to ...
1048 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
1049 * grub-core/osdep/basic/ofpath.c: ..here.
1050
1051 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Move password-querying (util-version) routines to grub-core/osdep.
1054
1055 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 Move sleep routines to grub-core/osdep.
1058
1059 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Move OS-dependent files to grub-core/osdep and document it.
1062
1063 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
1066 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
1067
1068 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
1071
1072 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * util/misc.c: Remove leftover inclusion of malloc.h.
1075
1076 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * include/grub/setjmp.h: Remove leftover GRUBOF.
1079
1080 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * util/raid.c: Fold into ...
1083 * util/getroot_linux.c: ... here. Make all functions static.
1084
1085 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
1088 macros to GRUB ones.
1089
1090 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1091
1092 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
1093 occasional bug. If there are too many boot entries or too low
1094 scrollbar height then we need to use another formula to calculate
1095 the position and size of the scrollbar thumb.
1096
1097 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
1100
1101 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1102
1103 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
1104 * docs/grub.texi: Likewise.
1105
1106 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1107
1108 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
1109 viewport.
1110
1111 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1112
1113 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
1114 minimal width calculations.
1115
1116 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * docs/grub.texi: Update note on colors on emu console.
1119
1120 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
1123 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
1124 it's FS and not GRUB limitation.
1125
1126 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
1129
1130 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
1133
1134 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1135
1136 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
1137 kernels by version order.
1138
1139 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
1142
1143 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 Add AROS hostdisk and getroot routines.
1146
1147 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Make cryptodisk and diskfilter probe data retrievable programmatically
1150 and not just printable.
1151
1152 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Split random retrieving code into separate files.
1155
1156 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
1159 R_ARM_V4BX.
1160
1161 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
1164 condition.
1165 * grub-core/tests/fake_input.c: Likewise.
1166 * grub-core/tests/cmdline_cat_test.c: Likewise.
1167
1168 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/video/capture.c: Do not do finalization when .fini
1171 is called as there is explicit capture_end.
1172
1173 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
1176 changing windows to avoid crash.
1177
1178 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
1181
1182 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * po/exclude.pot: Add several strings to exclude.
1185
1186 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
1189
1190 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * autogen.sh: Add ./util/grub-gen-widthspec.c and
1193 ./util/grub-gen-asciih.c to exclude list.
1194
1195 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
1198 and don't mark error strings for translation.
1199
1200 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
1203 properly in case of missing block size.
1204
1205 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/lib/arm/setjmp.S: Add missing license section.
1208
1209 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * po/swiss.sed: Add replacement for key names and for term computer.
1212
1213 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
1214
1215 * grub-core/gfxmenu/theme_loader.c: New global options for the
1216 theme background image handling. desktop-image-scale-method,
1217 desktop-image-h-align, desktop-image-v-align.
1218 * grub-core/gfxmenu/view.c: Likewise.
1219 * include/gfxmenu_view.h: Likewise.
1220 * include/bitmap_scale.h: Proportional scale functions introduced.
1221 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
1222 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
1223 cases of unexpected input variables for scale functions.
1224 * docs/grub.texi: Updated documentation for new options.
1225
1226 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
1229
1230 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1231
1232 * grub-core/tests/checksums.h: Corrected due to changes in
1233 bilinear interpolation function.
1234
1235 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
1236
1237 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
1238 to eliminate artefacts in bilinear interpolation.
1239
1240 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * grub-core/video/readers/tga.c: Support paletted tga.
1243
1244 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
1247 incorrect cbcr setting when in color mode.
1248
1249 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/video/readers/png.c: Support paletted images and clean up
1252 greyscale support.
1253
1254 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
1257 usage of wrong table which resulted in mishandling of 4-byte
1258 sequences.
1259
1260 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/term/terminfo.c: Add Home and End key sequences.
1263
1264 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/video/readers/png.c (grub_png_decode_image_header):
1267 Fix formula for computing total number of bytes.
1268
1269 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
1272 image processing, fix big-endian and support grayscale.
1273
1274 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
1277 Correctly will with maximum transparency when using index color.
1278
1279 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/video/readers/png.c: Support grayscale
1282
1283 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/video/readers/jpeg.c: Support grayscale.
1286
1287 2013-09-26 Jon McCune <jonmccune@google.com>
1288
1289 * grub-core/commands/loadenv.c: Support skipping signature check
1290 and variable names filtering.
1291
1292 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
1295 * grub-core/kern/emu/hostfs.c: Likewise.
1296 * util/getroot_unix.c: Likewise.
1297
1298 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
1301 Migrate all explicit defines to this new one.
1302
1303 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
1306 grub_util_fd_strerror when using grub_util_fd_*.
1307 (grub_util_fd_open_device): Likewise.
1308 (grub_util_biosdisk_read): Likewise.
1309 (grub_util_biosdisk_write): Likewise.
1310 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
1311 (grub_util_fd_strerror): Likewise.
1312 (grub_util_fd_sync): Likewise.
1313 (grub_util_fd_close): Likewise.
1314 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
1315 (grub_util_fd_close): Likewise.
1316 (grub_util_fd_strerror): Likewise.
1317 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
1318 function proto rather than macro.
1319 (grub_util_fd_sync): Likewise.
1320 (grub_util_fd_open): Likewise.
1321 (grub_util_fd_strerror): New proto.
1322
1323 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
1326 platforms on which it doesn't work.
1327
1328 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
1331 stat immediately to where it's used.
1332
1333 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/getroot.c (grub_util_check_block_device): Move to ...
1336 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1337 * util/getroot.c (grub_util_check_char_device): Move to ...
1338 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1339
1340 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1343 disk closing logic.
1344
1345 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1346
1347 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1348
1349 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1350
1351 * docs/grub.texi (File name syntax): Document ZFS filenames
1352 (/volume@snapshot/...).
1353
1354 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1357 Always return full path. Fixes a problem with mkrelpath.
1358
1359 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1360
1361 * util/grub-install.in: Add GPT PReP support.
1362 * util/grub-probe.c (probe): Support GPT partition type.
1363 (main): Support -t gpt_parttype.
1364
1365 2013-09-23 Aleš Nesrsta <starous@volny.cz>
1366
1367 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1368
1369 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1370
1371 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1372
1373 2013-09-23 Tim Hardeck <thardeck>
1374
1375 * util/grub.d/10_hurd.in: Filter out character for the class.
1376 * util/grub.d/10_kfreebsd.in: Likewise.
1377 * util/grub.d/10_linux.in: Likewise.
1378 * util/grub.d/20_linux_xen.in: Likewise.
1379
1380 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1381
1382 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1383 "changed".
1384
1385 2013-09-23 Josh Triplett <josh@joshtriplett.org>
1386
1387 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1388 boot partition.
1389
1390 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1393 doesn't use posix_wrap. Keep literal -fno-builtin however.
1394
1395 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1398
1399 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1400 2013-09-23 neil
1401
1402 * configure.ac: Do not enable -Wmissing-noreturn as its
1403 usefulness is limited and creates problems on some OS notably with
1404 code generated by bison.
1405
1406 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1407 2013-09-23 neil
1408
1409 * configure.ac: Do not explicitly enable -Waddress as it's not
1410 supported by all gcc and when it is, it's already enabled by -Wall.
1411
1412 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1415 desactivated use of EDID at all.
1416
1417 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1418 2013-09-23 neil
1419
1420 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1421 video if no text is available.
1422
1423 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1424 2013-09-23 neil
1425
1426 * configure.ac: Substitute TARGET_RANLIB.
1427
1428 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1429 2013-09-23 neil
1430
1431 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1432
1433 Based on patches from AROS.
1434
1435 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1436 2013-09-23 neil
1437
1438 * grub-core/Makefile.am: Override STRIP and RANLIB.
1439 * configure.ac: compute TARGET_RANLIB.
1440 * INSTALL: Document TARGET_RANLIB
1441
1442 Based on patches from AROS.
1443
1444 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1447 that floppies are unpartitioned.
1448
1449 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1452 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1453
1454 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1457 less nice but more portable.
1458 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1459
1460 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1463 for cheat_fd.
1464 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1465 functions.
1466 (grub_cryptodisk_cheat_insert): Likewise.
1467 (grub_cryptodisk_close): Likewise.
1468
1469 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1472 Use windows path for DEFAULT_DIRECTORY.
1473
1474 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1477 difference was likely just gcc version, not anything mingw-related.
1478
1479 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Use Winapi on both cygwin and mingw32 to share more code between both.
1482
1483 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1484
1485 * util/grub-install.in: Add --grub-editenv option.
1486 * util/grub-install_header (grub_compress_file): Explicitly check for
1487 plain file to avoid cp error.
1488
1489 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1490
1491 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1492 names; fix LVM driver name (lvm, not lv).
1493 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1494 names.
1495
1496 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1499 files rather than one file with loads of #if's.
1500 * util/getroot.c: Likewise.
1501
1502 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1505
1506 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1509 GNU/Hurd to the list of checked PRNG.
1510
1511 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1514
1515 2013-09-21 Ales Nesrsta <starous@volny.cz>
1516
1517 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
1518
1519 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1522 * grub-core/disk/lvm.c: Add LVM UUIDs.
1523 * util/getroot.c: Use LVM UUIDs whenever possible.
1524
1525 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1526
1527 * docs/grub.texi (Networking commands): Add documentation for
1528 network related commands.
1529
1530 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1533 to determine if device is handled by devmapper.
1534 (convert_system_partition_to_system_disk): Likewise.
1535 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1536 already done in grub_util_open_dm.
1537
1538 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1539
1540 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1541 Clean up stack manipulation (sync_caches_armv*)
1542
1543 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * util/lvm.c: Remove since unused. Remove remaining references.
1546
1547 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Handle the case of partitioned LVM properly.
1550
1551 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1552 Stop on meeting LVM, mpath or DMRAID.
1553 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1554 (read_device_map): Likewise.
1555 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1556 device is full disk rather than erroring out on LVM and similar cases.
1557
1558 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1561
1562 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1565 4K before the end.
1566 Reported by: Leif Lindholm
1567
1568 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
1569 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1572 codes.
1573
1574 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
1575
1576 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1577 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1578
1579 2013-09-18 Douglas Ray <dougray@cpan.org>
1580
1581 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1582 as secure.
1583
1584 2013-09-18 Aleš Nesrsta <starous@volny.cz>
1585
1586 * docs/grub.texi: Fix broken link.
1587
1588 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1589
1590 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1591 to break endless loop.
1592
1593 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * util/grub-fstest.c: Fix several printf formats.
1596 * util/grub-mkimage.c: Likewise.
1597 * util/grub-mkimagexx.c: Likewise.
1598 * util/grub-script-check.c: Likewise.
1599
1600 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1603 error.
1604
1605 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1608
1609 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1612 removed in current versions cygwin_conv_*.
1613
1614 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * configure.ac: Disable efiemu runtime on cygwin.
1617
1618 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1621 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1622
1623 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1626 error message.
1627
1628 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1631 windows variant.
1632 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1633 data.
1634
1635 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1638 when on x86 and not cygwin.
1639 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1640 -Wl,-melf_x86_64.
1641
1642 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * configure.ac: Set CPP to build one when checkoing for freetype for
1645 build.
1646
1647 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1650 [!GRUB_BUILD]: Remove has_argument.
1651
1652 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1655 Replace with a dummy.
1656
1657 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * configure.ac: Don't change host_os from mingw to cygwin.
1660
1661 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * configure.ac: Change target_os from windows to cygwin.
1664
1665 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1668
1669 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1670 (build-grub-gen-asciih): Likewise.
1671 (build-grub-gen-widthspec): Likewise.
1672 * Makefile.util.def (grub-pe2elf): Remove.
1673 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1674 * configure.ac: Separate tests for build.
1675 Move ./build-grub-pe2elf to grub-core.
1676 Fix typo.
1677 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1678 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1679 defined.
1680 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1681 constants.
1682 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1683 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1684 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1685
1686 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1689 mingw32 as well based on grub_util_get_disk_size.
1690 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1691 grub_util_get_fd_size.
1692 (sync): Removed.
1693 (fsync): Moved to ...
1694 * grub-core/kern/emu/misc.c (fsync): ... here.
1695
1696 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * include/grub/mm.h (grub_extend_alloc): Remove.
1699 * grub-core/loader/i386/pc/plan9.c: Use own version of
1700 grub_extend_alloc with appropriate types.
1701
1702 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1705
1706 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1709
1710 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Fix dependencies on cygwin.
1713
1714 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1715 dependencies when used and defined.
1716 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1717
1718 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1721 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1722
1723 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1726 implementation available to cause compile-time rather than runtime
1727 error.
1728
1729 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * util/grub-fstest.c: Don't check for symlinks on windows.
1732
1733 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * INSTALL: Mention unavailability of man pages when cross-compiling.
1736
1737 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1740 and gcry_log_bug.
1741 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1742
1743 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * INSTALL: Document cross-compilation.
1746 * acinclude.m4: Determine whether nm support -P and --defined-only.
1747 * configure.ac: Add TARGET_ to all variables pertaining to target
1748 that don't have it yet.
1749 * gentpl.py: Likewise.
1750 * grub-core/Makefile.am: Likewise.
1751 * grub-core/genmod.sh.in: Likewise.
1752 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1753 as well.
1754
1755 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1756
1757 * configure.ac: Remove -Wempty-body. It's not essential and needs
1758 recent gcc.
1759
1760 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1761
1762 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1763 * util/getroot.c: Likewise.
1764
1765 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/disk/ahci.c: Add needed explicit cast.
1768 * grub-core/lib/backtrace.c: Likewise.
1769 * grub-core/net/ip.c: Likewise.
1770 * grub-core/net/tcp.c: Likewise.
1771 * grub-core/net/udp.c: Likewise.
1772
1773 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1776
1777 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/import_gcry.py: Add final newline in visibility.h.
1780
1781 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * conf/Makefile.common: Fix typo.
1784
1785 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1788
1789 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * Makefile.am (widthspec.h): Fix typo.
1792 * util/grub-gen-widthspec.c: Likewise.
1793
1794 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 Move ascii.h and widthspec.h generation to a separate build-time-only
1797 tool.
1798
1799 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1800
1801 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1802 Always fill bootdisk info and improve check for NetBSD disklabel.
1803
1804 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * conf/Makefile.extra-dist: Add util/bin2h.c.
1807 Reported by: floppym.
1808
1809 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1812
1813 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * configure.ac: Disable unifont and starfield if no freetype was found.
1816
1817 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1820 on NetBSD and OpenBSD.
1821
1822 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
1823
1824 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1825
1826 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
1827
1828 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1829 reduced. Inheritant options are processed during the theme loading.
1830
1831 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
1832
1833 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1834
1835 2013-08-14 Avik Sil <aviksil@in.ibm.com>
1836
1837 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1838
1839 2013-08-14 Avik Sil <aviksil@in.ibm.com>
1840
1841 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1842 using qemu.
1843
1844 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1845
1846 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1847 remove-potcdate.sed.
1848
1849 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1850
1851 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1852 unused attribute from pull argument.
1853
1854 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1855
1856 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1857 memory leak.
1858
1859 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1860
1861 * util/getroot.c (pull_lvm_by_command): add --separator option
1862 to vgs call to disable padding of output to 10 characters.
1863
1864 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1867 here ...
1868 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1869 here.
1870
1871 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1874 length.
1875
1876 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1879 full Canadian cross. Tested with build=x86_64, host=arm,
1880 target=ppc-ieee1275.
1881
1882 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * configure.ac: Error if no $BUILD_CC could be found.
1885 Reported by: DevHC.
1886
1887 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1890 i386-multiboot.
1891
1892 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1895 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1896
1897 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
1898
1899 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1900 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1901 falling back to the partition device, otherwise a later call to this
1902 function may fail spuriously.
1903 Reported by Axel Beckert. Fixes Debian bug #708614.
1904
1905 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1906
1907 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1908
1909 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1910
1911 Prevent shadowing of stdlib's devname(3) on BSD.
1912
1913 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1914 and devlast to diskname and disklast, respectively.
1915
1916 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1919
1920 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1921
1922 * docs/grub.texi: Introduce terminal window position options:
1923 terminal-left: terminal window's left position
1924 terminal-top: terminal window's top position
1925 terminal-width: terminal window's width
1926 terminal-height: terminal window's height
1927 terminal-border: terminal window's border width
1928 * grub-core/gfxmenu/theme-loader.c: Likewise.
1929 * include/grub/gfxmenu_view.h: Likewise.
1930 * po/exlude.pot: Likewise.
1931 * grub-core/gfxmenu/view.c: Likewise.
1932 Also updated minimal window size.
1933 Also terminal_sanity_check function has been introduced.
1934 * grub-core/tests/checksums.h: Update (terminal window height
1935 is adjusted now for low resolution screen)
1936
1937 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1940 position).
1941
1942 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * po/exclude.pot: Add few recent exceptions.
1945
1946 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * tests/grub_func_test.in: Add unicode.pf2.
1949
1950 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1953 standard rather than noral color, in line with other terminals.
1954
1955 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1958 analysis.
1959
1960 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1963
1964 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1967 inappropriate printf.
1968
1969 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1970
1971 * .bzrignore: Remove grub-core/lib/dtc-grub,
1972 grub-core/Makefile.libfdt.def
1973 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1974
1975 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * include/grub/video.h (grub_video_register): Keep double-linked as
1978 well as single-linked invariants.
1979 Reported by: qwertial.
1980
1981 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/commands/nativedisk.c (get_uuid): Handle
1984 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1985
1986 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1987
1988 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1989 maximum of NW, N, NE heights instead of N's height and maximum of
1990 NW, W, SW widths instead of W's width. (So the box will be always
1991 correctly drawn)
1992
1993 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1994
1995 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1996 Fix misuse of variable count.
1997
1998 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
1999 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
2000 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 New ports to arm-uboot and arm-efi.
2003 Mostly by Leif Lindholm with some additions from
2004 Francesco Lavra and cleanup by Vladimir Serbinenko.
2005
2006 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
2009 and not before.
2010 Reported by: Leon Drugi.
2011
2012 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
2015 Reported by: Paulo Flabiano Smorigo.
2016
2017 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2018
2019 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
2020
2021 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
2022
2023 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
2024
2025 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
2028
2029 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
2032
2033 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
2034
2035 * grub-core/net/bootp.c: Export net_* variables.
2036 * grub-core/net/net.c: Likewise.
2037
2038 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
2041
2042 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
2045
2046 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
2049
2050 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
2053
2054 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2055
2056 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
2057 <= 0.
2058
2059 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2060
2061 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
2062 functions.
2063
2064 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2065
2066 * grub-core/fs/zfs/zfs_lz4.c: New file.
2067 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
2068
2069 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2070
2071 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
2072
2073 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2074
2075 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
2076 (check_pool_label): Likewise.
2077 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
2078
2079 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
2080
2081 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
2082
2083 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2084
2085 * docs/grub.texi (Commands): Document postition parameters
2086 for menuentry command.
2087
2088 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
2089
2090 * util/grub-mknetdir.in: Remove stray line from help output.
2091
2092 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Remove early sm712 init as there is no reason for it (the "watchdog"
2095 effect was due to wrong GPIO map).
2096
2097 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/commands/pcidump.c: Remove static variables.
2100
2101 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/commands/sleep.c: Refresh screen before sleeping.
2104
2105 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * configure.ac: Move delimiter after the infos.
2108
2109 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
2112
2113 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
2116 not filling whole 8x16 space.
2117
2118 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
2121
2122 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * configure.ac: Indicate which liblzma is used if any.
2125
2126 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
2127 2013-06-21 Craig Sanders <savannah@taz.net.au>
2128
2129 * util/grub-reboot.in: Document submenu usage.
2130
2131 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
2132
2133 * .bzrignore: Update with a number of new test-related files.
2134
2135 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
2136
2137 * util/grub-script-check.c: Fail on scripts containing no
2138 commands, to guard against corrupted grub-mkconfig setups that
2139 produce no useful output.
2140 * tests/grub_script_no_commands.in: New test.
2141 * Makefile.util.def (grub_script_no_commands): Add.
2142 Reported by Hans Putter. Fixes Debian bug #713886.
2143
2144 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2145
2146 * grub-core/disk/diskfilter.c: Forgot to remove comment
2147 from previous commit.
2148
2149 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2150
2151 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2152 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
2153
2154 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2155
2156 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
2157
2158 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
2159
2160 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
2161 rescan diskfilter devices until nothing new is found.
2162
2163 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Fix casts when compiling coreboot-specific code for 64-bit EFI.
2166
2167 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Don't try to detect cbfs on *-emu.
2170
2171 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/term/gfxterm.c: USe right background color when scrolling.
2174
2175 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 Add support for processed coreboot payload chainloading.
2178
2179 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Enable coreboot information commands even when not loaded as
2182 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
2183
2184 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Support for cbfs. Also factor out the part which is common
2187 for all archives to a separate module. This splits tar from cpio
2188 as they are very different but keeps cpio, cpio_be, odc and newc
2189 together since they're very similar.
2190
2191 2013-06-15 David Michael <fedora.dm0@gmail.com>
2192
2193 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
2194 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
2195
2196 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * tests/grub_script_eval.in: Really add the eval test.
2199
2200 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Move flavour-specific parts out of common cpio.c file and
2203 rename remaining to cpio_common.c
2204
2205 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2206
2207 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
2208 off new function grub_script_execute_new_scope. Change callers to use
2209 either of them as appropriate.
2210 * grub-core/commands/eval.c: New command eval.
2211 * docs/grub.texi (Commands): Document it.
2212
2213 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2214
2215 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
2216 to fetch values when listing.
2217
2218 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
2219
2220 Fix make dist on non-pc.
2221
2222 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
2223
2224 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
2225 without a device name.
2226
2227 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Remove enable_executable_check as it's not needed anymore.
2230 Reported by: dougray.
2231
2232 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
2235 ambigouos RAID before discovering RAIDs on top of it.
2236 Reported by: bodom.
2237
2238 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Fix typo (failback vs fallback).
2241
2242 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
2243
2244 * util/grub.d/30_os-prober.in: Add support for probing EFI
2245 System Partition (as of os-prober 1.58).
2246
2247 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * configure.ac: Add yet another path to unifont. For parabola.
2250
2251 2013-05-30 Josh Triplett <josh@joshtriplett.org>
2252
2253 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
2254 handling to copy the killed characters to the kill buffer as
2255 UCS4 stored as grub_uint32_t rather than as 8-bit characters
2256 stored as char. Eliminates UCS4 truncation and corruption
2257 observed when killing characters with Ctrl-u and yanking them
2258 back with Ctrl-y.
2259
2260 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Detach optional parts of gfxterm and integrate in with coreboot init.
2263
2264 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 Move blit and fill dispatcher to appropriate files to decrease export
2267 and relocation overhead.
2268
2269 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/font/font.c, include/grub/font.h: Inline simple font
2272 functions.
2273
2274 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/Makefile.am: Fix compilation problem with some
2277 automake versions.
2278
2279 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
2282
2283 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
2286 automake versions.
2287
2288 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
2291 SSDT.
2292
2293 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
2294
2295 * grub-core/partmap/dfly.c: New partition map.
2296
2297 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
2300 checking.
2301 Reported by: Francesco Lavra.
2302
2303 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
2304
2305 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
2306 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
2307 false conditions.
2308 * conf/Makefile.common: define dist_grubconf_DATA
2309
2310 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 Progressively skip menu elements on small terminals rather
2313 than crashing.
2314
2315 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2318 to avoid losing last column.
2319
2320 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * po/exclude.pot: Add missing string "%C".
2323
2324 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
2327 after the test.
2328
2329 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * util/grub-install.in: Gettextize "Not found" message.
2332
2333 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 Fix distfiles list.
2336 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2337
2338 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2339
2340 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2341 present.
2342 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2343
2344 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2347
2348 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2351 attribute since structure is not necessarily aligned.
2352
2353 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2354
2355 * docs/grub.texi (Device syntax): Clarify description of network
2356 drives.
2357
2358 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2361 for vasprintf presence.
2362
2363 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/grub-install.in: Handle efibootmgr presence check.
2366 Reported by: Leif Lindholm.
2367
2368 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2371 new strings to translate.
2372
2373 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2376 yet another string (pun intended) to translate.
2377
2378 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * po/POTFILES-shell.in: Autogenerate it.
2381
2382 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2385
2386 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2389 misnomer.
2390
2391 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2392
2393 * docs/grub.texi (Network): Add description of net_default_interface,
2394 net_default_ip and net_default_mac. Rewrite variables description
2395 to emphasize that they are per-interface.
2396
2397 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 New test: cmdline and cat.
2400
2401 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/commands/cat.c: Show UTF-8 characters.
2404
2405 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * conf/Makefile.common: Poison float and double on non-emu.
2408
2409 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * configure.ac: Don't disable extended registers on emu.
2412
2413 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * configure.ac: Don't use extended registers on x86_64.
2416 Reported by: Peter Jones.
2417
2418 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/term/efi/console.c: Fix compile error.
2421
2422 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 Compressed HFS+ support.
2425
2426 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2429 pixel".
2430
2431 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Menu color test.
2434
2435 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/tests/setjmp_test.c: New test.
2438
2439 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 New variables 'net_default_*' to determine MAC/IP of default interface.
2442
2443 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * tests/gettext_strings_test.in: A test to check for strings not
2446 marked for translation.
2447
2448 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * autogen.sh: Exclude unused libgcrypt files from translation.
2451
2452 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 Simplify few strings.
2455
2456 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Mark few forgotten strings for translation.
2459
2460 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2463 rather than printf.
2464
2465 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2468 rather than printf.
2469 * grub-core/video/readers/tga.c: Likewise.
2470
2471 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * tests/priority_queue_unit_test.cc: New test.
2474
2475 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2478 than printf.
2479
2480 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2481
2482 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2483 variable for one time boot menu entry.
2484
2485 2013-05-05 Bean <bean123ch@gmail.com>
2486
2487 * grub-core/commands/testspeed.c: New command testspeed.
2488
2489 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Factor-out human-size printing.
2492
2493 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Agglomerate more mallocs to speed-up gfxterm.
2496
2497 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Speed-up gfxterm by slightly agglomerating mallocs.
2500
2501 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 More video checks.
2504
2505 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Speed-up gfxterm by saving intermediate results in index+alpha
2508 format.
2509
2510 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2513 test.
2514
2515 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2518 line of timeout as it may contain the rest of long line.
2519
2520 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/normal/main.c: Fix freed memory dereference.
2523
2524 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 Fix several memory leaks.
2527
2528 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2531
2532 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2535
2536 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Fix test -a and -o precedence.
2539 Reported by: adrian15.
2540
2541 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2544
2545 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2546
2547 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2548 and add it as source to functional_test module.
2549
2550 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2553
2554 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 New series of tests for gfxterm and gfxmenu.
2557
2558 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2561 the theme path relative to $prefix/themes.
2562
2563 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2566 Fix order bug.
2567 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2568
2569 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2572 descriptor.
2573
2574 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2577 grub_gfxmenu_timeout_notifications.
2578 (grub_gfxmenu_view_destroy): Likewise.
2579
2580 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2583
2584 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Several fixes to ieee1275 and big-endian video.
2587
2588 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Add missing exports on mips.
2591
2592 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2595 if no unifont is found.
2596 Restore original keyboard.
2597
2598 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2601 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2602
2603 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 First automated video test (running videotest and comparing results)
2606
2607 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2610 instead of 2 to have full RGB/CMY test pattern.
2611
2612 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Add few more tests.
2615
2616 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2619 ARCS. All users updated.
2620
2621 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2624
2625 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2628
2629 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2632 Reported by: qwertial.
2633
2634 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2635
2636 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2637 with syntax "XXX deg"/"XXX °".
2638
2639 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 Make PCI init in i386-qemu port more robust.
2642
2643 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2644
2645 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2646 cached view is reused.
2647 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2648 open boot menus.
2649
2650 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 Unify more code in grub-install_header.
2653
2654 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 Add few new tests.
2657
2658 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 Enforce disabling of firmware disk drivers when native drivers kick in.
2661
2662 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/commands/nativedisk.c: Customize the list of modules on
2665 platform. Don't try to search for disks already using native drivers.
2666
2667 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2670 platforms.
2671
2672 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2675 handling of variables containing backslash.
2676
2677 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2680 dereference.
2681 Reported by: qwertial.
2682
2683 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2686
2687 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2690 dereference.
2691 Reported by: qwertial.
2692
2693 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2696
2697 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2700
2701 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 New command `nativedisk'.
2704
2705 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2708 * grub-core/loader/i386/bsd.c: Likewise.
2709
2710 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2713
2714 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2717 grub_get_unaligned16 rather than shifts.
2718
2719 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/kern/file.c: Use const char * rather than casting to
2722 non-const.
2723
2724 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/commands/probe.c: Add missing grub_device_close.
2727
2728 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * INSTALL: Document linguas.sh.
2731
2732 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Remove POTFILES.in and regenerate it in autogen.sh.
2735
2736 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Move --directory/--override-directorry to grub-install_header and unify.
2739
2740 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/term/morse.c: Macroify dih and dah.
2743
2744 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2745
2746 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2747
2748 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/term/ns8250.c: Systematically probe ports by writing
2751 to SR before using them.
2752
2753 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2754
2755 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2756 disks.
2757 (check_sas): Get sas_adress info.
2758
2759 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2762 ports.
2763
2764 2013-04-27 Leon Drugi <eyak>
2765
2766 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2767 BSS clearing.
2768
2769 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Core compression test.
2772
2773 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Implement grub_machine_get_bootlocation for ARC.
2776
2777 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Improve AHCI detection and command issuing.
2780
2781 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Fix pseries test.
2784
2785 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Make 'make check' work on emu.
2788
2789 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Replace libcurses with our own vt100 handling for the ease of testing
2792 and decreasing prerequisites.
2793
2794 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2797
2798 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2801 compile when not needed.
2802
2803 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * tests/pseries_test.in: New test.
2806
2807 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 Add test to check that different boot mediums work.
2810
2811 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2814 ofw limited ISO support.
2815
2816 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * configure.ac: Fix loongson conditional.
2819
2820 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 Enable mipsel-arc.
2823
2824 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 Add serial on ARC platform.
2827
2828 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2831 commit.
2832
2833 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * tests/partmap_test.in: Add missing double semicolon.
2836
2837 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * util/grub-mkrescue.in: Fix loongson filename.
2840
2841 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-mkrescue.in: Move all files that don't have a location
2844 set in stone under /boot/grub. Use ISO hard links rather than copies
2845 to save some space.
2846
2847 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2850 bogus SLOF values.
2851
2852 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 Make check work on mips-arc.
2855
2856 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * util/grub-mkrescue.in: Alias sashARCS as sash.
2859
2860 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2863 it's serial.
2864
2865 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * util/grub-install.in: Fix target fo qemu_mips.
2868 Fix extension on EFI.
2869
2870 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2873 in front of chosen entry to mark it even if highlighting is lost.
2874
2875 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2878 gfxpayload=keep if cbfb is active.
2879
2880 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2883
2884 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Add missing video ids to coreboot and ieee1275 video.
2887
2888 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/grub-mkrescue.in: Add mips-arc support.
2891
2892 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2895
2896 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Move mips-arc link address. Previous link address was chosen
2899 in belief that RAM on SGI platforms grows down while in fact it
2900 grows up from an unusual base.
2901
2902 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2905 Fix a type which prevented CD-ROM and floppy boot.
2906
2907 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 Support coreboot framebuffer.
2910
2911 * grub-core/video/i386/coreboot/cbfb.c: New file.
2912
2913 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2916 detecting too small regions.
2917
2918 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2921
2922 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2925 Remove dprintf.
2926 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2927
2928 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2931 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2932 * grub-core/loader/powerpc/ieee1275/linux.c
2933 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2934
2935 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2938 Look for /boot-rom as well as /rom/boot-rom.
2939
2940 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2943 handling when creating text_layer failed.
2944 * grub-core/video/video.c (grub_video_create_render_target):
2945 Set result to 0 on error.
2946 (grub_video_delete_render_target): Do not dereference NULL.
2947
2948 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2951 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2952 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2953 (grub_linux_load64): Mask out 2 high bits.
2954
2955 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2956
2957 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2958 more place.
2959
2960 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Add support for pseries and other bootinfo machines to grub-mkrescue.
2963
2964 Tested by: Paulo Flabiano Smorigo.
2965
2966 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * util/grub-mkrescue.in: Add GPT for EFI boot.
2969
2970 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2973 It improves performance in qemu.
2974
2975 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * build-aux/snippet: Add missing gnulib files.
2978
2979 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2980
2981 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2982
2983 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2984
2985 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2986
2987 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2988 2013-04-15 Peter Jones <pjones@redhat.com>
2989
2990 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2991 sectors.
2992 Based on patch by Peter Jones.
2993
2994 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Fix DMRAID partition handling.
2997
2998 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * tests/grub_cmd_date.in: Skip on sparc64.
3001
3002 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
3005 firmware error messages.
3006
3007 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
3010 source and destination differ.
3011
3012 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
3015 detection.
3016
3017 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
3020 match config-util.h to avoid warnings and increase compatibility.
3021
3022 2013-04-14 Szymon Janc <szymon@janc.net.pl>
3023 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 Add option to compress files on install/image creation.
3026
3027 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * docs/grub-dev.texi: Rearrange menu to match the section order.
3030 Reported by: Bryan Hundven.
3031
3032 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
3035
3036 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Move GRUB out of system area when using xorriso 1.2.9 or later.
3039
3040 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * tests/grub_cmd_date.in: Add missing exit 1.
3043
3044 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * tests/partmap_test.in: Skip on sparc64.
3047
3048 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 Support grub-shell on sparc64.
3051
3052 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 Support mkrescue on sparc64.
3055
3056 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 Allow IEEE1275 ports on path even if it wasn't detected automatically.
3059 Needed on OpenBIOS due to incomplete device tree.
3060
3061 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
3064 would be otherwise excluded.
3065
3066 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
3069 Inline name defines used only once.
3070
3071 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Fix memory leaks in ofnet.
3074 Reported by: Francesco Lavra.
3075
3076 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * docs/man/grub-glue-efi.h2m: Add missing file.
3079
3080 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
3083
3084 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Better support Apple Intel Macs on CD.
3087
3088 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 Replace stpcpy with grub_stpcpy in tools.
3091
3092 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Handle Japanese special keys.
3095 Reported by: Hiroyuki YAMAMORI.
3096 Codes supplied by: Hiroyuki YAMAMORI.
3097
3098 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * util/grub-mkimage.c: Document memdisk implying --prefix.
3101
3102 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
3105 much we can do about it anyway.
3106
3107 2013-04-12 Aleš Nesrsta <starous@volny.cz>
3108
3109 Fix handling of split transfers.
3110
3111 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/net/http.c: Fix bad free.
3114
3115 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
3118 than buffer size.
3119
3120 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 Disable partmap check on i386-ieee1275 due to openfirmware issues.
3123
3124 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * tests/util/grub-shell.in: Fix it on powerpc.
3127
3128 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 Turn off QEMU ACPI-way since new releases don't have shutdown port
3131 anymore.
3132
3133 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * docs/grub.texi: Update coreboot status info.
3136
3137 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * tests/grub_cmd_date.in: New test for datetime.
3140
3141 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * tests/partmap_test.in: Fix missing qemudisk setting.
3144
3145 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Support i386-ieee1275 grub-mkrescue and make check on it.
3148
3149 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
3152 feature for it.
3153
3154 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
3157 GRUB_CMDLINE_XEN_DEFAULT.
3158 Reported by: Marc Warne (GigaTux) <gigatux>
3159
3160 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Import new gnulib.
3163
3164 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 Use ACPI shutdown intests as traditional port was removed.
3167
3168 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
3169
3170 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
3171 distinction.
3172
3173 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
3176 Fix few warining messages and leaks while on it.
3177
3178 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
3179
3180 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
3181 links under grub-core/lib/libgcrypt-grub/mpi.
3182
3183 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Fix ia64-efi image generation on big-endian machines. Deduplicate
3186 some code while on it.
3187 Reported by: Leif Lindholm.
3188
3189 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3190
3191 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
3192 as extra_dist.
3193
3194 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
3195
3196 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
3197
3198 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
3199
3200 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
3201 texinfo-5.1.
3202
3203 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/normal/term.c: Few more fixes for menu entry editor
3206 rendering.
3207 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3208
3209 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/normal/term.c: Few more fixes for menu entry editor
3212 rendering.
3213 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3214
3215 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3216
3217 * conf/Makefile.extra-dist (EXTRA_DIST): Add
3218 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
3219
3220 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
3221
3222 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
3223 instead of hardcoding grub.mo.
3224
3225 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
3226
3227 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
3228
3229 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
3232 grub-core/disk/geli.c.
3233
3234 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * util/grub-mkfont.c: Prefer enum to #define.
3237
3238 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
3241
3242 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
3245
3246 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
3249
3250 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
3253
3254 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * include/grub/bsdlabel.h: Use enums.
3257
3258 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 Move GRUB_CHAR_BIT to types.h.
3261
3262 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3263
3264 * docs/grub.texi: Document more user commands.
3265
3266 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
3267
3268 * docs/grub.texi: Document menuentry --id option.
3269
3270 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
3271
3272 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
3273
3274 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 Unify file copying setup across different install scripts. Add
3277 options for performing partial install.
3278
3279 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3280 2013-04-04 Peter Jones <pjones@redhat.com>
3281
3282 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
3283
3284 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 Use TSC as a possible time source on i386-ieee1275.
3287
3288 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
3291 Init err.
3292
3293 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * util/grub-setup.c (setup): Handle some corner cases.
3296
3297 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
3300
3301 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/commands/verify.c: Save verified file to avoid it being
3304 tampered with after verification was done.
3305
3306 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
3309 reported width by one to compensate for curesor algorithm problem.
3310
3311 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Fix screen corruption in menu entry editor and simplify the code
3314 flow while on it.
3315
3316 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
3317
3318 * util/grub-mount.c (fuse_init): Return error if fuse_main
3319 failed.
3320
3321 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
3322
3323 * include/grub/elf.h: Add missing ARM relocation codes and fix
3324 existing ones.
3325
3326 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3327
3328 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
3329
3330 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3331 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3334 into account when calculating radius.
3335
3336 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3337
3338 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3339
3340 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3341
3342 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3343
3344 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3345
3346 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3347 missing closing bracket.
3348
3349 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3350
3351 * INSTALL: Mention xorriso requirement.
3352
3353 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3354
3355 * grub-core/commands/verify.c: Fix hash algorithms values for
3356 the first three hashes - they start with 1, not with 0.
3357
3358 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3361 Try terminating EFI services several times due to quirks in some
3362 implementations.
3363
3364 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
3365
3366 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3367 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3368 BankField extended opcodes.
3369 (get_sleep_type): Add minimal scope handling (just enough to
3370 handle setting the scope to the root path).
3371 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3372 * include/grub/acpi.h: Add enumeration values for Event, Device,
3373 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3374
3375 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3376
3377 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3378 memory leak.
3379
3380 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/disk/ahci.c: Give more time for AHCI request.
3383
3384 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3387 command.
3388
3389 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Replace the region at 0 from coreboot tables to available in BSD
3392 memory map.
3393
3394 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3397 non-BIOS platforms.
3398
3399 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3402 platforms.
3403
3404 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3407 handling of multi-device filesystems.
3408
3409 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3412 platforms.
3413
3414 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Add new 'proc' filesystem framework and put luks_script into it.
3417
3418 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3421 and qemu.
3422
3423 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3426
3427 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 Add ability to generate newc additions on runtime.
3430
3431 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3434 description.
3435
3436 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * po/POTFILES.in: Regenerate.
3439
3440 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/commands/verify.c (hashes): Add several hashes
3443 from the spec.
3444
3445 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 Slight improve in USB-related boot-time checkpoints.
3448
3449 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/commands/boottime.c: Fix copyright header.
3452
3453 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3456 coreboot tables content. Support for cbmemc.
3457
3458 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Fix a conflict between ports structures with 2 controllers of
3461 same kind.
3462
3463 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * include/grub/boottime.h: Add missing file.
3466
3467 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Initialize USB ports in parallel to speed-up boot.
3470
3471 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Fix USB devices not being detected when requested
3474 due to delayed attach.
3475
3476 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 Implement boot time analysis framework.
3479
3480 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 Remove get_endpoint_descriptor and change all functions needing
3483 descriptor to just receive it as argument rather than endpoint
3484 address.
3485
3486 2013-03-19 Aleš Nesrsta <starous@volny.cz>
3487
3488 Better estimate the maximum USB transfer size.
3489
3490 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 Resend a packet if we got the wrong buffer in status.
3493
3494 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3497 multiplication rather than division.
3498
3499 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3502 than divisions.
3503
3504 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3507 operations to have intended shifts and not divisions.
3508
3509 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3512 intended shifts rather than division.
3513
3514 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3517 computation for some years before epoch. Avode confusing division
3518 while on it.
3519
3520 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/video/i386/pc/vbe.c
3523 (grub_video_vbe_print_adapter_specific_info): Replace division by
3524 shifts.
3525
3526 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 Adjust types in gdb module to have intended unsigned shifts rather than
3529 signed divisions.
3530
3531 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3534 maximum size is 4G - 1 on hfs
3535
3536 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3539
3540 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3543 function.
3544
3545 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3546
3547 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3548 causing gcc error with gcc 4.7.1.
3549
3550 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3551
3552 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3553 dereference null pointer. While the code is technically correct, gcc
3554 may eliminate a null check if pointer is already dereferenced.
3555
3556 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3557
3558 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3559 OOM check.
3560 * grub-core/normal/term.c (read_terminal_list): Likewise.
3561
3562 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Lift up core size limits on some platforms. Fix potential memory
3565 corruption with big core on small memory systems. Document remaining
3566 limits.
3567
3568 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3571 gotoxy to 0,0.
3572
3573 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Remove all trampoline support. Add -Wtrampolines when
3576 present. Remove symbols used for trampolines to make
3577 link fail if trampolines are present.
3578
3579 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3582 append out of its parent.
3583
3584 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3587 parent.
3588
3589 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3592 all vars to a macro. All users updated.
3593
3594 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3597 i386-ieee1275.
3598
3599 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3602
3603 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3606
3607 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 Move to more hookless approach in IEEE1275 devices handling.
3610
3611 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/kern/term.c (grub_term_normal_color),
3614 (grub_term_highlight_color): Add back lost defaults.
3615
3616 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Make elfload not use hooks. Opt for flags and iterators instead.
3619
3620 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3623 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3624
3625 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3628
3629 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3632 hook pass-through parameter. All users updated and unnested.
3633
3634 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3637 out of its parent.
3638
3639 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * grub-core/fs/hfs.c: Remove nested functions.
3642
3643 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3646 the context through.
3647 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3648
3649 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * util/grub-editenv.c (list_variables): Move print_var out of its
3652 parent.
3653
3654 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3657 function.
3658
3659 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/gentrigtables.c: Make tables const.
3662
3663 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 Remove nested functions from videoinfo iterators.
3666
3667 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3670 for 64-bit platforms.
3671
3672 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3675 a FOR_CHILDREN macro.
3676
3677 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3680 platform from firmware path.
3681
3682 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 Enable linux16 on non-BIOS systems for i.a. memtest.
3685
3686 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3687 correctly.
3688 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3689
3690 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3693 Fix end of table condition.
3694
3695 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3698 out of its parent.
3699
3700 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/fs/jfs.c: Remove nested functions.
3703
3704 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/fs/minix.c: Remove nested functions.
3707
3708 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * grub-core/fs/iso9660.c: Remove nested functions.
3711
3712 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3715 of parent function.
3716
3717 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * util/grub-fstest.c: Remove nested functions.
3720
3721 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/loader/machoXX.c: Remove nested functions.
3724
3725 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
3726
3727 Remove nested functions from disk and file read hooks.
3728
3729 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3730 (struct grub_disk): Add read_hook_data member.
3731 * include/grub/file.h (struct grub_file): Likewise.
3732 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3733 argument.
3734
3735 Update all callers.
3736
3737 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3738
3739 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3740 Fix off by one error in enumerating extended partitions.
3741
3742 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3743
3744 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3745 memory leak if device name is not found.
3746
3747 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3748
3749 * grub-core/normal/menu_entry.c (update_screen): remove
3750 unused variable `off' which caused scroll down arrow to be always shown.
3751
3752 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3753
3754 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3755 access to unallocated memory.
3756
3757 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3758
3759 * Makefile.util.def: Add partmap/msdos.c to common library.
3760 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3761 * grub-core/disk/ldm.c: Check for existence of
3762 GRUB_PC_PARTITION_TYPE_LDM.
3763
3764 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3767 sizes and display sector size.
3768
3769 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Implement new command cmosdump.
3772
3773 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3774
3775 Support Openfirmware disks with non-512B sectors.
3776
3777 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3778 size of the disk.
3779 * (grub_ofdisk_get_block_size): New function.
3780 * (grub_ofdisk_prepare): Use the correct block size.
3781 * (grub_ofdisk_read): Likewise.
3782 * (grub_ofdisk_write): Likewise.
3783 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3784 New proto.
3785
3786 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3789
3790 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3793 on first error.
3794
3795 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3798 freeing it.
3799
3800 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Implement USBDebug (full USB stack variant).
3803
3804 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3807 unless they have unexpected values.
3808
3809 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3812 grub_print_error.
3813
3814 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3817 zero-out of port structure.
3818
3819 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3822 of extended attributes.
3823
3824 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3825
3826 * util/grub-install.in: change misleading comment about
3827 device.map creation
3828
3829 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3832 when menu highlight color isn't set.
3833
3834 2013-01-27 C. Masloch <pushbx@38.de>
3835
3836 Improve FreeDOS direct loading support compatibility.
3837
3838 * include/grub/i386/relocator.h (grub_relocator16_state):
3839 New member ebp.
3840 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3841 variable.
3842 (grub_relocator16_boot): Handle %ebp.
3843 * grub-core/lib/i386/relocator16.S: Likewise.
3844 * grub-core/loader/i386/pc/freedos.c:
3845 Load BPB to pass kernel which partition to load from.
3846 Check that kernel file is not too large.
3847 Set register dl to BIOS unit number as well.
3848
3849 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
3850
3851 * util/grub-reboot.in (usage): Document the need for
3852 GRUB_DEFAULT=saved.
3853 * util/grub-set-default.in (usage): Likewise.
3854 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3855
3856 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3859 than defining WORDS_BIGENDIAN manually.
3860
3861 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3864 invariants.
3865
3866 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3867
3868 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3869 nested.
3870 (blit_comb: add_device_width): Likewise.
3871
3872 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3873
3874 Remove nested functions from USB iterators.
3875
3876 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3877 (grub_usb_controller_iterate_hook_t): Likewise.
3878 (grub_usb_iterate): Add hook_data argument.
3879 (grub_usb_controller_iterate): Likewise.
3880 (struct grub_usb_controller_dev.iterate): Likewise.
3881
3882 Update all implementations and callers.
3883
3884 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3887 margin when not needed.
3888
3889 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 Make color variables global instead of it being per-terminal.
3892
3893 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3896 asterisk.
3897
3898 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3899
3900 Fix powerpc and sparc64 build failures caused by un-nesting memory
3901 map iterators.
3902
3903 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3904
3905 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3906 parameter declarations.
3907
3908 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3911
3912 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 Improve spkmomdem reliability by adding a separator between bytes.
3915
3916 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3917
3918 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3919 an Acer registration utility with several sightings in the wild.
3920 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3921
3922 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3923
3924 Remove nested functions from filesystem directory iterators.
3925
3926 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3927 (struct grub_fs.dir): Add hook_data argument.
3928
3929 Update all implementations and callers.
3930
3931 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
3932
3933 * docs/grub.texi (Multi-boot manual config): Fix typo for
3934 "recommended".
3935
3936 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3937
3938 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3939 until after its use in generate_image.
3940
3941 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
3942
3943 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3944 initrd size to addr_min, since the initrd will be allocated after
3945 this address.
3946
3947 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3948
3949 * conf/Makefile.common: Fix autogen rules to pass definition
3950 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3951
3952 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3953
3954 * include/grub/elf.h: Update ARM definitions based on binutils.
3955
3956 2013-01-20 Aleš Nesrsta <starous@volny.cz>
3957
3958 Split long USB transfers into short ones.
3959
3960 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3961
3962 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3963 is interrupted by ESC.
3964
3965 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * util/grub-script-check.c (main): Uniform the error message.
3968
3969 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
3970
3971 Remove nested functions from ELF iterators.
3972
3973 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
3974
3975 Remove nested functions from device iterators.
3976
3977 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3978 (grub_arc_iterate_devs): Add hook_data argument.
3979 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3980 (struct grub_ata_dev.iterate): Add hook_data argument.
3981 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3982 (grub_device_iterate): Add hook_data argument.
3983 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3984 (struct grub_disk_dev.iterate): Add hook_data argument.
3985 (grub_disk_dev_iterate): Likewise.
3986 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3987 Likewise.
3988 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3989 Likewise.
3990 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3991 type.
3992 (struct grub_partition_map.iterate): Add hook_data argument.
3993 (grub_partition_iterate): Likewise.
3994 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3995 (struct grub_scsi_dev.iterate): Add hook_data argument.
3996
3997 Update all callers.
3998
3999 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
4000
4001 Fix typos for "developer" and "development".
4002
4003 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Add license header to spkmodem-recv.c.
4006
4007 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 Rewrite spkmodem to use PIT for timing. Double the speed.
4010
4011 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Add new command pcidump.
4014
4015 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 New terminal outputs using serial: morse and spkmodem.
4018
4019 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 Improve bidi handling in entry editor.
4022
4023 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4026 argument to prevent name collision.
4027
4028 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
4029
4030 Remove nested functions from script reading and parsing.
4031
4032 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
4033 getline_data argument, passed to getline.
4034 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
4035 getline_data argument, passed to grub_parser_split_cmdline.
4036 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
4037 lexerstate->getline_data to lexerstate->getline.
4038 (grub_script_lexer_init): Add getline_data argument, saved in
4039 lexerstate->getline_data.
4040 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
4041 argument, passed to grub_script_parse.
4042 * grub-core/script/script.c (grub_script_parse): Add getline_data
4043 argument, passed to grub_script_lexer_init.
4044 * include/grub/parser.h (grub_parser_split_cmdline): Update
4045 prototype. Update all callers to pass appropriate getline data.
4046 (struct grub_parser.parse_line): Likewise.
4047 (grub_rescue_parse_line): Likewise.
4048 * include/grub/reader.h (grub_reader_getline_t): Add void *
4049 argument.
4050 * include/grub/script_sh.h (struct grub_lexer_param): Add
4051 getline_data member.
4052 (grub_script_parse): Update prototype. Update all callers to pass
4053 appropriate getline data.
4054 (grub_script_lexer_init): Likewise.
4055 (grub_normal_parse_line): Likewise.
4056
4057 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
4058 data argument.
4059 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
4060 static instead of nested. Rename to ...
4061 (grub_parser_execute_getline): ... this.
4062 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
4063 data argument.
4064 * grub-core/normal/main.c (read_config_file: getline): Make static
4065 instead of nested. Rename to ...
4066 (read_config_file_getline): ... this.
4067 (grub_normal_read_line): Add unused data argument.
4068 * grub-core/script/execute.c (grub_script_execute_sourcecode:
4069 getline): Make static instead of nested. Rename to ...
4070 (grub_script_execute_sourcecode_getline): ... this.
4071 * util/grub-script-check.c (main: get_config_line): Make static
4072 instead of nested.
4073
4074 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
4075
4076 Remove nested functions from memory map iterators.
4077
4078 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
4079 argument, passed to hook.
4080 * grub-core/kern/i386/coreboot/mmap.c
4081 (grub_linuxbios_table_iterate): Likewise.
4082 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
4083 instead of nested.
4084 (grub_machine_mmap_iterate): Add hook_data argument.
4085 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
4086 Add hook_data argument, passed to hook.
4087 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
4088 Likewise.
4089 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4090 Likewise.
4091 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
4092 Likewise.
4093 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
4094 Likewise.
4095 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
4096 Likewise.
4097 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
4098 Likewise.
4099 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
4100 (grub_machine_mmap_iterate): Likewise.
4101 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
4102 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
4103 prototype.
4104 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
4105 Remove NESTED_FUNC_ATTR from here and from all users.
4106 (grub_mmap_iterate): Update prototype.
4107 (grub_efi_mmap_iterate): Update prototype. Update all callers to
4108 pass appropriate hook data.
4109 (grub_machine_mmap_iterate): Likewise.
4110
4111 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
4112 static instead of nested.
4113 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
4114 Rename to ...
4115 (lsmmap_hook): ... this.
4116 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
4117 Likewise.
4118 (grub_efiemu_mmap_fill: fill_hook): Likewise.
4119 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
4120 heap_init): Likewise.
4121 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
4122 Rename to ...
4123 (mmap_iterate_hook): ... this.
4124 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
4125 Likewise.
4126 * grub-core/lib/ieee1275/relocator.c
4127 (grub_relocator_firmware_get_max_events: count): Likewise.
4128 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
4129 to ...
4130 (grub_relocator_firmware_fill_events_iter): ... this.
4131 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
4132 hook): Likewise. Rename to ...
4133 (grub_relocator_alloc_chunk_align_iter): ... this.
4134 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
4135 Rename to ...
4136 (generate_e820_mmap_iter): ... this.
4137 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
4138 Rename to ...
4139 (count_hook): ... this.
4140 (grub_linux_boot: hook): Likewise. Rename to ...
4141 (grub_linux_boot_mmap_find): ... this.
4142 (grub_linux_boot: hook_fill): Likewise. Rename to ...
4143 (grub_linux_boot_mmap_fill): ... this.
4144 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
4145 hook): Likewise. Rename to ...
4146 (grub_fill_multiboot_mmap_iter): ... this.
4147 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
4148 hook): Likewise. Rename to ...
4149 (count_hook): ... this.
4150 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
4151 hook): Likewise. Rename to ...
4152 (grub_fill_multiboot_mmap_iter): ... this.
4153 * grub-core/loader/powerpc/ieee1275/linux.c
4154 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
4155 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
4156 Likewise. Rename to ...
4157 (alloc_phys_choose): ... this.
4158 (determine_phys_base: get_physbase): Likewise.
4159 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
4160 find_hook): Likewise.
4161 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
4162 (malloc_hook: count_hook): Likewise.
4163 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
4164 Likewise. Rename to ...
4165 (lower_hook): ... this.
4166 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4167 (upper_hook): ... this.
4168 (grub_mmap_get_post64: hook): Likewise. Rename to ...
4169 (post64_hook): ... this.
4170 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
4171 Likewise. Rename to ...
4172 (lower_hook): ... this.
4173 (grub_mmap_get_upper: hook): Likewise. Rename to ...
4174 (upper_hook): ... this.
4175 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
4176 (grub_mmap_iterate: fill_hook): Likewise.
4177 (fill_mask): Pass addr and mask within a single struct.
4178 (grub_cmd_badram: hook): Make static instead of nested. Rename
4179 to ...
4180 (badram_iter): ... this.
4181 (grub_cmd_cutmem: hook): Likewise. Rename to ...
4182 (cutmem_iter): ... this.
4183
4184 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
4187 delimit path in strings using quotes.
4188 * util/getroot.c (grub_guess_root_devices): Likewise.
4189 (grub_make_system_path_relative_to_its_root): Likewise.
4190 * util/grub-probe.c (probe): Likewise.
4191 * util/ieee1275/ofpath.c (find_obppath): Likewise.
4192 (xrealpath): Likewise.
4193
4194 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 Fix compilation with older compilers.
4197
4198 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
4199 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
4200 declarations.
4201 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
4202 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
4203 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
4204 identifier with b.
4205 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
4206 * include/grub/crypto.h: Add type defines.
4207 * util/import_gcrypth.sed: Remove duplicate type defines.
4208
4209 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 New command list_trusted.
4212
4213 * grub-core/commands/verify.c (grub_cmd_list): New function.
4214
4215 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
4216
4217 * util/grub-mkimage.c (generate_image): Fix "size of public key"
4218 info message.
4219
4220 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
4221
4222 Remove nested functions from PCI iterators.
4223
4224 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
4225 passed to hook. Update all callers to pass appropriate hook data.
4226 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
4227 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
4228 Remove NESTED_FUNC_ATTR from here and from all users.
4229 (grub_pci_iterate): Update prototype.
4230 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
4231 instead of nested. Rename to ...
4232 (grub_cs5536_find_iter): ... this.
4233 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
4234 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
4235 Likewise.
4236 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
4237 Likewise.
4238 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
4239 Likewise.
4240 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
4241 Likewise.
4242 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
4243 * grub-core/video/radeon_fuloong2e.c
4244 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
4245 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
4246 find_card): Likewise.
4247 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
4248 Likewise.
4249
4250 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/commands/verify.c: Mark messages for translating.
4253
4254 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
4257 fatal.
4258
4259 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
4262 fatal.
4263
4264 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * autogen.sh: Do not try to delete nonexistant files.
4267 * util/import_gcrypth.sed: Add some missing header removals.
4268
4269 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
4270
4271 Clean up dangling references to grub-setup.
4272 Fixes Ubuntu bug #1082045.
4273
4274 * docs/grub.texi (Images): Refer generally to grub-install rather
4275 than directly to grub-setup.
4276 (Installing GRUB using grub-install): Remove direct reference to
4277 grub-setup.
4278 (Device map) Likewise.
4279 (Invoking grub-install): Likewise.
4280 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4281 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4282 * util/grub-install.in (usage): Likewise.
4283
4284 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
4285 Apply to grub-bios-setup and grub-sparc64-setup rather than to
4286 grub-setup.
4287 * configure.ac: Remove grub_setup output variable.
4288
4289 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
4290 to grub-bios-setup.
4291 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
4292 grub-setup to grub-sparc64-setup.
4293
4294 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 Import gcrypt public-key cryptography and implement signature checking.
4297
4298 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/fs/ntfs.c: Ue more appropriate types.
4301 * grub-core/fs/ntfscomp.c: Likewise.
4302 * include/grub/ntfs.h: Likewise.
4303
4304 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 Support Apple FAT binaries on non-Apple platforms.
4307
4308 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
4309 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
4310 Likewise.
4311 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
4312 Apple FAT binaries.
4313
4314 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4317 sector devices.
4318
4319 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
4320
4321 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
4322 explicitly zeroing elements.
4323 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
4324 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
4325 of elements in a structure already allocated using grub_zalloc.
4326 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4327
4328 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
4329
4330 * docs/grub.texi (grub_cpu): New subsection.
4331 (grub_platform): Likewise.
4332
4333 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4336
4337 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4340 divisions.
4341
4342 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4345 * grub-core/fs/ntfscomp.c: Likewise.
4346 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4347 (grub_ntfs_comp): Likewise.
4348
4349 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4352 Rename to ...
4353 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4354 of groups_per_block. All users updated.
4355
4356 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4359 grub_error properly.
4360 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4361 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4362
4363 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4366 always in /boot/zfs.
4367 Reported by: Yuta Satoh.
4368
4369 2013-01-03 Yuta Satoh <nigoro>
4370
4371 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4372 ${grub_probe}
4373
4374 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * configure.ac: Extend -Wno-trampolines to host.
4377
4378 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4381 entry->len = 0.
4382
4383 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
4384
4385 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4386 (Invoking grub-script-check): Likewise.
4387
4388 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
4389
4390 * docs/grub.texi (Invoking grub-mount): New section.
4391 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4392
4393 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
4394
4395 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4396 test failures, so that a failing unit test correctly causes 'make
4397 check' to fail.
4398
4399 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
4400
4401 Fix failing printf test.
4402
4403 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4404 '$' in the correct order when collecting type information.
4405
4406 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
4407
4408 * docs/grub.texi (configfile): Explain environment variable
4409 handling.
4410 (source): New section.
4411 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4412
4413 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
4414
4415 Remove several trivially-unnecessary uses of nested functions.
4416
4417 * grub-core/commands/i386/pc/sendkey.c
4418 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4419 instead of nested.
4420 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4421 Rename to ...
4422 (legacy_file_getline): ... this.
4423 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4424 Likewise.
4425 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4426 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4427 to ...
4428 (probe_dummy_iter): ... this.
4429 * grub-core/kern/i386/coreboot/mmap.c
4430 (grub_linuxbios_table_iterate: check_signature): Likewise.
4431 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4432 check_varstate): Likewise. Mark inline.
4433 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4434 an additional parameter.
4435 (find_long: fnd_long): Likewise. Pass two additional parameters.
4436 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4437 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4438 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4439 Likewise. Rename to ...
4440 (grub_cmos_find_port_iter): ... this.
4441 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4442 Rename to ...
4443 (find_rtc_iter): ... this.
4444
4445 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4446 function directly into the function body, since it is only called
4447 once.
4448
4449 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
4450
4451 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4452 __attribute__ ((unused)).
4453 * grub-core/video/bochs.c (find_card): Likewise.
4454 * grub-core/video/cirrus.c (find_card): Likewise.
4455 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4456 * grub-core/video/sis315pro.c (find_card): Likewise.
4457 * grub-core/video/sm712.c (find_card): Likewise.
4458
4459 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
4460
4461 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4462 Fixes Savannah bug #37821.
4463
4464 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
4465
4466 Apply program name transformations at build-time rather than at
4467 run-time. Fixes Debian bug #696465.
4468
4469 * acinclude.m4 (grub_TRANSFORM): New macro.
4470 * configure.ac: Create output variables with transformed names for
4471 most programs.
4472 * util/bash-completion.d/grub-completion.bash.in: Use
4473 pre-transformed variables for program names.
4474 * util/grub-install.in: Likewise.
4475 * util/grub-kbdcomp.in: Likewise.
4476 * util/grub-mkconfig.in: Likewise.
4477 * util/grub-mkconfig_lib.in: Likewise.
4478 * util/grub-mknetdir.in: Likewise.
4479 * util/grub-mkrescue.in: Likewise.
4480 * util/grub-mkstandalone.in: Likewise.
4481 * util/grub-reboot.in: Likewise.
4482 * util/grub-set-default.in: Likewise.
4483 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4484 * tests/util/grub-shell-tester.in: Remove unused assignment.
4485 * tests/util/grub-shell.in: Likewise.
4486 * util/grub.d/00_header.in: Likewise.
4487
4488 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
4489
4490 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4491
4492 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4493 HAVE_RAW_DECL_GETS.
4494 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4495
4496 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4499 Reported by: Eriks Latosheks <foresterlv>.
4500
4501 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * docs/grub.texi (Network): Update instructions on generating netboot
4504 image.
4505
4506 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4509 around device name if necessarry.
4510
4511 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4512
4513 * util/grub-install.in: Follow the symbolic link parameter added
4514 to the file command.
4515
4516 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4517
4518 * util/grub-install.in: Remove stale TODO.
4519
4520 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4521
4522 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4523 dynamic allocation for the bootpath buffer.
4524
4525 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4526
4527 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4528 window too small.
4529
4530 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4533 argument rather than font name. All users updated.
4534 (grub_gfxterm_set_window): Likewise.
4535
4536 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4537
4538 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4539 from working.
4540
4541 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * util/getroot.c (convert_system_partition_to_system_disk): Support
4544 nbd disks.
4545
4546 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4549 infinite loop on corrupted FS.
4550
4551 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Fix big-endian mtime.
4554
4555 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4556 together sec and usec.
4557 (grub_ufs_dir): Use correct byteswapping for UFS time.
4558
4559 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 Support big-endian UFS1.
4562
4563 * Makefile.util.def (libgrubmods): Add ufs_be.c
4564 * grub-core/Makefile.core.def (ufs1_be): New module.
4565 * grub-core/fs/ufs_be.c: New file.
4566 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4567 the file.
4568
4569 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4570
4571 * include/grub/types.h: Fix functionality unaffecting typo in
4572 GRUB_TARGET_WORDSIZE conditional macro.
4573
4574 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4575
4576 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4577
4578 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4579
4580 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4581 that /netbsd appears first (when it exists).
4582
4583 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
4584
4585 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4586 Fixes Savannah bug #37558.
4587
4588 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
4589
4590 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4591 description of extract_entries_configfile.
4592
4593 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
4594
4595 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4596 preferred_address.
4597 (grub_cmd_linux): Likewise.
4598 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4599 preferred_lifetime. Update all users.
4600
4601 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
4602
4603 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4604 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4605
4606 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
4607
4608 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4609 errors from grub-probe to /dev/null, not stdout.
4610
4611 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4614 sector 1.
4615
4616 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
4617
4618 * util/grub-install.in: Make the error message if $source_dir
4619 doesn't exist more useful.
4620
4621 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
4622
4623 Fix grub-emu build on FreeBSD.
4624
4625 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4626 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4627 headers on Linux.
4628 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4629 implementation is currently Linux-specific.
4630 * util/getroot.c (exec_pipe): Define only on Linux or when either
4631 libzfs or libnvpair is unavailable.
4632 (find_root_devices_from_poolname): Remove unused path variable.
4633
4634 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
4635
4636 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4637 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4638 should fit before end == 63.
4639
4640 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
4641
4642 * util/grub-setup.c (write_rootdev): Remove unused core_img
4643 parameter. Update all callers.
4644 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4645 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4646 GRUB_SETUP_BIOS.
4647
4648 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4651 (grub_add_tab): New function.
4652 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4653 * util/grub.d/10_illumos.in: Likewise.
4654 * util/grub.d/10_kfreebsd.in: Likewise.
4655 * util/grub.d/10_linux.in: Likewise.
4656 * util/grub.d/10_netbsd.in: Likewise.
4657 * util/grub.d/10_windows.in: Likewise.
4658 * util/grub.d/10_xnu.in: Likewise.
4659 * util/grub.d/20_linux_xen.in: Likewise.
4660 * util/grub.d/30_os-prober.in: Likewise.
4661
4662 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4665 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4666 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4667 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4668 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4669 ieee1275-nocursor.
4670 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4671 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4672
4673 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4676 le-conversion.
4677 Reported by: BURETTE, Bernard.
4678
4679 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
4680
4681 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4682 from comment.
4683
4684 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
4685
4686 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4687 IEEE1275 machines. Fixes powerpc-emu compilation.
4688 * include/grub/terminfo.h: Likewise.
4689
4690 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4693 a const pointer.
4694 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4695 const pointer.
4696 (efiemu_set_variable): Make vendor_guid a const pointer.
4697
4698 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 Don't require grub-mkconfig_lib to generate manpages for programs.
4701
4702 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4703 dependencies, don't add grub-mkconfig_lib.
4704 (program): Pass empty adddeps.
4705 (script): Pass grub-mkconfig_lib as adddeps.
4706
4707 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4710 * util/getroot.c (grub_find_device): Likewise.
4711 (get_mdadm_uuid): Likewise.
4712 (grub_util_is_imsm): Likewise.
4713 (grub_util_pull_device): Likewise.
4714 * util/grub-probe.c (probe): Likewise.
4715
4716 2012-09-10 Benoit Gschwind <gschwind>
4717
4718 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4719 (devs): Add devpath_8.
4720
4721 2012-09-08 Peter Jones <pjones@redhat.com>
4722
4723 * grub-core/Makefile.core.def (efifwsetup): New module.
4724 * grub-core/commands/efi/efifwsetup.c: New file.
4725 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4726 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4727 New define.
4728 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4729
4730 2012-09-05 Jiri Slaby <jslaby@suse.cz>
4731
4732 * configure.ac: Add SuSe path.
4733
4734 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
4735
4736 * NEWS: Fix typo.
4737
4738 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
4739
4740 * util/import_gcry.py: Sort cipher_files, to make build system
4741 generation more deterministic.
4742
4743 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4746 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4747 (grub_set_datetime): Likewise.
4748
4749 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4752 warnings.
4753
4754 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4757
4758 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4761
4762 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
4763
4764 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4765 required for checkouts from bzr, but it may be useful for users or
4766 distributors wishing to update translations against a tarball
4767 distribution, and it can be helpful for the tarball to be a superset
4768 of what's in bzr.
4769
4770 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
4771
4772 * Makefile.am (EXTRA_DIST): Add
4773 grub-core/tests/boot/linux.init-mips.S,
4774 grub-core/tests/boot/linux.init-ppc.S, and
4775 grub-core/tests/boot/linux-ppc.cfg.
4776
4777 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
4778
4779 * grub-core/mmap/mips/loongson: Remove empty directory.
4780
4781 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
4782
4783 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4784 gone.
4785
4786 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
4787
4788 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4789 grub-sparc64-setup.
4790
4791 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4792
4793 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4794
4795 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4796
4797 * po/POTFILES.in: Regenerated.
4798
4799 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4800
4801 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4802 (NetBSD): New subsection.
4803
4804 2012-07-22 Ales Nesrsta <starous@volny.cz>
4805
4806 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4807 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4808
4809 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4812 * util/grub.d/10_hurd.in: Add missing quoting.
4813 * util/grub.d/10_illumos.in: Likewise.
4814 * util/grub.d/10_kfreebsd.in: Likewise.
4815 * util/grub.d/10_linux.in: Likewise.
4816 * util/grub.d/20_linux_xen.in: Likewise.
4817
4818 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 New command `lsefi'.
4821
4822 * grub-core/Makefile.core.def (lsefi): New module.
4823 * grub-core/commands/efi/lsefi.c: New file.
4824 * include/grub/efi/api.h: Add more GUIDs.
4825
4826 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4829 (grub_bsd_elf32_hook): Likewise.
4830 (grub_bsd_elf64_size_hook): Likewise.
4831 (grub_bsd_elf64_hook): Likewise.
4832 (grub_bsd_load_elf): Likewise.
4833
4834 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4837 if hash function is unavailable.
4838 (dec_stream_header): Likewise.
4839
4840 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4843 filter state.
4844
4845 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Fix coreboot compilation.
4848
4849 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4850 (grub_vga_text_init_real): ... this.
4851 (grub_vga_text_fini): Rename to ...
4852 (grub_vga_text_fini_real): ... this.
4853
4854 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4857
4858 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/lib/legacy_parse.c: Support clear and testload.
4861
4862 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4865
4866 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4869
4870 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/net/tftp.c (ack): Fix endianness problem.
4873 (tftp_receive): Likewise.
4874 Reported by: Michael Davidsaver.
4875
4876 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4879
4880 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4883 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4884 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4885
4886 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4889 efi_mmap_size.
4890 Reported by: Stuart Hayes.
4891
4892 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4895
4896 * grub-core/Makefile.core.def (mda_text): New module.
4897 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4898 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4899 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4900 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4901 here.
4902 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4903 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4904 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4905 here.
4906 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4907 to ..
4908 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4909 ... here
4910 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4911 here.
4912 * grub-core/term/i386/vga_common.c: Removed.
4913 * include/grub/i386/vga_common.h: Likewise.
4914 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4915 (grub_vga_cr_bw_read): Likewise.
4916 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4917 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4918 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4919 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4920 grub_vga_cr_read/grub_vga_cr_write.
4921 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4922
4923 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * configure.ac: Bump version to 2.00.
4926 * grub-core/normal/main.c (features): Add feature_200_final.
4927
4928 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4929 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4930
4931 * NEWS: Fix unclarity and language mistakes.
4932
4933 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4936 additional size to 3 pages.
4937 Reported by: Stuart Hayes.
4938
4939 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * NEWS: Add 2.00 entry.
4942
4943 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4946 put explicit "/" for empty path.
4947 (wildcard_expand): Improve dprintf.
4948
4949 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4952 it's equal to currnode. This can happen with "" symlink.
4953
4954 2012-06-27 Yves Blusseau <blusseau@zetam.org>
4955
4956 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4957 echo shell command by printf command.
4958
4959 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4962 the value returned by firmware is the maximal position, not diumension.
4963 (grub_terminfo_output_state): Use a more sane fallback.
4964
4965 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4968
4969 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4972 frequency to 150 MHz.
4973
4974 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 Apple fixes.
4977
4978 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4979 __APPLE_
4980 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4981 definition.
4982 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4983
4984 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Handle slash in HFS label.
4987
4988 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4989 (grub_hfs_dir): Tanslate slash.
4990 (grub_hfs_label): Don't translate slash.
4991
4992 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4995 network protocol listing since it introduces problematic dependency on
4996 net module.
4997
4998 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
5001
5002 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Init video early on yeeloong to avoid being rebooted by watchdog.
5005
5006 * grub-core/Makefile.am (gensm712): New target.
5007 (sm712_start.S): Likewise.
5008 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
5009 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
5010 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
5011 description.
5012 * include/grub/vga.h: Move registry definitions to...
5013 * include/grub/vgaregs.h: ... here.
5014
5015 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
5018 signedness.
5019
5020 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
5023 platforms with firmware disk drivers in the core.
5024
5025 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
5028 informative verbose message.
5029 (read_lv): Handle 64-bit segment size.
5030
5031 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
5034
5035 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
5038 character but still remove trainling spaces.
5039 (grub_fat_label): Ignore archive flag.
5040
5041 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
5044 cast between linux_kernel_header and linux_kernel_params.
5045
5046 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
5049 type for size.
5050 (grub_raid6_recover_func_t): Likewise.
5051 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
5052 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5053
5054 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
5057
5058 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5059
5060 Fix overflow.
5061
5062 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
5063 [__NetBSD__]: Add explicit cast before bitshift.
5064
5065 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * configure.ac: Bump to 2.00~rc1.
5068
5069 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
5072 half of $a0.
5073
5074 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5075 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
5076
5077 * docs/grub.texi: Fix search syntax.
5078 (Multi-boot manual config): Put msdos rather than GPT example.
5079 Grammar corrections.
5080
5081 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
5084
5085 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
5088
5089 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
5092 message on double free. Put the value of magic in case of mismatch.
5093
5094 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 Speed-up video on yeeloong.
5097
5098 * grub-core/video/sm712.c (framebuffer): Remove render_target and
5099 add cached_ptr.
5100 (grub_video_sm712_video_fini): Unmap cached_ptr.
5101 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
5102 (grub_video_sm712_set_active_render_target): Removed.
5103 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5104 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
5105 sync caches.
5106
5107 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Avoid flushing the same line multiple times on loongson.
5110
5111 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
5112 Step in 32 bytes and not 1 byte.
5113 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
5114 Likewise.
5115
5116 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
5119 subvolumes.
5120
5121 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 Implement flow control for http.
5124
5125 * grub-core/net/http.c (parse_line): Handle response 206.
5126 (http_receive): Stall if too many packets are in the queue.
5127 (http_establish): Fix range header.
5128 (http_seek): Fix double free.
5129 (http_close): Likewise.
5130 (http_packets_pulled): New function.
5131 (grub_http_protocol): Set http_seek
5132 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
5133 (ack_real): Set window depending on i_stall.
5134 (grub_net_send_tcp_packet): Likewise.
5135 (grub_net_tcp_stall): New function.
5136 (grub_net_tcp_unstall): Likewise.
5137 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
5138 (grub_net_tcp_unstall): Likewise.
5139
5140 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/net/tftp.c: Decrease stall to 50 packets.
5143
5144 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
5147
5148 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * tests/util/grub-shell.in: Fix a typo.
5151
5152 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 Implement flow control for tftp.
5155
5156 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
5157 packets but stop only if stop condition is satisfied.
5158 (grub_net_fs_read_real): Call packets_pulled after real read. Use
5159 `stall' instead of `eof' as stop condition.
5160 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
5161 (http_err): Likewise.
5162 * grub-core/net/tftp.c (ack): Replace the first argument with data
5163 instead of socket.
5164 (tftp_receive): Stall if too many packets are in wait queue.
5165 (tftp_packets_pulled): New function.
5166 (grub_tftp_protocol): Set packets_pulled.
5167 * include/grub/net.h (grub_net_packets): New field count.
5168 (grub_net_put_packet): Increment count.
5169 (grub_net_remove_packet): Likewise.
5170 (grub_net_app_protocol): New field `packets_pulled'.
5171 (grub_net): New field `stall'.
5172
5173 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
5176 sync part to handle them.
5177
5178 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
5181 * grub-core/net/drivers/ieee1275/ofnet.c
5182 (grub_ieee1275_net_config_real): Likewise.
5183
5184 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
5187 the direct route for server/gateway.
5188
5189 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
5192 IP address to server name since we may not hame the DNS.
5193
5194 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
5197 freeing random buffer on failure.
5198 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
5199
5200 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
5203
5204 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
5207 reserved bytes.
5208 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
5209 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
5210 Handle malloc error correctly.
5211
5212 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5215 blocks.
5216
5217 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
5220 increment.
5221
5222 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
5225 none is explicitly specified.
5226
5227 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
5230 while reallocating.
5231
5232 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Respect netmask from bootp/dhcp.
5235
5236 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
5237 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
5238 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
5239 into ...
5240 (grub_net_add_ipv4_local): ... this.
5241 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
5242 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
5243 (grub_net_add_ipv4_local): New proto.
5244
5245 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
5248 determining EFI memory map size.
5249
5250 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
5253
5254 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
5257 when looking for partition separator.
5258
5259 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5262 Escape commas.
5263
5264 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 Restructure FAT driver to avoid hook in label reading as it hits a
5267 GCC bug.
5268
5269 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
5270 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
5271 (grub_fat_iterate_dir): Split into ...
5272 (grub_fat_iterate_init): ... this, ...
5273 (grub_fat_iterate_fini): ... this, ...
5274 (grub_fat_iterate_dir_next): ... and this. All users updated.
5275
5276 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5279 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
5280 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5281 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
5282 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
5283 New fields last_key and last_key_time.
5284 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
5285 extended key-esc into extended key-extended key.
5286
5287 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Avoid unnecessary memcpy of whole video buffer.
5290
5291 * grub-core/video/fb/video_fb.c (dirty): New struct.
5292 (framebuffer): Add members current_dirty and previous_dirty.
5293 (dirty): New function.
5294 (grub_video_fb_fill_rect): Update dirty.
5295 (common_blitter): Likewise.
5296 (grub_video_fb_scroll): Likewise.
5297 (doublebuf_blit_update_screen): Copy only dirty part.
5298 (doublebuf_pageflipping_update_screen): Likewise.
5299 (grub_video_fb_doublebuf_blit_init): Init dirty.
5300 (doublebuf_pageflipping_init): Likewise.
5301 (grub_video_fb_setup): Likewise.
5302
5303 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
5306 poll rate.
5307
5308 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 Fix wildcard regexp dot and other special characters handling.
5311 Reported by: Robert Mabee.
5312
5313 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
5314 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
5315 (split_path): Trigger expansion on '?'.
5316 (unescape): New function.
5317 (wildcard_expand): Unescape parts copied without globbing.
5318 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
5319 (grub_script_arglist_to_argv): Don't unescape expansions.
5320
5321 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * include/grub/net.h (grub_net_card): New member txbufsize.
5324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
5325 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5326 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
5327 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
5328 txbufsize.
5329 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
5330 compatible property to check for macs. Set
5331 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5332 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5333 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5334 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5335 (send_card_buffer): Use txbuf.
5336 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5337 nested function out of the parent while on it.
5338
5339 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5342 presence check.
5343 (grub_ieee1275_net_config_real): Fix config pointer.
5344
5345 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5348 filename parsing to non-block devices.
5349
5350 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5353
5354 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5357 All users updated.
5358
5359 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5362 UUID search command even if hints probing failed.
5363
5364 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * po/POTFILES.in: Regenerated.
5367
5368 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Speed-up video on fuloong.
5371
5372 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5373 New function.
5374 (grub_pci_device_unmap_range): Handle non-cached address.
5375 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5376 add direct_ptr.
5377 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5378 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5379 (grub_video_sis315pro_set_active_render_target): Removed.
5380 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5381 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5382 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5383 sync caches.
5384 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5385 New proto.
5386
5387 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * docs/grub.texi (Multi-boot manual config): New section.
5390
5391 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 Avoid slow read-back from VRAM.
5394
5395 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5396 Move from here ...
5397 * grub-core/video/fb/video_fb.c
5398 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5399 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5400 (front_target): Remove front_target. Add pages.
5401 (grub_video_fb_init): Skip setting front_pages.
5402 (grub_video_fb_fini): Likewise.
5403 (doublebuf_blit_update_screen): Use pages.
5404 (grub_video_fb_doublebuf_blit_init): Likewise.
5405 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5406 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5407 (grub_video_fb_setup): Prefer doublebuffing.
5408
5409 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5412 gzio.
5413
5414 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 Add loongson tests.
5417
5418 * tests/util/grub-shell.in: Handle loongson.
5419 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5420 drivers.
5421 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5422 Reboot instead of shutdown if REBOOT is defined.
5423
5424 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5427 sized ports since unlike on real hardware qemu supports only 32-bit
5428 regs.
5429
5430 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5433 * util/grub-mkrescue.in: Handle loongson.
5434
5435 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5438 Set is_part appropriately.
5439 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5440 names. Canonicalize partition without full disk.
5441
5442 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 Revert usb-quiesce since it's wrong.
5445
5446 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5447 (grub_ofdisk_init): Don't do quiesce.
5448
5449 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5452 PowerMac workaround to Xserves as well.
5453 Information supplied by: Benjamin Herrenschmidt.
5454
5455 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Don't assume that beginning address is also the entry point on ppc.
5458
5459 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5460 (grub_linux_boot): Use linux_entry.
5461 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5462 (grub_linux_load64): Likewise.
5463
5464 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5467
5468 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5471 needlessly lose the console.
5472
5473 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5476 space.
5477
5478 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5481 than current grub_get_rtc() not implemented when booted with
5482 coreboot without TSC.
5483
5484 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5485 Add machine/time.h to kernel headers on loongson.
5486 * grub-core/Makefile.core.def (kernel): Remove
5487 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5488 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5489 (grub_get_rtc): Likewise.
5490 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5491 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5492 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5493 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5494 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5495 rather than installing known non-working time source.
5496 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5497 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5498 * include/grub/time.h: Don't include machine/time.h.
5499 * include/grub/efi/time.h: Removed.
5500 * include/grub/i386/efi/time.h: Likewise.
5501 * include/grub/i386/ieee1275/time.h: Likewise.
5502 * include/grub/powerpc/ieee1275/time.h: Likewise.
5503 * include/grub/sparc64/ieee1275/time.h: Likewise.
5504 * include/grub/x86_64/efi/time.h: Likewise.
5505
5506 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Remove dot on i and j when combining with above diacritics.
5509
5510 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5511 value.
5512 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5513 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5514 with dotless variants when any combining above is present.
5515
5516 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5519 text and not binary.
5520
5521 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Stop polling as soon as we have the packet we were waiting for.
5524
5525 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5526 All users updated.
5527 * grub-core/net/arp.c (have_pending): New var.
5528 (pending_req): Likewise.
5529 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5530 stop indicator.
5531 (grub_net_arp_receive): Set have_pending.
5532 * grub-core/net/dns.c (recv_data): New field stop.
5533 (recv_hook): Set stop.
5534 (grub_net_dns_lookup): Init stop and use as stop condition.
5535 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5536 condition.
5537 * grub-core/net/net.c (grub_net_poll_cards): New argument
5538 stop_condition. Stop when it goes true.
5539 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5540 indicator.
5541 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5542
5543 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 Keep TX and RX buffers on EFI rather than always allocate new ones.
5546
5547 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5548 card. All users updated.
5549 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5550 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5551 (get_card_packet): Likewise.
5552 (grub_efinet_findcards): Init new fields.
5553
5554 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5557 compilation error on sparc64.
5558
5559 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 Use ITC on IA64 rather than broken routine based on daytime.
5562
5563 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5564 ia64.
5565 (grub_get_rtc) [__ia64__]: Likewise.
5566 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5567 (get_itc): New function.
5568 (grub_rtc_get_time_ms): Likewise.
5569 (grub_machine_init): Calibrate ITC.
5570 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5571 Keep only on non-ia64. Don't export since it's broken and used only
5572 if TSC is unavailable.
5573
5574 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5577 even if it's used.
5578 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5579 Skip if parent is unused.
5580
5581 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5584
5585 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 Fix wildcard escaping.
5588
5589 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5590 * grub-core/script/execute.c (wildcard_escape): .. to here.
5591 Don't escape dot.
5592 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5593 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5594 Don't escape dot.
5595 * grub-core/script/execute.c (gettext_append): Always escape.
5596 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5597 * grub-core/script/yylex.l: Don't cut away the escaping.
5598 * tests/grub_script_echo1.in: Add tests with wildcard.
5599
5600 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5603 (ftdi_hw_configure): Likewise.
5604 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5605 define.
5606 (real_config): Handle 1.5 stop bits.
5607 (pl2303_hw_configure): Likewise.
5608
5609 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * Makefile.am: Add ppc linux bootcheck.
5612 * grub-core/tests/boot/linux-ppc.cfg: New file.
5613 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5614
5615 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * tests/grub_script_expansion.in: Skip network protocols.
5618
5619 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5622
5623 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5626 --rom-directory.
5627 Add -graft-points.
5628
5629 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 ESCC serial driver for conducting sautomated tests in qemu.
5632 Not tested on real hardware.
5633
5634 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5635 * grub-core/term/ieee1275/escc.c: New file.
5636 * grub-core/Makefile.core.def (escc): New module.
5637
5638 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5641 invalid on error.
5642 (serial_hw_fetch): Don't read invalid handle.
5643 (serial_hw_put): Don't write into invalid handle.
5644
5645 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Add a 1.5 stop bits value.
5648
5649 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5650 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5651 GRUB_SERIAL_STOP_BITS_1_5.
5652
5653 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5656 value rather than let it uninited.
5657
5658 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/commands/wildcard.c (+check_file): New function.
5661 (wildcard_expand): Don't expand to non-existing files, expand with
5662 suffix and not attempt to expand if not needed.
5663
5664 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5667 out of partitions containing other partitions.
5668
5669 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5672 on some qemu versions with GRUB.
5673
5674 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5675 define.
5676 (grub_openbsd_bootarg_pcibios): New struct.
5677 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5678 Add PCIINFO.
5679
5680 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * tests/util/grub-shell.in: Trim firmware output on EFI.
5683
5684 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5687 and coreboot since it's already in kernel.
5688
5689 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5692 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5693 to here. New return value start. All users updated.
5694 Recursively scan linear mappings.
5695 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5696 proto.
5697 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5698 Use grub_util_get_dm_node_linear_info.
5699 * util/getroot.c (convert_system_partition_to_system_disk): Use
5700 grub_util_info rather than grub_dprintf.
5701 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5702
5703 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5706
5707 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5708 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5709
5710 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * include/grub/types.h (grub_set_unaligned64): New function.
5713 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5714 (setup): Likewise.
5715
5716 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5719 (grub_ofdisk_fini): Quiesce USB devices.
5720
5721 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5724 caches.
5725
5726 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5729
5730 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/disk/pata.c (grub_pata_pio_read)
5733 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5734 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5735
5736 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Extend automated tests to qemu-mips.
5739
5740 * Makefile.am: reorganise tests and enable qemu-mips.
5741 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5742 * grub-core/tests/boot/linux.init-mips.S: New file.
5743 * tests/partmap_test.in: Handle ata0 disks.
5744 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5745 non-pc i386.
5746
5747 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5750 ia64.
5751 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5752 quotes while on it.
5753
5754 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5757 (grub_halt): Likewise.
5758 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5759
5760 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/term/serial.c (grub_serial_register)
5763 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5764 the behaviour in line with x86 platforms.
5765
5766 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5769 (grub_ata_strncpy): Likewise.
5770 (grub_ata_identify): Add missing byteswaps.
5771
5772 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5775 byte-swap.
5776 (screen_read_char): Likewise.
5777 (grub_vga_text_cls): Likewise.
5778
5779 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5782 filenames.
5783 (make_file_path): Likewise.
5784
5785 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5788 machines.
5789 Tested by: Paulo Flabiano Smorigo.
5790 Crucial information about API supplied by: Coleen <Last name unknown>.
5791 Reviewed by: Coleen <Last name unknown>.
5792
5793 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * util/grub-mkimage.c: Disable -Wcast-align.
5796
5797 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5800 as they are fatal.
5801
5802 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5805
5806 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * util/grub-probe.c (escape_of_path): Fix double free.
5809
5810 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/commands/videoinfo.c (hook): Show pitch.
5813
5814 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5817
5818 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5821 (probe): Add ieee1275 to OFW devices.
5822
5823 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5826
5827 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Handle IBM OFW path.
5830
5831 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5832 available.
5833 (of_path_of_scsi): Handle vdevice.
5834
5835 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5838 Allocate in multiples of 16 to avoid adding a few bytes free region the
5839 windows bugs upon.
5840
5841 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5844 Allocate in multiples of 16 to avoid adding a few bytes free region the
5845 windows bugs upon.
5846 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5847
5848 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5851 resolutions.
5852 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5853 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5854
5855 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5856
5857 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5858
5859 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5862 resulted in \\ at the end of the line.
5863
5864 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5867 (grub_parser_cmdline_state): Likewise.
5868 (grub_parser_split_cmdline): Likewise.
5869
5870 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5873 /dev/root and /dev/dm-*.
5874
5875 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5878 fix partially stale display.
5879
5880 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5883 substraction.
5884
5885 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5888 Fix MBR remapping workaround.
5889 (grub_util_biosdisk_read) [__linux__]: Likewise.
5890
5891 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5894
5895 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * configure.ac: Bump to beta6.
5898
5899 2012-05-31 Christer Weinigel <christer@weinigel.se>
5900
5901 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5902
5903 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5906 (grub_cmd_linux): Likewise.
5907
5908 2012-05-31 Christer Weinigel <christer@weinigel.se>
5909
5910 Fix EHCI low-speed.
5911
5912 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5913 (GRUB_EHCI_MULT_TWO): Likewise.
5914 (GRUB_EHCI_MULT_THREE): Likewise.
5915 (GRUB_EHCI_CMASK_MASK): New enum value.
5916 (GRUB_EHCI_SMASK_MASK): Likewise.
5917 (GRUB_EHCI_CMASK_OFF): Likewise.
5918 (GRUB_EHCI_SMASK_OFF): Likewise.
5919 (grub_ehci_pci_iter): Enable periodic schedule.
5920 (grub_ehci_parse_notrun): Likewise.
5921 (grub_ehci_restore_hw): Likewise.
5922 (grub_ehci_setup_qh): Set flags for low speed transfers.
5923 (grub_ehci_find_qh): Use periodic list for low speed.
5924 (grub_ehci_setup_transfer): Check periodic queue as well.
5925 (grub_ehci_check_transfer): Likewise.
5926 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5927
5928 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5929
5930 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5931 parameter is used.
5932
5933 2012-05-31 Peter Jones <pjones@redhat.com>
5934
5935 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5936 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5937 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5938
5939 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5942 uninited variable. Allocate at least setup_sects.
5943
5944 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 Fix handling of EFI with big memory maps.
5947
5948 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5949 (real_mode_mem): Likewise.
5950 (real_mode_target): Likewise.
5951 (real_mode_pages): Likewise.
5952 (prot_mode_pages): Likewise.
5953 (linux_params): New var.
5954 (linux_cmdline): Likewise.
5955 (free_pages): Don't set real mode variables.
5956 (allocate_pages): Don't allocate real mode memory.
5957 (grub_e820_add_region): Remove the limit.
5958 (grub_linux_boot): Allocate and copy real mode memory.
5959 (grub_linux_unload): Free linux_cmdline.
5960 (grub_cmd_linux): Use temporary storage for parameters.
5961 (grub_cmd_initrd): Likewise.
5962 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5963 (linux_kernel_params): Make it 1K big.
5964
5965 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * Makefile.util.def: Remove -Wno-format.
5968 * grub-core/Makefile.core.def: Likewise.
5969
5970 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * tests/cmp_unit_test.c: Add missing failure message.
5973 * tests/example_unit_test.c: Likewise.
5974 * tests/printf_unit_test.c: Likewise.
5975
5976 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5979 relaxation of protective MBR requirements.
5980
5981 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * configure.ac: Add condition for COND_HOST_XNU.
5984 * Makefile.util.def (10_xnu): New script.
5985 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5986
5987 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5990 objconv bug.
5991
5992 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5995 Binary on other platforms stays identical.
5996
5997 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
6000 Apple.
6001
6002 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
6005
6006 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
6009 rather than defining size_t ourselves to avoid conflict.
6010
6011 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
6014 initialisation to avoid __bzero reference.
6015
6016 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
6019 version.
6020 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
6021 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
6022 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
6023 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
6024 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
6025
6026 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
6029 * grub-core/kern/misc.c: Likewise.
6030 * grub-core/loader/i386/xnu.c: Likewise.
6031 * include/grub/i386/tsc.h: Likewise.
6032 * include/grub/symbol.h: Likewise.
6033
6034 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
6037 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
6038 on older compiler.
6039
6040 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
6043 Implement Apple flavour.
6044 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
6045
6046 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
6049 (memmove) [__APPLE__]: Likewise.
6050 (memcpy) [__APPLE__]: Likewise.
6051 (memset) [__APPLE__]: Likewise.
6052 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
6053 (memmove) [__APPLE__]: Likewise.
6054 (memcpy) [__APPLE__]: Likewise.
6055 (memset) [__APPLE__]: Likewise.
6056
6057 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
6060 dependency discard.
6061
6062 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * grub-core/normal/main.c (read_config_file): Provide config_file and
6065 config_directory.
6066 * util/grub.d/41_custom.in: Use config_directoy when available.
6067
6068 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
6071 (grub_bfs_dir): Likewise.
6072
6073 2012-05-27 Peter Jones <pjones@redhat.com>
6074
6075 The old code gives arguments to a printf function which can't work
6076 correctly, and the compiler complains.
6077
6078 * grub-core/tests/example_functional_test.c (example_test): Add
6079 missing text.
6080 * grub-core/tests/lib/test.c (add_failure): Rewrite.
6081 * include/grub/test.h (grub_test_assert_helper): New declaration.
6082 (grub_test_assert): Use grub_test_assert_helper.
6083
6084 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
6087 (exfctest): ... this to avoid overlong filenames.
6088 All users updated.
6089
6090 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 Handle "." and ".." on squashfs.
6093
6094 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
6095 Make inode numbers into stack.
6096 (grub_squash_read_symlink): Use stack.
6097 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
6098 (make_root_node): Fill stack.
6099 (grub_squash_open): Use stack.
6100
6101 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
6104 freeing.
6105
6106 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
6109 stderr on test calls.
6110
6111 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
6114
6115 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
6118
6119 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
6122 "..".
6123
6124 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
6127 (grub_hfsplus_iterate_dir): Add "." and "..".
6128
6129 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/fs/cpio.c (canonicalize): Handle "..".
6132 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
6133
6134 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
6137 (find_path): Handle "." and "..".
6138
6139 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
6142 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
6143 (grub_affs_iterate_dir): Handle hardlinks.
6144
6145 2012-05-26 Matthew Garrett <mjg@redhat.com>
6146
6147 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
6148 (grub_efi_console_fini): Likewise.
6149 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
6150 (grub_video_gop_fill_mode_info): Rename to ...
6151 (grub_video_gop_fill_real_mode_info): ... this.
6152 (grub_video_gop_fill_mode_info): New function.
6153 (grub_video_gop_setup): Setup double framebuffer.
6154 (grub_video_gop_get_info_and_fini): Use original framebuffer.
6155 Free offscreen.
6156 (grub_video_gop_swap_buffers): Copy framebuffer.
6157 (grub_video_gop_fini): Free offscreen buffer.
6158 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
6159 New enum.
6160 (grub_efi_gop_blt_pixel): New struct.
6161
6162 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * gentpl.py: Remove error disabling for objconv.
6165
6166 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * configure.ac: Remove -Wunitialized as it's not available on older
6169 compilers.
6170
6171 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Fix extent overflow comparator.
6174
6175 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
6176 (grub_hfsplus_read_block): Set type.
6177 (grub_hfsplus_cmp_extkey): Compare type.
6178
6179 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
6182
6183 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
6186 than 0.
6187
6188 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
6191 (dejavu_bold_14.pf2): New target.
6192
6193 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * configure.ac: Fix djvu font detection.
6196
6197 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
6200 ext* instead of ext2.
6201
6202 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
6205 name with \0.
6206
6207 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
6208
6209 * docs/grub-dev.texi: Remove dot from .png.
6210
6211 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
6214 protective entry in any slot.
6215 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
6216 if protective entry is found in any slot.
6217
6218 Protective entry in non-first slot make no sense but is a widespread
6219 brain damage.
6220
6221 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
6224
6225 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
6228 with old reiserfs.
6229 (grub_reiserfs_open): Don't free root.
6230
6231 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
6234 after freeing for safety.
6235
6236 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
6239 Reported by: Jordan Uggla.
6240
6241 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
6242
6243 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
6244 actual implementation. Specifically, clarify that the grub menu will
6245 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
6246 passed.
6247
6248 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
6249
6250 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
6251 of r0.
6252
6253 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 Remove unjustified hard dependency of normal.mod on gfxterm.
6256
6257 * include/grub/term.h (grub_term_output): New member fullscreen.
6258 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
6259 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
6260 (grub_gfxterm): Set .fullscreen.
6261 * grub-core/normal/menu.c (menu_init): Use fullscreen.
6262 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
6263
6264 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
6267 mentioning possible problems with non-ASCII (non-compliant) ISOs.
6268 Mention case-insensitive AFFS, SFS and JFS.
6269
6270 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
6273
6274 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6277 a bad FS.
6278
6279 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
6282 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
6283
6284 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
6287 (grub_jfs_mount): Fill caseins.
6288 (grub_jfs_find_file): Respect caseins.
6289
6290 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
6293 through UTF-16.
6294
6295 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
6298 New argument origpath. All users updated.
6299
6300 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
6303 (read_attr): Ensure that we read start of possibly compressed block.
6304
6305 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
6308 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
6309 All users updated.
6310
6311 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
6314 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
6315 (dejavu.pf2): Replace with ...
6316 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
6317 this.
6318
6319 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/grub.d/20_linux_xen.in: Add missing line.
6322
6323 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
6326 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
6327 (grub_utf16_to_utf8): Likewise.
6328
6329 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6332 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6333 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6334 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6336 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6337
6338 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6341 a bad FS.
6342
6343 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6346 (grub_udf_read_symlink): Handle read_string failure.
6347
6348 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6351 comment.
6352
6353 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 Fix handling of UDF symlinks.
6356
6357 * grub-core/fs/udf.c (read_string): New argument outbuf.
6358 All users updated.
6359 (grub_ufs_read_symlink): Rename to ...
6360 (grub_udf_read_symlink): ... this. All users updated.
6361 Handle symlinks with more than one component.
6362
6363 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6366 symlinks. Replace leading colon with a slash.
6367
6368 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6371 filename.
6372
6373 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6376 match in inner node.
6377
6378 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6381 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6382 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6383 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6384 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6385 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6386 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6387 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6388 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6389
6390 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 Use grub-probe and not cmp to check that disk is empty.
6393
6394 * util/grub-install.in: Use grub-probe for zero-check.
6395 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6396 (probe): Handle PRINT_ZERO_CHECK.
6397 (argp_parser): Handle -t zero_check.
6398
6399 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 Flush block cache on adding disk to device map.
6402
6403 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6404 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6405 adding.
6406 (read_device_map): Likewise.
6407 (open_device): Flush on opening.
6408
6409 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6412 (handle_symlink): Fix off-by-one error.
6413 Canonicalize the target.
6414 (grub_cpio_dir): Canonicalize the name.
6415 Fix memory leak.
6416 Set directory.
6417 (grub_cpio_open): Canonicalize the name.
6418
6419 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6422 handling.
6423
6424 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6427 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6428
6429 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6432 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
6433 All users updated.
6434
6435 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6438 counterpart.
6439
6440 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Fix UFS1 big file support.
6443
6444 * grub-core/fs/ufs.c (INODE): Removed.
6445 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6446 64-bit.
6447 (INODE_MODE): Simplify.
6448 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6449 (grub_ufs_lookup_symlink): Don't use INODE.
6450
6451 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6454
6455 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6456 (grub_minix_data): Replace log_block_size with block_size.
6457 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6458 (grub_minix_mount): Fill block_size.
6459
6460 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * configure.ac: Bump to beta5.
6463
6464 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 Fix wrapped HFS+ handling.
6467
6468 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6469 blocks_start. All users updated.
6470 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6471 wrapping offset.
6472 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6473
6474 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Fix long symlinks on reiserfs.
6477
6478 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6479 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6480 (grub_reiserfs_iterate_dir): Save size for non-directories.
6481 (grub_reiserfs_open): Don't reread stat block as we already know the
6482 size.
6483 (grub_reiserfs_read): Split into...
6484 (grub_reiserfs_read_real): ... and ...
6485 (grub_reiserfs_read): ...this.
6486
6487 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Fix non-indexed JFS.
6490
6491 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6492 (grub_jfs_data): New field namecomponentlen.
6493 (grub_jfs_mount): Fill namecomponentlen.
6494 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6495
6496 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6499 * tests/grub_script_echo1.in: Add tests.
6500
6501 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * util/grub-install.in: Ignore empty devicetree directory.
6504
6505 2012-05-08 Bean <bean123ch@gmail.com>
6506
6507 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6508 All users updated.
6509 (free_rsm): Free header as well.
6510 (free_old_fragments): Fix memory leak.
6511 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6512 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6513 (destroy_pq): Likewise.
6514 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6515
6516 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6519 resulting hash as a precaution.
6520
6521 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6524 '_' in variable names.
6525 * grub-core/net/net.c (grub_net_network_level_interface_register):
6526 Likewise.
6527
6528 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Fix AFFS with non-512B blocks.
6531
6532 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6533 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6534 (grub_affs_data): Replace blocksize with log_blocksize.
6535 (grub_affs_read_block): Fix non-512B blocks.
6536 (grub_affs_read_symlink): Likewise.
6537 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6538 (grub_affs_read): Fix non-512B blocks.
6539 (grub_affs_label): Likewise.
6540 (grub_affs_mtime): Likewise.
6541 (grub_affs_mount): Fix block detection routine.
6542
6543 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Add filesystem mtime to AFFS.
6546
6547 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6548 (aftime2ctime): New function.
6549 (grub_affs_dir): Use aftime2ctime.
6550 (grub_affs_label): Fix return value.
6551 (grub_affs_mtime): New function.
6552 (grub_affs_fs): Add mtime.
6553
6554 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6557 UTF-8.
6558
6559 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6562 UTF-8.
6563
6564 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6567
6568 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6571 flags.
6572 (FLAGS_CASE_SENSITIVE): New enum value.
6573 (cache_entry): New struct.
6574 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6575 cache_size and cache.
6576 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6577 Add log_blocksize and fshelp_flags.
6578 (grub_sfs_read_extent): Handle non-512 blocks.
6579 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6580 (grub_sfs_read_file): Handle non-512 blocks.
6581 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6582 fshelp_flags.
6583 (grub_sfs_read_symlink): Handle non-512 blocks.
6584 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6585 (grub_sfs_dir): Free cache.
6586 (grub_sfs_close): Likewise.
6587
6588 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6591 filesystems.
6592
6593 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6596
6597 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6600
6601 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6604 (grub_sfs_read_extent): Likewise.
6605 (grub_sfs_read_block): Likewise.
6606 (grub_sfs_mount): Likewise.
6607 (grub_sfs_iterate_dir): Likewise.
6608 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6609 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6610
6611 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 Fix errors on compressed NTFS with 512B clusters.
6614
6615 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6616 types.
6617 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6618 not 0.
6619 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6620 Relax check for inline extents.
6621 (ntfscomp): Return correct -1 on error and not 0.
6622
6623 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 * util/grub-install.in: Fix handling of prefix containing spaces.
6626
6627 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6630 (grub_squash_read_data): Fix offset byte-swapping.
6631
6632 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6635 per common usage and preffered in several parts of code.
6636 (grub_memcmp): Likewise.
6637 (grub_strncmp): Likewise.
6638 * include/grub/misc.h (grub_strcasecmp): Likewise.
6639 (grub_strncasecmp): Likewise.
6640 * Makefile.util.def (cmp_test): New test.
6641 (grub_script_strcmp): Likewise.
6642 * tests/cmp_unit_test.c: New file.
6643 * tests/grub_script_strcmp.in: Likewise.
6644 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6645
6646 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * include/grub/pci.h: Move enums into no-asm part.
6649
6650 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6653
6654 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6655
6656 * util/getroot.c (find_hurd_root_device): Try to make error message
6657 and comments to translators clearer.
6658
6659 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6662
6663 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6666 btrfs.
6667
6668 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6669
6670 * docs/grub.cfg: Update.
6671
6672 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * docs/grub.texi (PXE): Remove not present variables.
6675
6676 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/net/net.c (defserver_set_env): New function.
6679 (defserver_get_env): Likewise.
6680 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6681
6682 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6685 entries.
6686
6687 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6690 * grub-core/kern/emu/hostdisk.c: Likewise.
6691
6692 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6693
6694 Handle hurd userspace partitions.
6695
6696 * util/getroot.c (find_hurd_root_device): New function.
6697 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6698
6699 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6702 names.
6703 Reported by: Bastian Blank.
6704
6705 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6708 crossing page boundary.
6709
6710 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 Fix B-tree search in BFS, especially in presence of non-ASCII
6713 characters.
6714
6715 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6716 (find_in_b_tree): Use standard bsearch + btree algorithm.
6717
6718 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6721 and so on.
6722
6723 2012-05-03 Matthew Garrett <mjg@redhat.com>
6724 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 Suspend broadcom cards in order to stop their DMA.
6727
6728 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6729 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6730 (pci): Don't build on x86 EFI.
6731 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6732 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6733 New function.
6734 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6735 stop_broadcom if running on EFI.
6736 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6737 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6738 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6739 (grub_pci_find_capability): New proto.
6740
6741 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * docs/grub.texi: Remove dot from the extension as it apparently
6744 doesn't work with some makeinfo versions.
6745
6746 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6749 with GRUB expectance.
6750
6751 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6754
6755 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6758 zero after directory block since last entry may be not 0-terminated if
6759 it ends on block boundary. Use continue instead of if spanning whole
6760 loop.
6761
6762 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Support 4K sectors UDF inline files.
6765
6766 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6767 (grub_udf_extended_file_entry): Likewise.
6768 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6769 All users updated.
6770 (get_fshelp_size): New function.
6771 (grub_udf_read_icb): Read whole block.
6772 (grub_udf_iterate_dir): Likewise.
6773 (grub_udf_dir): Likewise.
6774 (grub_udf_open): Likewise.
6775
6776 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6779
6780 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6783 inline symlinks in addition to workaround.
6784
6785 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6788
6789 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6792
6793 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6796
6797 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 Fix reiserfs big seek times.
6800
6801 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6802 exact. All users updated.
6803 (grub_reiserfs_read): Use nearest btree search for seeking.
6804 Fix return value on error.
6805
6806 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6809 entries.
6810 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6811 * docs/grub.texi: Update menuentry description.
6812
6813 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6816 crash when embedding onto filesystem.
6817
6818 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6821 name.
6822
6823 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6826
6827 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6830 commit.
6831
6832 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6833 2012-05-01 Bean <bean123ch@gmail.com>
6834
6835 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6836
6837 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6840 Special behaviour for len = 0 to read whole file isn't used anywhere and
6841 can cause buffer ovewrflows in several places.
6842
6843 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6846
6847 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 Handle RAIDZ on non-512B sectors.
6850
6851 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6852 max_children_ashift.
6853 (fill_vdev_info_real): Fill max_children_ashift.
6854 (read_device): Use max_children_ashift.
6855
6856 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6859
6860 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6863 disk names.
6864 * docs/grub.texi: Update device.map parts.
6865
6866 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Don't scan into non-diskfilter devices having diskfilter names.
6869
6870 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6871 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6872 handling.
6873 (scan_disk_hook): New function.
6874
6875 2012-04-29 Bean <bean123ch@gmail.com>
6876
6877 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6878 allocation.
6879
6880 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6881
6882 * configure.ac: Detect starfield theme font path
6883 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6884
6885 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6888 geometry on serial consoles.
6889
6890 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6893 because of network consoles.
6894
6895 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6898 handling.
6899
6900 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6903 falls on Q syndrom.
6904
6905 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6908 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6909
6910 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6913 Allocate at lest 8192 for temporary buffer as required for lzo.
6914
6915 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6918 to cluster_bits, since it's already added in.
6919 (grub_fat_read_data): Likewise.
6920
6921 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6924 as long as cluster size is multiple of 512 bytes.
6925
6926 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * util/grub-mkrescue.in: Fix locale directory.
6929
6930 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/kern/emu/hostdisk.c (map): Make static.
6933
6934 2012-04-23 Bean <bean123ch@gmail.com>
6935
6936 * util/grub-fstest.c (fstest): Add missing break.
6937
6938 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6939
6940 Fix hurd build.
6941
6942 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6943 not define nr variable.
6944 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6945 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6946 grub_find_device): Do not define.
6947
6948 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 Fix kfreebsd compile and behaviour.
6951
6952 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6953 format-security.
6954 * util/getroot.c: Fix wait.h include.
6955 (grub_guess_root_devices): Error if grub_find_device fails.
6956 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6957 (grub_util_get_dev_abstraction): Likewise.
6958 (grub_util_pull_device): Likewise.
6959 (grub_util_get_grub_dev): Likewise.
6960 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6961
6962 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Fix and unify wholedisk detection.
6965
6966 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6967 is_part. All users updated.
6968 (device_is_wholedisk): Removed.
6969 (grub_util_biosdisk_get_grub_dev): Use is_part.
6970
6971 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6974 mode.
6975
6976 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * configure.ac: Bump to beta4.
6979
6980 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6983 --fs-uuid --set UUID syntax.
6984
6985 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6988 disunification.
6989
6990 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6993
6994 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
6995
6996 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6997
6998 2012-04-18 Mike Gilbert <floppym@gentoo.org>
6999
7000 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
7001
7002 2012-04-18 Bean <bean123ch@gmail.com>
7003
7004 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
7005 place.
7006
7007 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
7010 users updated.
7011 (grub_util_biosdisk_read): Handle Linux partitions not exactly
7012 corresponding to GRUB partitions.
7013 (grub_util_biosdisk_write): Likewise.
7014
7015 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Scan mdraid before LVM.
7018
7019 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
7020 (grub_diskfilter_register_front): ... this.
7021 (grub_diskfilter_register_back): New function.
7022 All users of grub_diskfilter_register updated.
7023
7024 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * util/grub-install.in: Fix an automatic target detection bug.
7027
7028 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * util/grub-install.in: New option --efi-directory.
7031
7032 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
7035 boot services if we have no other choice.
7036
7037 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-mknetdir.in: Rename --override-directory to --directory and
7040 document it.
7041 * tests/util/grub-shell.in: Update to --directory.
7042
7043 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
7046
7047 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
7050 (grub_minix_read_file): Likewise.
7051 (grub_minix_read_inode): Likewise.
7052 (grub_minix_find_file): Likewise.
7053 (grub_minix_dir): Likewise.
7054
7055 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * util/grub-setup.c (setup): Fix partition handling and blocklist
7058 check.
7059
7060 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
7063 redundant buggy overlap check.
7064
7065 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
7068 and grub-mknetdir.
7069
7070 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
7073 kh.loadflags on pre-2.00 kernels.
7074
7075 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 Terminate UNDI and PXE before launching the payload to avoid problems
7078 with DMA.
7079
7080 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
7081 (grub_loader_flags): ... this. All users updated.
7082 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
7083 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
7084 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
7085 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
7086 function.
7087 (grub_pxe_restore): Likewise.
7088 (fini_hnd): New var.
7089 (GRUB_MOD_INIT): Register shutdown hook.
7090 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
7091 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
7092 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
7093 (grub_loader_set): Rename second argument to flags.
7094
7095 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
7098 written bytes.
7099 (grub_get_num_of_utf8_bytes): New function.
7100 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
7101 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
7102 executing it.
7103 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
7104 (grub_ucs4_to_utf8): Change return type.
7105
7106 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
7109 warning.
7110 * grub-core/fs/bfs.c (hop_level): Likewise.
7111 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
7112
7113 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/lib/adler32.c: Recode due to license unclearness.
7116
7117 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
7120 (test_header): Likewise.
7121
7122 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Fix --help formatting.
7125
7126 * util/grub-mkconfig_lib.in (print_option_help): New function.
7127 (grub_fmt): Likewise.
7128 * util/grub-install.in: Use print_option_help and grub_fmt.
7129 * util/grub-kbdcomp.in: Likewise.
7130 * util/grub-mkconfig.in: Likewise.
7131 * util/grub-mknetdir.in: Likewise.
7132 * util/grub-mkrescue.in: Likewise.
7133 * util/grub-mkstandalone.in: Likewise.
7134 * util/grub-reboot.in: Likewise.
7135 * util/grub-set-default.in: Likewise.
7136 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7137
7138 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * linguas.sh: Remove autogenerated *.po.
7141
7142 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * po/README: Move language fetcing to ...
7145 * linguas.sh: ... here.
7146 * po/README: Point to linguas.sh.
7147
7148 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * po/README: Exclude ko.po due to disclaimer problems.
7151
7152 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
7155 len = 0.
7156 (grub_gettext_translate_real): Handle 0th string.
7157 (grub_gettext_translate): Ensure that "" isn't translated.
7158
7159 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
7162 TRANSLATORS comment.
7163 (grub_diskfilter_print_partmap): Propagate changing of error into
7164 warning.
7165
7166 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
7169 to uint64_t to prevent overflow.
7170 (grub_diskfilter_lv): Increase start_extent and extent_count
7171 to uint64_t to prevent overflow.
7172
7173 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * configure.ac: Increase version.
7176
7177 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
7180
7181 * po/Rules-translit: New file.
7182 * po/arabic.sed: Likewise.
7183 * po/cyrillic.sed: Likewise.
7184 * po/greek.sed: Likewise.
7185 * po/hebrew.sed: Likewise.
7186 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
7187 * po/Makefile.in.in: Add extra_dist4.
7188
7189 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 Handle big-endian minixfs (fixes minixfs tests on bigendian).
7192
7193 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
7194 modify names. Introduce MODE_BIGENDIAN.
7195 * grub-core/fs/minix_be.c: New file.
7196 * grub-core/fs/minix2_be.c: Likewise
7197 * grub-core/fs/minix3_be.c: Likewise.
7198 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
7199 minix3_be.
7200 * grub-core/Makefile.core.def (minix_be): New module.
7201 (minix2_be): Likewise.
7202 (minix3_be): Likewise.
7203
7204 2012-04-01 Felix <email@hamburg.de>
7205
7206 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
7207 (devs): Add MBP 2011.
7208
7209 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
7212
7213 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/normal/cmdline.c (print_completion): New field
7216 prompt_len.
7217 (grub_cmdline_get): Handle width properly.
7218
7219 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/commands/lsacpi.c (options): Add missing terminator.
7222
7223 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
7226 after 29th of February.
7227
7228 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Fix exfat endianness handling.
7231
7232 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
7233 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
7234 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
7235 Byte-swap utf16 when necessary.
7236 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
7237
7238 2012-03-31 Anton Blanchard <anton@samba.org>
7239 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Fix btrfs endianness handling.
7242
7243 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
7244 (lower_bound): Make root uint64_t. Use root in le.
7245 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
7246 (find_path): Fix template key init.
7247 (grub_btrfs_dir): Fix mtime byteswap.
7248 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
7249
7250 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
7253 recursion_depth. Break infinite resursions. All users updated.
7254
7255 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
7258 after free.
7259 Reported by: Peter Jones.
7260
7261 2012-03-31 Anton Blanchard <anton@samba.org>
7262
7263 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
7264 8 bit values.
7265
7266 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * util/grub-install.in: Fix nvram call for PreP.
7269
7270 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
7273 the error when some elements are missing into a warning.
7274
7275 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
7278
7279 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
7280
7281 * docs/grub.texi (Invoking grub-probe): New section.
7282 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
7283
7284 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Fix tab and wide character handling in editor and menu.
7287
7288 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
7289 agglomerate control characters with combining marks.
7290 (bidi_line_wrap): Allow break on tab.
7291 (grub_unicode_get_comb_start): New function.
7292 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
7293 and tab correctly.
7294 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
7295 with a space.
7296 * grub-core/normal/term.c (print_ucs4_terminal): New argument
7297 fixed_tab_size. All users updated.
7298 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
7299 (grub_term_getcharwidth): Handle \t.
7300 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
7301 and copy.
7302
7303 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Handle big-endian mdraid.
7306
7307 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
7308 * grub-core/Makefile.core.def (mdraid09_be): New module.
7309 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
7310 rather than grub_le_to_cpu* and grub_cpu_to_le*.
7311 * grub-core/disk/mdraid_linux_be.c: New file.
7312
7313 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
7316
7317 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7320 missing quotes which caused confusion among translators.
7321
7322 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * util/grub-mkconfig_lib.in: Fix typo.
7325
7326 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
7329 spaces.
7330 * tests/grub_script_leading_whitespace.in: New file.
7331 * Makefile.util.def (grub_script_leading_whitespace): New test.
7332
7333 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7336 to work.
7337
7338 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7341 starts with control character.
7342
7343 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7346 overflow.
7347 (grub_gdb_outbuf): Likewise.
7348
7349 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7352 zero terminator. Fixes a crash.
7353
7354 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7357 beyond 4 GiB.
7358 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7359 images independently of preffered adderss field.
7360
7361 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7364 * grub-core/commands/regexp.c: Likewise.
7365 * grub-core/loader/i386/linux.c: Likewise.
7366 * grub-core/partmap/msdos.c: Likewise.
7367 * grub-core/script/execute.c: Likewise.
7368 * grub-core/term/gfxterm.c: Likewise.
7369
7370 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 Add variable parsing in $"..." and fix several mismatches with bash.
7373
7374 * Makefile.util.def (grub_script_gettext): New test.
7375 * grub-core/script/execute.c (parse_string): New function.
7376 (gettext_append): Likewise.
7377 (grub_script_arglist_to_argv): Use gettext_append.
7378 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7379 * tests/grub_script_gettext.in: New file.
7380
7381 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 Fix handling of leading spaces in scripts.
7384
7385 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7386 spaces.
7387 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7388 other than skipping \r. All users updated.
7389 * tests/grub_script_echo1.in: Add space-related tests.
7390 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7391
7392 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7395
7396 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * configure.ac: Bump up the version to beta2.
7399
7400 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 Fix gettext reload bugs (e.g. inability to disable gettext
7403 once enabled).
7404
7405 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7406 main_context and secondary_context. All functions updated.
7407 (grub_gettext_translate): Rename to ...
7408 (grub_gettext_translate_real): ... this. Return NULL on failed
7409 translate.
7410 (grub_gettext_translate): Handle secondary context.
7411 (grub_gettext_delete_list): Close file and zero-out the context.
7412 (grub_mofile_open): Don't call grub_gettext_delete_list.
7413 Don't close file.
7414 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7415 if locale="" to avoid pointless error message.
7416 (grub_gettext_env_write_lang): Update lang even if load fails.
7417 Handle secondary context.
7418 (grub_gettext_reread_prefix): New function.
7419 (read_main): Likewise.
7420 (read_secondary): Likewise.
7421 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7422 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7423 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7424 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7425
7426 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * configure.ac: Decrease warning level to avoid spurious warnings and
7429 to be able to compile with GCC 4.2.
7430 * Makefile.util.def: Remove -Wno-error=logical-op.
7431
7432 2012-03-10 William Bittner <william.bittner@gmail.com>
7433
7434 * util/import_unicode.py: Add missing brackets around string for
7435 python 3 support.
7436
7437 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Fix efi chainloader on network root.
7440
7441 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7442 network devices.
7443 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7444 New function.
7445
7446 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7449 unused show_text member.
7450 * docs/grub.texi: Document "text" property.
7451
7452 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7455 in dprintf.
7456
7457 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Fix IMSM handling on Fedora.
7460
7461 * util/getroot.c (grub_util_is_imsm): New function.
7462 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7463
7464 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * Makefile.am: Strip gold section.
7467 * conf/Makefile.common: Likewise.
7468 * gentpl.py: Likewise.
7469 * grub-core/Makefile.core.def: Likewise.
7470 * grub-core/genmod.sh.in: Likewise.
7471
7472 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7475 * util/grub.d/20_linux_xen.in: Likewise.
7476 Based on Debian patch.
7477
7478 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * util/grub.d/10_linux.in: Fix syntax error resulting in
7481 Richard Laager's patch.
7482 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7483
7484 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7487 dependencies.
7488
7489 2012-03-10 Richard Laager <rlaager@wiktel.com>
7490
7491 * util/grub.d/10_linux.in: Fix ZFS root passing.
7492
7493 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7496 * grub-core/commands/xnu_uuid.c: Likewise.
7497 * grub-core/loader/efi/appleloader.c: Likewise.
7498 * grub-core/script/execute.c: Likewise.
7499 * grub-core/script/main.c: Likewise.
7500 * util/grub-mkfont.c: Likewise.
7501
7502 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * util/grub-mkfont.c (options): Use more appropriate "select" that
7505 "set" for face index.
7506
7507 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * util/grub-editenv.c (options): Gettextize command summaries.
7510
7511 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7514 "out of memory" error messagge.
7515
7516 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7519 of diskfilter for diskfilter on diskfilter support.
7520
7521 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7524
7525 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7528 themes/starfield.
7529
7530 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7533
7534 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7537
7538 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7541 of error message.
7542
7543 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7546
7547 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7550 message.
7551 * util/grub-install.in: Fix and gettextize error message.
7552
7553 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7556 Gettextize.
7557 * util/grub-mount.c (options): Likewise.
7558
7559 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7562 gettextize.
7563 * grub-core/commands/search_wrap.c (options): Likewise.
7564
7565 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7568
7569 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7572 size calculation.
7573 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7574 none is known.
7575
7576 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7579 "temporary" since it's used in identifier and is limited in space.
7580
7581 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * po/POTFILES.in: Regenerate. Include *.h since they contain
7584 translatable strings as well.
7585
7586 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7589 byte-swap on big-endian.
7590 Reported by: Lennart Sorensen
7591
7592 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7595 (allocate_pages): Improve dprintf.
7596 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7597 code32_start. Fill code32_start and kernel_alignment in params.
7598 (grub_cmd_initrd): Use prot_init_space.
7599
7600 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7603
7604 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * util/grub-install.in: Add missing dot at the end of sentence.
7607
7608 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7611 * grub-core/commands/videotest.c: Likewise.
7612 * grub-core/loader/i386/linux.c: Likewise.
7613
7614 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7617 sentence.
7618 Reported by: Milo Casagrande.
7619
7620 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7623 * grub-core/commands/gptsync.c: Likewise.
7624 * grub-core/commands/hashsum.c: Likewise.
7625 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7626 * grub-core/commands/legacycfg.c: Likewise.
7627 * grub-core/io/gzio.c: Likewise.
7628 * grub-core/net/net.c: Likewise.
7629 * grub-core/term/gfxterm.c: Likewise.
7630 * grub-core/term/terminfo.c: Likewise.
7631 * grub-core/tests/test_blockarg.c: Likewise.
7632 * grub-core/video/video.c: Likewise.
7633 * util/grub-install.in: Likewise.
7634 * util/grub-mkfont.c: Likewise.
7635
7636 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7639
7640 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/commands/search_wrap.c (options): Fix a typo.
7643 Reported by: David Prévot.
7644
7645 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7648 description.
7649
7650 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * util/grub-script-check.c (main): Fix a syntax error message which was
7653 unclear.
7654
7655 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7658
7659 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7662 messages.
7663
7664 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7667 without argument.
7668 * util/grub-mount.c (options): Likewise.
7669
7670 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7673
7674 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * grub-core/net/http.c: Add TRANSLATORS comments.
7677 * grub-core/normal/cmdline.c: Likewise.
7678 * grub-core/normal/misc.c: Likewise.
7679 * grub-core/partmap/msdos.c: Likewise.
7680 * grub-core/parttool/msdospart.c: Likewise.
7681 * grub-core/script/execute.c: Likewise.
7682 * grub-core/script/main.c: Likewise.
7683 * grub-core/term/terminfo.c: Likewise.
7684 * grub-core/video/bitmap.c: Likewise.
7685 * util/grub-install.in: Likewise.
7686 * util/grub-mkimage.c: Likewise.
7687 * util/grub-mklayout.c: Likewise.
7688 * util/grub-setup.c: Likewise.
7689
7690 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7693 with similar messages in grub-fstest.
7694
7695 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-install.in: Unify "option requires an argument" message
7698 with similar messages in other files.
7699 * util/grub-mkconfig.in: Likewise.
7700
7701 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * util/grub-set-default.in: Replace printf with gettext_printf (the
7704 string in in question is already translated from grub-reboot)
7705
7706 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * configure.ac: Bump up the version to beta1.
7709
7710 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7713 case when min_align = 0.
7714
7715 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7718 and fix a case when line_start overflows.
7719
7720 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * util/grub-reboot.in (usage): Mention id posibility.
7723 * util/grub-set-default.in (usage): Likewise.
7724
7725 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7728 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7729 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7730 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7731 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7732 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7733 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7734
7735 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/commands/menuentry.c (options): Remove
7738 GRUB_ARG_OPTION_REPEATABLE.
7739 Reported by: Andreas Vogel
7740
7741 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7742
7743 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7744
7745 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7746
7747 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7748 error.
7749
7750 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 Use sort -V by the idea of Georgi Georgiev.
7753
7754 * util/grub-mkconfig_lib.in (version_sort): New function.
7755 (version_test_numeric): Use version_sort.
7756
7757 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Use submenus in grub-mkconfig.
7760
7761 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7762 * util/grub-mkconfig_lib.in (grub_quote): New function.
7763 (gettext_printf): Use gettext and not gettext_quoted to fix several
7764 messages.
7765 * util/grub.d/10_hurd.in: Use submenus.
7766 * util/grub.d/10_kfreebsd.in: Likewise.
7767 * util/grub.d/10_linux.in: Likewise.
7768 * util/grub.d/10_netbsd.in: Likewise.
7769 * util/grub.d/20_linux_xen.in: Likewise.
7770 * util/grub.d/30_os-prober.in: Likewise.
7771 * util/grub.d/10_illumos.in: Add missing quoting.
7772 * util/grub.d/10_windows.in: Likewise.
7773
7774 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 Fix menu title instability bug.
7777
7778 * grub-core/commands/menuentry.c (options): New option --id.
7779 (grub_normal_add_menu_entry): New argument id. All users updated.
7780 (grub_cmd_menuentry): Handle --id.
7781 (grub_menu_init): Accept unknown arguments.
7782 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7783 feature_menuentry_options.
7784 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7785 saved_entry.
7786 (get_entry_number): Match with id as well.
7787 * include/grub/menu.h (grub_menu_entry): New member id.
7788 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7789 * util/grub.d/00_header.in: Define menuentry_id_option.
7790 * util/grub.d/10_hurd.in: Define id.
7791 * util/grub.d/10_illumos.in: Likewise.
7792 * util/grub.d/10_kfreebsd.in: Likewise.
7793 * util/grub.d/10_linux.in: Likewise.
7794 * util/grub.d/10_netbsd.in: Likewise.
7795 * util/grub.d/10_windows.in: Likewise.
7796 * util/grub.d/20_linux_xen.in: Likewise.
7797 * util/grub.d/30_os-prober.in: Likewise.
7798
7799 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7802 "scope" with "body".
7803
7804 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7807 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7808 prot_size and prot_file_size.
7809
7810 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7813 All users updated. If easily=1 require raid-5/-6 to be full.
7814 (is_node_readable): Likewise.
7815 (scan_devices): Scan incomplete but readable LVs at the end.
7816 (grub_diskfilter_memberlist): Pull missing devices.
7817 (insert_array): Skip scanning until device is complete or scan is
7818 done otherwise.
7819 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7820 check.
7821 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7822 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7823
7824 2012-03-03 Matthew Garrett <mjg@redhat.com>
7825 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Avoid EFI boot services when loading Linux.
7828
7829 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7830 avoid_efi_bootservices. All users updated.
7831 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7832 argument avoid_efi_bootservices. All users updated.
7833 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7834 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7835 align, min_align, relocatable, prefered_address. All users updated.
7836 Allocate avoiding boot services if kernel is relocatable.
7837 (grub_cmd_linux): Check if kernel is relocatable.
7838 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7839 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7840 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7841 avoid_efi_boot_services.
7842 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7843 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7844 (linux_kernel_params): Likewise.
7845
7846 2012-03-03 Matthew Garrett <mjg@redhat.com>
7847 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 Use EDID on EFI.
7850
7851 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7852 datasize_out.
7853 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7854 modes. Set gop_handle.
7855 (grub_video_gop_get_edid): New function.
7856 (grub_gop_get_preferred_mode): Likewise.
7857 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7858 (grub_video_efi_gop_adapter): Set .get_edid.
7859 * include/grub/efi/edid.h: New file.
7860 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7861
7862 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/grub-install.in: Load efivars unconditionally.
7865
7866 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * po/Rules-piglatin: Change suffix from .po-update-en to
7869 .po-update-en-piglatin.
7870
7871 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Add a pig farm.
7874
7875 * po/piglatin.sed: New file.
7876 * po/en@piglatin.header: Likewise.
7877 * po/Rules-piglatin: Likewise.
7878 * po/README: Add en@piglatin to autogenerated languages.
7879
7880 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7883 "Command for ...".
7884 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7885 "Check" since we don't check anything.
7886 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7887 is 64-bit one.
7888 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7889 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7890 (grub_md_sha512_real): Likewise.
7891
7892 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 * grub-core/commands/gptsync.c: Fix typographic quoting.
7895 * grub-core/commands/ieee1275/suspend.c: Likewise.
7896 * grub-core/commands/parttool.c: Likewise.
7897 * grub-core/commands/search_wrap.c: Likewise.
7898 * grub-core/commands/videoinfo.c: Likewise.
7899 * grub-core/gfxmenu/gui_label.c: Likewise.
7900 * grub-core/hello/hello.c: Likewise.
7901 * grub-core/kern/emu/main.c: Likewise.
7902 * grub-core/net/net.c: Likewise.
7903 * grub-core/normal/menu.c: Likewise.
7904 * grub-core/normal/menu_text.c: Likewise.
7905 * grub-core/normal/misc.c: Likewise.
7906 * util/grub-editenv.c: Likewise.
7907 * util/grub-install.in: Likewise.
7908 * util/grub-kbdcomp.in: Likewise.
7909 * util/grub-mkconfig.in: Likewise.
7910 * util/grub-mknetdir.in: Likewise.
7911 * util/grub-mkrescue.in: Likewise.
7912 * util/grub-mkstandalone.in: Likewise.
7913 * util/grub-reboot.in: Likewise.
7914 * util/grub-set-default.in: Likewise.
7915 * util/grub-setup.c: Likewise.
7916 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7917
7918 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7921 * grub-core/commands/keystatus.c: Likewise.
7922 * grub-core/commands/loadenv.c: Likewise.
7923 * grub-core/commands/probe.c: Likewise.
7924 * grub-core/commands/regexp.c: Likewise.
7925 * grub-core/commands/true.c: Likewise.
7926 * grub-core/commands/videoinfo.c: Likewise.
7927 * grub-core/disk/cryptodisk.c: Likewise.
7928 * grub-core/disk/ldm.c: Likewise.
7929 * grub-core/disk/loopback.c: Likewise.
7930 * grub-core/disk/luks.c: Likewise.
7931 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7932 * grub-core/kern/disk.c: Likewise.
7933 * grub-core/kern/emu/hostdisk.c: Likewise.
7934
7935 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7938 * util/grub-install.in: Add missing quote in the comment.
7939
7940 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7943 * grub-core/commands/lsmmap.c: Likewise.
7944 * grub-core/commands/minicmd.c: Likewise.
7945 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7946 * grub-core/commands/regexp.c: Likewise.
7947 * grub-core/gdb/gdb.c: Likewise.
7948 * grub-core/term/gfxterm.c: Likewise.
7949 * util/grub-mkconfig.in: Likewise.
7950 * util/grub-mkfont.c: Likewise.
7951 * util/grub-mklayout.c: Likewise.
7952 * util/grub-mknetdir.in: Likewise.
7953 * util/grub-mkrescue.in: Likewise.
7954 * util/grub.d/30_os-prober.in: Likewise.
7955
7956 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7959 with "Direct color" and "Packed" with "Packed pixel".
7960 (grub_cmd_videoinfo): Simplify legend.
7961
7962 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7965 absolutely unclear error message.
7966
7967 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * util/grub-mkstandalone.in: Remove confusing leftover print.
7970
7971 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7974 comments.
7975 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7976 (GRUB_MOD_INIT): Likewise.
7977 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7978 VGA mode.
7979 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7980 comments.
7981 * util/grub-install.in (usage): Likewise.
7982 Spell ID in whole letters.
7983 Add missing ending dot.
7984 Quote variables.
7985 * util/grub-reboot.in: Fix capitalisation.
7986 * util/grub-set-default.in: Likewise.
7987
7988 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7991 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7992 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7993 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7994 Disable -Werror for -Wdeprecated-declarations.
7995 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7996 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7997 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7998 (grub_util_get_grub_dev): Make luks handling dependent on
7999 HAVE_DEVICE_MAPPER and not __linux__.
8000 (get_win32_path): Fix format security.
8001 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
8002 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
8003 Don't try grub_find_zpool_from_dir.
8004 (grub_make_system_path_relative_to_its_root) [!__linux__]:
8005 #ifdef-out paresdir.
8006
8007 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * util/grub-pe2elf.c (usage): Add missing noreturn.
8010 (write_section_data): Rename name to shname to avoid shadowing.
8011 (write_symbol_table): Rename name to symname to avoid shadowing.
8012 Fix write_reloc_section call.
8013
8014 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
8017 to ensure that it's after the last byte of .text.
8018
8019 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * util/ieee1275/ofpath.c (my_isdigit): New function.
8022 (trailing_digits): Use my_isdigit.
8023 (strip_trailing_digits): Likewise.
8024
8025 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
8028 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
8029
8030 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/kern/i386/pc/startup.S: Define __start.
8033
8034 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
8037 strip already transforms he format.
8038
8039 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
8042
8043 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * util/grub-install.in: Add missing gettext init.
8046 * util/grub-kbdcomp.in: Likewise.
8047 * util/grub-mkconfig.in: Likewise.
8048 * util/grub-mknetdir.in: Likewise.
8049 * util/grub-mkrescue.in: Likewise.
8050 * util/grub-mkstandalone.in: Likewise.
8051 * util/grub-reboot.in: Likewise.
8052 * util/grub-set-default.in: Likewise.
8053 * util/grub.d/00_header.in: Likewise.
8054 * util/grub.d/10_hurd.in: Likewise.
8055 * util/grub.d/10_windows.in: Likewise.
8056 * util/grub.d/30_os-prober.in: Likewise.
8057 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8058
8059 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * po/Rules-swiss: Fix header comment.
8062
8063 2012-02-29 Andreas Vogel <anvoit>
8064
8065 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
8066 resulted in leak of arguments.
8067
8068 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/boot/i386/pc/startup_raw.S: Use separate
8071 reed_solomon_size const definition instead of computing it since
8072 Apple assembler doesn't support the later.
8073
8074 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 * gentpl.py (kernel): Rewrite Apple part.
8077
8078 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * include/grub/kernel.h (FOR_MODULES): Check module magic.
8081
8082 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * util/grub-mkimagexx.c (locate_sections): Support non-standard
8085 ELF section gap.
8086 (load_image): Likewise.
8087
8088 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8089
8090 * configure.ac: Fix a typo in previous commit.
8091
8092 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 Don't add -Wl,-N on Apple platform.
8095
8096 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
8097 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
8098
8099 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/Makefile.core.def (lzma_decompress): Use
8102 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
8103
8104 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/genmod.sh.in: Rewrite the Apple part.
8107
8108 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
8111 comparison.
8112
8113 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * acinclude.m4 (grub_CHECK_PIC): New test.
8116 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
8117
8118 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
8121 to avoid the warning.
8122
8123 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
8126 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
8127 after. All users updated.
8128
8129 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 Use the common size routine in hostfs so we can read disks as well.
8132
8133 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
8134 (grub_util_get_fd_size): ... this. Return size in bytes.
8135 All users updated.
8136 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
8137 grub_util_get_fd_size.
8138
8139 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
8142 Add blocksize retrieval.
8143
8144 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * configure.ac: Restore CFLAGS after efiemu check.
8147
8148 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
8151 Apple bug.
8152
8153 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
8156
8157 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
8160 (grub_cmd_halt): Likewise.
8161
8162 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
8165 for local arithmetics.
8166 Break %sp init into 2 instructions.
8167 Add 0 byte at the end.
8168
8169 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * grub-core/disk/diskfilter.c (read_segment): Initialise err
8172 before loops.
8173
8174 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
8177 for context.
8178
8179 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/disk/ldm.c (make_vg): Init part.name.
8182 (grub_ldm_detect): Silence spurious warning.
8183 (grub_util_is_ldm): Likewise.
8184
8185 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
8188 sane value to avoid a spurious warning.
8189
8190 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
8193 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
8194
8195 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
8198 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
8199
8200 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
8203 hardcoding the relevant info.
8204
8205 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
8208 missing const qualifiers.
8209 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
8210
8211 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * util/getroot.c [__APPLE__]: Add missing includes.
8214 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
8215
8216 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * util/grub-mkimage.c (generate_image): Silence spurious warning.
8219
8220 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
8223 avoid conflicts.
8224
8225 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
8228
8229 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
8232 and grub_file_close call.
8233
8234 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 Add LZSS Mach-O support (needed for new xnu kernelcache).
8237
8238 * grub-core/Makefile.core.def (xnu): Add file lzss.c
8239 * grub-core/loader/lzss.c: New file.
8240 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
8241 on Mach-O open failure.
8242 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
8243 Don't free cmdsXX in uncompressedXX is set.
8244 (grub_macho_file): Init new fields.
8245 New argument is_64bit. All users updated.
8246 Handle compressed. Error out if no suitable architecture is found.
8247 Don't close file.
8248 (grub_macho_open): New argument is_64bit. All users updated.
8249 * grub-core/loader/macho32.c: Add defines for new fields.
8250 * grub-core/loader/macho64.c: Likewise.
8251 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
8252 (grub_macho_parse): Handle compressed.
8253 Defer actual processing if compressed.
8254 (grub_macho_cmds_iterate): Decompress if compressed. New argument
8255 "filename". All users updated.
8256 (grub_macho_size): New argument "filename". All users updated.
8257 (grub_macho_get_entry_point): Likewise.
8258 (grub_macho_load): Handle compressed.
8259 * include/grub/macho.h (grub_macho_lzss_header): New struct.
8260 (GRUB_MACHO_LZSS_OFFSET): New define.
8261 (grub_decompress_lzss): New proto.
8262 * include/grub/machoload.h (grub_macho_file): New fields to handle
8263 compressed.
8264 (grub_macho_contains_macho64): Remove proto.
8265 (grub_macho_contains_macho32): Likewise.
8266 * util/grub.d/30_os-prober.in: Use kernel cache if available.
8267
8268 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
8271
8272 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 Fix make dist.
8275
8276 * Makefile.am (starfield_theme_files): New var.
8277 (starfield_DATA): Use starfield_theme_files.
8278 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
8279 Add bootcheck-related files.
8280 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
8281 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
8282 and font_char_metrics.txt.
8283 * grub-core/Makefile.core.def (kernel): Update extra_dist.
8284 (setjmp): Add lib/ia64/longjmp.S.
8285 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
8286 * po/POTFILES.in: Regenerate.
8287 * po/Rules-swiss: use DISTFILES.common.extra2 and not
8288 DISTFILES.common.extra1.
8289 * util/devicemap.c: Removed.
8290 * grub-core/lib/i386/relocator_backward.S: Likewise.
8291 * util/import_gcry.py: Remove unused files. Add extra_dist for
8292 ChangeLog.
8293
8294 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/gettext/gettext.c (grub_mofile_open): Call
8297 grub_gettext_delete_list before changing grub_gettext_max to avoid
8298 running out of array bounds.
8299
8300 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
8303 grub_vga_text_init/grub_vga_text_fini.
8304
8305 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
8308
8309 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * configure.ac: Bump to 2.00~beta0.
8312
8313 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
8316 missing initialisation.
8317
8318 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
8321
8322 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 Support v2 xnu boot arguments.
8325
8326 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
8327 New argument fsbfreq_out.
8328 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
8329 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
8330 be used.
8331 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8332 darwin_version.
8333 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8334 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8335 (grub_xnu_boot_params): Rename to ...
8336 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8337 (grub_xnu_boot_params_v2): New struct.
8338
8339 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8342 zeroing of CRC field before computing CRC.
8343
8344 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8347 Change order of allocations to decrease fragmentation.
8348
8349 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8352
8353 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
8354
8355 Use write-combining MTRR to speed up video with buggy BIOSes.
8356
8357 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8358 (cpuid): New define.
8359 (rdmsr): Likewise.
8360 (wrmsr): Likewise.
8361 (mtrr_base): Likewise.
8362 (mtrr_mask): Likewise.
8363 (grub_vbe_enable_mtrr_entry): New function.
8364 (grub_vbe_enable_mtrr): Likewise.
8365 (grub_vbe_disable_mtrr): Likewise.
8366 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8367 control off to BIOS.
8368 (grub_video_vbe_init): Fill mtrr.
8369 (grub_video_vbe_fini): Disable mtrr.
8370 (grub_video_vbe_get_info_and_fini): Likewise.
8371 (grub_video_vbe_setup): Enable mtrr.
8372
8373 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
8374
8375 * include/grub/partition.h (grub_partition_map): Change prototype of
8376 embed to take a maximum value for nsectors.
8377 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8378 * include/grub/fs.h (grub_fs): Likewise.
8379 * grub-core/partmap/msdos.c (embed_signatures): New array.
8380 (pc_partition_map_embed): Check for and avoid sectors matching any
8381 of the signatures in embed_signatures, up to max_nsectors.
8382 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8383 returned sector map to max_nsectors.
8384 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8385 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8386 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8387 * util/grub-setup.c (setup): Allow for the embedding area being
8388 split into multiple blocklists. Tell dest_partmap->embed the
8389 maximum number of sectors we care about.
8390
8391 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8394 Specify blocklist_install and reserver_first_sector for all fs.
8395 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8396 blocklists.
8397
8398 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * util/grub-install.in: Clarify strings.
8401 Fix source dir check.
8402
8403 2012-02-27 Richard Laager <rlaager@wiktel.com>
8404
8405 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8406 "zfs" and "fuse.zfs" as synonyms.
8407
8408 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 * configure.ac: Put platform and target_cpu substitutions back since
8411 they are used for directories.
8412
8413 2012-02-27 Richard Laager <rlaager@wiktel.com>
8414 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8417 * util/grub.d/20_linux_xen.in: Likewise.
8418
8419 2012-02-27 Richard Laager <rlaager@wiktel.com>
8420
8421 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8422 with full paths.
8423
8424 2012-02-27 Richard Laager <rlaager@wiktel.com>
8425
8426 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8427 unescape.
8428
8429 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Don't use insecure popen in getroot.
8432
8433 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8434 (exec_pipe): ... here.
8435 (find_root_devices_from_poolname): Use exec_pipe.
8436
8437 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Remove platform and target_cpu replacement.
8440
8441 * configure.ac: Remove platform and target_cpu substitutions.
8442 * tests/util/grub-shell.in: Use modinfo.
8443 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8444 explicitly.
8445
8446 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 Autodetect platform in grub-install but allow override.
8449
8450 * util/grub-install.in: Autodetect platform. Support --target and
8451 --directory. Read platform from modinfo.sh.
8452
8453 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 Support btrfs multi-volume probe.
8456
8457 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8458 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8459 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8460 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8461 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8462 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8463 grub_find_root_devices_from_btrfs if on btrfs.
8464
8465 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 Remove any awareness of *.c util files about target.
8468
8469 * Makefile.util.def (grub-setup): Split to ...
8470 (grub-bios-setup): ... and this.
8471 (grub-sparc64-setup): ... and this.
8472 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8473 * docs/man/grub-setup.h2m: Split into ...
8474 * docs/man/grub-sparc64-setup.h2m: ... this.
8475 * docs/man/grub-bios-setup.h2m: ... and this.
8476 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8477 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8478 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8479 (grub_target_addr_t): Remove.
8480 (grub_target_size_t): Remove.
8481 (grub_target_ssize_t): Remove.
8482 * util/grub-install.in: Use new grub-*-setup.
8483 * util/grub-mkimagexx.c (Elf_Word): New define.
8484 (Elf_Half): Likewise.
8485 (Elf_Section): Likewise.
8486 (ELF_ST_TYPE): Likewise.
8487 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8488 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8489
8490 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 Replace grub_target_addr with more appropriate types.
8493
8494 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8495 grub_target_addr with grub_addr.
8496 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8497 grub_target_addr with grub_port.
8498 (grub_cmd_write): Likewise.
8499 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8500 grub_target_addr with grub_addr.
8501 (grub_cmd_write): Likewise.
8502 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8503
8504 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8507 const qualifier for vendor_guid.
8508
8509 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8512 const qualifier.
8513 (efiemu_memequal): Likewise.
8514 (find_variable): Likewise.
8515
8516 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Fix missing console prototype on qemu-mips.
8519
8520 * include/grub/mips/qemu_mips/console.h: New file.
8521
8522 2012-02-27 Matthew Garrett <mjg@redhat.com>
8523 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8526 * include/grub/efi/efi.h: Likewise.
8527 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8528 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8529 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8530 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8531 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8532 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8533
8534 2012-02-27 Matthew Garrett <mjg@redhat.com>
8535
8536 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8537
8538 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8541 error.
8542
8543 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * configure.ac: Remove inappropriate use of program_transform_name
8546 on grubdir and bootdir but allow explicit specification of those
8547 variables.
8548
8549 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * util/grub-mknetdir.in (grub_prefix): Removed.
8552 (subdir): Use @bootdirname@ and @grubdirname@.
8553
8554 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8557
8558 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * po/POTFILES.in: Regenerated.
8561
8562 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 Remove improper use of program_transform_name on pkglibrootdir.
8565
8566 * configure.ac (pkglibrootdir): Removed.
8567 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8568 * util/grub-mkimage.c: Likewise.
8569
8570 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8573 warning.
8574
8575 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * util/grub-install.in: Use file identifier if no UUID is available
8578 or user explicitly prompted for it.
8579
8580 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
8581
8582 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8583 (freebsd_get_zfs): New function.
8584 (grub_freebsd_boot): Pass zfs UUID.
8585 (grub_cmd_freebsd): Set zfs UUID.
8586
8587 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8590 pkglibrootdir.
8591
8592 2012-02-27 Mike Gilbert <floppym@gentoo.org>
8593
8594 Add configure flag to control libzfs integration.
8595
8596 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8597
8598 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8601 device.
8602 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8603 small devices.
8604
8605 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8608 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8609 be used on non-modules.
8610
8611 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8612 Rename to grub_boot_init.
8613 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8614 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8615 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8616 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8617 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8618 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8619 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8620 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8621 includes.
8622 (grub_machine_init): Remove empty inits.
8623 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8624 includes.
8625 (grub_machine_init): Remove empty inits.
8626 * grub-core/term/arc/console.c: Remove explicit proto.
8627 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8628 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8629 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8630 grub_at_keyboard_fini.
8631 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8632 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8633 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8634 grub_gfxterm_fini.
8635 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8636 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8637 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8638 grub_vgatext_fini.
8639 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8640 * grub-core/term/serial.c (GRUB_MOD_INIT)
8641 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8642 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8643 grub_serial_fini.
8644 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8645 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8646 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8647 grub_terminfo_fini.
8648 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8649 (GRUB_MOD_FINI): Likewise.
8650 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8651 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8652 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8653 grub_video_radeon_fuloong2e_fini.
8654 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8655 [LOONGSON]: Rename to grub_video_sis315pro_init.
8656 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8657 grub_video_sis315pro_fini.
8658 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8659 [LOONGSON]: Rename to grub_video_sm712_init.
8660 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8661 grub_video_sm712_fini.
8662 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8663 (grub_at_keyboard_fini): Likewise.
8664 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8665 Don't declare grub_{modname}_init.
8666 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8667 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8668 New proto.
8669 (grub_keylayouts_fini) [!EMU]: Likewise.
8670 * include/grub/serial.h (grub_serial_init) [!EMU]:
8671 New proto.
8672 (grub_serial_fini) [!EMU]: Likewise.
8673 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8674 New proto.
8675 (grub_terminfo_fini) [!EMU]: Likewise.
8676 * include/grub/video.h (grub_font_init) [!EMU]:
8677 New proto.
8678 (grub_font_fini) [!EMU]: Likewise.
8679 (grub_gfxterm_init) [!EMU]: Likewise.
8680 (grub_gfxterm_fini) [!EMU]: Likewise.
8681 (grub_video_sm712_init) [!EMU]: Likewise.
8682 (grub_video_sm712_fini) [!EMU]: Likewise.
8683 (grub_video_sis315pro_init) [!EMU]: Likewise.
8684 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8685 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8686 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8687
8688 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 Make nand a prefix for nand devices.
8691
8692 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8693
8694 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8697 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8698
8699 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * include/grub/env.h (grub_env_find): Remove prototype.
8702 * grub-core/kern/env.c (grub_env_find): Make static.
8703 (grub_env_set): Remove useless set.
8704
8705 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/kern/i386/realmode.S: Remove useless align.
8708
8709 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * include/grub/dl.h (grub_dl_load_file): Don't export.
8712
8713 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8716 grub_dprintf.
8717
8718 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8721 grub_errors.
8722 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8723 not reloading whole superblock but only the part which is really needed.
8724 Remove useless grub_errors.
8725 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8726 grub_errors.
8727
8728 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Don't export grub_get_rtc.
8731
8732 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8733 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8734
8735 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8738
8739 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
8742 argument since it can be deduced from diskfilter. All users updated.
8743
8744 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Remove prio_list.
8747
8748 * include/grub/list.h (grub_prio_list): Removed.
8749 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8750 GRUB_COMMAND_PRIO_MASK.
8751 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8752 GRUB_COMMAND_FLAG_ACTIVE.
8753 (grub_prio_list_insert): Removed.
8754 (grub_prio_list_remove): Likewise.
8755 (GRUB_AS_PRIO_LIST): Likewise.
8756 (GRUB_AS_PRIO_LIST_P): Likewise.
8757 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8758 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8759 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8760 * grub-core/kern/command.c (grub_register_command_prio): Inline
8761 the prio_list code.
8762 (grub_unregister_command): Likewise.
8763
8764 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Fix interrupt mixup from previous commit.
8767
8768 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8769 (grub_realidt): New var.
8770 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8771 Load idt.
8772 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8773 New declaration.
8774 (grub_relocator16_boot): Set grub_relocator16_idt.
8775 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8776 (LOCAL(realidt)): ... this.
8777 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8778 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8779 (grub_realidt): New variable.
8780
8781 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8784 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8785 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8786 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8787 Gettextize.
8788 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8789 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8790 * po/POTFILES.in: Regenerate.
8791
8792 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8795 errors.
8796
8797 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8800 \0.
8801 (add_length): Likewise.
8802
8803 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8804 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8805
8806 GDB serial and backtrace support.
8807
8808 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8809 (prot_to_real): Likewise.
8810 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8811 * grub-core/Makefile.core.def (backtrace): New module.
8812 (gdb): Likewise.
8813 * grub-core/gdb/cstub.c: New file.
8814 * grub-core/gdb/gdb.c: Likewise.
8815 * grub-core/gdb/i386/idt.c: Likewise.
8816 * grub-core/gdb/i386/machdep.S: Likewise.
8817 * grub-core/gdb/i386/signal.c: Likewise.
8818 * grub-core/lib/i386/backtrace.c: Likewise.
8819 * grub-core/lib/backtrace.c: Likewise.
8820 * include/grub/backtrace.h: Likewise.
8821 * include/grub/gdb.h: Likewise.
8822 * include/grub/i386/gdb.h: Likewise.
8823
8824 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8827 New function.
8828 (add_length): Likewise.
8829 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8830 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8831 proto.
8832 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8833 __argp_get_display_len.
8834
8835 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 $"..." support in scripts.
8838
8839 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8840 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8841 * grub-core/script/yylex.l: Likewise.
8842 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8843 value.
8844
8845 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * gentpl.py: Remove obsolete pkglib_DATA handling.
8848
8849 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8852 mailing list.
8853
8854 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8855 * util/grub-kbdcomp.in: Likewise.
8856 * util/grub-mkconfig.in: Likewise.
8857 * util/grub-mkconfig_lib.in: Likewise.
8858 * util/grub-mknetdir.in: Likewise.
8859 * util/grub-mkrescue.in: Likewise.
8860 * util/grub-mkstandalone.in: Likewise.
8861 * util/grub-reboot.in: Likewise.
8862 * util/grub-set-default.in: Likewise.
8863 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8864
8865 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 Remove GRUB_PREFIX.
8868
8869 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8870 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8871 used for backward compatibility.
8872
8873 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Add new all_video module.
8876
8877 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8878 * grub-core/Makefile.core.def (all_video): New module.
8879 * grub-core/genmoddep.awk: Generate dependency of all_video from
8880 video.lst.
8881 * grub-core/lib/fake_module.c: New file.
8882 * grub-core/normal/main.c (features): Add feature_all_video_module.
8883 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8884 don't do explicit search again.
8885 insmod all_video in load_video if available.
8886
8887 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 Another round of string clarification and adding TRANSLATORS comments.
8890
8891 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8894
8895 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8898 to grub_ssize_t.
8899 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8900 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8901
8902 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8905 trailing newline implicitly. All users updated.
8906
8907 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 Implement serial on IEEE1275 and EFI.
8910
8911 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8912 on emu. Mention arc and emu as the only platforms without serial
8913 support.
8914 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8915 ieee1275 platforms.
8916 * grub-core/term/efi/serial.c: New file.
8917 * grub-core/term/ieee1275/serial.c: Likewise.
8918 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8919 specification if no ns8250 driver is available.
8920 (grub_cmd_serial): Likewise.
8921 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8922 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8923 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8924 (grub_efi_parity_type_t): New type.
8925 (grub_efi_stop_bits_t): Likewise.
8926 (grub_efi_serial_io_interface): New struct.
8927 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8928 available for all interfaces.
8929 Add EFI and IEEE1275 fields.
8930 (grub_ofserial_init): New proto.
8931 (grub_efiserial_init): Likeiwse.
8932 * util/grub.d/00_header.in: Don't check for the presence of serial
8933 module.
8934
8935 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8938 name as if it was an alias.
8939
8940 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/commands/lsacpi.c (options): Fix typo.
8943
8944 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 Convert grub-emu to argp.
8947
8948 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8949 emu.
8950 * util/argp_common.c: Rename to ...
8951 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8952 Add missing includes.
8953 * grub-core/kern/emu/main.c: Convert to argp.
8954 * po/POTFILES.in: Regenerate.
8955 * util/grub-install.in (usage): Make first letter lowcase in messages
8956 for uniformity.
8957 * util/grub-setup.c (options): Likewise.
8958
8959 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8962 Put back accidently commented-out code.
8963
8964 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8967 loop check using Brent algorithm.
8968 (grub_hfsplus_btree_search): Likewise.
8969
8970 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * util/grub-install.in: Fix usage of wrong device for PreP install.
8973
8974 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * conf/Makefile.common (CFLAGS_GNULIB): Add
8977 -Wno-unsafe-loop-optimizations.
8978 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8979 on tools.
8980 * grub-core/commands/legacycfg.c: Add pragma to skip
8981 -Wunsafe-loop-optimizations.
8982 (check_password_md5_real): Fix loop counter type.
8983 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8984 reading.
8985 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8986 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8987 loop condition.
8988 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8989 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8990 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8991 condition.
8992 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8993 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8994 avoid possible infinite loops.
8995 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8996 and -Wunsafe-loop-optimizations.
8997 * grub-core/script/yylex.l: Likewise.
8998 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8999 (print_glyphs): Avoid infinite loops.
9000 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
9001
9002 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
9003
9004 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
9005 to avoid infinite loop.
9006 (disp_acpi_rsdt_table): Likewise.
9007
9008 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/font/font.c (grub_font_load): Add support for default
9011 path for fonts ($prefix/fonts).
9012 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
9013 for checking if string is a path.
9014 * grub-core/normal/main.c (features): Add feature_default_font_path.
9015 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
9016 * util/grub.d/00_header.in: Use default directory if possible.
9017 * util/grub-install.in: Install unicode.pf2.
9018
9019 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
9022 * po/Rules-swiss: New file.
9023 * po/swiss.sed: Likewise.
9024
9025 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/fs/btrfs.c (find_device): Fix typos.
9028 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
9029 * util/grub-mkrelpath.c (argp_parser): Likewise.
9030 Reported by: Yuri Chornoivan.
9031
9032 2012-02-23 Dalet Omega <daletomega@gmail.com>
9033
9034 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
9035 for usual informative messages.
9036
9037 2012-02-23 Dalet Omega <daletomega@gmail.com>
9038
9039 Starfield theme.
9040
9041 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
9042 * conf/Makefile.common: Define starfielddir.
9043 * configure.ac: Configure starfield.
9044 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
9045 * themes/starfield/README: Likewise.
9046 * themes/starfield/blob_w.png: Likewise.
9047 * themes/starfield/boot_menu_c.png: Likewise.
9048 * themes/starfield/boot_menu_e.png: Likewise.
9049 * themes/starfield/boot_menu_n.png: Likewise.
9050 * themes/starfield/boot_menu_ne.png: Likewise.
9051 * themes/starfield/boot_menu_nw.png: Likewise.
9052 * themes/starfield/boot_menu_s.png: Likewise.
9053 * themes/starfield/boot_menu_se.png: Likewise.
9054 * themes/starfield/boot_menu_sw.png: Likewise.
9055 * themes/starfield/boot_menu_w.png: Likewise.
9056 * themes/starfield/slider_c.png: Likewise.
9057 * themes/starfield/slider_n.png: Likewise.
9058 * themes/starfield/slider_s.png: Likewise.
9059 * themes/starfield/src/blob_nw.xcf: Likewise.
9060 * themes/starfield/src/bootmenu/: Likewise.
9061 * themes/starfield/src/bootmenu/center.xcf: Likewise.
9062 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
9063 * themes/starfield/src/bootmenu/side.xcf: Likewise.
9064 * themes/starfield/src/slider_c.xcf: Likewise.
9065 * themes/starfield/src/slider_n.xcf: Likewise.
9066 * themes/starfield/src/slider_s.xcf: Likewise.
9067 * themes/starfield/src/terminalbox/: Likewise.
9068 * themes/starfield/src/terminalbox/center.xcf: Likewise.
9069 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
9070 * themes/starfield/src/terminalbox/side.xcf: Likewise.
9071 * themes/starfield/starfield.png: Likewise.
9072 * themes/starfield/terminal_box_c.png: Likewise.
9073 * themes/starfield/terminal_box_e.png: Likewise.
9074 * themes/starfield/terminal_box_n.png: Likewise.
9075 * themes/starfield/terminal_box_ne.png: Likewise.
9076 * themes/starfield/terminal_box_nw.png: Likewise.
9077 * themes/starfield/terminal_box_s.png: Likewise.
9078 * themes/starfield/terminal_box_se.png: Likewise.
9079 * themes/starfield/terminal_box_sw.png: Likewise.
9080 * themes/starfield/terminal_box_w.png: Likewise.
9081 * themes/starfield/theme.txt: Likewise.
9082
9083 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub.d/00_header.in: Add missing export theme.
9086
9087 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
9090 already included.
9091 Reported by: Eren D.
9092
9093 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * conf/Makefile.common (grubdatadir): Removed.
9096 (Makefile.am): Move eveything grubdata to pkgdata.
9097
9098 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/commands/acpihalt.c (get_sleep_type):
9101 Remove unused variable.
9102
9103 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
9106 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
9107 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
9108 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
9109 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
9110 i18n with gettext no-op.
9111 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
9112 GRUB_ACPI_OPCODE_STRING_CONST.
9113 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
9114 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
9115
9116 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * po/POTFILES.in: Regenerate.
9119
9120 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
9123 -Wno-error=missing-noreturn.
9124
9125 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
9128 condition to avoid possibly infinite loops.
9129 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
9130 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
9131
9132 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
9135 condition to avoid possibly infinite loops.
9136
9137 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
9140 on show_error.
9141
9142 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
9145
9146 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
9149
9150 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * util/bin2h.c (usage): Add missing attribute noreturn.
9153
9154 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
9157 if the size isn't divisible by 512.
9158
9159 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 Make list_push and list_remove functions rather than inline functions
9162 to decrease size and avoid aliasing violations.
9163
9164 * include/grub/list.h (grub_list_push): Move to ...
9165 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
9166 * include/grub/list.h (grub_list_remove): Move to ...
9167 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
9168
9169 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
9172 and -Wunused-result.
9173
9174 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
9177 Reported by: Seth Goldberg
9178
9179 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
9182
9183 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
9184
9185 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
9186 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
9187 command line.
9188 * docs/grub.texi (Simple configuration): Document
9189 GRUB_CMDLINE_GNUMACH.
9190
9191 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * conf/Makefile.common (platform_SCRIPTS): New variable.
9194 (platform_PROGRAMS): Likewise.
9195 * gentpl.py: Mark *,module and *.image for install.
9196 * grub-core/gdb_grub.in: Add a notice of expected environment.
9197 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
9198 (gmodule.pl): Likewise.
9199
9200 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Replace grub_checkkey with grub_getkey_noblock.
9203
9204 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
9205 (grub_getkey_noblock): ... this. All users updated.
9206
9207 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/kern/emu/console.c: Move to ...
9210 * grub-core/term/emu/console.c: ...here.
9211 (grub_ncurses_getkey): Fix return value if no key is detected.
9212
9213 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
9216 (grub_unit_test_fini): Likewise.
9217 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
9218
9219 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * include/grub/test.h (GRUB_UNIT_TEST)
9222
9223 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/script/execute.c (grub_script_break): Clarify logic.
9226 Better error handling.
9227 (grub_script_return): Likewise.
9228 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9229
9230 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
9233 rimplicit redifinition.
9234
9235 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
9238 GRUB.
9239
9240 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
9243 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
9244 prompt here.
9245
9246 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
9249 as GRUB_ERR_BUG. Don't malloc if no device is available.
9250
9251 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
9254 Mark calling with invalid term as GRUB_ERR_BUG.
9255
9256 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
9259 packets rather than raising an error.
9260
9261 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
9264 in if.
9265
9266 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
9269 diagnostic to dprintf.
9270 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9271
9272 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
9275 device name.
9276
9277 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
9280 (grub_ntfs_iterate_dir): Likewise.
9281
9282 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 Efiemu stylistic fixes and gettext.
9285
9286 * grub-core/efiemu/i386/loadcore32.c
9287 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
9288 * grub-core/efiemu/i386/loadcore64.c
9289 (grub_arch_efiemu_relocate_symbols64): Likewise.
9290 * grub-core/efiemu/i386/pc/cfgtables.c
9291 (grub_machine_efiemu_init_tables): Likewise.
9292 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
9293 (grub_efiemu_loadcore_initXX): Add a filename argument.
9294 All users updated.
9295 Improved error message.
9296 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
9297 Add a filename argument.
9298 All users updated.
9299 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
9300 Reclassify double relocation as GRUB_ERR_BUG.
9301
9302 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
9305 handling.
9306
9307 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
9310 on partition.
9311
9312 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
9315
9316 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 Improve string. Gettextize.
9319
9320 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
9323 utils.
9324 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
9325
9326 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
9329 [GRUB_UTIL]: New function.
9330 (insert_array) [GRUB_UTIL]: Store partmaps.
9331 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9332 partmaps.
9333 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9334 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9335 (probe_abstraction): Print diskfilter and not raid.
9336 Reported by: Lennart Sorensen
9337
9338 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9341 * util/grub-mkimagexx.c (MASK3): New define.
9342 (add_value_to_slot_20b): Use MASK3.
9343 (add_value_to_slot_21): Likewise.
9344 (relocate_addresses): Fix format specification.
9345 (load_image): Explicitly init symtab_section.
9346
9347 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9350 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9351
9352 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9355 on powerpc.
9356 Reported by: Lennart Sorensen
9357
9358 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * gentpl.py: Add missing license header.
9361 * docs/grub.texi: Update copyright year.
9362
9363 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9364
9365 Source grub-mkconfig_lib from the build directory at build time.
9366 Suggested by: Vladimir Serbinenko.
9367
9368 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9369 * util/grub-install.in: Define pkgdatadir if not already set, and source
9370 grub-mkconfig_lib from there.
9371 * util/grub-kbdcomp.in: Likewise.
9372 * util/grub-mkconfig.in: Likewise.
9373 * util/grub-mknetdir.in: Likewise.
9374 * util/grub-mkrescue.in: Likewise.
9375 * util/grub-mkstandalone.in: Likewise.
9376 * util/grub-reboot.in: Likewise.
9377 * util/grub-set-default.in: Likewise.
9378 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9379
9380 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Increase warning level.
9383
9384 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9385 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9386 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9387 (TARGET_CFLAGS): Likewise.
9388 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9389 * grub-core/Makefile.core.def (decompressor_xz): Add
9390 -Wno-unreachable-code.
9391 (normal): Add -Wno-redundant-decls.
9392 (xzio): Add -Wno-unreachable-code.
9393 (lzopio): Add -Wno-redundant-decls -Wno-error.
9394 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9395 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9396 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9397 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9398 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9399 * grub-core/kern/i386/coreboot/init.c: Add exception to
9400 -Wsuggest-attribute=noreturn.
9401 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9402 * grub-core/kern/ia64/dl_helper.c: Likewise.
9403 * grub-core/kern/mips/dl.c: Likewise.
9404 * grub-core/kern/sparc64/dl.c: Likewise.
9405 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9406 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9407 (memcmp): Likewise.
9408 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9409 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9410 * grub-core/loader/mips/linux.c: Likewise.
9411 * grub-core/loader/multiboot_elfxx.c: Likewise.
9412 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9413 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9414 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9415 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9416 fixme.
9417 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9418 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9419 Fix prototype.
9420
9421 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9424 address.
9425
9426 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9429 Avoid improper use of strings.
9430 (grub_cmd_legacy_initrdnounzip): Likewise.
9431
9432 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9435 attribute.
9436 (grub_util_info): Likewise.
9437 (grub_util_error): Likewise.
9438
9439 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9442 * util/grub-fstest.c (fstest): Likewise.
9443
9444 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9447 (grub_md_sha512_real): Likewise.
9448 (grub_util_get_geli_uuid): Likewise.
9449 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9450 (grub_util_biosdisk_open): Fix format specification.
9451 Respect format security.
9452 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9453 (xrealloc): Likewise.
9454 (xasprintf): Likewise.
9455
9456 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * util/import_gcry.py: Include grub/crypto.h in init.c.
9459
9460 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9463 (generate_image): Make prefix a const char *.
9464 Fix format specifications. Respect format security.
9465 Avoid void * arithmetics.
9466 Avoid shadowing.
9467 (argp_parser): Remove unused variable. Respect format security.
9468 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9469 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9470 (count_funcs): Remove unused variable.
9471 (relocate_addresses): Fix format specification.
9472 Disable x86-64 with elf32. Remove unused variables.
9473 (add_fixup_entry): Avoid shadowing.
9474 (make_reloc_section): Fix format specification.
9475 Use assert.
9476 (locate_sections): Fix format specifications.
9477 (load_image): Avoid shadowing.
9478
9479 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9482 Fix format specifications. Respect format security.
9483 Don't translate already translated grub_errmsg.
9484 (argp_parser): Remove unused variable
9485
9486 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9489
9490 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9493 (main): Likewise. Use xmalloc. Respect format security.
9494
9495 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9498 a const char *.
9499 (argp_parser): Remove unused variable.
9500
9501 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9504 (add_pixel): Make static.
9505 (add_font): Likewise.
9506 (write_string_section): Make name and str a const char *.
9507 (write_be16_section): Make name a const char *.
9508 (print_glyphs): Make static.
9509 (write_font_ascii_bitmap): Likewise.
9510 (write_font_width_spec): Likewise.
9511 (write_font_pf2): Likewise.
9512 (argp_parser): Remove unused variable.
9513 Respect format security.
9514 (main): Avoid shadowing. Respect format security.
9515
9516 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub-editenv.c (argp_parser): Make static.
9519 (create_envblk_file): Use xmalloc.
9520 (open_envblk_file): Likewise.
9521 Resepect format security.
9522 (set_variables): Respect format security.
9523
9524 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * util/getroot.c (grub_find_device): Respect format security.
9527 (get_mdadm_uuid): Remove unused variable.
9528 (grub_util_pull_device): Dont call gettext on already translated
9529 grub_errmsg.
9530 (find_system_device): Remove unused variable.
9531 (grub_util_get_grub_dev): Likewise.
9532 (grub_make_system_path_relative_to_its_root): Respect format security.
9533
9534 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * util/grub-fstest.c (execute_command): Make first argument
9537 a const char *.
9538 (read_file): Avoid shadowing.
9539 Reuse underlying error message if device open fails.
9540 (cmd_cmp): Respect format security.
9541 (root): Make const char *.
9542 (fstest): Remove args argument and use global copy.
9543 Respect format security.
9544 (argp_parser): Make static.
9545 (main): Make default_root const char *.
9546
9547 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * util/grub-mount.c (root): Make const char *.
9550 (execute_command): Make first argument a const char *.
9551 (fuse_init): Respect format security.
9552 (argp_parser): Make static. Remove unused variable.
9553 (main): Make default_root a const char *.
9554 Respect format security.
9555
9556 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * util/grub-probe.c (probe): Don't call gettext on already translated
9559 grub_errmsg.
9560 Remove unused variables.
9561 (argp_parser): Remove unused variable.
9562
9563 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * util/grub-script-check.c (argp_parser): Remove unused variable.
9566 (main): Rename read to curread to avoid shadowing.
9567
9568 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * util/misc.c (grub_util_write_image_at): Fix format specification.
9571 (grub_util_write_image): Likewise.
9572 (grub_script_execute_argument_to_string): Removed (unused).
9573 (grub_script_execute_menuentry): Likewise.
9574 (grub_putchar): Likewise.
9575
9576 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9579 (FUNCTION) [GRUB_UTIL]: Likewise.
9580 (VARIABLE) [GRUB_UTIL]: Likewise.
9581
9582 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9585 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9586
9587 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9590 buffer.
9591
9592 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9595 (LzmaEnc_SaveState): Removed (unused).
9596 (LzmaEnc_RestoreState): Likewise.
9597 (LzmaEnc_InitPriceTables): Made static.
9598 (LzmaEnc_Construct): Likewise.
9599 (LzmaEnc_FreeLits): Likewise.
9600 (LzmaEnc_Destruct): Likewise.
9601 (LzmaEnc_Init): Likewise.
9602 (LzmaEnc_InitPrices): Likewise.
9603 (LzmaEnc_Finish): Likewise.
9604 (LzmaEnc_PrepareForLzma2): Removed (unused).
9605 (LzmaEnc_MemPrepare): Likewise.
9606 (LzmaEnc_GetNumAvailableBytes): Likewise.
9607 (LzmaEnc_GetCurBuf): Likewise.
9608 (LzmaEnc_CodeOneMemBlock): Likewise.
9609
9610 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9613 (grub_util_ldm_embed): Likewise.
9614
9615 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * util/grub-editenv.c (print_var): Rename name to varname to
9618 avoid shadowing.
9619 (main): Rename index to curindex to avoid shadowing.
9620 Make filename a const char *.
9621
9622 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9625 to arg_getline to avoid shadowing.
9626
9627 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9630 disk_ to avoid shadowing.
9631
9632 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9635 curindex to avoid shadowing.
9636 Make static.
9637 (MatchFinder_GetNumAvailableBytes): Make static.
9638
9639 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9642 avoid shadowing.
9643
9644 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9647 argument from encrypt to do_encrypt to avoid shadowing.
9648
9649 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9652 incorrect nesting of #if's.
9653
9654 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9657 checks which are always false on some platforms.
9658 (grub_cmd_lsacpi): Likewise.
9659 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9660 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9661 Likewise.
9662
9663 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9666 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9667
9668 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9671 re_dfa_t to avoid breaking alignment invariants.
9672 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9673 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9674
9675 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9678 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9679
9680 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9683 Fix declaration.
9684
9685 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9688 conserve alignment invariants.
9689 (grub_ehci_ehcc_read16): Likewise.
9690 (grub_ehci_oper_read32): Likewise.
9691 (grub_ehci_oper_write32): Likewise.
9692 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9693 Conserve alignment invariants.
9694
9695 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9698 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9699 declarations.
9700
9701 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9704 Remove unused variable.
9705
9706 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9709 Remove set in if.
9710
9711 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * include/grub/net.h: Remove double declarations.
9714
9715 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 Remove "payload" command in ia64 Linux loader since I couldn't
9718 find any evidence of it being used for anything.
9719 Replace "relocate" command with an environment variable
9720
9721 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9722 fields.
9723 (ia64_boot_payload): Removed.
9724 (last_payload): Likewise.
9725 (RELOCATE_OFF): Likewise.
9726 (RELOCATE_ON): Likewise.
9727 (RELOCATE_FORCE): Likewise.
9728 (relocate): Likewise.
9729 (free_pages): Don't free payloads.
9730 (grub_load_elf64): Use common error messages.
9731 Use "linux_relocate" variable.
9732 Increase the space after boot_params.
9733 (grub_cmd_payload): Removed.
9734 (grub_cmd_relocate): Likewise.
9735 (grub_cmd_fpswa): Improve messages.
9736 (cmd_payload): Removed.
9737 (cmd_relocate): Likewise.
9738 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9739 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9740
9741 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 Convert UHCI to DMA framework.
9744
9745 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9746 (grub_uhci_pci_iter): Fill new members
9747 (grub_alloc_td): Use P2V and V2P functions.
9748 (grub_free_queue): Likewise.
9749 (grub_alloc_qh): Likewise.
9750 (grub_uhci_setup_transfer): Likewise.
9751 (grub_uhci_check_transfer): Likewise.
9752
9753 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9756 Remove assignment in if while on it.
9757
9758 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * util/grub-mkstandalone.in: Fix modules directory.
9761
9762 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9765 on i386-pc target.
9766 (argp_parser): Accept "auto" as compression specification.
9767
9768 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 Fix `help' with unloaded modules.
9771
9772 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9773 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9774 (grub_dyncmd_dispatcher): Small stylistic fix.
9775 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9776 explicit help is requested.
9777
9778 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9781 Explicitly init restart while on it.
9782
9783 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9786 uninited variable.
9787
9788 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * util/grub-mknetdir.in: Use . rather than source for POSIX
9791 compatibility.
9792
9793 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9796
9797 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9800 variable.
9801
9802 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9805 without quotes.
9806
9807 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9810
9811 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9814 iteration of partitions.
9815
9816 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 Improve gettext support. Stylistic fixes and error handling fixes while
9819 on it.
9820
9821 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9824 part. Instead setup the correct stack in RM.
9825 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9826 for stack.
9827 * include/grub/i386/relocator_private.h: New file.
9828
9829 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9832 argument.
9833 * util/grub-fstest.c (options): Add missing DEVICE part.
9834
9835 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 Clarify and unify messages.
9838
9839 * grub-core/commands/hashsum.c (options): Unify messages.
9840 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9841 literal-only message as translatable.
9842 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9843 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9844 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9845 commands.
9846 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9847 key, not the key used to unlock. Clarify what it's used for.
9848 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9849 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9850 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9851 * util/grub-editenv.c (options): Unify "verbose" message.
9852 * util/grub-fstest.c (read_file): Unify error message.
9853 (fstest): Add quotes around commands.
9854 (options): Unify "verbose" message.
9855 * util/grub-install.in: Add quotes around variable name.
9856 * util/grub-kbdcomp.in: Unify error message.
9857 * util/grub-mkfont.c (main): Likewise.
9858 * util/grub-mkrescue.in: Likewise.
9859 * util/grub-mklayout.c (options): Unify "verbose" message.
9860 * util/grub-mkstandalone.in: Unify help and verbose messages.
9861 * util/grub-mount.c (options): Unify "verbose" message.
9862 * util/grub-probe.c (options): Likewise.
9863 * util/grub-script-check.c (options): Likewise.
9864 * util/grub-setup.c (setup): Unify no-terminator message.
9865 (options): Use DEVICE and not DEV.
9866 Unify "verbose" message.
9867 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9868
9869 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 Improve and unify messages.
9872
9873 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9874 name. All users updated.
9875 Print filename in error.
9876 (read_device_map): Print filename in error.
9877 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9878 (grub_util_get_os_disk): Likewise.
9879 (grub_util_biosdisk_get_grub_dev): Likewise.
9880 (grub_util_check_block_device): Likewise.
9881 (grub_util_check_char_device): Likewise.
9882 (grub_make_system_path_relative_to_its_root): Likewise.
9883 * util/grub-editenv.c (create_envblk_file): Likewise.
9884 (open_envblk_file): Likewise.
9885 (write_envblk): Likewise.
9886 * util/grub-fstest.c (cmd_cp): Likewise.
9887 (cmd_cat): Likewise.
9888 (cmd_cmp): Likewise.
9889 * util/grub-menulst2cfg.c (main): Likewise.
9890 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9891 (write_font_width_spec): Likewise.
9892 (write_font_pf2): Likewise.
9893 * util/grub-mkimage.c (generate_image): New argument outname.
9894 All users updated.
9895 Remove unreacheable message.
9896 (options): Unify messages.
9897 (help_filter): Likewise.
9898 * util/grub-mklayout.c (usage): Removed (unused).
9899 (main): Print filename in error.
9900 * util/grub-mkrescue.in: Fix wrong quoting.
9901 * util/grub-setup.c (setup): Print filename in error.
9902 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9903 (check_sas): Likewise.
9904 * util/misc.c (grub_util_get_fp_size): Removed.
9905 (grub_util_get_image_size): Print filename in error.
9906 (grub_util_read_at): Removed.
9907 (grub_util_read_image): Print filename in error.
9908 (grub_util_load_image): Likewise.
9909 (grub_util_write_image_at): New argument filename. All users updated.
9910 Print filename in error.
9911 (grub_util_write_image): New argument filename. All users updated.
9912 Print filename in error.
9913 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9914 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9915
9916 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/Makefile.core.def (pxechain): New module.
9919 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9920 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9921 function.
9922 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9923 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9924
9925 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9928 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9929 * include/grub/err.h (grub_error_saved): New struct.
9930 (grub_errmsg): Make array size explicit.
9931 * include/grub/misc.h (grub_error_save): New function.
9932 (grub_error_load): Likewise.
9933 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9934 (grub_error_push): Update `errno' member name.
9935 (grub_error_pop): Likewise
9936 * grub-core/net/tftp.c (tftp_data): New member save_err.
9937 (tftp_receive): Save error.
9938 (tftp_open): Restore error.
9939
9940 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9943 to real mode down to execute A20-related code in protected mode as
9944 intended.
9945
9946 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9947
9948 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9949 NULL when the argument `level' has an unexpected value.
9950
9951 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 Move platform-dependent files from $prefix to $prefix/$platform.
9954
9955 * config.h.in (GRUB_TARGET_CPU): New definition.
9956 (GRUB_PLATFORM): Likewise.
9957 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9958 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9959 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9960 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9961 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9962 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9963 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9964 * grub-core/normal/term.c (read_terminal_list): Likewise.
9965 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9966 $prefix/locale.
9967 (grub_gettext_init_ext): Likewise.
9968 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9969 grub_platform.
9970 * util/grub-install.in: Update directories.
9971 * util/grub-mknetdir.in: Likewise.
9972 * util/grub-mkrescue.in: Likewise.
9973
9974 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9977 grub_error framework. All users updated.
9978
9979 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9982 lists (by always binsearching), improve caching (cache strings
9983 used for binsearch, not only results), improve
9984 maintainability (by using more structured binary search) and correct
9985 error handling.
9986
9987 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/script/execute.c (grub_script_return): Fix warning.
9990
9991 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/script/execute.c (grub_script_return): Fix potential
9994 NULL-dereference.
9995 Reported by: Jim Meyering.
9996
9997 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * po/POTFILES.in: Regenerate.
10000 * util/grub-install.in: Gettextize the strings missed in first pass.
10001
10002 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * Makefile.util.def (grub-mkdevicemap): Removed.
10005 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
10006 * include/grub/util/deviceiter.h: Removed.
10007 * util/deviceiter.c: Likewise.
10008 * util/getroot.c (grub_util_get_os_disk): New function.
10009 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
10010 replacement for EFI.
10011 * util/grub-mkdevicemap.c: Removed.
10012 * util/grub-probe.c (probe): Handle PRINT_DISK.
10013 (argp_parser): Handle -t disk.
10014
10015 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * util/grub-mkfont.c: Migrate to argp.
10018 * util/grub-mklayout.c: Likewise.
10019 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10020 * util/grub-mkrelpath.c: Likewise.
10021 * util/grub-probe.c: Likewise.
10022 * util/grub-script-check.c: Likewise.
10023
10024 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * util/grub-reboot.in: Add missing datarootdir.
10027 Add missing newline.
10028 * util/grub-set-default.in: Add missing datarootdir.
10029 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
10030 * util/grub-mkrescue.in: Likewise.
10031
10032 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
10035
10036 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * util/grub-kbdcomp.in: Add decent help and gettextize.
10039 * docs/man/grub-kbdcomp.h2m: New file.
10040
10041 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 Migrate grub-mkimage.c to argp.
10044
10045 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
10046 (grub-setup): Likewise.
10047 * util/grub-setup.c (print_version): Move to ...
10048 * util/argp_common.c (print_version): ... here.
10049 * util/grub-setup.c (argp_program_version_hook): Move to ...
10050 * util/argp_common.c (argp_program_version_hook): ... here.
10051 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
10052 safety.
10053 * util/grub-mkimage.c (main): Migrate to argp.
10054
10055 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub-mkrescue.in: Use same message as
10058 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
10059 for better translations.
10060
10061 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
10064 options with generic grub-mkrescue.in with the goal of future
10065 merge.
10066
10067 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/kern/mm.c: Add missing include of i18n.h
10070 * grub-core/lib/relocator.c: Likewise.
10071
10072 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
10075 error.
10076 (allocate_pages): Check return value.
10077 Replace fatal with error.
10078 (grub_linux_boot): Replace printf with dprintf.
10079 Check find_mmap_size return value.
10080 Replace fatal with error.
10081 Don't call grub_machine_fini.
10082 (grub_load_elf64): Replace printf with dprintf.
10083 (grub_cmd_linux): Likewise.
10084 (grub_cmd_initrd): Likewise.
10085 (grub_cmd_payload): Likewise.
10086
10087 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
10090 message.
10091 * grub-core/video/radeon_fuloong2e.c
10092 (grub_video_radeon_fuloong2e_setup): Likewise.
10093 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
10094 * grub-core/video/video.c (grub_video_set_mode): Don't override
10095 standard out of memory message.
10096
10097 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10098
10099 NetBSD disk wedge support.
10100
10101 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
10102 [__NetBSD__]: Handle NetBSD disk wedges.
10103 * util/getroot.c (convert_system_partition_to_system_disk)
10104 [__NetBSD__]: Likewise.
10105
10106 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
10107
10108 * util/grub-mkconfig.in: Use umask rather than chmod to create
10109 grub.cfg.new to avoid insecure grub.cfg.
10110
10111 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/commands/ls.c: Gettextize.
10114 * grub-core/commands/setpci.c: Likewise.
10115 * grub-core/commands/videotest.c: Likewise.
10116 * grub-core/disk/geli.c: Likewise.
10117 * grub-core/kern/mm.c: Likewise.
10118 * grub-core/lib/relocator.c: Likewise.
10119 * grub-core/loader/efi/appleloader.c: Likewise.
10120 * grub-core/loader/i386/xnu.c: Likewise.
10121 * grub-core/loader/ia64/efi/linux.c: Likewise.
10122 * grub-core/loader/xnu.c: Likewise.
10123 * grub-core/net/dns.c: Likewise.
10124 * grub-core/net/net.c: Likewise.
10125 * grub-core/script/lexer.c: Likewise.
10126 * grub-core/script/parser.y: Likewise.
10127 * grub-core/script/yylex.l: Likewise.
10128 * util/getroot.c: Likewise.
10129 * util/grub-setup.c: Likewise.
10130
10131 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
10134 number.
10135
10136 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
10139
10140 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
10143 macro.
10144 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
10145 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
10146
10147 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
10150 * util/grub-install.in: Gettextize.
10151 * util/grub-mkconfig.in: Likewise.
10152 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
10153 if not available.
10154 (grub_warn): Gettextize.
10155 * util/grub-mknetdir.in: Gettextize.
10156 * util/grub-mkrescue.in: Likewise.
10157 * util/grub-mkstandalone.in: Likewise.
10158 * util/grub-reboot.in: Likewise.
10159 * util/grub-set-default.in: Likewise.
10160 * util/grub.d/00_header.in: Likewise.
10161 * util/grub.d/10_hurd.in: Likewise.
10162 * util/grub.d/10_kfreebsd.in: Likewise.
10163 * util/grub.d/10_linux.in: Likewise.
10164 * util/grub.d/10_netbsd.in: Likewise.
10165 * util/grub.d/10_windows.in: Likewise.
10166 * util/grub.d/20_linux_xen.in: Likewise.
10167 * util/grub.d/30_os-prober.in: Likewise.
10168 * po/POTFILES-shell.in: Regenerate.
10169
10170 2012-02-03 Richard Laager <rlaager@wiktel.com>
10171
10172 * util/grub-mkimage.c (main): Fix format-security warning.
10173 * util/grub-mkrelpath.c (main): Likewise.
10174 * util/grub-probe.c (main): Likewise.
10175
10176 2012-02-03 Richard Laager <rlaager@wiktel.com>
10177
10178 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
10179 failure.
10180 Put back lost PRINT_DRIVE.
10181
10182 2012-02-03 Richard Laager <rlaager@wiktel.com>
10183
10184 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
10185 (grub_guess_root_devices): Replace strlen with sizeof.
10186 Avoid crash.
10187 (find_root_devices_from_poolname): Remove unused variable.
10188 Handle raidzN.
10189
10190 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 Support install on multi-device filesystems.
10193
10194 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
10195 (grub_guess_root_devices): ...this. Return char **. All users updated.
10196 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
10197 Removed.
10198 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
10199 (find_root_devices_from_poolname): ... here.
10200 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
10201 Support zfs-fuse.
10202 (grub_guess_root_device): Rename to ...
10203 (grub_guess_root_devices): ... this. Return char **. All users updated.
10204 * util/grub-install.in: Handle multi-device filesystems.
10205 * util/grub-probe.c (probe). Make device_names a char **. Add delim
10206 argument. All users updated.
10207 Handle multi-device filesystems.
10208 Use 'delim' as separator.
10209 Remove device check to allow filesystems on file.
10210 (main): Support -0 argument. Handle multi-device.
10211 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
10212 Fix a cross-device check while on it.
10213 (arguments): Remove root_dev.
10214 (argp_parser): Remove -r.
10215 (main): Remove root_dev.
10216
10217 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
10220
10221 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
10224 symbol.
10225 Reported by: NODA, Kai <nodakai>.
10226
10227 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 Fix ehci on amd64.
10230
10231 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
10232 pointers.
10233 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
10234 (grub_ehci_setup_qh): Likewise.
10235 (grub_ehci_find_qh): Likewise.
10236 (grub_ehci_transaction): Likewise.
10237 (grub_ehci_setup_transfer): Likewise.
10238 (grub_ehci_check_transfer): Likewise.
10239 (grub_ehci_portstatus): Likewise.
10240 (grub_ehci_detect_dev): Likewise.
10241 (grub_ehci_transfer_controller_data): New field td_last_phys.
10242 (grub_ehci_setup_transfer): Fill td_last_phys.
10243 (grub_ehci_check_transfer): Use td_last_phys.
10244
10245 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
10246
10247 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
10248 if no submenu is present.
10249
10250 2012-02-01 Aleš Nesrsta <starous@volny.cz>
10251
10252 CBI support.
10253
10254 * include/grub/usb.h (grub_usbms_protocol_t): New values
10255 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
10256 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
10257 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
10258 (grub_usbms_dev): Add subclass, protocol and intrpt.
10259 Remove in_maxsz and out_maxsz.
10260 (grub_usbms_reset): Rename to ...
10261 (grub_usbms_bo_reset): .. this.
10262 (grub_usbms_cbi_cmd): New function.
10263 (grub_usbms_cbi_reset): Likewise.
10264 (grub_usbms_reset): Likewise.
10265 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
10266 (grub_usbms_transfer): Rename to ...
10267 (grub_usbms_transfer_bo): ... this.
10268 (grub_usbms_transfer_cbi): Likewise.
10269 (grub_usbms_transfer): Likewise.
10270
10271 2012-02-01 Aleš Nesrsta <starous@volny.cz>
10272 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
10275 the support for the CS5536 modification thereos and few bugfixes.
10276
10277 * grub-core/Makefile.core.def (ehci): New module.
10278 * grub-core/bus/usb/ehci.c: New file.
10279 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
10280 port and hubaddr. All users updated.
10281 Save port and hubaddr into dev structure.
10282 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
10283 define.
10284 * include/grub/pci.h (grub_dma_phys2virt): New function.
10285 (grub_dma_virt2phys): Likewise.
10286 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
10287
10288 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
10291 check as some mkfs implementations omit it.
10292
10293 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * docs/grub.texi (Unicode): Mention identifier and space limitations.
10296
10297 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
10300 Add new member volname2.
10301 (grub_jfs_label): Use volname2 if available.
10302
10303 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
10306 over last_mounted as seen in image generated by mkfs.nilfs2.
10307 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
10308
10309 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
10312 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
10313 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
10314
10315 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
10318 over the sector.
10319
10320 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
10323 subvolume name (by removing a bogus and useless check).
10324
10325 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
10328 sizeof while on it.
10329
10330 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10333 (grub_scsi_read_capacity10): ... this.
10334 (grub_scsi_read_capacity16): New function.
10335 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10336 0xffffffff.
10337 Fix off-by-one error.
10338 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10339 64-bit unsigned.
10340 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10341 (grub_scsi_read_capacity10): ... this.
10342 (grub_scsi_read_capacity_data): Rename to ...
10343 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10344 (grub_scsi_read_capacity16): New struct.
10345 (grub_scsi_read_capacity16_data): Likewise.
10346 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10347 grub_scsi_cmd_read_capacity10.
10348 New command grub_scsi_cmd_read_capacity16.
10349
10350 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 SCSI >2TiB support.
10353
10354 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10355 (grub_scsi_write16): Likewise.
10356 (grub_scsi_read): Use read16 when necessary.
10357 (grub_scsi_write): Likewise.
10358 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10359 (grub_scsi_write16): Likewise.
10360 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10361
10362 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 SCSI write support (for usbms mainly).
10365
10366 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10367 a const pointer.
10368 (grub_scsi_write): Implement.
10369 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10370
10371 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10374 variable.
10375
10376 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10379
10380 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 * po/POTFILES.in: Regenerate.
10383
10384 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10387 with grub_printf to avoid unnecessary fatal failure.
10388
10389 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10392 (INT_MAX): Likewise.
10393 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10394 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10395 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10396 (strcpy): Likewise.
10397 (strstr): Likewise.
10398 (strchr): Likewise.
10399 (strncpy): Likewise.
10400 (strcat): Likewise.
10401 (strncat): Likewise.
10402 (strcoll): Likewise.
10403 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10404 (GRUB_INT_MAX): Likewise.
10405
10406 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10409 unexpected error.
10410 (optimize_utf8): Likewise.
10411 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10412
10413 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/boot/i386/pc/lnxboot.S: Use
10416 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10417 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10418 location.
10419 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10420 definition.
10421 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10422
10423 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10426 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10427 now to avoid double free.
10428 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10429 hostdisk.
10430 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10431 * util/grub-probe.c (escape_of_path): Always return a new copy.
10432 (print_full_name): Escape path.
10433 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10434 Fix hints on abstractions.
10435
10436 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10439 Don't add "root" line if no compatibility hont is available.
10440 Suggested by: Seth Goldberg.
10441
10442 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10445 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10446 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10447 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10448
10449 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10452
10453 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub-pe2elf.c (ehdr): Make static.
10456 (shdr): Likewise.
10457 (num_sections): Likewise.
10458 (offset): Likewise.
10459
10460 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 Eliminate ofpath limits and possible overflows.
10463
10464 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10465 (OF_PATH_MAX): Removed.
10466 (MAX_DISK_CAT): New const.
10467 (find_obppath): Use allocated rather than preallocated buffer.
10468 Return result. Argument of_path removed. All users updated.
10469 Add missing fdstat.
10470 (xrealpath): New function.
10471 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10472 Allocate rather than use preallocated buffer. All users updated.
10473 (__of_path_common): Use allocated rather than preallocatecd buffer.
10474 Return result. Argument of_path removed. All users updated.
10475 (vendor_is_ATA): Read only needed part form the file.
10476 (check_sas): Allocate depending on contents rather than fixed.
10477 (main) [STANDALONE]: Handle NULL result.
10478
10479 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10482
10483 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 Cryptodisk write support.
10486
10487 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10488 (grub_cryptodisk_decrypt): Moved logic to ...
10489 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10490 (grub_cryptodisk_write): Implement.
10491 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10492 (grub_util_fd_write): ... this. Make global.
10493 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10494
10495 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * include/grub/list.h (grub_list_remove): Don't crash if element is
10498 removed twice.
10499
10500 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 Rename ofconsole to console.
10503
10504 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10505 as sysnonym to console.
10506 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10507 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10508 Rename grub_ofconsole_ to grub_console_. All users updated
10509 (grub_console_term_output): Rename "ofconsole" to "console".
10510 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10511 as "console".
10512
10513 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10516 handling.
10517 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10518 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10519 GRUB_DISK_DEVICE_FILE_ID.
10520
10521 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10524 and improve performance.
10525
10526 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10529 missing ieee1275/ prefix on whole disk.
10530
10531 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10534 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10535
10536 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10539
10540 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 Merge common RAID and LVM logic to an abstract diskfilter.
10543 Add LDM support using the same framework.
10544
10545 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10546 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10547 (libgrubmods): Remove grub-core/disk/raid.c and
10548 grub-core/partmap/gpt.c.
10549 * grub-core/Makefile.core.def (ldm): New module.
10550 (raid): Renamed to diskfilter. All users updated.
10551 * grub-core/disk/raid.c: Moved to ...
10552 * grub-core/disk/diskfilter.c: ... here.
10553 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10554 (lv_num): New var.
10555 (find_array): Renamed to ...
10556 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10557 (grub_is_array_readable): Renamed to ...
10558 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10559 (insert_array): New argument id.
10560 (is_node_readable): New function.
10561 (scan_device): Rename to ...
10562 (scan_disk): .. this. Restrict to one disk.
10563 (scan_devices): New function.
10564 (grub_diskfilter_iterate): Support multi-LV.
10565 Skip invisible and nameless LVs.
10566 (grub_diskfilter_memberlist): Support multi-LV.
10567 (grub_diskfilter_read_node): New function.
10568 (grub_raid_read): Most of logic moved to ...
10569 (read_segment): ... here
10570 (read_lv): New function.
10571 (grub_diskfilter_get_vg_by_uuid): New function.
10572 (grub_diskfilter_make_raid): Likewise.
10573 * grub-core/disk/ldm.c: New file.
10574 * grub-core/disk/lvm.c (vg_list): Removed.
10575 (lv_count): Likewise.
10576 (scan_depth): Likewise.
10577 (is_lv_readable): Likewise.
10578 (grub_lvm_getvalue): Advance pointer past the number.
10579 (find_lv): Removed.
10580 (do_lvm_scan): Refactored into ...
10581 (grub_lvm_detect): ... this. Support raid.
10582 (grub_lvm_iterate): Removed.
10583 (grub_lvm_memberlist): Likewise.
10584 (grub_lvm_open): Likewise.
10585 (grub_lvm_close): Likewise.
10586 (read_lv): Likewise.
10587 (read_node): Likewise.
10588 (is_node_readable): Likewise.
10589 (is_lv_readable): Likewise.
10590 (grub_lvm_read): Likewise.
10591 (grub_lvm_write): Likewise.
10592 (grub_lvm_dev): Use diskfilter
10593 (GRUB_MOD_INIT): Likewise.
10594 (GRUB_MOD_FINI): Likewise.
10595 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10596 new interface.
10597 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10598 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10599 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10600 grub_diskfilter_read_node.
10601 Fix a bug with xor.
10602 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10603 grub_diskfilter_read_node.
10604 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10605 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10606 (grub_disk_dev_iterate): Move from here...
10607 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10608 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10609 Make global.
10610 (grub_hostdisk_find_partition_start): Likewise.
10611 (grub_hostdisk_os_dev_to_grub_drive): New function.
10612 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10613 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10614 * util/getroot.c (make_device_name): ... here.
10615 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10616 Move to ...
10617 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10618 * grub-core/kern/emu/hostdisk.c
10619 (convert_system_partition_to_system_disk): Move to ...
10620 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10621 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10622 * util/getroot.c (device_is_wholedisk): ... here.
10623 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10624 * util/getroot.c (find_system_device): ... here.
10625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10626 Move to ...
10627 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10628 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10629 Move to ...
10630 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10631 Handle LDM.
10632 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10633 Move to ...
10634 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10635 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10636 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10637 DISKFILTER.
10638 * include/grub/raid.h: Renamed to ...
10639 * include/grub/diskfilter.h: ... this.
10640 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10641 (GRUB_RAID_LAYOUT_*): Make into array.
10642 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10643 (grub_diskfilter_vg): New struct.
10644 (grub_diskfilter_pv_id): Likewise.
10645 (grub_raid_member): Removed.
10646 (grub_raid_array): Likewise.
10647 (grub_diskfilter_pv): New struct.
10648 (grub_diskfilter_lv): Likewise.
10649 (grub_diskfilter_segment): Likewise.
10650 (grub_diskfilter_node): Likewise.
10651 (grub_diskfilter_get_vg_by_uuid): New proto.
10652 (grub_raid_register): Inline.
10653 (grub_diskfilter_unregister): Likewise.
10654 (grub_diskfilter_make_raid): New proto.
10655 (grub_diskfilter_vg_register): Likewise.
10656 (grub_diskfilter_read_node): Likewise.
10657 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10658 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10659 (grub_util_is_ldm): Likewise.
10660 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10661 (grub_hostdisk_find_partition_start): Likewise.
10662 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10663 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10664 New definition.
10665 (grub_gpt_partition_map_iterate): New proto.
10666 * include/grub/lvm.h (grub_lvm_vg): Removed.
10667 (grub_lvm_pv): Likewise.
10668 (grub_lvm_lv): Likewise.
10669 (grub_lvm_segment): Likewise.
10670 (grub_lvm_node): Likewise.
10671 * util/getroot.c [...]
10672 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10673 (probe_abstraction): Likewise.
10674 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10675 (main): Remove dead logic.
10676
10677 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Simplify root device discover and don't fail when trying to open
10680 incorrect devices.
10681
10682 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10683 function.
10684 (get_diskname_from_path): Likewise.
10685 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10686 of iterating.
10687
10688 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10691
10692 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10695 pastthe end.
10696
10697 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * util/grub-install.in: Add missing \.
10700 Reported by: gentoofan
10701
10702 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10705 (direct_read): Use correct compressed size.
10706 (grub_squash_read_data): Likewise.
10707
10708 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * docs/grub.texi (Platform limitations): New section.
10711 (Platform-specific operations): Likewise.
10712 * docs/grub-dev.texi (Porting): Likewise.
10713
10714 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 IEEE1275 disk write support.
10717
10718 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10719 const void *.
10720 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10721 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10722 and seek loginc to ...
10723 (grub_ofdisk_prepare): ... here.
10724 (grub_ofdisk_write): Implement.
10725
10726 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 ARC disk write support.
10729
10730 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10731 (reopen): New argument writable. All users updated.
10732 Handle required access mode.
10733 (grub_arcdisk_write): Implement.
10734 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10735 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10736
10737 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10740 (read_sblock): Don't attempt to read superblocks outside the disk size.
10741
10742 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10745 first superblock to find the second one when possible.
10746
10747 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * util/grub-install.in: Fix an ARC bug.
10750 Print a warning if no platform-specific setup is available.
10751
10752 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 Use static allocation rather than scratch pointer in reed_solomon.
10755 It decreases its size significantly and avoids a variable in .text.
10756
10757 * grub-core/lib/reed_solomon.c (scratch): Removed.
10758 (chosenstat): New const or static array.
10759 (sigma): Likewise.
10760 (errpot): Likewise.
10761 (errpos): Likewise.
10762 (sy): Likewise.
10763 (mstat): Likewise.
10764 (errvals): Likewise.
10765 (eqstat): Likewise.
10766 (pol_evaluate): Replace x with log_x argument. All users updated.
10767 (syndroms): Removed.
10768 (gauss_solve): Use statically allocated arrays.
10769 (rs_recover): Likewise.
10770 Calculate syndroms directly.
10771 (decode_block): Use statically allocated arrays.
10772 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10773 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10774
10775 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 Eliminate fixed limit on reed solomon decoder length.
10778
10779 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10780 rather than hardcoding the address.
10781 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10782 no_reed_solomon_length.
10783 Move gate_a20 to no-reed-solomon part.
10784 Don't force a particular size of no reed-solomon part.
10785 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10786 Removed.
10787 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10788 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10789
10790 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/commands/wildcard.c (match_files): Handle filenames
10793 without explicit device.
10794 (wildcard_expand): Don't add explicit device if not already present.
10795 * tests/grub_script_echo1.in: Add a new expansion test.
10796
10797 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 Replace single-linked with double-linked lists. It results in more
10800 compact and more efficient code.
10801
10802 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10803 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10804 (grub_list_remove): Moved from here ...
10805 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10806 (grub_prio_list_insert): Set prev.
10807 * include/grub/list.h (grub_list): Add prev. All users updated.
10808
10809 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 Handle newer autotools. Add some missing quotes while on it.
10812
10813 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10814 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10815 (pkgdata_DATA): ... here.
10816 * Makefile.util.def (update-grub_lib): Removed.
10817 * conf/Makefile.common (pkglib_DATA): Removed.
10818 (pkglib_SCRIPTS): Likewise.
10819 (pkgdata_DATA): New variable.
10820 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10821 needed.
10822 Add missing quotes.
10823 Remove unused variable while on it.
10824 * tests/util/grub-shell.in: Likewise.
10825 * util/grub-install.in: Likewise.
10826 * util/grub-mkconfig.in: Likewise.
10827 * util/grub-mknetdir.in: Likewise.
10828 * util/grub-mkrescue.in: Likewise.
10829 * util/grub-mkstandalone.in: Likewise.
10830 * util/grub.d/00_header.in: Likewise.
10831 * util/grub.d/10_hurd.in: Likewise.
10832 * util/grub.d/10_illumos.in: Likewise.
10833 * util/grub.d/10_kfreebsd.in: Likewise.
10834 * util/grub.d/10_linux.in: Likewise.
10835 * util/grub.d/10_netbsd.in: Likewise.
10836 * util/grub.d/10_windows.in: Likewise.
10837 * util/grub.d/20_linux_xen.in: Likewise.
10838 * util/grub.d/30_os-prober.in: Likewise.
10839 * util/update-grub_lib.in: Removed.
10840
10841 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
10842
10843 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10844 a workaround for intel problem.
10845
10846 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
10847 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10848 2012-01-23 pfsmorigo
10849
10850 * util/grub-install.in: Support dd'in into PreP partition.
10851 * util/grub-probe.c (probe): Support discovering partition type.
10852 (main): Support -t msdos_parttype.
10853
10854 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10857 infinite recursion using counter.
10858 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10859 init to skip it if the magic check fails.
10860 (dec_stream_header): Init s->crc32.
10861
10862 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10863 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
10864 2012-01-22 Richard Laager <rlaager@wiktel.com>
10865
10866 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10867 All users updated.
10868 (find_bestub): Determine correct size.
10869 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10870 (scan_disk): Align the size down.
10871 Call check pool before find_bestub to have ashift.
10872
10873 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10876 dprintf in no-malloc zone.
10877
10878 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10879
10880 * configure.ac: Add back in test for limits.h.
10881
10882 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 Support 4K-sector NTFS.
10885
10886 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10887 (grub_ntfs_data): Remove blocksize.
10888 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10889 Remove data argument. All users updated.
10890
10891 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10894 being in .text to avoid dprel references.
10895 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10896 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10897 (grub_arch_highmemsize): Likewise.
10898 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10899 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10900 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10901
10902 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10905
10906 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10907 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10908
10909 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10912 GRUB_UTIL.
10913 (grub_set_datetime_cmos): Likewise.
10914
10915 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Make XZ compression parameters dependent on target and not host CPU.
10918
10919 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10920 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10921
10922 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10925 set but not used variable.
10926
10927 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10930 created when no uuid support is compiled into mkfs.reiser.
10931
10932 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10935 (utf8_to_macroman): Do the opposite.
10936 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10937
10938 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * configure.ac: Refise build qemu_mips w/o unifont.
10941
10942 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 Eliminate grub_min/grub_max prone to overflow usage.
10945
10946 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10947 (poll_nonroot_hub): Likewise.
10948 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10949 (grub_affs_label): Likewise.
10950 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10951 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10952 (grub_hfs_label): Likewise.
10953 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10954 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10955 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10956 (zap_leaf_array_get): Likewise.
10957 (dnode_get_path): Likewise.
10958 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10959 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10960 * grub-core/script/execute.c (grub_script_break): Likewise.
10961 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10962 grub_max.
10963 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10964 * include/grub/misc.h (grub_min): Removed.
10965 (grub_max): Likewise.
10966
10967 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10968
10969 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10970 direct.inode = 0.
10971
10972 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10975
10976 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10979
10980 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10983 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10984
10985 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10988 rather than a hack for grub_strncasemap.
10989
10990 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Support multiple initrds
10993 Note: part of this was accidently committed in r3739.
10994
10995 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10996 initrd.
10997 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10998 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10999 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11000 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11001 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11002
11003 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
11006 disks with unknown size.
11007 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
11008
11009 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 Remove defines pertaining to arbitrary limits not affecting GRUB
11012 anymore.
11013
11014 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
11015 (EXT2_MAX_SYMLINKCNT): Likewise.
11016 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
11017 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
11018 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
11019 (GRUB_PXE_MAX_BLKSIZE): Likewise.
11020 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
11021 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
11022 (DN_MAX_OBJECT_SHIFT): Likewise.
11023 (DN_MAX_OFFSET_SHIFT): Likewise.
11024 (DN_MAX_OBJECT): Likewise.
11025 (DNODES_PER_LEVEL_SHIFT): Likewise.
11026 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
11027 (SPA_MAXBLOCKSIZE): Likewise.
11028 (SPA_BLOCKSIZES): Likewise.
11029 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
11030 (MZAP_MAX_BLKSZ): Likewise.
11031
11032 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
11035 handle NULL appropriately.
11036 Remove MIN.
11037
11038 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 Fix efiemu.
11041
11042 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
11043 cpu/types.h.
11044 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
11045 * configure.ac: Fix efiemu check.
11046
11047 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
11050 grub_probe.
11051 Reported by: adamwill
11052
11053 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
11054
11055 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
11056
11057 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 Fix handling of wide characters in gfxterm.
11060
11061 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
11062 (clear_char): Likewise.
11063 (paint_char): Skip code == NULL chars.
11064 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
11065
11066 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * grub-core/normal/charset.c: Move comment to right place.
11069
11070 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
11073 (GRUB_AFFS_FLAG_FFS): Put back where it was.
11074 (grub_affs_mount): Revert the correct version checking.
11075
11076 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * docs/grub.texi (Unicode): Mention several other unsupported features.
11079
11080 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
11083 case statements as compile-time one.
11084 (direct_read): Prevent spurious warnings.
11085 (grub_squash_read_data): Likewise.
11086
11087 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 Various squash4 fixes and LZO and XZ support.
11090
11091 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
11092 Add xzembed source files.
11093 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
11094 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
11095 (grub_squash_inode): New subtype long_dir.
11096 (SQUASH_TYPE_LONG_DIR): New inode type.
11097 (COMPRESSION): New enum.
11098 (XZBUFSIZ): New const.
11099 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
11100 (read_chunk): Use data->decompress.
11101 (zlib_decompress): New function.
11102 (lzo_decompress): Likewise.
11103 (xz_decompress): Likewise.
11104 (squash_mount): Set new data fields.
11105 (grub_squash_iterate_dir): Handle long dir.
11106 (squash_unmount): Free xzdec and xzbuf.
11107 (grub_squash_open): Check ino type.
11108 (direct_read): Stylistic fixes. Use data->decompress.
11109 (grub_squash_read_data): Likewise.
11110 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
11111 (get_byte): Likewise.
11112 (grub_zlib_disk_read): Removed.
11113 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
11114 (GRUB_POSIX_BOOL_DEFINED): New define.
11115 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
11116 * grub-core/lib/xzembed/xz.h: Addmissing includes.
11117 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
11118 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
11119
11120 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 Don't override more informative errors.
11123
11124 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
11125 * grub-core/font/font.c (open_section): Likewise.
11126 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
11127 filename. Don't override errors.
11128 (grub_cmd_openbsd_ramdisk): Don't override errors.
11129 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11130 (grub_cmd_initrd): Likewise.
11131 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11132 (grub_cmd_initrd): Likewise.
11133 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
11134 (grub_cmd_linux): Likewise.
11135 (grub_cmd_initrd): Likewise.
11136 (grub_cmd_payload): Likewise.
11137 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11138 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
11139 (grub_cmd_module): Likewise.
11140 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11141 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11142 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
11143 (grub_cmd_xnu_mkext): Likewise.
11144 (grub_cmd_xnu_ramdisk): Likewise.
11145 (grub_xnu_check_os_bundle_required): Likewise.
11146 (grub_xnu_load_kext_from_dir): Likewise.
11147 (grub_cmd_xnu_kextdir): Likewise.
11148 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
11149
11150 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
11153 as 1024 in block size field. Found on one of my test images.
11154 Small optimisation while on it.
11155
11156 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
11159 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
11160 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
11161 performance fixes while on it.
11162 (grub_sfs_close): Fix memory leak while on it.
11163 (grub_sfs_label): Convert Latin1 to UTF-8.
11164
11165 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
11168 space to avoid overflows.
11169 (grub_hfs_label): Convert from macroman to UTF-8.
11170
11171 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
11174
11175 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
11178
11179 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * unicode: Import Unicode 6.0 data.
11182
11183 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
11186 outside of range.
11187
11188 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 Avoid cutting in the middle of UTF-8 character.
11191
11192 * include/grub/charset.h (grub_getend): New function.
11193 * grub-core/script/function.c (grub_script_function_find): Use
11194 grub_getend.
11195 * grub-core/normal/completion.c (add_completion): Likewise.
11196
11197 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
11200 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
11201 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
11202 (GRUB_UNICODE_TAG_END): Likewise.
11203 (GRUB_UNICODE_LAST_VALID): Likewise.
11204
11205 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
11208 len and make it smaller. All users updated.
11209 * util/import_unicode.py: Put length and not end character.
11210 Check length.
11211
11212 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Make better Unicode-compliant and unify some UTF-8 code pathes.
11215
11216 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
11217 valid character.
11218 (grub_is_valid_utf8): Use grub_utf8_process.
11219 Check resulting code range.
11220 (grub_utf8_to_ucs4): Use grub_utf8_process.
11221 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
11222 valid character.
11223
11224 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
11227
11228 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * docs/grub.texi (Filesystems): Mention AFS.
11231
11232 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * docs/grub.texi (Filesystems): Clarify restrictions.
11235 (Regexp): Mention non-Unicode regexp behaviour.
11236 (Other): Mention non-Unicode matching behaviour.
11237
11238 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 Make HFS implementation use MacRoman.
11241
11242 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
11243 (macroman): New const array.
11244 (macroman_to_utf8): New function.
11245 (utf8_to_macroman): Likewise.
11246 (grub_hfs_find_dir): Use utf8_to_macroman.
11247 (grub_hfs_dir): Use macroman_to_utf8.
11248 Set case_insensitive.
11249
11250 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
11253
11254 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 Integrate hints into autogeneration scripts.
11257
11258 * docs/grub.texi (Filesystems): Add a hostdisk example.
11259 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
11260 (grub-probe): Add ofpath.
11261 * gentpl.py: Remove group nosparc64.
11262 * grub-core/commands/search.c (cache_entry): New struct.
11263 (cache): New var.
11264 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
11265 * grub-core/commands/search_wrap.c (options): Add platform-specific
11266 hint options.
11267 (grub_cmd_search): Handle platform-specific hints.
11268 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
11269 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
11270 (grub_util_biosdisk_data): Likewise.
11271 (grub_util_biosdisk_open): Set device_map.
11272 (read_device_map): Handle "" as indication of no map.
11273 Set device_map.
11274 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
11275 (grub_util_biosdisk_get_compatibility_hint): New function.
11276 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
11277 * include/grub/emu/hostdisk.h
11278 (grub_util_biosdisk_get_compatibility_hint): New proto.
11279 * util/grub-install.in: Don't call grub-mkdevicemap.
11280 Add platform-specific hint to load.cfg.
11281 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
11282 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11283 hints. Set root preliminary to compatibility hint, not to OS name.
11284 * util/grub-probe.c (PRINT_*): Add hints.
11285 (print): Make static.
11286 (escape_of_path): New function.
11287 (guess_bios_drive): Likewise.
11288 (guess_efi_drive): Likewise.
11289 (guess_baremetal_drive): Likewise.
11290 (print_full_name): Likewise.
11291 (probe): Handle hints.
11292 (main): Likewise.
11293 * util/ieee1275/devicemap.c: Removed.
11294 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
11295 updated.
11296 (grub_util_devname_to_ofpath): Return NULL on failure.
11297
11298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
11299 resource leak.
11300 * util/getroot.c (grub_util_pull_device): Fix memory leak.
11301
11302 * po/POTFILES.in: Regenerated.
11303
11304 Allow purely long options
11305
11306 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
11307 (SHORT_ARG_USAGE): Likewise.
11308 (grub_arg_show_help): Compare opt with help_options.
11309 (parse_option): Receive opt as argument. If makes big simplificatons.
11310 All users updated
11311
11312 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
11315 Restructure to avoid warning.
11316
11317 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * util/grub-install.in: Account for possible escaped comma in device
11320 name.
11321
11322 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
11325 channel.
11326
11327 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
11330 allocation and zero-setting.
11331 (grub_ieee1275_get_devname): Check that alias is complete.
11332
11333 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11336 unaligned segments.
11337
11338 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11341 prefix.
11342 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11343 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11344 Add ieee1275 prefix.
11345
11346 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * docs/grub.texi (Filesystems): Update.
11349
11350 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 Support odc, newc and bigendian cpio formats.
11353
11354 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11355 * grub-core/Makefile.core.def (newc): New module.
11356 (odc): Likewise.
11357 (cpio_be): Likewise.
11358 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11359 (MAGIC): Likewise.
11360 (MAGIC2): Likewise.
11361 (head) [MODE_ODC]: Adapt for the format.
11362 (head) [MODE_NEWC]: Likewise.
11363 (head) [!MODE_*]: Write fields of interest as arrays.
11364 (MAGIC_USTAR): Removed.
11365 (read_number) [MODE_NEWC]: Change to hex.
11366 (read_number) [!MODE_*]: Parse binary arrays.
11367 (grub_cpio_find_file): Factor out the code for better structure and
11368 always use read_number.
11369 (grub_cpio_mount): Use MAGIC and MAGIC2.
11370 (grub_cpio_dir): Exit on first hook non-0 return.
11371 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11372 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11373 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11374 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11375 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11376 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11377 * grub-core/fs/newc.c: New file.
11378 * grub-core/fs/odc.c: Likewise.
11379 * grub-core/fs/cpio_be.c: Likewise.
11380
11381 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 Fix handling of tar numbers occupying the whole field.
11384
11385 * grub-core/fs/cpio.c (read_number): New function.
11386 (grub_cpio_find_file): Use read_number instead of strtoull.
11387
11388 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11391 occupying the whole field size.
11392
11393 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11394
11395 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11396
11397 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11400
11401 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11402
11403 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11404 TARGET_IMG_LDFLAGS.
11405
11406 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11409 (mountinfo_entry): Increase the field size to take escaping into
11410 account.
11411 (find_root_device_from_libzfs): Add one byte to size of strings for
11412 security.
11413
11414 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11417 an assert.
11418 * util/grub-setup.c (setup): Likewise.
11419
11420 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11421
11422 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11423 _LzmaDecodeA.
11424
11425 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * docs/grub.texi (Internationalisation): New section.
11428
11429 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11430
11431 * docs/grub.texi (Loopback booting): New section.
11432
11433 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
11434
11435 * util/grub-mkstandalone.in: Fix minor typo errors.
11436
11437 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11440
11441 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11442 net/icmp.c and net/icmp6.c.
11443 (http): New module.
11444 (priority_queue): Likewise.
11445 * grub-core/io/bufio.c: Rewritten.
11446 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11447 TYPE_WITH_CONFIGFILE_OPTION.
11448 (legacy_commands): Add bootp and dhcp.
11449 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11450 (grub_legacy_parse): Likewise.
11451 * grub-core/lib/priority_queue.c: New file.
11452 * grub-core/net/arp.c: Add missing license header.
11453 (arp_find_entry): Removed.
11454 (arp_find_entry): Likewise.
11455 (grub_net_arp_resolve): Rename to ...
11456 (grub_net_arp_send_request): ...this.
11457 (grub_net_arp_receive): New card argument.
11458 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11459 Set router and DNS server.
11460 (grub_net_configure_by_dhcp_ack): Handle routing information.
11461 (grub_cmd_bootp): Set checksum.
11462 (grub_bootp_init): Remove net_dhcp.
11463 * grub-core/net/dns.c: New file.
11464 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11465 completion.
11466 (get_card_packet): Handle allocation.
11467 (grub_efinet_findcards): Set mtu.
11468 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11469 (get_card_packet): Handle allocation.
11470 (emucard): Set mtu.
11471 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11472 (GRUB_MOD_INIT): Set mtu.
11473 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11474 mtu.
11475 (get_card_packet): Handle allocation.
11476 (grub_ofnet_findcards): Set mtu.
11477 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11478 assert.
11479 (grub_net_recv_ethernet_packet): Handle IPv6.
11480 * grub-core/net/http.c: New file.
11481 * grub-core/net/icmp.c: Likewise.
11482 * grub-core/net/icmp6.c: Likewise.
11483 * grub-core/net/ip.c (ip6addr): New type.
11484 (ip6hdr): Likewise.
11485 (reassemble): Likewise.
11486 (cmp): New function.
11487 (reassembles): New variable.
11488 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11489 (id): New variable.
11490 (send_fragmented): New function.
11491 (grub_net_send_ip_packet): Rename to ...
11492 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11493 Handle non-UDP.
11494 (grub_net_recv_ip_packets): Rename to ...
11495 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11496 (free_rsm): New function.
11497 (free_old_fragments): Likewise.
11498 (grub_net_recv_ip4_packets): New function.
11499 (grub_net_send_ip6_packet): Likewise.
11500 (grub_net_send_ip_packet): Likewise.
11501 (grub_net_recv_ip6_packets): Likewise.
11502 (grub_net_recv_ip_packets): Likewise.
11503 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11504 (LINK_LAYER_CACHE_SIZE): New const.
11505 (link_layer_find_entry): New function.
11506 (grub_net_link_layer_add_address): Likewise.
11507 (grub_net_link_layer_resolve_check): Likewise.
11508 (grub_net_link_layer_resolve): Likewise.
11509 (grub_net_ipv6_get_slaac): Likewise.
11510 (grub_net_ipv6_get_link_local): Likewise.
11511 (grub_cmd_ipv6_autoconf): Likewise.
11512 (parse_ip): Handle one number representation.
11513 (parse_ip6): New functoion.
11514 (match_net): Handle IPv6.
11515 (grub_net_resolve_address): Handle IPv6 and DNS.
11516 (grub_net_resolve_net_address): Handle IPv6.
11517 (route_cmp): New function.
11518 (grub_net_route_address): Find best route.
11519 (grub_net_addr_to_str): Handle IPv6.
11520 (grub_net_addr_cmp): New function.
11521 (grub_net_add_addr): Register local route.
11522 (print_net_address): Handle net address.
11523 (grub_net_poll_cards): Retransmit TCP.
11524 (grub_net_poll_cards_idle_real): Likewise.
11525 (have_ahead): New function.
11526 (grub_net_seek_real): Use underlying seek.
11527 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11528 * grub-core/net/tcp.c: New file.
11529 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11530 (cmp): New function.
11531 (ack): Likewise.
11532 (tftp_receive): Handle unordered input.
11533 (destroy_pq): New function.
11534 (tftp_close): Close pq.
11535 * grub-core/net/udp.c: Put missing license header.
11536 (grub_net_udp_socket): New function.
11537 (udp_socket_register): Likewise.
11538 (grub_net_udp_close): Likewise.
11539 (grub_net_recv_udp_packet): Check checksum.
11540 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11541 * include/grub/misc.h (grub_memchr): New function.
11542 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11543 (grub_net_card_driver): Return buf in recv.
11544 (grub_net_slaac_mac_list): New struct.
11545 (grub_network_level_protocol_id): Add ipv6.
11546 (grub_net_network_level_addr): Likewise.
11547 (grub_net_network_level_net_addr): Likewise.
11548 (grub_net_app_protocol): Add seek.
11549 (grub_net_socket): Removed.
11550 (grub_net_sockets): Likewise.
11551 (grub_net_socket_register): Likewise.
11552 (grub_net_socket_unregister): Likewise.
11553 (FOR_NET_SOCKETS): Likewise.
11554 (grub_net_add_addr): Add const.
11555 (GRUB_NET_BOOTP_*): New enum.
11556 (grub_net_addr_cmp): New proto.
11557 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11558 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11559 (grub_net_hwaddr_to_str): NEw proto.
11560 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11561 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11562 (grub_dns_init): New proto.
11563 (grub_dns_fini): Likewise.
11564 (grub_net_tcp_retransmit): Likewise.
11565 (grub_net_link_layer_add_address): Likewise.
11566 (grub_net_link_layer_resolve_check): Likewise.
11567 (grub_net_link_layer_resolve): Likewise.
11568 (grub_net_dns_lookup): Likewise.
11569 (grub_net_add_dns_server): Likewise.
11570 (grub_net_remove_dns_server): Likewise.
11571 (GRUB_NET_TRIES): New const.
11572 (GRUB_NET_INTERVAL): Likewise.
11573 * include/grub/net/arp.h: Mostly rewritten.
11574 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11575 * include/grub/net/ip.h: Mostly rewritten.
11576 * include/grub/net/netbuff.h: Indent.
11577 * include/grub/net/tcp.h: New file.
11578 * include/grub/net/udp.h: Mostly rewritten.
11579 * include/grub/priority_queue.h: New file.
11580 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11581 (grub_swap_bytes64_compile_time): Likewise.
11582 (grub_cpu_to_be16_compile_time): Likewise.
11583 (grub_cpu_to_be32_compile_time): Likewise.
11584 (grub_cpu_to_be64_compile_time): Likewise.
11585 (grub_be_to_cpu64_compile_time): Likewise.
11586
11587 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11590 UINT_TO_PTR with cast.
11591
11592 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11595 don't use them.
11596
11597 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11600 already there.
11601
11602 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11605 confusing ipxe.
11606
11607 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11610 Add missing const attribute.
11611 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11612 Likewise.
11613 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11614 Likewise.
11615
11616 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11619 misaligned access.
11620 (serpent_setkey): Likewise.
11621 (serpent_encrypt_internal): Likewise.
11622 (serpent_decrypt_internal): Likewise.
11623 (serpent_encrypt): Don't put an alignment-increasing cast.
11624 (serpent_decrypt): Likewise.
11625 (serpent_test): Likewise.
11626
11627 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11630
11631 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11634
11635 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11636 grub_addr_t casts.
11637 (PTR_TO_UINT64): Likewise.
11638 (PTR_TO_UINT32): Likewise.
11639
11640 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11643 because of stack.
11644 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11645 limit.
11646
11647 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11650 text_width > available width a bit more gracefully.
11651
11652 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11655 current address calculation.
11656
11657 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11660 stack.
11661 (encode_block): Likewise.
11662
11663 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11666 certainety.
11667
11668 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11671 non-RS part to avoid RS messing with GDT.
11672 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11673 Increase to suit in realmode routines.
11674
11675 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * grub-core/kern/i386/realmode.S: Increase alignment.
11678 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11679
11680 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11683 be deterministic.
11684 (syndroms): Compute 0 syndrom.
11685 (rs_recover): Use 0 syndrom.
11686
11687 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11688
11689 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11690
11691 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11694 brackets.
11695
11696 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11699 account.
11700 (get_top_pad): Likewise.
11701 (get_right_pad): Likewise.
11702 (get_bottom_pad): Likewise.
11703
11704 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
11707
11708 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11711 attribute as the structure isn't guaranteed to be properly aligned.
11712 (grub_efi_pci_device_path): Likewise.
11713 (grub_efi_pccard_device_path): Likewise.
11714 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11715 specify the size of `memory_type'.
11716 (grub_efi_vendor_device_path): Likewise.
11717 (grub_efi_controller_device_path): Likewise.
11718 (grub_efi_acpi_device_path): Likewise.
11719 (grub_efi_expanded_acpi_device_path): Likewise.
11720 (grub_efi_atapi_device_path): Likewise.
11721 (grub_efi_scsi_device_path): Likewise.
11722 (grub_efi_fibre_channel_device_path): Likewise.
11723 (grub_efi_1394_device_path): Likewise.
11724 (grub_efi_usb_device_path): Likewise.
11725 (grub_efi_usb_class_device_path): Likewise.
11726 (grub_efi_i2o_device_path): Likewise.
11727 (grub_efi_mac_address_device_path): Likewise.
11728 (grub_efi_ipv4_device_path): Likewise.
11729 (grub_efi_ipv6_device_path): Likewise.
11730 (grub_efi_infiniband_device_path): Likewise.
11731 (grub_efi_uart_device_path): Likewise.
11732 (grub_efi_vendor_messaging_device_path): Likewise.
11733 (grub_efi_hard_drive_device_path): Likewise.
11734 (grub_efi_cdrom_device_path): Likewise.
11735 (grub_efi_vendor_media_device_path): Likewise.
11736 (grub_efi_file_path_device_path): Likewise.
11737 (grub_efi_protocol_device_path): Likewise.
11738 (grub_efi_piwg_device_path): Likewise.
11739 (grub_efi_bios_device_path): Likewise.
11740
11741 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11742
11743 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11744 (grub_ucs4_to_utf8_alloc): Likewise.
11745 (grub_ucs4_to_utf8): Likewise.
11746 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11747 (grub_ucs4_to_utf8_alloc): Likewise.
11748
11749 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 AFFS never uses unicode.
11752
11753 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11754 (grub_latin1_to_utf8): New inline function.
11755 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11756
11757 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11760 overflow.
11761
11762 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11765 (grub_squash_dirent_header): Likewise.
11766 (read_chunk): Don't double swap.
11767 (grub_squash_iterate_dir): Fix swap sizes.
11768
11769 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11772
11773 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11776 (grub_hfs_iterate_dir): Likewise.
11777
11778 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Fix video on platforms where unaligned access is forbidden.
11781 Make several optimisations while on it.
11782
11783 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11784 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11785 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11786 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11787 Disable.
11788 (grub_video_fbblit_replace_16bit_1bit):
11789 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11790 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11791 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11792 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11793 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11794 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11795 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11796 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11797 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11798 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11799 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11800 (grub_video_fbblit_replace_index_RGB888): Likewise.
11801 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11802 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11803 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11804 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11805 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11806 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11807 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11808 Disable.
11809 (grub_video_fbblit_blend_XXX565_1bit):
11810 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11811 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11812 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11813 void *.
11814 * grub-core/video/fb/video_fb.c (common_blitter)
11815 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11816 (grub_video_fb_create_render_target_from_pointer)
11817 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11818 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11819 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11820 definition.
11821 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11822
11823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11826 HH22 and HM10 relocations.
11827
11828 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11831
11832 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11835 allocation succeeded.
11836
11837 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11840 argument a u8 pointer. All users updated.
11841 Handle unaligned buffers.
11842
11843 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11846 add_part to workaround compiler bug.
11847
11848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11851
11852 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11855 Reserve alignment invariants.
11856 (grub_multiboot_load): Likewise.
11857 (retrieve_video_parameters): Likewise.
11858 (grub_multiboot_make_mbi): Likewise.
11859
11860 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11863 incorrect pointer.
11864
11865 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11868 (grub_pata_pio_write): Likewise.
11869
11870 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 Add noreturn attributes and remove unreachable code.
11873
11874 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11875 code.
11876 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11877 code. Mark as noreturn.
11878 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11879 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11880 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11881 unreachable code.
11882 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11883 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11884 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11885 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11886 * include/grub/kernel.h (grub_main): Mark as noreturn.
11887 * include/grub/reader.h (grub_rescue_run): Likewise.
11888
11889 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11892 redundant declaration.
11893
11894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11897 redundant declaration.
11898 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11899
11900 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11903 to ensure alignment.
11904 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11905 alignment. Ensure tmp alignment.
11906 (grub_cmd_hdparm): Ensure buf alignment.
11907 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11908 to ensure alignment.
11909 (grub_ata_dumpinfo): Ensure text alignment.
11910 (grub_atapi_identify): Preserve alignment invariant.
11911 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11912
11913 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11916 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11917 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11918 * include/grub/misc.h (grub_reboot)
11919 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11920 (grub_halt) [__mips__]: Likewise.
11921
11922 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11925 Remove redundant declaration.
11926 (grub_mmap_get_post64): Likewise.
11927 (grub_mmap_get_upper): Likewise.
11928 (grub_mmap_get_lower): Likewise.
11929
11930 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11933 uint32_t * to ensure alignment.
11934 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11935
11936 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11939 uint16_t * to ensure alignment.
11940 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11941 alignment.
11942
11943 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
11946 to ensure alignment.
11947 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11948
11949 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11952 Handle unaligned pointers.
11953 (u32at): Likewise.
11954 (u64at): Likewise.
11955 (fixup): Use byte access instead of v16at.
11956 (find_attr): Fix imporper usage of v32at.
11957 (read_data): Likewise.
11958 (list_file): Handle byte-swapping and unaligned strings.
11959 (grub_ntfs_label): Likewise.
11960
11961 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11964 as it's not necessarily aligned.
11965
11966 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11969 redundant declaration.
11970 (grub_serial_init): Likewise.
11971 (grub_terminfo_init): Likewise.
11972
11973 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11976 function.
11977 (ZAP_HASH_IDX): Likewise.
11978 (ZAP_LEAF_HASH_SHIFT): Likewise.
11979 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11980 (LEAF_HASH): Likewise.
11981 (ZAP_LEAF_NUMCHUNKS): Likewise.
11982 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11983 alignment invariants. Return pointer. All users updated.
11984 (ZAP_LEAF_ENTRY): Make into inline function.
11985 (NBBY): Removed.
11986 (xor): LIkewise.
11987 (xor_out): Use grub_crypto_xor.
11988 (dnode_get_path): Use grub_get_unaligned.
11989 (nvlist_find_value): Likewise.
11990 (grub_zfs_nvlist_lookup_uint64): Likewise.
11991 (grub_zfs_nvlist_lookup_string): Likewise.
11992 (get_nvlist_size): Likewise.
11993 (grub_zfs_open): Likewise.
11994 (fill_fs_info): Likewise.
11995 (grub_zfs_dir): Likewise.
11996 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11997 alignment invariants.
11998 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11999 necessarily aligned.
12000
12001 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
12004
12005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
12008 arithmetic to conserve alignment invariants.
12009
12010 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
12013 redundant declaration.
12014 (grub_efiemu_mm_obtain_request): Likewise.
12015 (grub_efiemu_prepare): Likewise.
12016
12017 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
12020 to match types.
12021
12022 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
12025 case of aunaligned recptr.
12026 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
12027 alignment.
12028 (grub_hfsplus_btree_search): Handle unaligned index.
12029
12030 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
12033 to get freetag and skip.
12034
12035 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
12038 array.
12039 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
12040 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
12041
12042 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
12045 name for checksum and fix allocation algorithm.
12046
12047 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * include/grub/types.h (grub_properly_aligned_t): New type.
12050 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
12051 (grub_get_unaligned16): Add explicit casts.
12052 (grub_get_unaligned32): Likewise.
12053 (grub_get_unaligned64): Likewise.
12054 (grub_set_unaligned16): New function.
12055 (grub_set_unaligned32): Likewise.
12056
12057 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12060
12061 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
12064 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
12065 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
12066
12067 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
12070 conditionals.
12071
12072 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
12075 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
12076
12077 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 Unify and improve RAID and crypto xor.
12080
12081 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
12082 changed to grub_crypto_xor
12083 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
12084 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
12085 Use bigger types when possible.
12086
12087 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/disk/raid.c (scan_devices): Fix condition.
12090
12091 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
12094 Make name a const ptr.
12095
12096 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
12099 first argument a const pointer.
12100 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12101 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
12102 proto.
12103 (grub_children_iterate): Likewise.
12104 (grub_machine_mmap_iterate): Remove redundant declaration.
12105
12106 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
12109 (grub_cmd_acpi) [!x86]: Disable EBDA.
12110
12111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 Enable UTF8 in gnulib regexp.
12114
12115 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
12116 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
12117 (isupper): Use grub_isupper.
12118 (isascii): New inline function.
12119 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
12120 * grub-core/lib/posix_wrap/wctype.h: Likewise.
12121 * grub-core/normal/charset.c (grub_utf8_process): New function.
12122 (grub_utf8_to_utf16): Use grub_utf8_process.
12123 (grub_encode_utf8_character): New function.
12124 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
12125 * include/grub/charset.h (grub_utf8_process): New declaration.
12126 (grub_encode_utf8_character): Likewise.
12127 * include/grub/misc.h (grub_islower): New inline function.
12128 (grub_isupper): Likewise.
12129 (grub_strchrsub): Moved down to fix the definitions.
12130
12131 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
12134 specification.
12135
12136 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 * include/grub/loader.h (grub_loader_register_preboot_hook):
12139 Use struct preboot * and not void * for handle. All users updated.
12140 (grub_loader_unregister_preboot_hook): Likewise.
12141
12142 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
12145 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
12146 UTF-16-BE. All users updated.
12147 (grub_hfsplus_cmp_catkey): Fix unicode handling.
12148 (grub_hfsplus_iterate_dir): Likewise.
12149 (grub_hfsplus_label): Likewise.
12150
12151 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
12154
12155 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 Add missing const qualifiers.
12158
12159 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
12160 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
12161 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
12162 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
12163 (grub_lvm_check_flag): Likewise.
12164 * grub-core/efiemu/i386/coredetect.c
12165 (grub_efiemu_get_default_core_name): Likewise
12166 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
12167 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
12168 * grub-core/fs/ntfs.c (fixup): Likewise.
12169 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
12170 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
12171 (fzap_lookup): Likewise.
12172 (zap_lookup): Likewise.
12173 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
12174 * grub-core/lib/legacy_parse.c (check_option): Likewise.
12175 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
12176 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
12177 (grub_freebsd_add_meta_module): Likewise.
12178 (grub_cmd_freebsd_module): Likewise.
12179 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
12180 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
12181 (grub_xnu_writetree_get_size): Likewise.
12182 (grub_xnu_writetree_toheap_real): Likewise.
12183 (grub_xnu_find_key): Likewise.
12184 (grub_xnu_create_key): Likewise.
12185 (grub_xnu_create_value): Likewise.
12186 (grub_xnu_register_memory): Likewise.
12187 (grub_xnu_check_os_bundle_required): Likewise.
12188 (grub_xnu_scan_dir_for_kexts): Likewise.
12189 (grub_xnu_load_kext_from_dir): Likewise.
12190 * grub-core/normal/color.c (color_list): Likewise.
12191 * grub-core/normal/completion.c (current_word): Likewise.
12192 * grub-core/normal/menu_entry.c (insert_string): Likewise.
12193 * grub-core/term/serial.c (grub_serial_find): Likewise.
12194 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
12195 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
12196 Likewise.
12197 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
12198 (grub_freebsd_add_meta_module): Likewise.
12199 * include/grub/lib/arg.h (grub_arg_option): Likewise.
12200 * include/grub/net.h (grub_net_card_driver): Likewise.
12201 (grub_net_card): Likewise.
12202 (grub_net_app_protocol): Likewise.
12203 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
12204 * include/grub/serial.h (grub_serial_find): Likewise.
12205 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
12206 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
12207 (grub_xnu_create_value): Likewise.
12208 (grub_xnu_find_key): Likewise.
12209 (grub_xnu_scan_dir_for_kexts): Likewise.
12210 (grub_xnu_load_kext_from_dir): Likewise.
12211
12212 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
12213 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
12214 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
12215 Moved from here ...
12216 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
12217
12218 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
12219
12220 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
12221
12222 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
12225 (read_device): Fix size calculation.
12226
12227 2011-11-25 Robert Millan <rmh@gnu.org>
12228
12229 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
12230 (find_root_device_from_libzfs): Add zpool output parser to be used
12231 as fallback when libzfs isn't available.
12232
12233 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
12234
12235 * po/Makefile.in.in: Add missing escape-continuation.
12236
12237 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
12240
12241 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
12244
12245 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
12248
12249 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12252
12253 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * grub-core/lib/adler32.c: Add missing license specification.
12256 * grub-core/lib/crc64.c: Likewise.
12257 * grub-core/loader/i386/pc/plan9.c: Likewise.
12258 * grub-core/partmap/plan.c: Likewise.
12259
12260 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
12261
12262 Add facility to debug GRUB with gdb under qemu.
12263
12264 * grub-core/gdb_grub.in: New file.
12265 * grub-core/gmodule.pl.in: Likewise.
12266 * grub-core/Makefile.core.def (gmodule.pl): New script.
12267 (gdb_grub): Likewise.
12268
12269 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * util/grub-mount.c (argp_parser): Accept relative pathes.
12272 * util/grub-fstest.c (argp_parser): Likewise.
12273
12274 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 Plan9 support.
12277
12278 * Makefile.util.def (libgrubmods): Add
12279 grub-core/partmap/plan.c.
12280 * docs/grub.texi: Notice Plan9 support.
12281 * grub-core/Makefile.core.def (plan9): New module.
12282 (part_plan): Likewise.
12283 * grub-core/loader/i386/pc/plan9.c: New file.
12284 * grub-core/partmap/plan.c: Likewise.
12285 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
12286 define.
12287 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
12288 * include/grub/mm.h (grub_extend_alloc): New inline function.
12289
12290 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Make Reed-Solomon faster by using power of generator representation of
12293 GF(256)*.
12294
12295 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
12296 (gf_double_t): Likewise.
12297 (gf_invert): Removed.
12298 (gf_powx): New array.
12299 (gf_powx_inv): Likewise.
12300 (scratch): Move higher.
12301 (gf_reduce): Removed.
12302 (gf_mul): Use powx.
12303 (gf_invert): Likewise.
12304 (init_inverts): Replaced with ...
12305 (init_powx): ...this. All users updated.
12306 (pol_evaluate): Replace multiplications with additions.
12307 (rs_encode): Likewise.
12308 (gauss_eliminate): Call gf_invert.
12309 (grub_reed_solomon_add_redundancy): Call init_powx.
12310 (grub_reed_solomon_recover): Call init_powx unconditionally.
12311
12312 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
12315
12316 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
12319 disk->partiton for safety.
12320
12321 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12324 Fix a memory leak.
12325 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
12326
12327 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
12330
12331 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12334
12335 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 Fix spaces handling in proc/self/mountinfo.
12338
12339 * util/getroot.c (unescape): New function.
12340 (grub_find_root_device_from_mountinfo): Use unescape.
12341
12342 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Support ZFS embedding.
12345
12346 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12347 (grub_zfs_fs): Register grub_zfs_embed.
12348
12349 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Fix MIPS compilation.
12352
12353 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12354 * include/grub/offsets.h: Rename decompressor fields from
12355 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12356 * util/grub-mkimage.c (image_targets): Use new names.
12357
12358 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 Defer multiboot device parsing until we're in compressed part.
12361
12362 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12363 bsd_part. setdevice has fallen into disuse.
12364 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12365 (bsd_part): Likewise.
12366 (boot_dev): New variable.
12367 (multiboot_trampoline): Don't parse multiboot device.
12368 Pass multiboot device in %edx.
12369 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12370 grub_boot_device.
12371 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12372 Likewise.
12373 * grub-core/kern/i386/pc/startup.S: Save edx.
12374 (grub_boot_drive): Removed.
12375 (grub_install_dos_part): Likewise.
12376 (grub_install_bsd_part): Likewise.
12377 (grub_boot_device): New variable.
12378 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12379 (grub_install_bsd_part): Likewise.
12380 (grub_boot_drive): Likewise.
12381 (grub_boot_device): New variable.
12382 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12383 Removed.
12384 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12385 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12386 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12387 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12388 * util/grub-install.in: Remove redundant condition.
12389
12390 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 Fix bug introduced by previous commit.
12393
12394 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12395
12396 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Use decompressors framework on i386-pc. It increases core size
12399 by 46 bytes but improves compatibility and maintainability.
12400
12401 * grub-core/Makefile.core.def (lzma_decompress): New image.
12402 (kernel): Add i386_pc_ldflags.
12403 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12404 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12405 to real_to_prot, prot_to_real and device info.
12406 * include/grub/offsets.h: Renamed decompressor offsets.
12407 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12408 (image_target_desc): Remove raw_size and rename decompressor fields.
12409 (compress_kernel): Handle lzma.
12410 (generate_image): Handle decompressors on i386-pc.
12411
12412 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * configure.ac: Add -fno-asynchronous-unwind-tables.
12415
12416 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 Move assembly code to C by using intwrap. It increases core size
12419 by 88 bytes but improves compatibility and maintainability.
12420
12421 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12422 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12423 ... here. Translated to C.
12424 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12425 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12426 ... here. Translated to C.
12427 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12428 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12429 ... here. Translated to C.
12430 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12431 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12432 ... here. Translated to C.
12433 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12434 * grub-core/term/i386/pc/console.c (grub_console_cls):
12435 ... here. Translated to C.
12436 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12437 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12438 ... here. Translated to C.
12439 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12440 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12441 Translated to C.
12442 * grub-core/term/i386/pc/console.c (int10_9): New function.
12443 (grub_console_putchar): Likewise.
12444 * include/grub/i386/pc/console.h: Removed the not anymore shared
12445 functions.
12446
12447 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 Move grub_chainloader_real_boot out of the kernel.
12450
12451 * grub-core/Makefile.am: Remove machine/loader.h.
12452 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12453 Removed.
12454 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12455 variable.
12456 (grub_relocator16_keep_a20_enabled): Likewise.
12457 (grub_relocator16_boot): Fill new variables.
12458 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12459 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12460 relocator.
12461 (grub_chainloader_unload): Likewise.
12462 (grub_chainloader_cmd): Likewise.
12463 * include/grub/i386/pc/loader.h: Removed.
12464 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12465 and esi. All initialisers updated.
12466
12467 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12468 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
12469
12470 * Makefile.util.def (grub-mount): New util.
12471 * .bzrignore: Add grub-mount.
12472 * configure.ac: Check for fuse and enable grub-mount if available.
12473 * docs/man/grub-mount.h2m: New file.
12474 * util/grub-mount.c: Likewise.
12475
12476 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * grub-core/commands/efi/fixvideo.c: Gettextize.
12479 * grub-core/commands/hashsum.c: Likewise.
12480 * grub-core/commands/i386/cmostest.c: Likewise.
12481 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12482 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12483 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12484 * grub-core/commands/lsmmap.c: Likewise.
12485 * grub-core/commands/menuentry.c: Likewise.
12486 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12487 * grub-core/commands/setpci.c: Likewise.
12488 * grub-core/loader/i386/bsd.c: Likewise.
12489 * grub-core/loader/i386/linux.c: Likewise.
12490 * util/getroot.c: Likewise.
12491 * util/grub-editenv.c: Likewise.
12492 * util/grub-fstest.c: Likewise.
12493 * util/grub-mkfont.c: Likewise.
12494 * util/grub-mkimage.c: Likewise.
12495 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12496 * util/grub-pe2elf.c: Likewise.
12497 * util/grub-probe.c: Likewise.
12498 * util/grub-setup.c: Likewise.
12499 * util/ieee1275/ofpath.c: Likewise.
12500 * util/misc.c: Likewise.
12501 * util/raid.c: Likewise.
12502
12503 2011-11-11 Robert Millan <rmh@gnu.org>
12504
12505 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12506 __attribute__((unused)) from `os_dev', which *is* being used.
12507
12508 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12511 forgotten define.
12512 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12513 GRUB_IA64_DL_GOT_ALIGN.
12514 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12515 GRUB_IA64_DL_TRAMP_ALIGN.
12516
12517 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 Replace grub_fatal with normal errors in i386 linux loader.
12520
12521 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12522 (allocate_pages): Check find_efi_mmap_size return value.
12523 (grub_e820_add_region): Return error.
12524 (grub_linux_boot): Check mmap return value.
12525
12526 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/commands/acpihalt.c: Gettextized.
12529 * grub-core/commands/cacheinfo.c: Likewise.
12530 * grub-core/commands/cmp.c: Likewise.
12531 * grub-core/commands/efi/loadbios.c: Likewise.
12532 * grub-core/commands/gptsync.c: Likewise.
12533 * grub-core/commands/ieee1275/suspend.c: Likewise.
12534 * grub-core/commands/legacycfg.c: Likewise.
12535 * grub-core/commands/memrw.c: Likewise.
12536 * grub-core/commands/minicmd.c: Likewise.
12537 * grub-core/commands/parttool.c: Likewise.
12538 * grub-core/commands/time.c: Likewise.
12539 * grub-core/commands/videoinfo.c: Likewise.
12540 * grub-core/disk/geli.c: Likewise.
12541 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12542 * grub-core/disk/luks.c: Likewise.
12543 * grub-core/disk/lvm.c: Likewise.
12544 * grub-core/font/font_cmd.c: Likewise.
12545 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12546 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12547 * grub-core/gfxmenu/view.c: Likewise.
12548 * grub-core/kern/emu/hostdisk.c: Likewise.
12549 * grub-core/kern/emu/main.c: Likewise.
12550 * grub-core/kern/emu/misc.c: Likewise.
12551 * grub-core/kern/emu/mm.c: Likewise.
12552 * grub-core/kern/mips/arc/init.c: Likewise.
12553 * grub-core/kern/mips/loongson/init.c: Likewise.
12554 * grub-core/kern/partition.c: Likewise.
12555 * grub-core/lib/i386/halt.c: Likewise.
12556 * grub-core/lib/mips/arc/reboot.c: Likewise.
12557 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12558 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12559 * grub-core/loader/i386/xnu.c: Likewise.
12560 * grub-core/loader/multiboot.c: Likewise.
12561 * grub-core/net/bootp.c: Likewise.
12562 * grub-core/net/net.c: Likewise.
12563 * grub-core/normal/term.c: Likewise.
12564 * grub-core/partmap/bsdlabel.c: Likewise.
12565 * grub-core/parttool/msdospart.c: Likewise.
12566 * grub-core/term/gfxterm.c: Likewise.
12567 * grub-core/term/terminfo.c: Likewise.
12568 * grub-core/video/i386/pc/vbe.c: Likewise.
12569 * util/grub-menulst2cfg.c: Likewise.
12570 * util/grub-mkdevicemap.c: Likewise.
12571 * util/grub-mklayout.c: Likewise.
12572 * util/grub-mkrelpath.c: Likewise.
12573 * util/grub-script-check.c: Likewise.
12574 * util/ieee1275/grub-ofpathname.c: Likewise.
12575 * util/resolve.c: Likewise.
12576
12577 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Support %1$d syntax.
12580
12581 * tests/printf_unit_test.c: New file.
12582 * Makefile.util.def (printf_test): New test.
12583 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12584
12585 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12588 fix.
12589
12590 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12593 dprintf.
12594 * grub-core/font/font.c (grub_font_load): Likewise.
12595
12596 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * util/grub-macho2img.c: Add comment concerning gettext.
12599 * grub-core/lib/legacy_parse.c: Likewise.
12600
12601 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12604 (grub_xvasprintf): Likewise.
12605
12606 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Add const keyword to grub_env_get and gettextize week days.
12609
12610 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12611 (grub_read_hook_datetime): Return const char *.
12612 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12613 updated.
12614 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12615 Mark for gettext.
12616 (grub_get_weekday_name): Return const char *. Call gettext.
12617 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12618 char * and len as the argument. All users updated.
12619 (grub_script_argv_split_append): Receive const char *.
12620 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12621 * include/grub/env.h (grub_env_get): Likewise.
12622 (grub_env_read_hook_t): Return const char *.
12623 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12624 (grub_script_argv_split_append): Likewise.
12625
12626 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12629
12630 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12633 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12634
12635 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12638 Fix prototype.
12639
12640 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 Fix mips compilation.
12643
12644 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12645 normal decoder.
12646 (hashes): Use in embed decoder as well (for sizes).
12647 (dec_stream_header): Fix embed decompressor logic.
12648 (dec_stream_footer): Likewise.
12649
12650 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12653 an error and not a fatal on unrecognised relocation types.
12654
12655 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12658 Issue error rather than printf on unknown arguments.
12659
12660 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12663 Make buf a const.
12664
12665 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12668 Fix module name.
12669
12670 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12673 leftover debug printf.
12674
12675 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12678
12679 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12682 A stylistic fix.
12683
12684 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12687
12688 2011-11-10 Shea Levy <slevy@tieronedesign.com>
12689
12690 Allow all modules to perform serial IO
12691
12692 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12693 * include/grub/serial.h (grub_serial_port_configure): New inline
12694 function.
12695 (grub_serial_port_fetch): Likewise.
12696 (grub_serial_port_put): Likewise.
12697 (grub_serial_port_fini): Likewise.
12698 (grub_serial_find): New proto.
12699
12700 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 Put symlink at the end of the node and fix a potential
12703 memory corruption.
12704
12705 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12706 Make symlink into an array.
12707 (set_rockridge): Set have_symlink and alloc_dirents.
12708 (grub_iso9660_read_symlink): Use new layout.
12709 (grub_iso9660_iterate_dir): Fix memory corruption.
12710 Use new layout.
12711 (grub_iso9660_dir): Set have_symlink.
12712 (grub_iso9660_open): Likewise.
12713
12714 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Remove local keyword.
12717
12718 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12719 (version_test_gt): Likewise.
12720 (version_find_latest): Likewise.
12721 (gettext_printf): Likewise.
12722 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12723
12724 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12727
12728 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Fix ZFS memory and resource leaks.
12731
12732 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12733 All users updated.
12734 Free type on exit.
12735 (fill_vdev_info): New parameter inserted. All users updated.
12736 (check_pool_label): Likewise.
12737 (scan_disk): Likewise.
12738 (scan_devices): Close non-inserted disks.
12739 (fzap_iterate): Free l.
12740 (unmount_device): Free children descripto memory.
12741
12742 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12745 argument (access out of bounds).
12746
12747 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12750 >= 6 drives.
12751
12752 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12755 Fix declaration.
12756
12757 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 Fix several memory leaks.
12760
12761 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12762 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12763 (grub_cpio_dir): Likewise.
12764 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12765 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12766 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12767 (grub_romfs_label): Likewise.
12768 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12769 (squash_unmount): New function.
12770 (grub_squash_dir): Fix memory leak.
12771 (grub_squash_open): Likewise.
12772 (grub_squash_read): Likewise.
12773 (grub_squash_mtime): Likewise.
12774 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12775 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12776 * util/grub-fstest.c (fstest): Likewise.
12777
12778 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12781 avoid accessing beyond the array.
12782
12783 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12786
12787 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 Several AFFS fixes.
12790
12791 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12792 (GRUB_AFFS_FLAG_FFS): Removed.
12793 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12794 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12795 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12796 (grub_fshelp_node): Make block 32-bit.
12797 Add block_cache and last_block_cache.
12798 (grub_affs_read_block): Fill and use block cache.
12799 (grub_affs_read_file): Removed.
12800 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12801 boot block.
12802 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12803 safety.
12804 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12805 space.
12806 (grub_affs_close): Free block cache.
12807 (grub_affs_read): Use grub_fshelp_read_file directly.
12808
12809 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12812 with no error set.
12813
12814 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12817 used variable.
12818 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12819 Likewise.
12820
12821 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12824
12825 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12826 byteswap when needed.
12827
12828 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 Fix FreeBSD compilation.
12831
12832 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12833 to avoid circular dependency.
12834 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12835 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12836 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12837
12838 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 Fix ZFS crypto error types.
12841
12842 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12843 (grub_gcm_decrypt): Likewise.
12844 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12845 from PBKDF2.
12846
12847 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Illumos support.
12850
12851 * Makefile.util.def (10_illumos): New script.
12852 * configure.ac: Set COND_HOST_ILLUMOS.
12853 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12854 Support Illumos calls.
12855 (find_partition_start) [__sun__]: Likewise.
12856 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12857 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12858 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12859 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12860 device.
12861 * util/grub-probe.c (probe) [__sun__]: Do character check.
12862 * util/grub.d/10_illumos.in: New file.
12863
12864 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Support escaped commas in hostdisk.
12867
12868 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12869 (find_grub_drive): Use unescape_cmp.
12870 (make_device_name): Escape commas.
12871
12872 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12875
12876 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12879 variable.
12880
12881 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Support trampoline jumps on powerpc.
12884
12885 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12886 __ia64__ path.
12887 (grub_dl_load_segments): Set mod->sz.
12888 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12889 segments.
12890 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12891 (jump): Likewise.
12892 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12893 function.
12894 (trampoline): New struct.
12895 (trampoline_template): New const.
12896 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12897 * include/grub/dl.h (grub_dl): Add sz element.
12898 [__powerpc__]: Follow __ia64__.
12899 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12900 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12901 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12902 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12903
12904 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12905
12906 ZFS crypto support.
12907
12908 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12909 * grub-core/Makefile.core.def (zfscrypt): New module.
12910 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12911 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12912 it. All users updated.
12913 (grub_zfs_decrypt): New var.
12914 (grub_zfs_load_key): Likewise.
12915 (zio_checksum_functions): Add SHA256+MAC.
12916 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12917 (zio_read): Handle encrypted blocks.
12918 (zap_verify): Remove incorrect check.
12919 (fzap_iterate): Handle non-standard fzap.
12920 (zap_iterate): Likewise.
12921 (zap_iterate_u64): New function.
12922 (dnode_get_fullpath): Load keys.
12923 * grub-core/fs/zfs/zfscrypt.c: New file.
12924 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12925 (grub_crypto_ecb_encrypt): Make input const.
12926 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12927 (grub_crypto_ecb_encrypt): Make input const.
12928 (GRUB_CIPHER_AES): New macro.
12929 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12930 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12931 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12932 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12933 prefix. All users updated.
12934 (grub_zfs_add_key): New proto.
12935 (grub_zfs_decrypt): Likewise.
12936 (grub_zfs_load_key): Likewise.
12937 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12938 * util/grub-fstest.c (options): Add -K option.
12939 (argp_parser): Likewise.
12940
12941 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 Support zle compression on ZFS.
12944
12945 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12946 (decomp_table): Add zle.
12947 * include/grub/zfs/zio.h (zio_compress): Add zle.
12948
12949 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 Support BtrFS embedding.
12952
12953 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12954 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12955 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12956 * util/grub-setup.c (setup): Use fs embedding if available.
12957 Add additional sanity check.
12958
12959 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * util/grub-install.in: Fix condition for config_opt.
12962
12963 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 Support third redundancy strip on raidz3.
12966
12967 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12968 Return error on singularity. All users updated.
12969 (read_device): Don't stop on 3rd failure on raidz3.
12970
12971 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 Support case-insensitive ZFS subvolumes.
12974
12975 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12976 All users updated.
12977 (zap_hash): Likewise.
12978 (name_cmp): New function.
12979 (zap_leaf_array_equal): New parameter case_insensitive.
12980 All users updated.
12981 (zap_leaf_lookup): Likewise.
12982 (fzap_lookup): Likewise.
12983 (zap_lookup): Likewise.
12984 (dnode_get_path): New parameter case_insensitive. Retrieve case
12985 sensitiviness of a volume. All users updated.
12986 (dnode_get_fullpath): New parameter case_insensitive.
12987 All users updated.
12988 (grub_zfs_dir): Set info.case_insensitiveness.
12989
12990 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 Support second redundancy strip on raidz(2,3).
12993
12994 * grub-core/fs/zfs/zfs.c (powx): New array.
12995 (powx_inv): Likewise.
12996 (poly): New const.
12997 (xor_out): New function.
12998 (gf_mul): Likewise.
12999 (recovery): Likewise.
13000 (read_device): Use second redundancy strip.
13001
13002 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 Use a power of generator representation of GF(256) multiplication group
13005 to save space time and complexity.
13006
13007 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
13008 (raid6_table2): Likewise.
13009 (powx): New array.
13010 (powx_inv): Likewise.
13011 (poly): New const.
13012 (grub_raid_block_mul): Replace with ...
13013 (grub_raid_block_mulx): ...this.
13014 (grub_raid6_init_table): Rewritten.
13015 (grub_raid6_recover): Use power of generator representation.
13016
13017 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
13020 for the right device.
13021
13022 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
13025 expected by grub-mkimage and it's more clear since there is no implicit
13026 padding.
13027
13028 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
13031 disk.
13032 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13033
13034 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
13035
13036 * util/grub-mkrescue.in: Fix handling xorriso option.
13037
13038 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
13041 NULL.
13042
13043 2011-11-03 crocket <crockabiscuit@gmail.com>
13044
13045 * util/grub.d/10_linux.in: Add Slackware initrd naming.
13046
13047 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 XZ CRC64 and SHA256 support.
13050
13051 * Makefile.util.def (libgrubmods): Add crc64.c.
13052 * grub-core/Makefile.core.def (crc64): New module.
13053 * grub-core/lib/crc64.c: New file.
13054 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
13055 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
13056 Fix the type.
13057 (MAX_HASH_SIZE): New define.
13058 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
13059 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
13060 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13061 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
13062 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
13063 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
13064 Handle non-crc32 hashes.
13065 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
13066 (dec_stream_header): Handle non-crc32 hashes.
13067 (dec_stream_footer): Likewise.
13068 (dec_block_header): Likewise.
13069 (dec_main): Likewise.
13070 (xz_dec_init): Likewise.
13071 (xz_dec_reset): Likewise.
13072 (xz_dec_end): Likewise.
13073 * util/import_gcry.py: Add CRC64 line.
13074
13075 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
13078 as well.
13079
13080 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 Make reiserfs label retrieval similar to other *_label functions.
13083
13084 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
13085 (REISERFS_MAX_LABEL_LENGTH): Removed.
13086 (REISERFS_LABEL_OFFSET): Likewise.
13087 (grub_reiserfs_label): Rewritten.
13088
13089 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
13092 field.
13093
13094 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
13097
13098 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
13101 drive failure on both raidz and raidz2.
13102
13103 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Fix RAIDZ(2) for >= 5 devices.
13106
13107 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
13108 asize argument. All users updated.
13109
13110 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 Fix RAIDZ(2).
13113
13114 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
13115 (fill_vdev_info_real): Set ashift.
13116 (read_device): Rewrite RAIDZ part based on reverse engineering.
13117
13118 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
13121 don't report potentially unavialiable fields in debug output.
13122 (find_path): Fix double-free and memory leak.
13123
13124 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 Read label on UFS1.
13127
13128 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
13129 (grub_ufs_fs): Always set .label.
13130
13131 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Use shifts in UFS.
13134
13135 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
13136 (grub_ufs_data): New field log2_blksz.
13137 (grub_ufs_read_file): Use shifts.
13138 (grub_ufs_mount): Check block size and logarithm it.
13139
13140 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
13143 long symlinks.
13144
13145 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 Handle symlinks and long names on tar and cpio.
13148
13149 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
13150 (ATTR_FILE): Likewise.
13151 (ATTR_DIR): Likewise.
13152 (ATTR_LNK): Likewise.
13153 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
13154 (grub_cpio_find_file): Fill mode, handle linkname field as well as
13155 L and K entries.
13156 (grub_cpio_mount): Zero-fill data.
13157 (handle_symlink): New function.
13158 (grub_cpio_dir): Handle symlinks.
13159 (grub_cpio_open): Likewise.
13160 (grub_cpio_close) [MODE_USTAR]: Free linkname.
13161
13162 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 Fix iso9660 filename limitations and fix memory leaks.
13165
13166 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
13167 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
13168
13169 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 Fix JFS file name length limitations.
13172
13173 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
13174 (grub_jfs_diropen): Fix maximum filename length.
13175 (grub_jfs_getent): Fix filename length.
13176 (grub_jfs_lookup_symlink): Fix size checks.
13177
13178 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
13181 string.
13182
13183 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Leverage BFS implementation to read AFS.
13186
13187 * Makefile.util.def (libgrubmods): Add afs.c.
13188 * grub-core/Makefile.core.def (afs): New module
13189 * grub-core/fs/afs.c: New file.
13190 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
13191
13192 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
13195
13196 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * grub-core/fs/bfs.c: Run indent.
13199
13200 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 BFS implementation based on the specification.
13203
13204 * grub-core/fs/bfs.c: New file.
13205 * Makefile.util.def (libgrubmods): Add bfs.c.
13206 * grub-core/Makefile.core.def (bfs): New module.
13207
13208 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * util/grub-fstest.c (cmd_cp): Clarify error message.
13211 (cmd_cmp): Likewise.
13212
13213 2011-10-30 Yves Blusseau <blusseau@zetam.org>
13214
13215 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
13216 and befs_be.
13217
13218 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 Remove afs and befs because of copyright problem.
13221
13222 * grub-core/fs/afs.c: Removed.
13223 * grub-core/fs/afs_be.c: Removed.
13224 * grub-core/fs/befs.c: Removed.
13225 * grub-core/fs/befs_be.c: Removed.
13226 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
13227 * grub-core/Makefile.core.def (afs): Removed.
13228 (afs_be): Likewise.
13229 (befs): Likewise.
13230 (befs_be): Likewise.
13231
13232 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 Prefer rockridge over Joliet.
13235
13236 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
13237 to ...
13238 (set_rockridge): ... here.
13239 (grub_iso9660_mount): Check rockridge on the primary label when
13240 discovering. Ignore Joliet if Rockridge is present.
13241
13242 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 Use shifts in nilfs2.
13245
13246 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
13247 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
13248 (grub_nilfs2_palloc_entries_per_group): Replace with ...
13249 (grub_nilfs2_log_palloc_entries_per_group): ... this.
13250 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
13251 (grub_nilfs2_entries_per_block): Replaced with ...
13252 (grub_nilfs2_log_entries_per_block_log): ... this.
13253 (grub_nilfs2_blocks_per_group): Replaced with ...
13254 (grub_nilfs2_blocks_per_group_log): ... this.
13255 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
13256 (grub_nilfs2_blocks_per_desc_block_log): ... this.
13257 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
13258 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
13259 (grub_nilfs2_palloc_entry_offset): Replaced ...
13260 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
13261 (grub_nilfs2_dat_translate): Use shifts.
13262 (grub_nilfs2_read_inode): Likewise.
13263 (GRUB_MOD_INIT): Ensure that logs are correct.
13264
13265 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 Use shifts in minix filesystem.
13268
13269 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
13270 (GRUB_MINIX_ZONE2SECT): Likewise.
13271 (grub_minix_data): Replace block_size with log_block_size.
13272 (grub_minix_read_file): Use shifts.
13273 (grub_minix_mount): Check block size and take a logarithm.
13274
13275 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Use shifts in squash4.
13278
13279 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
13280 (squash_mount): Check block size and take logarithm.
13281 (direct_read): Use shifts.
13282
13283 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Correct befs block counting logic.
13286
13287 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
13288 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
13289 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
13290 (grub_afs_read_inode): Use block_shift.
13291 (RANGE_SHIFT): New definition.
13292 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
13293 unexpected conditions, use shifts and appropriate types.
13294 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
13295
13296 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/disk/raid.c (scan_devices): Check partition.
13299 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
13300
13301 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 Support BFS (befs) UUID.
13304
13305 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
13306 (grub_afs_small_data_element_header): New struct.
13307 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
13308 (grub_afs_read_attribute) [MODE_BFS]: New function.
13309 (grub_afs_iterate_dir): Allocate for complete inode.
13310 (grub_afs_mount): Likewise.
13311 (grub_afs_uuid) [MODE_BFS]: New function.
13312 (grub_afs_fs) [MODE_BFS]: Add .uuid.
13313
13314 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
13317 (zfs_unmount): Fix memory leak.
13318
13319 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 Support NTFS reparse points.
13322
13323 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
13324 (symlink_descriptor): New struct.
13325 (grub_ntfs_read_symlink): New function.
13326 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
13327 (grub_ntfs_open): Likewise.
13328
13329 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13332
13333 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 fstest xnu_uuid subcommand.
13336
13337 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13338 grub-core/commands/xnu_uuid.c.
13339 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13340 (fstest): Handle xnu_uuid.
13341 (options): Document xnu_uuid.
13342 (argp_parser): Parse xnu_uuid.
13343
13344 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13347 -l argument. Add newline at the end if printing.
13348 (GRUB_MOD_INIT): Document -l.
13349
13350 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13353
13354 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 ZFS multi-device and version 33 support.
13357
13358 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13359 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13360 (grub_zfs_data): Add multidev-ice-related fields.
13361 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13362 (dva_get_offset): Make dva const.
13363 (zfs_fetch_nvlist): New function.
13364 (fill_vdev_info_real): Likewise.
13365 (fill_vdev_info): Likewise.
13366 (check_pool_label): Likewise.
13367 (scan_disk): Likewise.
13368 (scan_devices): Likewise.
13369 (read_device): Likewise.
13370 (read_dva): Likewise.
13371 (zio_read_gang): Use read_dva.
13372 (zio_read_data): Likewise.
13373 (zap_leaf_lookup): Add missing endian conversion.
13374 (zap_verify): Add missing endian conversion. All users updated.
13375 (fzap_lookup): Likewise.
13376 (fzap_iterate): Likewise.
13377 (dnode_get_path): Handle SA bonus.
13378 (nvlist_find_value): Make input const. All users updated.
13379 (unmount_device): New function.
13380 (zfs_unmount): Use unmount_device.
13381 (zfs_mount): Use scan_disk.
13382 (zfs_mtime): New function.
13383 (grub_zfs_open): Handle system attributes.
13384 (fill_fs_info): Likewise.
13385 (grub_zfs_dir): Likewise.
13386 (grub_zfs_fs): Add mtime.
13387 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13388 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13389 (SA_MTIME_OFFSET): Likewise.
13390 (SA_SYMLINK_OFFSET): Likewise.
13391 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13392 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13393 (fstest): Support zfsinfo.
13394 (argp_parser): Likewise.
13395
13396 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13399 error.
13400
13401 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 ZFS fixes.
13404
13405 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13406 sharing the same block. Iterate over correct number of indices.
13407 (dnode_get_path): Handle symlinks correctly.
13408
13409 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13412
13413 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 Read label on HFS+.
13416
13417 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13418 (grub_hfsplus_btree_search): Fix types.
13419 (grub_hfsplus_label): Implement.
13420
13421 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13424
13425 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13428
13429 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 Fix symlink handling on iso9660.
13432
13433 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13434 All users updated.
13435 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13436 (grub_iso9660_read_symlink): Moved most of code ...
13437 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13438
13439 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13442 Use union to avoid breaking strict-aliasing rules.
13443
13444 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 Support multi-extent iso files.
13447
13448 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13449 Add node.
13450 (grub_fshelp_node): Revamp. All users updated.
13451 (FLAG_*): New enum.
13452 (read_node): New function.
13453 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13454 All users updated.
13455 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13456 (get_node_size): New function.
13457 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13458 entries.
13459 Fix memory leak on . and ..
13460 (grub_iso9660_read): Use read_node.
13461 (grub_iso9660_close): Free node.
13462
13463 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 Fix tar 4G limit and handle paths containing dot.
13466
13467 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13468 (canonicalize): New function.
13469 (grub_cpio_find_file): Use canonicalize. Store offs in
13470 grub_disk_addr_t.
13471 (grub_cpio_dir): Use grub_disk_addr_t.
13472 (grub_cpio_open): Likewise.
13473
13474 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13477
13478 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13479 unused flags.
13480 (grub_squash_inode): Add long_file and block_size.
13481 (grub_squash_cache_inode): New struct.
13482 (grub_squash_dirent): Make types into enum.
13483 (SQUASH_TYPE_LONG_REGULAR): New type.
13484 (grub_squash_frag_desc): Add field size.
13485 (SQUASH_BLOCK_FLAGS): New enum.
13486 (grub_squash_data): Use grub_squash_cache_inode.
13487 (grub_fshelp_node): Make ino_chunk 64-bit.
13488 (read_chunk): Minor argument change. All users updated.
13489 (squash_mount): Use correct le_to_cpu.
13490 (grub_squash_open): Handle LONG_REGULAR.
13491 (direct_read): New function.
13492 (grub_squash_read_data): Handle blocks correctly.
13493
13494 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13497
13498 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13501
13502 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 Fix 2G limit on ZFS.
13505
13506 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13507 types.
13508 (uberblock_verify): Likewise.
13509 (dmu_read): Likewise.
13510 (grub_zfs_read): Likewise. Remove invalid cast.
13511
13512 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13515 (grub_jfs_blkno): Fix incorrect shift.
13516 (grub_jfs_read_file): Use more appropriate types.
13517
13518 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 Support triple indirect on minix2 and minix3.
13521
13522 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13523 Declare triple_indir_zone.
13524 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13525 indirect.
13526
13527 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 Minix FS fixes.
13530
13531 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13532 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13533 Rename ctime to mtime. All users updated.
13534 (grub_minix_get_file_block): Fix types and double indirect computations.
13535
13536 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13539 if no label is found.
13540 (grub_fat_iterate_dir): Fix file size type.
13541 (grub_fat_iterate_dir): Likewise.
13542
13543 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13546 save some space.
13547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13548 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13549
13550 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13553
13554 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * util/import_gcry.py: Accept space between # and include.
13557
13558 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13561
13562 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13565
13566 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13567 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13568 yylex_strncpy.
13569 * grub-core/script/yylex.l: Add fine-grained #pragma.
13570
13571 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13574 New inline function.
13575 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13576 Likewise.
13577 (memset) [GRUB_UTIL]: Likewise.
13578 (memcmp) [GRUB_UTIL]: Likewise.
13579
13580 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13583 inline function rather than a define.
13584
13585 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * util/grub-setup.c: Add missing include.
13588
13589 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * util/ieee1275/grub-ofpathname.c: Add missing include.
13592
13593 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13596 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13597 Likewise.
13598
13599 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13602 grub_memcmp usage.
13603
13604 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * util/grub-install.in: Add datarootdir as per automake manual
13607 suggestion.
13608 * util/grub-mknetdir.in: Likewise.
13609
13610 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13613 suggestion.
13614 * util/grub.d/10_kfreebsd.in: Likewise.
13615 * util/grub.d/10_linux.in: Likewise.
13616 * util/grub.d/10_netbsd.in: Likewise.
13617 * util/grub.d/10_windows.in: Likewise.
13618 * util/grub.d/20_linux_xen.in: Likewise.
13619
13620 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 Remove redundant grub_kernel_image_size.
13623
13624 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13625 _edata and _start.
13626 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13627 the small code. It moves it only by few bytes but simplifies the code.
13628 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13629 _start.
13630 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13631 (grub_kernel_image_size): Removed.
13632 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13633 (grub_kernel_image_size): Removed.
13634 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13635 compiled with Apple toolchain.
13636 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13637 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13638 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13639 (grub_total_module_size): Likewise.
13640 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13641 Removed.
13642 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13643 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13644 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13645 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13646 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13647 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13648 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13649 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13650 Removed.
13651 (grub_total_module_size): Removed.
13652 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13653 (image_targets): Likewise.
13654 Set .compressed_size to no field on sparc.
13655 (generate_image): Remove kernel_image_size handling.
13656
13657 2011-10-19 Szymon Janc <szymon@janc.net.pl>
13658
13659 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13660 NULL pointer dereference.
13661
13662 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13665 done with a dedicated section.
13666
13667 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13668 Ensure the correct position of boot_path.
13669 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13670 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13671 other fields.
13672 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13673 * include/grub/boot.h: Removed. All references removed.
13674 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13675 Removed.
13676 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13677
13678 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13681 name.
13682
13683 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13686
13687 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13690 Don't add the bogus brackets.
13691
13692 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 ExFAT support.
13695
13696 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13697 * grub-core/Makefile.core.def (exfat): New module.
13698 * grub-core/fs/exfat.c: New file.
13699 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13700 (GRUB_FAT_ATTR_*): Make into an enum.
13701 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13702 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13703 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13704 (GRUB_FAT_MAXFILE): Removed.
13705 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13706 (grub_current_fat_bpb_t): New type.
13707 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13708 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13709 (grub_fat_dir_node_t): New type.
13710 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13711 (fat_log2) [MODE_EXFAT]: Removed.
13712 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13713 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13714 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13715 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13716 (grub_fat_label) [MODE_EXFAT]: New function.
13717 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13718 reserved_first_sector to 0.
13719
13720 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Move grub_reboot out of the kernel.
13723
13724 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13725 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13726 * grub-core/lib/efi/reboot.c: ... here.
13727 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13728 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13729 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13730 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13731 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13732 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13733 * grub-core/lib/ieee1275/reboot.c: ... here.
13734 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13735 * grub-core/lib/mips/arc/reboot.c: ... here.
13736 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13737 * grub-core/lib/mips/loongson/reboot.c: ...here.
13738 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13739 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13740 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13741 * include/grub/i386/reboot.h: New file.
13742 * include/grub/mips/loongson/ec.h: Fix includes.
13743 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13744 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13745 * grub-core/lib/i386/reboot.c: New file.
13746
13747 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 Make grub_prefix into module to fix the arbitrary limit and save
13750 some space.
13751
13752 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13753 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13754 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13755 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13756 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13757 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13758 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13759 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13760 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13761 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13762 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13763 * include/grub/ia64/efi/kernel.h: Removed.
13764 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13765 (grub_prefix): Removed.
13766 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13767 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13768 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13769 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13770 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13771 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13772 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13773 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13774 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13775 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13776 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13777 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13778 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13779 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13780 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13781 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13782 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13783 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13784 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13785 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13786 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13787 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13788 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13789 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13790 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13791 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13792 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13793 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13794 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13795 from module.
13796 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13797 prefix_end.
13798 (image_targets): Likewise.
13799 (generate_image): Put prefix as a module.
13800
13801 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 Replace grub_module_iterate with FOR_MODULES.
13804
13805 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13806 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13807 (grub_efi_modules_addr): ...this.
13808 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13809 (grub_efi_init): Set grub_modbase.
13810 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13811 (grub_modbase): New variable.
13812 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13813 (grub_modbase): New variable.
13814 (grub_machine_init): Set grub_modbase.
13815 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13816 (grub_modbase): New variable.
13817 (grub_machine_init): Set grub_modbase.
13818 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13819 (grub_modbase): New variable.
13820 (grub_machine_init): Set grub_modbase.
13821 * grub-core/kern/main.c (grub_module_iterate): Remove.
13822 (grub_modules_get_end): Use grub_modbase.
13823 (grub_load_modules): Use FOR_MODULES.
13824 (grub_load_config): Likewise.
13825 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13826 (grub_modbase): New variable.
13827 (grub_machine_init): Set grub_modbase.
13828 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13829 (grub_modbase): New variable.
13830 (grub_machine_init): Set grub_modbase.
13831 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13832 Removed.
13833 (grub_modbase): New variable.
13834 (grub_machine_init): Set grub_modbase.
13835 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13836 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13837 (grub_module_iterate): Likewise.
13838 (grub_modbase): New variable declaration.
13839 (FOR_MODULES): New macro.
13840
13841 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13844 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13845
13846 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Fix few obvious type discrepancies.
13849
13850 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13851 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13852 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13853 variable.
13854 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13855 and connected types.
13856 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13857 offset.
13858 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13859 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13860 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13861 and connected types.
13862
13863 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 Fix python 3.x incompatibilities.
13866
13867 * gentpl.py: Put brackets around print strings.
13868 * util/import_gcry.py: Open explicitly as utf-8.
13869 Use in instead of has_key.
13870
13871 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13874 (GRUB_XFS_INO_AGBITS): Make into inline function.
13875 (GRUB_XFS_INO_INOINAG): Likewise.
13876 (GRUB_XFS_INO_AG): Likewise.
13877 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13878 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13879 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13880 (GRUB_XFS_EXTENT_SIZE): Likewise.
13881 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13882 (GRUB_XFS_NEXT_DIRENT): Likewise.
13883 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13884 (grub_xfs_read_file): Fix offset type.
13885
13886 2011-10-15 Robert Millan <rmh@gnu.org>
13887
13888 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13889
13890 2011-10-15 Robert Millan <rmh@gnu.org>
13891
13892 Fix build problem on FreeBSD and GNU/kFreeBSD.
13893
13894 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13895
13896 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13899
13900 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13901 types.
13902 (grub_hfsplus_btree_recoffset): Likewise.
13903 (grub_hfsplus_btree_recptr): Likewise.
13904 (grub_hfsplus_find_block): Likewise.
13905 (grub_hfsplus_btree_search): Likewise.
13906 (grub_hfsplus_read_block): Likewise.
13907 (grub_hfsplus_read_file): Likewise.
13908 (grub_hfsplus_mount): Likewise.
13909 (grub_hfsplus_btree_iterate_node): Likewise.
13910 (grub_hfsplus_btree_search): Likewise.
13911 (grub_hfsplus_iterate_dir): Likewise.
13912 (grub_hfsplus_read): A small code simplification.
13913
13914 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/kern/emu/hostdisk.c
13917 (convert_system_partition_to_system_disk): Don't assume that children
13918 of mapper nodes are mapper nodes.
13919
13920 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13923 * include/grub/misc.h (grub_isxdigit): New function.
13924 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13925 switched to grub_isxdigit.
13926 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13927 number starting with a letter.
13928
13929 2011-10-09 Robert Millan <rmh@gnu.org>
13930
13931 LVM support for FreeBSD and GNU/kFreeBSD.
13932
13933 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13934 GNU/kFreeBSD.
13935 (LVM_DEV_MAPPER_STRING): Move from here ...
13936 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13937 * util/getroot.c: Include `<grub/util/lvm.h>'.
13938 (grub_util_get_dev_abstraction): Enable
13939 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13940 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13941 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13942 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13943 support it.
13944 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13945 GNU/kFreeBSD.
13946 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13947 when LVM abstraction is required for ${GRUB_DEVICE}.
13948
13949 2011-10-06 Szymon Janc <szymon@janc.net.pl>
13950
13951 Add support for LZO compression in GRUB:
13952 - import of minilzo library,
13953 - LZO decompression for btrfs,
13954 - lzop files decompression.
13955
13956 * grub-core/io/lzopio.c: New file.
13957 * grub-core/lib/adler32.c: Likewise.
13958 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13959 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13960 * grub-core/lib/minilzo/minilzo.c: Likewise.
13961 * grub-core/lib/minilzo/minilzo.h: Likewise.
13962 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13963 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13964 grub-core/lib/minilzo/minilzo.c to common.
13965 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13966 cflags in cppflags.
13967 * grub-core/Makefile.core.def (btrfs): Likewise.
13968 * grub-core/Makefile.core.def (lzopio): New module.
13969 (adler32): Likewise.
13970 * grub-core/fs/btrfs.c: Include minilzo.h.
13971 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13972 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13973 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13974 (grub_btrfs_lzo_decompress): New function.
13975 (grub_btrfs_extent_read): Add support for LZO compression type.
13976 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13977 (GRUB_USHRT_MAX): Likewise.
13978 (GRUB_UINT_MAX): Likewise.
13979 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13980 (UINT_MAX): Likewise.
13981 (CHAR_BIT): Likewise.
13982 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13983 grub-core/lib/posix_wrap/limits.h
13984 (UCHAR_MAX): Likewise.
13985 * include/grub/file.h (grub_file_filter_id): New compression filter
13986 GRUB_FILE_FILTER_LZOPIO.
13987 * include/grub/file.h (grub_file_filter_id): Set
13988 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13989 * include/grub/types.h (grub_get_unaligned16): New function.
13990 (grub_get_unaligned32): Likewise.
13991 (grub_get_unaligned64): Likewise.
13992 * util/import_gcry.py (cryptolist): Add adler32.
13993
13994 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13997 in perspective decreases the complexity of build system and fixes
13998 compilation right now.
13999
14000 2011-10-01 Ales Nesrsta <starous@volny.cz>
14001
14002 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
14003 (fixed problem related to using UHCI with coreboot).
14004
14005 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14006
14007 * gentpl.py: Use Autogen macros so that the output template file
14008 (Makefile.tpl) size is reduced.
14009
14010 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
14011
14012 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
14013 extra_dist.
14014
14015 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14016
14017 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
14018 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
14019
14020 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14021
14022 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
14023 _fullpath.
14024
14025 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
14026
14027 Remove extra declaration of sleep for mingw32.
14028
14029 * util/misc.c (sleep) [__MINGW32__]: Removed.
14030 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
14031
14032 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
14033
14034 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
14035 type and packname.
14036 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
14037 Resurrected.
14038 (NETBSD_BTINFO_BOOTWEDGE): New definition.
14039 (grub_netbsd_btinfo_bootwedge): New struct.
14040 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
14041 New function.
14042 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
14043
14044 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
14045
14046 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
14047 loader.
14048
14049 2011-09-28 Andreas Born <futur.andy@googlemail.com>
14050
14051 Fix incorrect identifiers in bash-completion.
14052
14053 * util/bash-completion.d/grub-completion.bash.in
14054 (_grub_mkpasswd-pbkdf2): Rename to ...
14055 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
14056 (_grub_script-check): Rename to ...
14057 (_grub_script_check): ... this. All users updated.
14058
14059 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14062 Return 0 if disk isn't biosdisk.
14063
14064 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14065
14066 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
14067 on NetBSD.
14068 * Makefile.util.def (grub-fstest): Likewise.
14069
14070 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
14071
14072 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
14073 Get sector size from disk label.
14074
14075 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
14076
14077 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
14078 */README* as well as README*.
14079 Reported by: Axel Beckert.
14080
14081 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
14084 case of less than 256 MiB of RAM.
14085
14086 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * grub-core/commands/wildcard.c (make_regex): Handle @.
14089
14090 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * util/grub-install.in: Move cryptodisk logic to appropriate place.
14093
14094 2011-08-21 Szymon Janc <szymon@janc.net.pl>
14095
14096 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
14097 AC_LANG_CONFTEST macros.
14098
14099 2011-08-20 Szymon Janc <szymon@janc.net.pl>
14100
14101 Add grub-fstest option to uncompress data for commands.
14102
14103 * util/grub-fstest.c (uncompress): New var.
14104 (options): New option -u.
14105
14106 2011-08-20 Szymon Janc <szymon@janc.net.pl>
14107
14108 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
14109 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
14110
14111 2011-08-20 Szymon Janc <szymon@janc.net.pl>
14112
14113 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
14114 file type was not recognized correctly (not gzip or corrupted).
14115
14116 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
14119 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
14120
14121 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
14124 loongson.
14125 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14126 video_radeon_fuloong2e.
14127 * grub-core/video/radeon_fuloong2e.c: New file.
14128 * include/grub/video.h (grub_video_id_t): Add new ID
14129 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
14130
14131 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
14134 define.
14135 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
14136 that PRID matches the detected subplatform and reset the subplatform
14137 if it doesn't.
14138
14139 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
14142
14143 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 Fix PCI iterating on functions >= 4.
14146
14147 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
14148 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
14149 Removed.
14150 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
14151 (grub_pci_read): Fix bitmask.
14152 (grub_pci_read_word): Likewise.
14153 (grub_pci_read_byte): Likewise.
14154 (grub_pci_write): Likewise.
14155 (grub_pci_write_word): Likewise.
14156 (grub_pci_write_byte): Likewise.
14157
14158 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
14161 can still be specified in TARGET_CFLAGS)
14162
14163 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14164
14165 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
14166
14167 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
14168 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
14169 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
14170 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
14171 (FULOONG): Rename to ...
14172 (FULOONG2F): ... this. All users updated.
14173 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
14174 (machtype_fuloong2f_str): ... this.
14175 (machtype_fuloong2e_str): New string.
14176 Check for machtype_fuloong2e_str.
14177 * grub-core/loader/mips/linux.c (loongson_machtypes)
14178 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
14179 * grub-core/term/serial.c (loongson_defserial)
14180 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
14181 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
14182 loongson_defserial.
14183 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
14184 Rename to ...
14185 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
14186 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
14187 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
14188 to IMAGE_FULOONG2F_FLASH. All users updated.
14189 (image_targets): Rename images.
14190 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
14191
14192 2011-08-19 Szymon Janc <szymon@janc.net.pl>
14193
14194 Make enable of disk cache statistics code configurable.
14195
14196 * configure.ac: --enable-cache-stats added.
14197 * config.h.in (DISK_CACHE_STATS): New define.
14198 * grub-core/Makefile.core.def (cacheinfo): New command.
14199 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
14200 * grub-core/commands/cacheinfo.c: New file.
14201 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
14202 moved to cacheinfo.c.
14203 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
14204 debug code.
14205 * include/grub/disk.h: Likewise.
14206
14207 2011-08-19 Szymon Janc <szymon@janc.net.pl>
14208
14209 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
14210 * grub-core/Makefile.am: Likewise.
14211
14212 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
14215 non-zero pull.
14216
14217 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
14220 All users updated.
14221 (grub_jfs_lookup_symlink): Use correct starting inode.
14222
14223 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * util/grub-setup.c (main): Add missing gcry initialisation.
14226
14227 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Don't accept text modes on EFI when booting Linux.
14230
14231 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
14232 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
14233
14234 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
14235 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
14236
14237 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
14238 use of "/path/.." as in grub-install for EFI as well as handling
14239 symlinks correctly.
14240 Fixes Debian bug #637768.
14241
14242 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
14243
14244 * util/grub-probe.c: Remove duplicate #include.
14245
14246 2011-08-10 Robert Millan <rmh@gnu.org>
14247
14248 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
14249
14250 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
14251 function.
14252 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
14253 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
14254
14255 2011-08-03 Robert Millan <rmh@gnu.org>
14256
14257 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
14258 la_array as packed.
14259 Reported by: Zachary Bedell
14260
14261 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
14262
14263 * configure.ac: The Loongson port requires grub-mkfont due to its
14264 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
14265 be built.
14266
14267 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
14268
14269 * util/grub-install.in: Don't source grub-mkconfig_lib until after
14270 processing arguments (otherwise help2man fails when GRUB has not yet
14271 been installed).
14272
14273 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 New script grub-mkstandalone.
14276
14277 * Makefile.util.def (grub-mkstandalone): New script.
14278 * docs/man/grub-mkstandalone.h2m: New file.
14279 * util/grub-mkstandalone.in: Likewise.
14280
14281 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 Support ATA disks with 4K sectors.
14284
14285 * include/grub/ata.h (grub_ata): New member log_sector_size.
14286 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
14287 (grub_ata_identify): Read sector size.
14288 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
14289
14290 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * util/grub-install.in: Don't use uhci outside of x86.
14293
14294 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * util/grub-mkrescue.in: Add missing quotes.
14297
14298 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
14301 dereference.
14302
14303 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
14306
14307 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * include/grub/video.h: add missing EXPORT_FUND on
14310 grub_video_edid_checksum and grub_video_edid_preferred_mode.
14311
14312 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 * include/grub/mips/kernel.h: Fix define conflict.
14315
14316 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
14319 all four ways.
14320
14321 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
14322
14323 Preferred resolution detection for VBE.
14324
14325 * grub-core/video/video.c (grub_video_edid_checksum): New function.
14326 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
14327 the Flat Panel extension, in line with the X.org VESA driver.
14328 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
14329 New function.
14330 (grub_vbe_bios_get_ddc_capabilities): Likewise.
14331 (grub_vbe_bios_read_edid): Likewise.
14332 (grub_vbe_get_preferred_mode): Likewise.
14333 (grub_video_vbe_setup): When the mode is "auto", try to get the
14334 preferred mode from VBE, and use the largest mode that is no larger
14335 than the preferred mode (some BIOSes expose a preferred mode that is
14336 not in their mode list!). If this fails, fall back to 640x480 as a
14337 safe conservative choice.
14338 (grub_video_vbe_get_edid): New function.
14339 (grub_video_vbe_adapter): Add get_edid.
14340 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14341 (struct grub_video_adapter): Add get_edid.
14342 (grub_video_edid_checksum): Add prototype.
14343 (grub_video_edid_preferred_mode): Likewise.
14344 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14345 structure.
14346
14347 * grub-core/commands/videoinfo.c (print_edid): New function.
14348 (grub_cmd_videoinfo): Print EDID if available.
14349
14350 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14351 is more appropriate on a wider range of platforms than 640x480.
14352 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14353 documentation.
14354
14355 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14358
14359 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * po/POTFILES.in: Regenerate.
14362
14363 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14366 incorrect memory usage.
14367
14368 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * util/grub-install.in: Source grub-mkconfig_lib.
14371
14372 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 Remove getroot.c from core on emu platform.
14375
14376 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14377 kern/emu/raid.c.
14378 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14379 useless.
14380 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14381 * util/getroot.c (get_win32_path): ... here.
14382 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14383 * util/getroot.c (fini_libzfs): ... here.
14384 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14385 * util/getroot.c (grub_get_libzfs_handle): ... here.
14386 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14387 Moved from here...
14388 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14389 * grub-core/kern/emu/misc.c
14390 (grub_make_system_path_relative_to_its_root): Moved from here...
14391 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14392 * grub-core/kern/emu/getroot.c: Moved from here ...
14393 * util/getroot.c: ... here. All users updated.
14394 * grub-core/kern/emu/raid.c: Moved from here ...
14395 * util/raid.c: ... here. All users updated.
14396
14397 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * po/POTFILES.in: Regenerate.
14400
14401 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Fix compilation on GNU/Linux.
14404
14405 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14406 Disable geli.
14407 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14408 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14409 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14410
14411 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14412 2011-07-07 Michael Gorven <michael@gorven.za.net>
14413 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14414
14415 LUKS and GELI support.
14416
14417 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14418 grub-core/disk/luks.c, grub-core/disk/geli.c,
14419 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14420 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14421 grub-core/lib/arg.c.
14422 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14423 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14424 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14425 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14426 (grub-bin2h): Add libgcry.a.
14427 (grub-mkimage): Likewise.
14428 (grub-mkrelpath): Likewise.
14429 (grub-script-check): Likewise.
14430 (grub-editenv): Likewise.
14431 (grub-mkpasswd-pbkdf2): Likewise.
14432 (grub-pe2elf): Likewise.
14433 (grub-fstest): Likewise.
14434 (grub-mkfont): Likewise.
14435 (grub-mkdevicemap): Likewise.
14436 (grub-probe): Likewise.
14437 (grub-ofpath): Likewise.
14438 (grub-mklayout): Likewise.
14439 (example_unit_test): Likewise.
14440 (grub-menulst2cfg): Likewise.
14441 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14442 * grub-core/Makefile.core.def (cryptodisk): New module.
14443 (luks): Likewise.
14444 (geli): Likewise.
14445 * grub-core/disk/AFSplitter.c: New file.
14446 * grub-core/disk/cryptodisk.c: Likewise.
14447 * grub-core/disk/geli.c: Likewise.
14448 * grub-core/disk/luks.c: Likewise.
14449 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14450 grub_util_is_lvm.
14451 (grub_util_get_dm_abstraction): New function.
14452 (grub_util_follow_gpart_up): Likewise.
14453 (grub_util_get_geom_abstraction): Likewise.
14454 (grub_util_get_dev_abstraction): Use new functions.
14455 (grub_util_pull_device): Pull GELI and LUKS.
14456 (grub_util_get_grub_dev): Handle LUKS and GELI.
14457 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14458 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14459 (follow_geom_up): Removed.
14460 (grub_util_fd_seek): New function.
14461 (open_device): Use grub_util_fd_seek.
14462 (nread): Rename to ..
14463 (grub_util_fd_read): ... this. All users updated.
14464 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14465 (grub_crypto_cbc_decrypt): Likewise.
14466 (grub_crypto_hmac_write): Likewise.
14467 (grub_crypto_hmac_buffer): Likewise.
14468 (grub_password_get): Extend to util.
14469 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14470 New member modname.
14471 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14472 * include/grub/cryptodisk.h: New file.
14473 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14474 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14475 LUKS and GELI.
14476 (grub_util_follow_gpart_up): New proto.
14477 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14478 (grub_util_fd_read): Likewise.
14479 (grub_cryptodisk_cheat_mount): Likewise.
14480 (grub_util_cryptodisk_print_uuid): Likewise.
14481 (grub_util_get_fd_sectors): Likewise.
14482 * util/grub-fstest.c (mount_crypt): New var.
14483 (fstest): Mount crypto if requested.
14484 (options): New option -C.
14485 (argp_parser): Parse -C.
14486 (main): Init and fini gcry.
14487 * util/grub-install.in: Support cryptodisk install.
14488 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14489 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14490 cryptodisk.
14491 (prepare_grub_to_access_device): Likewise.
14492 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14493 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14494 (probe_cryptodisk_uuid): New function.
14495 (probe_abstraction): Likewise.
14496 (probe): Use new functions.
14497 * util/import_gcry.py: Create Makefile.utilgcry.def.
14498 Add modname member.
14499
14500 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14501
14502 Lazy device scanning.
14503
14504 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14505 (grub-setup): Remove util/raid.c.
14506 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14507 * grub-core/disk/lvm.c (scan_depth): New variable.
14508 (grub_lvm_iterate): Rescan if necessary.
14509 (find_lv): New function based on grub_lvm_open.
14510 (grub_lvm_open): Use find_lv. Rescan on error.
14511 (is_node_readable): New function.
14512 (is_lv_readable): Likewise.
14513 (grub_lvm_scan_device): Skip already found disks.
14514 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14515 Stop if searched device is found and readable.
14516 * grub-core/disk/raid.c (inscnt): New variable.
14517 (scan_depth): Likewise.
14518 (scan_devices): New function based on grub_raid_register. Abort if
14519 looked for device is found.
14520 (grub_raid_iterate): Rescan if needed.
14521 (find_array): NEw function based on -grub_raid_open.
14522 (grub_raid_open): Use find_array and rescan.
14523 (insert_array): Set became_readable_at.
14524 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14525 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14526 New function.
14527 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14528 (grub_util_pull_device): New function.
14529 (grub_util_get_grub_dev): Call grub_util_pull_device.
14530 * util/raid.c: Moved to ..
14531 * grub-core/kern/emu/raid.c: ... here.
14532 (grub_util_raid_getmembers): New parameter "bootable".
14533 All users updated. Support 1.x.
14534 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14535 All users updated.
14536 * include/grub/disk.h (grub_disk_pull_t): New enum.
14537 (grub_disk_dev): Change iterate prototype.
14538 All users updated.
14539 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14540 New proto.
14541 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14542 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14543 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14544 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14545 All users updated.
14546 * include/grub/util/raid.h: Removed.
14547
14548 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * po/POTFILES.in: Regenerate.
14551
14552 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 Unify sparc init with other ieee1275.
14555
14556 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14557 instead of kern/sparc64/ieee1275/init.c.
14558 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14559 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14560 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14561 grub/machine/kernel.h.
14562 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14563 (grub_claim_heap) [__sparc__]: Use sparc version.
14564 (grub_machine_init): Moved args parsing to
14565 (grub_parse_cmdline): ...this.
14566 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14567 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14568 New definition.
14569 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14570
14571 Move BOOTP to separate file.
14572
14573 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14574 * grub-core/net/net.c: Move all BOOTP functions to
14575 * grub-core/net/bootp.c: ... here.
14576
14577 Use frame interface on PXE.
14578
14579 * grub-core/Makefile.core.def (pxecmd): Removed.
14580 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14581 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14582 * grub-core/i386/pc/pxe.c: Moved from here ...
14583 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14584 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14585 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14586
14587 EFI network support.
14588
14589 * grub-core/Makefile.core.def (efinet): New module.
14590 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14591 here...
14592 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14593 All users updated.
14594 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14595 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14596 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14597 * grub-core/net/drivers/efi/efinet.c: New file.
14598 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14599 (grub_efi_net_config): New extern var.
14600
14601 Various cleanups and bugfixes.
14602
14603 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14604 error.
14605 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14606 disk declared as partition.
14607 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14608 leak on failure.
14609 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14610 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14611 (grub_debug_zalloc): Likewise.
14612 (grub_debug_realloc): Likewise.
14613 (grub_debug_memalign): Likewise.
14614 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14615 Check that target is IPv4.
14616 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14617 local-mac-address as fallback.
14618 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14619 memory leak.
14620 * grub-core/net/ip.c (ipchksum): Rename to ...
14621 (grub_net_ip_chksum): ... this. All users updated.
14622 (grub_net_recv_ip_packets): Special handling for DHCP.
14623 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14624
14625 Unify prefix handling
14626
14627 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14628 (grub_machine_get_bootlocation): ... this.
14629 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14630 (grub_machine_get_bootlocation): ... this.
14631 (grub_prefix): New variable.
14632 (prefix): Removed.
14633 (root_dev): New variable.
14634 (dir): Likewise.
14635 (main): Use new variables.
14636 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14637 Revamped into ...
14638 (grub_machine_get_bootlocation): ... this.
14639 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14640 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14641 (grub_machine_get_bootlocation): ... this.
14642 (grub_machine_set_prefix): Removed.
14643 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14644 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14645 Revamped into ...
14646 (grub_machine_get_bootlocation): ... this.
14647 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14648 (grub_set_prefix_and_root): ... this. All users updated.
14649 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14650 Revamped into ...
14651 (grub_machine_get_bootlocation): ... this.
14652 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14653 (grub_machine_get_bootlocation): New proto.
14654 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14655
14656 Less intrusive and more reliable seek on network implementation.
14657
14658 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14659 (grub_file_seek): Don't call grub_file_net_seek.
14660 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14661 (grub_net_fs_read_real): .. this.
14662 (grub_net_seek_real): Use net->offset.
14663 (grub_net_fs_read): Seek if necessary.
14664
14665 Unify IEEE1275 netwotk config with the other platforms.
14666
14667 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14668 New variable.
14669 (grub_machine_get_bootlocation): Support network.
14670 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14671 Support type and device parsing.
14672 (grub_ieee1275_get_device_type): New function.
14673 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14674 into ...
14675 (grub_ieee1275_net_config_real): ... this.
14676 (grub_ofnet_probecards): Removed.
14677 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14678 * include/grub/ieee1275/ofnet.h: Removed.
14679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14680 extern var.
14681 (grub_ieee1275_get_device_type): New function.
14682
14683 Unify network device closing across platforms and make more robust.
14684
14685 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14686 grub_grubnet_fini.
14687 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14688 already.
14689 * grub-core/net/net.c (grub_net_network_level_interface_register):
14690 Update num_ifaces.
14691 (grub_net_card_unregister): Close all interfaces.
14692 (receive_packets): Don't poll if no iterfaces are registered.
14693 Open if necessary.
14694 (grub_net_fini_hw): New function.
14695 (grub_net_restore_hw): Likewise.
14696 (fini_hnd): New variable.
14697 (GRUB_MOD_INIT): Register preboot hook.
14698 (GRUB_MOD_FINI): Run and unregister preboot hook.
14699
14700 Poll network cards when idle.
14701
14702 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14703 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14704 * grub-core/net/net.c (receive_packets): Save last poll time.
14705 (grub_net_poll_cards_idle_real): New function.
14706 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14707 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14708 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14709
14710 Rename ofnet interfaces.
14711
14712 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14713 (grub_ofnet_findcards): Use ofnet_%s names.
14714
14715 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14716
14717 Cleanup socket opening.
14718
14719 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14720 (grub_net_fs_close): Likewise.
14721 (grub_net_fs_read_real): Use eof member.
14722 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14723 (+grub_net_udp_close): New inline function.
14724
14725 * include/grub/net/tftp.h: Moved to the top of ...
14726 * grub-core/net/tftp.c: ... here.
14727 * include/grub/net/ip.h: Moved mostly to the top of ...
14728 * grub-core/net/ip.c: ... here.
14729 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14730 * grub-core/net/ethernet.c: ... here.
14731
14732 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14733
14734 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14735 FS name.
14736
14737 * include/grub/net/ip.h (ipv4_ini): Removed.
14738 (ipv4_fini): Likewise.
14739
14740 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14741 (grub_net_send_ip_packets): Likewise.
14742
14743 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14746 grub_read_cmos prototype.
14747
14748 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 VGA text support in qemu-mips
14751
14752 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14753 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14754 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14755 text.
14756 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14757 * grub-core/kern/vga_init.c: ... this.
14758 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14759 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14760 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14761 Adjust.
14762 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14763 GRUB_MACHINE_PCI_IO_BASE.
14764
14765 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 MIPS qemu flash support.
14768
14769 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14770 magic.
14771 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14772 (grub_machine_init): Probe memory if its size isn't known.
14773 * util/grub-mkimage.c (image_targets): Add flash targets.
14774 (generate_image): Handle flash targets.
14775
14776 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 MIPS qemu at_keyboard support.
14779
14780 * gentpl.py (videoinkernel): Add qemu-mips.
14781 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14782 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14783 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14784 modules.
14785 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14786 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14787 * grub-core/term/serial.c (grub_serial_register)
14788 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14789
14790 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 CMOS support on sparc.
14793
14794 * gentpl.py (cmos): Add powerpc and sparc.
14795 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14796 powerpc and sparc.
14797 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14798 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14799 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14800 grub_set_datetime_cmos.
14801 * grub-core/lib/ieee1275/cmos.c: New file.
14802 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14803 (find_rtc): Set no_ieee1275_rtc on error.
14804 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14805 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14806 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14807 fail. Move value to argument. All users updated
14808 (grub_cmos_write): Likewise.
14809 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14810 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14811 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14812 grub_get_datetime_cmos and grub_set_datetime_cmos.
14813
14814 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14815
14816 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14817 sourcing grub-mkconfig_lib.
14818 * util/update-grub_lib.in: Likewise.
14819 * util/grub.d/00_header.in: Likewise.
14820 * util/grub.d/10_hurd.in: Likewise.
14821 * util/grub.d/10_kfreebsd.in: Likewise.
14822 * util/grub.d/10_linux.in: Likewise.
14823 * util/grub.d/10_netbsd.in: Likewise.
14824 * util/grub.d/10_windows.in: Likewise.
14825 * util/grub.d/20_linux_xen.in: Likewise.
14826 * util/grub.d/30_os-prober.in: Likewise.
14827
14828 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
14829
14830 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14831 default_bg_color rather than black.
14832 (grub_gfxterm_fullscreen): Likewise.
14833 (grub_gfxterm_background_color_cmd): Save new background color in
14834 default_bg_color.
14835
14836 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14839
14840 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14841
14842 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14843 mismerge.
14844
14845 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 Chainloading on coreboot support.
14848
14849 * grub-core/Makefile.core.def (chain): Add coreboot.
14850 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14851
14852 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14855 if it happens.
14856
14857 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 Implement time command.
14860
14861 * grub-core/Makefile.core.def (time): New module.
14862 * grub-core/commands/time.c: New file.
14863 * grub-core/script/parser.y: Remove "time" keyword.
14864 * grub-core/script/yylex.l: Likewise.
14865
14866 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14869
14870 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14871
14872 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14873 when handling leftovers.
14874
14875 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14878 so that help2man doesn't fail.
14879
14880 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14883 type in pointers on sparc64.
14884 (get_card_packet): Likewise.
14885
14886 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
14887
14888 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14889 with `*'.
14890 (grub_cmd_videoinfo): Fetch current video mode.
14891
14892 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14895 because of underlying system restrictions.
14896
14897 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14900 necessary.
14901
14902 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 Coreboot video support.
14905
14906 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14907 (vbe): Likewise.
14908 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14909 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14910 here ...
14911 * grub-core/kern/i386/int.S: ... here.
14912 * grub-core/video/i386/pc/vbe.c: Updated includes.
14913 * grub-core/video/i386/pc/vga.c: Likewise.
14914 * include/grub/i386/coreboot/memory.h
14915 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14916 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14917 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14918 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14919 Disable interrupts.
14920 * include/grub/i386/pc/vga.h: Removed. All users updated.
14921
14922 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14925 definitions for dprintf.
14926 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14927
14928 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14931 prototype.
14932 (get_card_packet): Likewise.
14933
14934 2011-06-26 Yves Blusseau <blusseau@zetam.org>
14935
14936 Display the path of the file when file is not found
14937
14938 * grub-core/fs/fat.c: Display the filename when file is not found.
14939 * grub-core/fs/fshelp.c: Likewise.
14940 * grub-core/fs/hfs.c: Likewise.
14941 * grub-core/fs/jfs.c: Likewise.
14942 * grub-core/fs/minix.c: Likewise.
14943 * grub-core/fs/ufs.c: Likewise.
14944 * grub-core/fs/btrfs.c: Likewise.
14945 * grub-core/commands/i386/pc/play.c: Likewise.
14946
14947 2011-06-26 Szymon Janc <szymon@janc.net.pl>
14948
14949 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14950 pointer checks before calling grub_free().
14951 * grub-core/commands/wildcard.c (match_devices): Likewise.
14952 * grub-core/commands/wildcard.c (match_files): Likewise.
14953 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14954 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14955 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14956 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14957 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14958 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14959 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14960 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14961 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14962
14963 2011-06-25 Patrick <p55@mailinator.com>
14964
14965 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14966
14967 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14970 (grub_pxe_send): Likewise.
14971 (GRUB_MOD_INIT): Fix types.
14972
14973 2011-06-24 Szymon Janc <szymon@janc.net.pl>
14974
14975 * grub-core/io/xzio.c: Fix code style issues
14976
14977 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14978 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
14979
14980 Network infrastructure.
14981 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14982
14983 * include/grub/net/arp.h: New file.
14984 * include/grub/net/device.h: Likewise.
14985 * include/grub/net/ethernet.h: Likewise.
14986 * include/grub/net/ip.h: Likewise.
14987 * include/grub/net/netbuff.h: Likewise.
14988 * include/grub/net/tftp.h: Likewise.
14989 * include/grub/net/udp.h: Likewise.
14990 * include/grub/ieee1275/ofnet.h: Likewise.
14991 * include/grub/emu/export.h: Likewise.
14992 * include/grub/net.h: Likewise.
14993 * grub-core/net/arp.c: Likewise.
14994 * grub-core/net/ethernet.c: Likewise.
14995 * grub-core/net/ip.c: Likewise.
14996 * grub-core/net/udp.c: Likewise.
14997 * grub-core/net/tftp.c: Likewise.
14998 * grub-core/net/netbuff.c: Likewise.
14999 * grub-core/net/net.c: Likewise.
15000 * grub-core/net/drivers/emu/emunet.c: Likewise.
15001 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
15002 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
15003 export.h.
15004 * grub-core/Makefile.core.def (net): New module.
15005 (tftp): Likewise.
15006 (ofnet): Likewise.
15007 (emunet): Likewise.
15008 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
15009 network protocols.
15010 * grub-core/kern/device.c (grub_net_open) : New variable.
15011 (grub_device_open): Handle network device.
15012 (grub_device_close): Likewise.
15013 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
15014 (grub_grubnet_fini): Likewise.
15015 (grub_file_seek): Seek in network device.
15016 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
15017 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
15018 network root.
15019 (grub_machine_fini): Call grub_grubnet_fini.
15020 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
15021 network.
15022 (grub_ieee1275_get_aliasdevname): New function.
15023 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15024 Add unofficial Solaris network info.
15025 (grub_multiboot_make_mbi): Likewise.
15026 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
15027 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
15028 * include/grub/device.h (grub_fs): Removed.
15029 * include/grub/err.h (grub_err_t): Add network-related values.
15030 * include/grub/i386/pc/pxe.h: Removed bootp parts.
15031 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
15032 (grub_ieee1275_get_aliasdevname): New proto.
15033 * include/grub/net.h: Rewritten.
15034
15035 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
15038 names.
15039
15040 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
15043 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
15044 it truncates the output.
15045 Reported by: Ximin Luo.
15046
15047 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
15050
15051 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15054 partmap before abstraction.
15055
15056 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
15057
15058 * util/grub-mkconfig_lib.in: Add missing quotes.
15059
15060 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
15063 old method if mountinfo would return /dev/root and /dev/root doesn't
15064 exist.
15065
15066 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 ZFS zlib support
15069
15070 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
15071 (decomp_table): Add zlib entries.
15072 (zio_read): USe 8 bits for compression function rather than 3.
15073 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
15074
15075 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * grub-core/disk/ahci.c: Add missing license statements.
15078 * grub-core/fs/romfs.c: Likewise.
15079 * grub-core/lib/ia64/setjmp.S: Likewise.
15080 * grub-core/loader/i386/pc/freedos.c: Likewise.
15081 * grub-core/loader/ia64/efi/linux.c: Likewise.
15082 * grub-core/video/colors.c: Likewise.
15083 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
15084
15085 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 AHCI support.
15088
15089 * grub-core/Makefile.core.def (ata_pthru): Removed.
15090 (ahci): New module.
15091 (pata): Likewise.
15092 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
15093 on unload.
15094 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
15095 readwrite.
15096 (grub_hdparm_do_check_powermode_cmd): Likewise.
15097 (grub_hdparm_do_smart_cmd): Likewise.
15098 (grub_hdparm_set_val_cmd): Likewise.
15099 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
15100 * grub-core/disk/ahci.c: New file.
15101 * grub-core/disk/ata.c: Factor out the low-level part into ...
15102 * grub-core/disk/pata.c: ... here.
15103 * grub-core/disk/ata_pthru.c: Contents moved to ...
15104 * grub-core/disk/pata.c: ... here.
15105 * grub-core/disk/scsi.c (grub_scsi_names): New array.
15106 (grub_scsi_iterate): Use grub_scsi_names.
15107 (grub_scsi_open): Likewise.
15108 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
15109 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
15110 (grub_ata_regs_t): New struct.
15111 (grub_disk_ata_pass_through_parms): Likewise.
15112 (grub_ata_device): Renamed to ...
15113 (grub_ata): ... this.
15114 (grub_ata_dev): New struct.
15115 Removed all low-level inline functions.
15116 * include/grub/scsi.h: Add PATA and AHCI subsystems.
15117 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
15118 iterate hooks and open. All users updated.
15119 * util/grub-install.in: Handle AHCI disk module.
15120
15121 2011-06-23 Szymon Janc <szymon@janc.net.pl>
15122
15123 Add support for DRI and RSTn markers in JPEG files.
15124
15125 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
15126 (JPEG_MARKER_RST0): Likewise.
15127 (JPEG_MARKER_RST1): Likewise.
15128 (JPEG_MARKER_RST2): Likewise.
15129 (JPEG_MARKER_RST3): Likewise.
15130 (JPEG_MARKER_RST4): Likewise.
15131 (JPEG_MARKER_RST5): Likewise.
15132 (JPEG_MARKER_RST6): Likewise.
15133 (JPEG_MARKER_RST7): Likewise.
15134 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
15135 (grub_jpeg_decode_dri): New function.
15136 (grub_jpeg_decode_sos): Move image data related part into
15137 grub_jpeg_decode_data function.
15138 (grub_jpeg_decode_data): New function.
15139 (grub_jpeg_reset): New function.
15140 (grub_jpeg_decode_jpeg): Handle new markers.
15141
15142 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * util/ieee1275/ofpath.c (check_sas): Close fd.
15145 (main): Free of_path.
15146 Reported by: David Volgyes <dvolgyes>.
15147
15148 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
15151 Reported by: David Volgyes <dvolgyes>.
15152
15153 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
15156 file after stat.
15157 Reported by: David Volgyes <dvolgyes>.
15158
15159 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
15162
15163 Reported by: David Volgyes <dvolgyes>.
15164
15165 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
15168 Prevent memory leak.
15169
15170 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
15173 (main): Close file.
15174 Reported by: David Volgyes <dvolgyes>.
15175
15176 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
15179 to continue if allocation is failed.
15180
15181 Reported by: David Volgyes <dvolgyes>.
15182
15183 2011-06-23 David Volgyes <dvolgyes>
15184
15185 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
15186 dereference.
15187
15188 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 Fix spurious warning.
15191
15192 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
15193 (acorn_partition_map_find): Use .bin member.
15194
15195 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
15198 /dev/root as a valid device.
15199
15200 2011-06-23 Jim Meyering <meyering@redhat.com>
15201
15202 Avoid NULL deref in grub_device_open.
15203
15204 * grub-core/kern/device.c (grub_device_open): Don't dereference
15205 a NULL pointer upon failed grub_env_get.
15206
15207 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 Support non-512B sectors and agglomerate reads.
15210
15211 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
15212 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
15213 (disk_io_guid): Removed.
15214 (make_devices): Locate solely by BlockIO.
15215 (grub_efidisk_open): Fill log_sector_size and total_sectors.
15216 (grub_efidisk_read): Use read_blocks.
15217 (grub_efidisk_write): Use write_blocks.
15218 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
15219 log_sector_size.
15220 (get_safe_sectors): Handle non-512B sectors.
15221 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
15222 sectors.
15223 (grub_biosdisk_write): Handle non-512B sectors.
15224 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
15225 (grub_scsi_read): Remove special non-512B block handling (now handled
15226 one level up).
15227 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
15228 and do sanity checks.
15229 (grub_disk_adjust_range): Handle non-512B sectors.
15230 (transform_sector): New function.
15231 (grub_disk_read_small): Likewise.
15232 (grub_disk_read): Rewritten.
15233 (grub_disk_write): Handle non-512B sectors.
15234 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
15235 log_sector_size.
15236 (open_device): Use log_sector_size.
15237 (grub_util_biosdisk_read): Likewise.
15238 (grub_util_biosdisk_write): Likewise.
15239 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
15240 non-512B sectors.
15241 (pc_partition_map_embed): Likewise.
15242 * include/grub/disk.h (grub_disk): New field log_sector_size.
15243 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
15244 (GRUB_DISK_CACHE_BITS): Increased to 6.
15245 * util/grub-fstest.c (fstest): New command testload.
15246 (argp_parser): Likewise.
15247
15248 2011-06-16 Robert Millan <rmh@gnu.org>
15249
15250 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
15251 `ata' driver on kernel of FreeBSD 9.
15252
15253 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
15254 (get_ataraid_disk_name): New functions.
15255 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
15256 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
15257 get_ataraid_disk_name() and get_ada_disk_name().
15258
15259 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
15260
15261 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
15262 input format.
15263
15264 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
15265
15266 * docs/grub.texi (Obtaining and Building GRUB): Substitute
15267 `ftp.gnu.org' for `alpha.gnu.org'.
15268
15269 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
15270
15271 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
15272 partitions under /dev/disk/by-id/.
15273
15274 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
15275
15276 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
15277 after ten consecutive open failures. Scanning all the way up to
15278 10000 is excessive and can cause serious performance problems in
15279 some configurations.
15280 Fixes Ubuntu bug #787461.
15281
15282 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15283
15284 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
15285 opening new one.
15286
15287 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
15288 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 Don't stat devices unless we have to.
15291
15292 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
15293 dir == /dev/mapper.
15294 (grub_guess_root_device): Use already known os_dev if possible.
15295 * grub-core/kern/emu/hostdisk.c
15296 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
15297 if device is known to be a dm one.
15298
15299 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
15302 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
15303 Reported by: Pawel Tecza.
15304
15305 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
15308 (lsefisystab): Likewise.
15309 (lssal): Likewise.
15310 (lsefimmap): Likewise.
15311 (hdparm): Enable on qemu-mips.
15312 (setjmp): Add ia64 nodist.
15313 (serial): Simplify tags.
15314
15315 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15316
15317 * Makefile.util.def (grub-ofpathname): Install manual page.
15318
15319 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15320
15321 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
15322
15323 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15324
15325 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
15326
15327 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
15330 into dprintf.
15331
15332 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15333
15334 Use full 64-bit division.
15335
15336 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15337 (grub_divmod64): ... this.
15338 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15339 version.
15340
15341 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15344 `source'.
15345
15346 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15349 to avoid accidents when debugging with 'sh -x'.
15350 * grub-core/gensyminfo.sh.in: Likewise.
15351 * tests/example_scripted_test.in: Likewise.
15352 * tests/grub_cmd_regexp.in: Likewise.
15353 * tests/grub_script_blanklines.in: Likewise.
15354 * tests/grub_script_dollar.in: Likewise.
15355 * tests/grub_script_expansion.in: Likewise.
15356 * tests/grub_script_final_semicolon.in: Likewise.
15357 * tests/partmap_test.in: Likewise.
15358 * tests/util/grub-shell-tester.in: Likewise.
15359 * tests/util/grub-shell.in: Likewise.
15360
15361 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15362
15363 Move gfxmenu color handling to video, so that gfxterm can use it
15364 too.
15365
15366 * grub-core/gfxmenu/named_colors.c: Move to ...
15367 * grub-core/video/colors.c: ... here. Rename
15368 grub_gui_get_named_color to grub_video_get_named_color.
15369 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15370 * grub-core/video/colors.c (my_isxdigit): ... here.
15371 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15372 Move to ...
15373 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15374 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15375 to ...
15376 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15377
15378 * include/grub/gui.h (grub_gui_color_t): Move to ...
15379 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15380 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15381 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15382 * include/grub/gui.h (grub_gui_map_color): Move to ...
15383 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15384 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15385 to ...
15386 * include/grub/video.h (grub_video_get_named_color): ... here.
15387 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15388 * include/grub/video.h (grub_video_parse_color): ... here.
15389
15390 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15391 video/colors.c.
15392 (gfxmenu): Remove gfxmenu/named_colors.c.
15393 (video) [videomodules]: Add video/colors.c.
15394
15395 Add a background_color command.
15396
15397 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15398 function.
15399 (GRUB_MOD_INIT): Register background_color command.
15400 (GRUB_MOD_FINI): Unregister background_color command.
15401 (redraw_screen_rect): Allow blend/replace of text layer to be
15402 controlled independently from whether there is a background bitmap.
15403 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15404 changing bitmap.
15405
15406 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 Patch BPB in ntldr and chainloader --bpb.
15409
15410 * grub-core/fs/fat.c: Include grub/fat.h.
15411 (grub_fat_bpb): Moved to ...
15412 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15413 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15414 grub/ntfs.h.
15415 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15416 Moved from here...
15417 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15418 here.
15419 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15420 New function.
15421 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15422 (GRUB_MOD_INIT): Show --bpb.
15423 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15424 * grub-core/normal/main.c (features): New variable.
15425 (GRUB_MOD_INIT): Set feature_* variables.
15426 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15427 proto.
15428 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15429
15430 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15433 for cleanness.
15434
15435 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 FreeDOS direct loading support.
15438
15439 * docs/grub.texi (Supported OS): Add FreeDOS.
15440 * grub-core/Makefile.core.def (freedos): New module.
15441 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15442 variable.
15443 (grub_relocator16_boot): Handle %ebx.
15444 * grub-core/lib/i386/relocator16.S: Likewise.
15445 * grub-core/loader/i386/pc/freedos.c: New file.
15446
15447 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 Long Linux command line support.
15450
15451 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15452 (maximal_cmdline_size): New variable.
15453 (allocate_pages): Use maximal_cmdline_size.
15454 (grub_cmd_linux): Set and use maximal_cmdline_size.
15455 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15456 (allocate_pages): Use maximal_cmdline_size.
15457 (grub_cmd_linux): Set and use maximal_cmdline_size.
15458 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15459 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15460 and cmdline_size.
15461
15462 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15463 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
15464
15465 Improve devmapper support
15466
15467 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15468 (grub_util_is_lvm): New function.
15469 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15470 than lvm if not dmraid.
15471 Handle mapped md nodes.
15472 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15473 (grub_util_device_is_mapped): ... this. Make always available. All users
15474 updated.
15475 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15476 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15477 dmraid nodes.
15478 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15479
15480 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15483
15484 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15485 * grub-core/modinfo.sh.in: New file.
15486 * grub-core/Makefile.core.def (modinfo.sh): New script.
15487 * util/grub-mknetdir.in: Use modinfo.sh.
15488 * util/grub-mkrescue.in: Likewise.
15489
15490 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15493 Fix potential usage of Elf32 instead of Elf64 when compiling on
15494 32-bit architecture. Add endianness macros while on it.
15495
15496 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 Use mipsel- rather than mips- in directories involving mipsel ports to
15499 allow both endiannesses coexist.
15500
15501 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15502 mips. All conditions adjusted.
15503 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15504 variable.
15505 * util/grub-install.in: Adjust conditions to take renaming into account.
15506 * util/grub-mkimage.c (image_targets): Likewise. New target
15507 mips-qemu_mips-elf for bigendian mips.
15508
15509 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 Avoid unnecessary copying on MIPS.
15512
15513 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15514 early if src == dest.
15515 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15516 compression is none.
15517
15518 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 Reduce memory footprint on SGI by putting modules before the kernel
15521 as opposed to after.
15522
15523 * grub-core/Makefile.core.def (kernel): Increase linking address.
15524 (none_decompress): Likewise.
15525 (xz_decompress): Likewise.
15526 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15527 address.
15528 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15529 layout change.
15530 (grub_arch_modules_addr): New function.
15531 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15532 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15533 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15534 here.
15535 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15536 (grub_total_modules_size): ... this. Make global.
15537 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15538 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15539 New definition.
15540 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15541 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15542 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15543 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15544 * util/grub-mkimage.c (image_target_desc): New flag
15545 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15546 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15547 (generate_image): Handle images with modules before kernel.
15548
15549 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 Prevent potential loss of memory map by overwrite on qemu-mips.
15552
15553 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15554 Save ram size in $s4.
15555 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15556 All users changed to grub_arch_memsize.
15557 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15558 Loongson.
15559 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15560 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15561 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15562 external variable.
15563
15564 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
15565
15566 * .bzrignore: Remove grub-dumpbios.
15567
15568 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
15569
15570 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15571 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15572 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15573 existing options which append).
15574 * docs/grub.texi (Simple configuration): Document new options.
15575 Reported by: Ian Jackson. Fixes Debian bug #617538.
15576
15577 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
15578
15579 * util/grub-fstest.c (cmd_cat): New function.
15580 (fstest): Handle CMD_CAT.
15581 (options): Add cat.
15582 (argp_parser): Handle cat.
15583
15584 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
15585
15586 * Makefile.util.def (grub-bin2h): Don't install.
15587 * docs/man/grub-bin2h.h2m: Remove.
15588
15589 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15592 place.
15593
15594 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 Reenable qemu-mips port.
15597
15598 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15599 Fix small arc bug while on it.
15600 * gentpl.py: Handle qemu_mips.
15601 * grub-core/Makefile.am: Likewise.
15602 * grub-core/Makefile.core.def: Likewise.
15603 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15604 inappropriate includes.
15605 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15606 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15607 * grub-core/kern/main.c (grub_modules_get_end)
15608 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15609 * grub-core/kern/mips/qemu-mips: Moved to ..
15610 * grub-core/kern/mips/qemu_mips: ... this.
15611 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15612 (grub_machine_init): Call terminfo_init and serial_init.
15613 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15614 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15615 New variable.
15616 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15617 parameter passing.
15618 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15619 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15620 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15621 * include/grub/mips/qemu_mips/cmos.h: New file.
15622 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15623 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15624 Removed.
15625 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15626 Use correct mips-style address.
15627 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15628 (GRUB_TICKS_PER_SECOND): Removed.
15629 (grub_get_rtc): Likewise.
15630 (grub_cpu_idle): Likewise.
15631 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15632 New definition.
15633 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15634 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15635 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15636 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15637 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15638 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15639 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15640 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15641
15642 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 SGI ARCS port.
15645
15646 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15647 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15648 platforms.
15649 * configure.ac: New target mips-arc.
15650 * gentpl.py: Likewise.
15651 * grub-core/Makefile.am: Likewise.
15652 * grub-core/Makefile.core.def: Likewise.
15653 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15654 (none_decompress): Likewise.
15655 (lsdev): New module.
15656 (datetime): Use lib/arc/datetime.c on ARC.
15657 (part_dvh): New module.
15658 * grub-core/commands/arc/lsdev.c: New file.
15659 * grub-core/disk/arc/arcdisk.c: Likewise.
15660 * grub-core/kern/mips/arc/init.c: Likewise.
15661 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15662 aligned addresses.
15663 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15664 support.
15665 (grub_arch_dl_relocate_symbols): Likewise.
15666 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15667 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15668 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15669 platforms.
15670 * grub-core/lib/arc/datetime.c: New file.
15671 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15672 pci.h on non-loongson.
15673 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15674 (grub_linux_boot): Set unused registers to 0.
15675 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15676 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15677 * grub-core/mmap/mips/uppermem.c: ...here.
15678 * grub-core/partmap/dvh.c: New file.
15679 * grub-core/term/arc/console.c: Likewise.
15680 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15681 (grub_terminfo_set_current): Add terminal "arc".
15682 (grub_terminfo_readkey): Support ARC sequences.
15683 * include/grub/arc/arc.h: New file.
15684 * include/grub/arc/console.h: Likewise.
15685 * include/grub/disk.h (grub_disk_dev_id): Add
15686 GRUB_DISK_DEVICE_ARCDISK_ID.
15687 * include/grub/mips/arc/kernel.h: New file.
15688 * include/grub/mips/arc/memory.h: Likewise.
15689 * include/grub/mips/arc/time.h: Likewise.
15690 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15691 * include/grub/mips/kernel.h (grub_halt): ... here.
15692 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15693 here...
15694 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15695 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15696 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15697 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15698 proto.
15699 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15700 from here ...
15701 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15702 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15703 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15704 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15705 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15706 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15707 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15708 (grub_phys_addr_t): Moved from here ...
15709 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15710 (grub_vtop): Moved from here ...
15711 * include/grub/mips/memory.h (grub_vtop): ... here.
15712 (grub_map_memory): Moved from here ...
15713 * include/grub/mips/memory.h (grub_map_memory): ... here.
15714 (grub_unmap_memory): Moved from here ...
15715 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15716 (grub_machine_mmap_iterate): Moved from here ...
15717 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15718 (grub_mmap_get_lower): Moved from here ...
15719 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15720 (grub_mmap_get_upper): Moved from here ...
15721 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15722 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15723 here ...
15724 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15725 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15726 here ...
15727 * include/grub/mips/time.h (grub_get_rtc): ... here.
15728 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15729 here ...
15730 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15731 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15732 here ...
15733 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15734 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15735 definition.
15736 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15737 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15738 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15739 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15740 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15741 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15742 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15743 (GRUB_MACHINE_LINK_ADDR): Likewise.
15744 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15745 to 6.
15746 * util/grub-install.in: Run dvhtool on ARC.
15747 * util/grub-mkimage.c (image_targets): Add mips-arc.
15748 (generate_image): Handle ECOFF output for mips-arc.
15749
15750 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15753 blocks.
15754
15755 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15758 after enabling port.
15759
15760 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 Skip incorrect USB devices.
15763
15764 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15765 configcnt == 0.
15766 * include/grub/usb.h (grub_usb_err_t): New enum value
15767 GRUB_USB_ERR_BADDEVICE.
15768
15769 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Fuloong video init support.
15772
15773 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15774 well.
15775 (grub_vga_read_arx): New function.
15776 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15777 definition.
15778 (framebuffer): New members io, mmioptr and mmiobase.
15779 (read_sis_cmd): New function.
15780 (write_sis_cmd): Likewise.
15781 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15782 rather than 640x400.
15783 * grub-core/video/sis315_init.c: New file.
15784
15785 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15788 non-loongson.
15789 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15790 to grub_dl_register_symbol.
15791
15792 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 Fix compilation errors.
15795
15796 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15797 potentially unused.
15798 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15799 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15800 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15801 to loongson machines.
15802
15803 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Several FS mtime support.
15806
15807 * grub-core/fs/affs.c (grub_affs_time): New struct.
15808 (grub_affs_file): New field mtime.
15809 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15810 type. Removed 'size'. New field 'di'. All users updated.
15811 (grub_affs_mount): Simplify checsum checking.
15812 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15813 (grub_affs_dir): Handle mtime.
15814 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15815 (grub_cpio_dir): Likewise.
15816 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15817 (grub_hfs_filerec): New field mtime.
15818 (grub_hfs_dir): Handle mtime.
15819 (grub_hfs_mtime): New function.
15820 (grub_hfs_fs): Register grub_hfs_mtime.
15821 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15822 (grub_iso9660_dir): New field mtime.
15823 (grub_fshelp_node): New field dirent.
15824 (iso9660_to_unixtime): New function.
15825 (iso9660_to_unixtime2): Likewise.
15826 (grub_iso9660_read_symlink): Use node->dirent.
15827 (grub_iso9660_iterate_dir): Likewise.
15828 (grub_iso9660_dir): Set mtime.
15829 (grub_iso9660_mtime): New function.
15830 (grub_iso9660_fs): Register grub_iso9660_mtime.
15831 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15832 (grub_jfs_inode): New fields atime, ctime and mtime.
15833 (grub_jfs_dir): Set mtime.
15834 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15835 * grub-core/fs/ntfs.c (list_file): Set mtime.
15836 (grub_ntfs_dir): Likewise.
15837 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15838 (grub_reiserfs_iterate_dir): Set mtime.
15839 (grub_reiserfs_dir): Likewise.
15840 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15841 (grub_fshelp_node): Likewise.
15842 (grub_sfs_iterate_dir): Set mtime.
15843 (grub_sfs_dir): Likewise.
15844 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15845 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15846 (grub_xfs_inode): New fields atime, mtime, ctime.
15847 (grub_xfs_dir): Set mtime.
15848 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15849 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15850 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15851
15852 Support UDF symlinks.
15853
15854 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15855 (grub_ufs_read_symlink): New function. All users updated.
15856
15857 Check amiga partmap checksum.
15858
15859 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15860 (grub_amiga_partition): Likewise.
15861 (amiga_partition_map_checksum): New function.
15862 (amiga_partition_map_iterate): Check checksum.
15863
15864 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 ROMFS support.
15867
15868 * Makefile.util.def (libgrubmods.a): Add romfs.
15869 * grub-core/Makefile.core.def (romfs): New module.
15870 * grub-core/fs/romfs.c: New file.
15871
15872 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 Squashfs v4 support.
15875
15876 * Makefile.util.def (libgrubmods.a): Add squash4.
15877 * grub-core/Makefile.core.def (squash4): New module.
15878 * grub-core/fs/squash4.c: New file.
15879 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15880 disk_input_start, disk_input.
15881 (get_byte): Handle disk_input.
15882 (grub_zlib_disk_read): New function.
15883 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15884
15885 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15886 2011-05-15 Feiran Zheng <famcool@gmail.com>
15887
15888 * Makefile.util.def (libgrubmods.a): Add minix3.
15889 * grub-core/Makefile.core.def (minix3): New module.
15890 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15891 (GRUB_MINIX_BSIZE): Removed.
15892 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15893 (grub_minix_ino_t): New type.
15894 (grub_minix_le_to_cpu_ino): New macro.
15895 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15896 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15897 (grub_minix_data): New field block_size.
15898 (grub_minix_read_file): Handle 64-bit correctly.
15899 * grub-core/fs/minix3.c: New file.
15900
15901 2011-05-15 Tristan Gingold <gingold@free.fr>
15902 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
15903 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 IA64 support.
15906
15907 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15908 * configure.ac: Add ia64-efi target.
15909 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15910 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15911 * gentpl.py: Add ia64_efi platform.
15912 Rename x86_efi to efi and Add ia64-efi. All users updated.
15913 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15914 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15915 Remove kern/generic/rtc_get_time_ms.c on EFI.
15916 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15917 kern/ia64/dl_helper.c on ia64-efi.
15918 Add kern/emu/cache.c on emu.
15919 (linux): Use on loader/ia64/efi/linux.c on ia64.
15920 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15921 whether symbol is a function.
15922 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15923 (grub_symbol): New field 'isfunc'.
15924 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15925 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15926 (grub_dl_load_segments): Place all sections into the same region.
15927 [__ia64__]: Create trampolines and got.
15928 [GRUB_MACHINE_EMU]: Call mprotect.
15929 (grub_dl_resolve_symbols): Resolve symbol type as well.
15930 [__ia64__]: Create function descriptors.
15931 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15932 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15933 (grub_get_rtc): New function.
15934 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15935 * grub-core/kern/emu/cache.S: Renamed to ...
15936 * grub-core/kern/emu/cache_s.S: ... this.
15937 [__ia64__]: Add a nop.
15938 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15939 [__ia64__]: New function.
15940 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15941 * grub-core/kern/ia64/dl.c: New file.
15942 * grub-core/kern/ia64/dl_helper.c: Likewise.
15943 * grub-core/kern/ia64/efi/init.c: New file.
15944 * grub-core/kern/ia64/efi/startup.S: Likewise.
15945 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15946 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15947 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15948 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15949 * grub-core/loader/ia64/efi/linux.c: New file.
15950 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15951 (GRUB_MOD_DEP): Likewise.
15952 (grub_dl) [__ia64__]: New fields got and tramp.
15953 (grub_dl): New field 'base'.
15954 (grub_dl_register_symbol): New argument isfunc. All users updated.
15955 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15956 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15957 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15958 (grub_ia64_dl_get_tramp_got_size): New proto.
15959 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15960 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15961 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15962 * include/grub/efi/api.h: Skip call wrappers on ia64.
15963 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15964 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15965 * include/grub/elf.h (ELF_ST_INFO): New definition.
15966 * include/grub/ia64/efi/kernel.h: New file.
15967 * include/grub/ia64/efi/memory.h: Likewise.
15968 * include/grub/ia64/efi/time.h: Likewise.
15969 * include/grub/ia64/kernel.h: Likewise.
15970 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15971 * include/grub/ia64/time.h: New file.
15972 * include/grub/ia64/types.h: Likewise.
15973 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15974 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15975 New protos.
15976 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15977 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15978 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15979 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15980 All users updated.
15981 (EFI64_HEADER_SIZE): New definition. All users updated.
15982 (image_targets): Add ia64-efi.
15983 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15984 jumpers_addr. All users updated.
15985 Create function descriptors.
15986 (count_funcs): New function.
15987 (unaligned_uint32): New struct.
15988 (MASK20): New definition.
15989 (MASK19): Likewise.
15990 (MASKF21): Likewise.
15991 (add_value_to_slot_20b): New function.
15992 (add_value_to_slot_21_real): Likewise.
15993 (add_value_to_slot_21): Likewise.
15994 (ia64_kernel_trampoline): New struct.
15995 (nopm): New variable.
15996 (jump): Likewise.
15997 (make_trampoline): New function.
15998 (relocate_addresses): Handle ia64.
15999 (make_reloc_section): Likewise.
16000 (load_image): Likewise.
16001
16002 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
16005 warning. Move variables before code while on it.
16006
16007 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 Fuloong support.
16010
16011 * configure.ac: Rename yeeloong platform to loongson. All users updated.
16012 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
16013 * grub-core/boot/mips/loongson/fuloong.S: New file.
16014 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
16015 Explicitly init CS5536.
16016 [FULOONG]: Don't use serial until CS5536 is available.
16017 Set GPIO based on dumps.
16018 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
16019 [FULOONG]: Handle GPIO and memory controller differences.
16020 Parse machine type in $a2.
16021 * grub-core/boot/mips/startup_raw.S: Determine and save the
16022 architecture.
16023 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
16024 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
16025 init on architecture type.
16026 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16027 SIS315E. Don't init at_keyboard on fuloong.
16028 (grub_halt): Support Fuloong.
16029 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
16030 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
16031 (loongson_machtypes): New array.
16032 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
16033 type.
16034 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
16035 config. All users updated. Handle CS5536 serial.
16036 * grub-core/term/serial.c (grub_serial_register): Conditionalise
16037 default port on machine type. Register serial as inactive.
16038 * grub-core/video/sis315pro.c: New file.
16039 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
16040 definition.
16041 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
16042 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
16043 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
16044 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
16045 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
16046 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
16047 to ...
16048 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
16049 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
16050 definition.
16051 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
16052 (grub_arch_machine): New extern var.
16053 * include/grub/mips/loongson/serial.h
16054 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
16055 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
16056 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
16057 (GRUB_MACHINE_SERIAL_PORT0): ... this.
16058 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
16059 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
16060 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
16061 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
16062 * include/grub/term.h (grub_term_register_input_inactive): New inline
16063 function.
16064 (grub_term_register_output_inactive): Likewise.
16065 * include/grub/video.h (grub_video_driver_id): New value
16066 GRUB_VIDEO_DRIVER_SIS315PRO.
16067 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
16068 New field "names". All users updated.
16069 New field value IMAGE_FULOONG_FLASH.
16070 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
16071
16072 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
16073
16074 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
16075 and add some clarification.
16076
16077 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
16080 platforms if kernel is compressed.
16081
16082 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
16085 unused modules since currently referrence counter isn't reliable and
16086 there isn't much memory to recover there anyway.
16087
16088 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
16091 rather than resetting it to allow modules to reference themselves
16092 in init.
16093
16094 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
16097 counter on dependencies since grub_dl_unref already handles this.
16098
16099 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
16102 on error if not already done.
16103
16104 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 Fix few potential memory misusage.
16107
16108 * grub-core/font/font.c (load_font_index): Don't free char_index to
16109 avoid double free.
16110 (grub_font_load): Zero-fill font at alloc for safety.
16111 Close file on error.
16112 (free_font): Free bmp_idx.
16113
16114 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * docs/grub.texi (Installation): Fix several outdated claims.
16117
16118 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 Handle module_license on windows.
16121
16122 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
16123 sections shifted.
16124 (insert_string): Make argument const char * instead of char *.
16125 (write_section_data): Handle long section names.
16126 Handle module_license.
16127
16128 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
16131 handle class-free menuentries.
16132 (grub_normal_add_menu_entry): Add a check to be sure.
16133
16134 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
16137 PgUp and PgDown.
16138
16139 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * configure.ac: Bump version to 1.99.
16142
16143 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 Give ATA device a bit more time on first try in order to allow disks
16146 to spin up.
16147
16148 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
16149 if dev->present is 1. Reset dev->present on failure.
16150 (grub_ata_device_initialize): Set dev->present to 1.
16151 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
16152 (grub_ata_device): New member 'present'.
16153
16154 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * util/grub-mkimage.c (generate_image): Update hash.
16157
16158 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Flush caches on DMA memory.
16161
16162 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
16163 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
16164 (grub_dma_free): Likewise.
16165 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
16166
16167 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
16170 to avoid asm treating ld and sd as macros.
16171
16172 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
16175 decompressor.
16176
16177 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
16180 grub_decompress_core since later would fail if grub_decompress_core
16181 is too far.
16182
16183 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
16186 R_MIPS_JALR since it's used by newer compiler.
16187
16188 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
16191
16192 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
16195 file_path to 0 for surety.
16196 (grub_chainloader_boot): Set exit_data to NULL.
16197 Unset the loader once done.
16198 (grub_cmd_chainloader): Fix confusing error message if file is empty.
16199
16200 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
16203 unknown key into a dprintf.
16204
16205 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
16208 on first non-existant partition.
16209
16210 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
16213 openning fails.
16214 Reported by: Mark Korenberg.
16215
16216 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
16219 overflow.
16220
16221 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * util/grub-mkimage.c (main): Explicitely flush and sync the output
16224 before closing to ensure that it will be readable by grub-setup.
16225
16226 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
16229 (devpath_1): Use MAKE_PIWG_PATH.
16230 (devpath_2): Likewise.
16231 (devpath_3): Likewise.
16232 (devpath_4): Likewise.
16233 (devpath_5): Likewise.
16234 (devpath_6): Likewise.
16235
16236 The appleldr.mod was checked that to be binary identical to previous
16237 version.
16238
16239 2011-05-05 Zach <mikezackles>
16240
16241 Support 2010 Macbooks.
16242
16243 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
16244 (devs): Add devpath_6.
16245
16246 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
16249 /dev/random. /dev/urandom is good enough for our purposes (salting).
16250
16251 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
16254
16255 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
16258 hexadecimal.
16259
16260 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
16263 and not 0 on failure.
16264
16265 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
16266
16267 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
16268 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
16269 disk; otherwise grub_fs_probe will not fall back to the next
16270 filesystem.
16271 (grub_pxefs_open): Likewise, for consistency.
16272 Reported and tested by: Ezekiel Grave.
16273
16274 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
16275
16276 * tests/partmap_test.in: Don't hardcode path to parted.
16277 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
16278
16279 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
16280
16281 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
16282 of `ls' to find out which devices are available.
16283
16284 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
16287 than source address for efi mmap buffer.
16288
16289 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
16292 wrong action on non-detecting the magic.
16293
16294 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
16297 already supplied by another part of the module (fixes compilation on
16298 FreeBSD).
16299
16300 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
16303 match the one used by mdadm.
16304
16305 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
16306
16307 * po/README: Add instructions for creating po/LINGUAS.
16308
16309 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
16310
16311 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
16312 #551428.
16313
16314 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
16315 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
16316 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
16317 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
16318 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
16319 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
16320 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
16321 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
16322 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
16323 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
16324 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
16325 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
16326 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
16327 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
16328 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
16329 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
16330 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
16331 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16332 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16333 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16334 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16335 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16336
16337 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
16338
16339 * grub-core/kern/emu/getroot.c
16340 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16341 test that was incorrectly reintroduced in r3214.
16342 Reported by: Ian Dall. Fixes Savannah bug #33133.
16343
16344 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
16345
16346 Fix stack pointer handling in 16-bit relocator.
16347
16348 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16349 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16350 Fixes Ubuntu bug #683904.
16351
16352 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * configure.ac: Bump version to 1.99~rc2.
16355
16356 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16357
16358 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16359 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16360 * grub-core/lib/x86_64/setjmp.S: Likewise.
16361 * grub-core/lib/mips/setjmp.S: Likewise.
16362 * grub-core/lib/powerpc/setjmp.S: Likewise.
16363 * grub-core/lib/sparc64/setjmp.S: Likewise.
16364
16365 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16366
16367 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16368 * grub-core/lib/efi/datetime.c: Likewise.
16369
16370 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16371
16372 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16373 New function.
16374 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16375 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16376 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16377
16378 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16381 bitmap.
16382 (grub_gfxterm_term_init): Likewise.
16383
16384 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 Take into account the decorations the computing menu entry width.
16387
16388 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16389 (grub_gfxmenu_create_box): Register get_border_width.
16390 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16391 if available.
16392 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16393 get_border_width.
16394
16395 2011-04-18 Endres Puschner <code@e7p.de>
16396
16397 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16398 Don't skip first class.
16399
16400 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16401
16402 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16403 chunks.
16404 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16405
16406 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 Complete 64-bit division support.
16409
16410 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16411 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16412 * include/grub/misc.h (grub_divmod64): Rename to ...
16413 (grub_divmod64_full): ... this.
16414 (grub_divmod64): New inline function.
16415
16416 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16419
16420 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16423 performing the necessary test.
16424
16425 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16428 (kfreebsd.elf): Likewise.
16429 (pc-chainloader.elf): Likewise.
16430 (ntldr.elf): Likewise.
16431
16432 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 Identify RAID by its UUID rather than (guessed) name.
16435
16436 * grub-core/disk/raid.c (ascii2hex): New function.
16437 (grub_raid_open): Accept mduuid/%s specification.
16438 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16439 (get_mdadm_uuid): ... this.
16440 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16441
16442 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16445 to negative size.
16446
16447 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
16448
16449 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16450 btrfs subvolume.
16451 * util/grub.d/20_linux_xen.in: Likewise.
16452
16453 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
16454
16455 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16456 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16457
16458 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16459 Build a list of relevant visible mounts using the mnt_id and
16460 parent_mnt_id fields, and then scan that list at the end.
16461
16462 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
16463
16464 * docs/grub.texi (normal): New section.
16465 (normal_exit): New section.
16466 (Embedded configuration): Add reference to normal.
16467 (GRUB only offers a rescue shell): Likewise.
16468 * docs/grub-dev.texi (Error Handling): Fix typo.
16469
16470 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
16471
16472 * NEWS: Drop obsolete entry about probe-only btrfs support.
16473
16474 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
16475
16476 * util/import_gcry.py: Fix typo.
16477
16478 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * NEWS: Add btrfs support.
16481
16482 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16483 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
16484
16485 BtrFS support. Written by me (Vladimir) with important bugfixes and
16486 even more important testing by Colin.
16487
16488 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16489 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16490 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16491 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16492 mem_input_off and mem_input. All users updated to accept in-RAM input.
16493 (gzio_seek): New function.
16494 (test_zlib_header): Likewise.
16495 (grub_gzio_read): Likewise.
16496 (grub_zlib_decompress): Likewise.
16497 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16498 Accept partial and non-virtual mounts.
16499 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16500 avoid receiving /dev/dm-X as device.
16501 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16502 Handle bind and partial mounts.
16503 * grub-core/lib/crc.c: New file.
16504 * include/grub/deflate.h: Likewise.
16505 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16506 proto.
16507 * include/grub/lib/crc.h: New file.
16508
16509 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 Implement automatic module license checking according to new GNU
16512 guidelines.
16513
16514 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16515 (grub_dl_load_core): Use grub_dl_check_license.
16516 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16517 (GRUB_MOD_LICENSE): Likewise.
16518 (GRUB_MOD_DUAL_LICENSE): Likewise.
16519 All modules updated.
16520
16521 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
16522
16523 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16524 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16525 loaders.
16526 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16527
16528 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16531
16532 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16535 failed.
16536
16537 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16540 parenthesis in the middle of the filename.
16541
16542 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16545 rather than trying to put initrd way too high.
16546 Reported by: Ryan Lortie <desrt@desrt.ca>
16547
16548 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16551 improperly removed string.
16552
16553 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16556 is_disk.
16557 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16558 (open_device) Likewise.
16559 (grub_util_biosdisk_close): Likewise.
16560 Reported by: Mark Korenberg.
16561
16562 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16563
16564 * util/grub-mkconfig_lib.in: Add missing quotes.
16565
16566 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
16567
16568 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16569 is NULL.
16570
16571 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 Dynamically count the number of lines for the lower banner.
16574
16575 * grub-core/normal/menu_entry.c (per_term_screen): New member
16576 num_entries.
16577 (print_down): Use num_entries.
16578 (update_screen): Likewise.
16579 (grub_menu_entry_run): Set num_entries.
16580 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16581 num_entries.
16582 (grub_print_message_indented): Move real part to ...
16583 (grub_print_message_indented_real): ... here. Additional argument
16584 dry_run.
16585 (draw_border): Additional argument num_entries.
16586 (print_message): Additional argument dry_run.
16587 (print_entries): Receive menu viewer data.
16588 (grub_menu_init_page): New argment num_entries.
16589 (menu_text_set_chosen_entry): Use num_entries.
16590 (grub_menu_try_text): Likewise.
16591 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16592 All users updated.
16593 (grub_ucs4_count_lines): New function.
16594 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16595 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16596 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16597 (grub_term_border_height): Likewise.
16598 (grub_term_num_entries): Likewise.
16599
16600 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16603 Remove now unused string.
16604
16605 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16608 build system.
16609 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16610
16611 (Comment): Fix typo.
16612 (Getting started): General copy-editing.
16613 (Typical Development Experience): Likewise.
16614 (Error Handling): Likewise.
16615 (Video API): Likewise.
16616
16617 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
16618
16619 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16620 throughout.
16621
16622 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16625 directory.
16626
16627 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
16628
16629 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16630 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16631 "development".
16632
16633 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16636 grub_strcpy since the lines aren't necessarily 0-terminated.
16637
16638 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16641 root on legacy.
16642
16643 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16646 (GRUB_MOD_INIT): DEVICE isn't optional.
16647
16648 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16649
16650 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16651 word on new line if it's too long anyway. Fixes a hang.
16652
16653 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16656 const.
16657 * util/grub-setup.c (main): Reuse md device name if available.
16658 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16659 not GRUB name as argument.
16660 Based on patch by: Florian Wagner <fwagner>.
16661
16662 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16665 Place mbi on low memory for better compatibility.
16666
16667 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16670
16671 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16672 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
16673
16674 * autogen.sh: Ensure that collate and ctype locale is C.
16675 * conf/Makefile.common: Likewise.
16676
16677 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/normal/menu.c: Add missing include.
16680
16681 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
16684
16685 2011-04-08 Martin Zuther <mzuther@mzuther.de>
16686
16687 * util/grub-mkconfig.in: Ignore emacsen backup.
16688
16689 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16692 on open.
16693 (grub_util_biosdisk_close): Likewise.
16694
16695 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16696
16697 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16698 const attribute and use grub_isdigit.
16699
16700 2011-04-06 Andrey <dev_null@ukr.net>
16701
16702 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16703 gcc warning.
16704
16705 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16706
16707 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16708 useful grub_dprintf's.
16709
16710 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16713
16714 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16717
16718 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 Output errors if theme loading failed.
16721
16722 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16723 grub_gfxterm_fullscreen on error paths to ...
16724 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16725 theme loading error.
16726
16727 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16730 space for older compilers.
16731 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16732
16733 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16736 and report them as not RAID members since they are useless for GRUB.
16737 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16738
16739 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 Increase LVM implementation robustness in order not to crash on
16742 configurations like pvmove. Previously code assumed that in some places
16743 only lvs or only pvs are used whereas it seems that they are used
16744 interchangeably.
16745
16746 * grub-core/disk/lvm.c (read_node): New function.
16747 (read_lv): Use read_node.
16748 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16749 Match volumes only at the end when all lvs are found. Take both
16750 pvs (first) and lvs (second) into account.
16751 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16752 mirror_* into node_*. All users updated.
16753 (grub_lvm_stripe): Merge this ...
16754 (grub_lvm_mirror): ... and this ...
16755 (grub_lvm_node): ... into this. All users updated.
16756
16757 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16760 of function to allow further scanning for LVMs.
16761
16762 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16765 on failed seek as it breaks open fd reusage.
16766
16767 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 * util/grub-install.in: Add a recommendation to use --recheck before
16770 reporting bugs.
16771
16772 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16775 are obtained.
16776
16777 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 GRUB developper manual based on existing Internals section and
16780 contributions by the various authors with active copyright assignment.
16781
16782 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16783 * docs/font_char_metrics.png: New file.
16784 * docs/font_char_metrics.txt: Likewise.
16785 * docs/grub-dev.texi: Likewise.
16786 * docs/grub.texi (Internals): Move from here ...
16787 * docs/grub-dev.texi: ... here.
16788
16789 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
16790
16791 Store the loopback device as data on loopback grub_disk structures,
16792 rather than the file it points to. This fixes use of freed memory
16793 if an existing loopback device is replaced.
16794
16795 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16796 disk->data, not dev->file.
16797 (grub_loopback_read): Adjust file assignment to match.
16798 Fixes Ubuntu bug #742967.
16799
16800 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
16801
16802 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16803 when replacing an existing device.
16804
16805 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16806
16807 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16808 memory corruptions.
16809
16810 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16811 unsigned.
16812 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16813 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16814 (grub_jfs_read_inode): Likewise.
16815 (grub_jfs_opendir): Likewise. Remove now useless casts.
16816 (grub_jfs_getent): Likewise.
16817 Make ino a grub_uint32_t rather than int.
16818 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16819 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16820 division and module with bit operations.
16821 (grub_jfs_find_file): Make ino a grub_uint32_t.
16822 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16823
16824 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
16825
16826 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16827 warning. (This was in fact always initialised before use, but GCC
16828 wasn't smart enough to prove that.)
16829 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16830
16831 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16834 stack alignment.
16835 (efi_wrap_1): Likewise.
16836 (efi_wrap_2): Likewise.
16837 (efi_wrap_3): Likewise.
16838 (efi_wrap_4): Likewise.
16839 (efi_wrap_5): Likewise.
16840 (efi_wrap_6): Likewise.
16841 (efi_wrap_10): Likewise.
16842 Based on information by: Red Hat/Peter Jones.
16843
16844 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
16845
16846 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16847 set-but-not-used variable.
16848
16849 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * docs/grub.texi (Simple configuration): Be more explicit about
16852 GRUB_DEFAULT, and add an example.
16853 Reported by: Leslie Rhorer.
16854
16855 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16856
16857 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16858 shell".
16859
16860 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16861
16862 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16863 * util/grub.d/20_linux_xen.in: Likewise.
16864
16865 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 * util/grub.d/10_linux.in: Try alternative config filenames where
16868 we parse config file.
16869 * util/grub.d/20_linux_xen.in: Likewise.
16870
16871 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16872
16873 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16874 * util/grub.d/20_linux_xen.in: Likewise.
16875
16876 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/disk/raid.c (insert_array): Add few potentially
16879 useful grub_util_info.
16880 (grub_raid_register): Likewise.
16881
16882 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16885 Preserve partition number in mdadm code path.
16886
16887 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16890 few potentially useful grub_util_info.
16891
16892 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16895
16896 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16897
16898 * docs/grub.texi (default): Use @example rather than nested
16899 itemized lists to avoid breaking gendocs.
16900
16901 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16902
16903 * docs/grub.texi (Future): Update.
16904
16905 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16906
16907 * docs/grub.texi (Environment): New chapter.
16908 (Changes from GRUB Legacy): Link to "Environment block" section for
16909 details of limitations.
16910 (Simple configuration): Likewise. Link to documentation of gfxmode
16911 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16912 respectively.
16913 (Shell-like scripting): Note that normal variables are stored in the
16914 environment.
16915 (gettext): Link to documentation of lang and locale_dir.
16916 (list_env): New section.
16917 (load_env): New section.
16918 (save_env): New section.
16919
16920 (Reporting bugs): Fix typo.
16921
16922 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16925 the example.
16926
16927 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16928
16929 * grub-core/term/at_keyboard.c (set_scancodes)
16930 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16931
16932 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16933
16934 * docs/grub.texi (Menu-specific commands): Remove some semantics
16935 that were true in GRUB Legacy but not in GRUB 2.
16936 (submenu): New section.
16937 (false): New section.
16938 (read): New section.
16939 (true): New section.
16940
16941 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16942
16943 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16944
16945 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
16946
16947 * docs/grub.texi (Simple configuration): Explain some of the
16948 current limitations of grub-mkconfig.
16949 Reported by: Leslie Rhorer.
16950
16951 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Old macs search for boot.efi rather than for bootia32.efi.
16954
16955 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16956 * util/grub-mkrescue.in: Likewise.
16957 Suggested by: Peter Jones.
16958
16959 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16962
16963 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16966 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16967 (grub_lvm_mirror): New struct.
16968 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16969 (grub_lvm_iterate): Iterate only visible volumes.
16970 (grub_lvm_read): Factor out to ..
16971 (read_lv): ... this. Support mirrors.
16972 (grub_lvm_read): New wrapper function.
16973 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16974 stripped or mirrored.
16975
16976 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16979
16980 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
16981
16982 * docs/grub.texi (loopback): New section.
16983
16984 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16987 removed -p option.
16988
16989 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
16990
16991 * docs/grub.texi (BIOS installation): New section, partly based on
16992 previous text in other sections.
16993 (Installing GRUB using grub-install): Replace BIOS discussion with a
16994 cross-reference.
16995 (Images): Likewise.
16996
16997 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16998
16999 * grub-core/kern/emu/hostdisk.c (find_partition_start)
17000 [HAVE_DIOCGDINFO]: Add safety checks.
17001
17002 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17003
17004 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
17005 per default compiled in kernel and prior to 8.0 isn't shipped at all.
17006
17007 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
17008
17009 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
17010 real_sb->size is zero (e.g. RAID-0), get the disk size from
17011 real_sb->data_size instead.
17012 Fixes Ubuntu bug #743136.
17013
17014 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
17017 printf clauses for printing size and start.
17018
17019 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
17022 Reported and tested by: Timothy Nikkel.
17023
17024 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
17027 (dirty_region_add_real): ... this.
17028 (dirty_region_add): Don't discard margin refresh when performing
17029 scheduled repaint.
17030
17031 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
17032
17033 * grub-core/lib/relocator.c (allocate_regstart)
17034 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
17035 terminals are capabple of malloc-free operation.
17036 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17037 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
17038
17039 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
17040
17041 * util/grub-setup.c: Copy the partition table zone if floppy support
17042 is disabled, even if no partition table is found.
17043
17044 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
17045 during POST if an invalid partition table is contained in the PBR
17046 of the active partition when GRUB is installed to a partition.
17047
17048 2011-03-28 Colin Watson <cjwatson@debian.org>
17049
17050 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
17051 comment.
17052
17053 2011-03-28 Colin Watson <cjwatson@debian.org>
17054
17055 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
17056 to be specific about what kind of RAID device we're scanning for.
17057
17058 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
17059
17060 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
17061 return freed string.
17062
17063 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
17066
17067 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 Use libgeom on FreeBSD to detect partitions.
17070
17071 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
17072 (grub-mkrelpath): Likewise.
17073 (grub-script-check): Likewise.
17074 (grub-editenv): Likewise.
17075 (grub-mkpasswd-pbkdf2): Likewise.
17076 (grub-fstest): Likewise.
17077 (grub-mkfont): Likewise.
17078 (grub-mkdevicemap): Likewise.
17079 (grub-probe): Likewise.
17080 (grub-setup): Likewise.
17081 (grub-ofpathname): Likewise.
17082 (grub-mklayout): Likewise.
17083 (example_unit_test): Likewise.
17084 (grub-menulst2cfg): Likewise.
17085 * grub-core/Makefile.core.def (grub-emu): Likewise.
17086 (grub-emu-lite): Likewise.
17087 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
17088 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
17089 define HAVE_DIOCGDINFO.
17090 (follow_geom_up) [FreeBSD]: New function.
17091 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
17092 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
17093 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
17094 unconditionally of HAVE_DIOCGDINFO.
17095
17096 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 Fix FreeBSD compilation problem.
17099
17100 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
17101 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
17102
17103 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
17104
17105 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
17106 Switch back to page zero before loading a kernel, since some kernel
17107 drivers expect that.
17108 Thanks to: Felix Kuehling.
17109
17110 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
17113 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
17114 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
17115
17116 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
17119 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
17120
17121 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
17124 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
17125 malloc is disabled.
17126
17127 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
17130 for modules headers when counting the needed allocation size.
17131
17132 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
17135 if no ASCII character is found to prevent crash.
17136
17137 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
17138
17139 * grub-core/video/bitmap.c (match_extension): Ignore case.
17140
17141 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
17144
17145 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/script/parser.y: Declare "time" as valid argument.
17148
17149 2011-03-23 Peter Jones <pjones@redhat.com>
17150
17151 Fix incorrect assert failure reporting.
17152
17153 * grub-core/tests/example_functional_test.c (example_test): Add
17154 a failure comment.
17155 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
17156 (failure_start): ...this. Check that malloc succeeded.
17157 Don't call xvasprintf. Return failure struct.
17158 (failure_append_vtext): New function.
17159 (failure_append_text): Likewise.
17160 (add_failure): Likewise.
17161 (grub_test_assert_helper): Likewise.
17162 * include/grub/test.h (grub_test_assert_helper): New declaration.
17163 (grub_test_assert): Macro rewritten.
17164
17165 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
17168
17169 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
17172
17173 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
17176 into GRUB-style one.
17177
17178 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
17181 error and not grub_errno.
17182 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
17183
17184 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17185
17186 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
17187 GRUB_USB_SPEED_NONE in case of failure and not the error code.
17188
17189 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * grub-core/efiemu/i386/pc/cfgtables.c
17192 (grub_machine_efiemu_init_tables): Make declaration a prototype.
17193 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
17194 (grub_xnu_unlock): Likewise.
17195 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
17196
17197 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17200 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
17201 * grub-core/commands/hashsum.c (aliases): Likewise.
17202 * grub-core/commands/setpci.c (pci_registers): Likewise.
17203 * grub-core/disk/usbms.c (attach_hook): Likewise.
17204 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
17205 (zio_checksum_table): Likewise.
17206 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
17207 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
17208 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
17209 * grub-core/lib/relocator.c (leftovers): Likewise.
17210 (extra_blocks): Likewise.
17211 * grub-core/loader/i386/bsd.c (relocator): Likewise.
17212 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
17213 (modules_last): Likewise.
17214 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
17215 (devices): Likewise.
17216 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
17217 (modules_last): Likewise.
17218 * grub-core/normal/auth.c (users): Likewise.
17219 * grub-core/normal/context.c (initial_menu): Likewise.
17220 (current_menu): Likewise.
17221 * grub-core/normal/crypto.c (crypto_specs): Likewise.
17222 * grub-core/term/serial.c (grub_serial_ports): Likewise.
17223 (grub_serial_terminfo_input_template): Likewise.
17224 (grub_serial_terminfo_output_template): Likewise.
17225 (grub_serial_terminfo_input): Likewise.
17226 (grub_serial_terminfo_output): Likewise.
17227 (registered): Likewise.
17228 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
17229
17230 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
17233 grub_video_mode_type_t.
17234 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
17235 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
17236 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
17237
17238 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * util/grub-install.in: Correct the x86-64 name as x86_64.
17241
17242 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
17243
17244 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
17245 initial chunk read from the kernel always includes GRUB's multiboot
17246 header, which is now outside the first sector.
17247
17248 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
17249
17250 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
17251 cached mmap_size, so that this works correctly when called multiple
17252 times.
17253 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
17254
17255 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
17256
17257 * docs/grub.texi (Simple configuration): Tidy up formatting.
17258
17259 2011-03-07 Szymon Janc <szymon@janc.net.pl>
17260
17261 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
17262 Set-but-not-used variable removed.
17263
17264 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 Workaround yet another IEEE1275 bug.
17267
17268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
17269 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
17270 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
17271 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
17272 is set.
17273 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17274 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
17275
17276 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
17279 error.
17280
17281 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
17282
17283 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
17284 empty, since in that case we can only generate either nothing or a
17285 syntactically invalid configuration file.
17286 Reported by: Michal Suchanek. Fixes Debian bug #612898.
17287
17288 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
17289
17290 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
17291 (Making a GRUB bootable CD-ROM): Likewise.
17292 (Invoking grub-mkrescue): New section.
17293 Reported by: Yann Dirson. Fixes Debian bug #612585.
17294
17295 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
17296
17297 * util/grub-install.in: Remove unnecessary brackets from tr
17298 arguments.
17299 * util/grub.d/10_hurd.in: Likewise.
17300 * util/grub.d/10_kfreebsd.in: Likewise.
17301 * util/grub.d/10_linux.in: Likewise.
17302 * util/grub.d/20_linux_xen.in: Likewise.
17303 Reported by: Jamie Heilman. Fixes Debian bug #612564.
17304
17305 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * include/grub/file.h (not_easly_seekable): Rename to ...
17308 (not_easily_seekable): ... this. Update all users.
17309
17310 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
17311
17312 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
17313 grub-mkrescue.
17314
17315 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 * util/grub-mkimage.c (generate_image): Refuse to create the images
17318 bigger than the actual flash (512K) in Loongson machines. 512K is also
17319 the biggest chip supported by them.
17320
17321 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
17324
17325 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
17326
17327 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
17328 super_offset field.
17329
17330 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * util/grub-install.in: Ignore install device on platforms
17333 where it doesn't make sense. Always use UUIDs except on pc, efi and
17334 sparc64.
17335 Reported by: Daniel Kahn Gillmor.
17336
17337 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17340
17341 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17344 (iterate_real): Don't rely on partition being non-NULL.
17345
17346 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17349 supported platforms. Put a compile time assert for this rather than
17350 generate a warning with 32-bit shift.
17351
17352 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17355 logical expression more readable.
17356
17357 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17360 even if some elements have a name.
17361 Reported by: Alexander GQ Gerasiov.
17362
17363 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17366 path unreadable if `grub-probe -t abstraction' fails, for example if
17367 memberlist fails on an LVM volume group.
17368 Reported by: Darius Jahandarie.
17369
17370 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * docs/grub.texi (Simple configuration): Document
17373 GRUB_PRELOAD_MODULES.
17374
17375 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
17376
17377 * .bzrignore: Remove nonexistent grub-pbkdf2.
17378
17379 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17380
17381 * configure.ac: Bump version to 1.99~rc1.
17382
17383 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17386 for safety.
17387
17388 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17389
17390 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17391 module.
17392
17393 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17396
17397 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17400 diskdevid.
17401
17402 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Fix compilation on cygwin.
17405
17406 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17407 -R .drectve on cygwin.
17408 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17409 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17410 (COND_CYGWIN): New condition.
17411 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17412 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17413 not @TARGET_OBJ2ELF@.
17414 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17415 type to determine whether aux is to be used.
17416
17417 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17420 realpath'ed device string.
17421 Handle floppy (somewhat).
17422 Issue error in unknown case rather than garbage.
17423 Reported by: Axel Beckert.
17424
17425 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * util/grub.d/00_header.in (load_video): Handle the case when no video
17428 drivers available.
17429 Thanks to: Axel Beckert.
17430
17431 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17434 variable. Fixes problem on big endian platforms.
17435
17436 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17439 It doesn't work well there.
17440
17441 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17444 warning.
17445 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17446 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17447 counter.
17448
17449 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Use alias->path rather than buggy "canon".
17452
17453 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17454 (ofdisk_hash_add): New argument curcan. All users updated.
17455
17456 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17459
17460 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17463 loadmask before doing any calculations. Use correct type for offset.
17464 (grub_linux_load64): Likewise.
17465
17466 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
17467
17468 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17469 with NULL.
17470 (console_grub_equivalences_unshift): Likewise.
17471 Reported by: Daniel Dehennin.
17472
17473 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17476 (set_env_limn_ro): Likewise.
17477 (GRUB_MOD_INIT): Likewise.
17478 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17479 ARRAY_SIZE while on it.
17480 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17481 * grub-core/normal/context.c (grub_env_export): Move from here ...
17482 * grub-core/kern/env.c (grub_env_export): ... here.
17483 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17484 prefix.
17485 * grub-core/kern/main.c (grub_main): Export root and prefix.
17486 * include/grub/env.h (grub_env_export): Export.
17487 Reported by: Seth Goldberg.
17488
17489 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17492 Take into account space used by ELF sections and multiboot palette.
17493 Reported by: Grégoire Sutre.
17494
17495 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * BUGS: New file.
17498
17499 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 Pass more appropriate video id to Linux.
17502
17503 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17504 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17505 fill have_vga.
17506 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17507 shift params->lfb_size.
17508 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17509
17510 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17511
17512 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17513
17514 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17517 separator and pass bootpath/devid even if only one of them is available.
17518 Reported by: Seth Goldberg.
17519
17520 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17523 implementations bug on them.
17524
17525 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17526 memory.
17527 (filter_memory_map): Likewise.
17528
17529 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17532 Reported by: nebuchadnezzar.
17533
17534 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17537 Reported by: nebuchadnezzar.
17538
17539 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 Submenu default support.
17542
17543 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17544 auto_boot. All users updated.
17545 Declared static.
17546 Handle chosen and default with submenus.
17547 (grub_menu_execute_with_fallback): Declared static.
17548 Don't notify failure if autobooted. Upper level does it.
17549 (menuentry_eq): New function.
17550 (get_entry_number): Use menuentry_eq.
17551 (show_menu): New parameter "autobooted". All users updated.
17552 (grub_show_menu): Likewise.
17553 * include/grub/normal.h (grub_show_menu): Likewise.
17554 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17555 (grub_menu_execute_with_fallback): Likewise.
17556
17557 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * util/grub-mklayout.c (usage): Update help text.
17560
17561 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17564
17565 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * util/grub-menulst2cfg.c (main): Trim the line.
17568
17569 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17572 (grub_machine_init): Don't check amount of low memory as reportedly
17573 INT 12h can be broken and if low memory is too low we wouldn't have
17574 gotten into grub_machine_init anyway.
17575
17576 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17579 (grub_machine_mmap_iterate): Take low memory into account
17580
17581 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17582
17583 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17584 badfs.
17585 Reported by: TiCPU.
17586
17587 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17590 members errors.
17591
17592 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17593
17594 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17595 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17596
17597 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17598
17599 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17600 openbsd and netbsd types being in part_bsd module.
17601
17602 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17603
17604 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17605 (_FILE_OFFSET_BITS): Likewise.
17606 Reported by: Seth Goldberg.
17607
17608 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17609
17610 * configure.ac: Check for libdevmapper header.
17611
17612 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17615 avoid aliasing.
17616 (fzap_lookup): Likewise.
17617 (dnode_get): Likewise.
17618 (make_mdn): Likewise.
17619 (zfs_mount): Likewise.
17620 (fzap_iterate): Use temporary pointer to avoid aliasing.
17621 (grub_zfs_read): Likewise.
17622 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17623 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17624 pointers to avoid aliasing.
17625 (grub_cmd_xnu_kernel64): Likewise.
17626 (grub_xnu_load_driver): Likewise.
17627
17628 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17631 aliasing warning.
17632 (grub_cmd_terminal_output): Likewise.
17633 Reported and tested by: Grégoire Sutre.
17634
17635 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17636
17637 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17638 warning.
17639 Reported and tested by: Grégoire Sutre.
17640
17641 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17642
17643 * configure.ac: Do CPU substitution even if it's specified explicitly.
17644 Reported and tested by: Alain Greppin.
17645
17646 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17649 Reported and tested by: Alain Greppin.
17650
17651 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 Satisfy some bison versions need for inttypes.h.
17654
17655 * grub-core/lib/posix_wrap/inttypes.h: New file.
17656 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17657 (int16_t): Likewise.
17658 (int32_t): Likewise.
17659 (int64_t): Likewise.
17660 Reported and tested by: Alain Greppin.
17661
17662 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17665 Silence spurious warning.
17666 Reported and tested by: Alain Greppin.
17667
17668 2011-01-07 Szymon Janc <szymon@janc.net.pl>
17669
17670 * docs/grub.texi (Support automatic decompression): Update with xz
17671 decompression support.
17672
17673 2011-01-07 Szymon Janc <szymon@janc.net.pl>
17674
17675 Improve loaders' kernel command line handling.
17676
17677 * grub-core/lib/cmdline.c: New file.
17678 * include/grub/lib/cmdline.h: Likewise.
17679 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17680 grub_create_loader_cmdline to create kernel command line.
17681 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17682 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17683 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17684 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17685 (linux): Add lib/cmdline.c on common.
17686
17687 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17690 inopos might be unaligned.
17691
17692 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17695 endian transformations.
17696 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17697 Based on report by: Doug Nazar.
17698
17699 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
17700
17701 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17702 array->members[i].start_sector.
17703 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17704
17705 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17708 Reported and tested by: Grégoire Sutre.
17709
17710 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
17711
17712 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17713 avoid causing test failures by clearing the screen.
17714
17715 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
17716
17717 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17718 Fix prefix check to handle the case where dir ends with a slash
17719 (most significantly, "/" itself).
17720 Reported by: Michael Vogt.
17721
17722 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 Run terminfo_cls on initing terminfo output to clear the screen and
17725 move the cursor to (0,0).
17726
17727 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17728 Call grub_terminfo_output_init.
17729 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17730 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17731 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17732
17733 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17736 only when needed.
17737
17738 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17741 CTRL.
17742
17743 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 The E820 type 5 is BADRAM, not EXEC_CODE.
17746
17747 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17748 (GRUB_E820_BADRAM): New define.
17749 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17750 into reserved. Propagate BADRAM.
17751 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17752 (GRUB_E820_BADRAM): New define.
17753
17754 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17757 Ignore the memory post-4G.
17758 (grub_relocator_firmware_alloc_region): Additional debug statement.
17759
17760 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17763 names.
17764 Reported by: David Pravec.
17765
17766 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17769 BIOSes.
17770
17771 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17774 Prevent overflow.
17775 (grub_reed_solomon_recover): Likewise.
17776
17777 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17780
17781 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17784 variable.
17785
17786 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17789 descriptions of extract_legacy_entries_source and
17790 extract_legacy_entries_configfile.
17791 Reported by: Seung Soo, Ha.
17792
17793 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
17794
17795 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17796 on devices that do not implement function 0.
17797
17798 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17799
17800 * grub-core/fs/hfsplus.c: Make parent unsigned.
17801 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17802 overflows.
17803 (grub_hfsplus_cmp_extkey): Likewise
17804
17805 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * util/grub-install.in: Correctly use bootloader_id and not
17808 GRUB_DISTRIBUTOR on efibootmgr line.
17809
17810 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17813
17814 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
17815
17816 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17817 Xen and reorder menu item wording to make it clearer that this entry
17818 will launch Xen. Print separate messages when loading Xen and
17819 Linux.
17820
17821 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17822
17823 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17824 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17825 loop in case of incorrect amiga partmap.
17826
17827 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17830 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17831 Reported by:EHeM.
17832
17833 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17834
17835 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17836 spurious warning.
17837 Reported by: crocket
17838
17839 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17842 Preload EFIemu.
17843 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17844
17845 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17848 is loaded
17849 (grub_cmd_xnu_kextdir): Likewise.
17850 (grub_cmd_xnu_splash): Likewise.
17851
17852 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 Avoid using Reed-Solomon with 0 redundancy.
17855
17856 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17857 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17858 or 0 redundancy.
17859 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17860 (grub_reed_solomon_recover): Likewise.
17861
17862 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 Don't use disk subsystem in freebsd_boot.
17865
17866 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17867 (freebsd_biosdev): Likewise.
17868 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17869 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17870
17871 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 Handling of files of unknown size is currently limited. They can't be
17874 used e.g. for initrd or modules. Moreover gzip handling of not
17875 easily seekable files is buggy. Disable unknown file size for now. May
17876 be inefficient but works.
17877
17878 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17879 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17880
17881 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17882
17883 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17884 floppy probe.
17885
17886 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17887
17888 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17889
17890 2010-12-25 Shea Levy <shlevy>
17891
17892 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17893
17894 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17897 Windows Server 2008.
17898 Reported by: Devin Giddings.
17899
17900 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17903 writing an error message because of async power management.
17904 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17905 (grub_reboot): Likewise.
17906
17907 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17908
17909 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17910 keep unit tests from failing when they shouldn't.
17911
17912 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
17913
17914 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17915 previous patch increased the size of the RS code by 20 bytes (at
17916 least with gcc-4.4), so increase this by 20 bytes to match.
17917 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17918
17919 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
17920
17921 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17922 scratch area. Make sure to initialise chosen in standalone mode as
17923 well as non-standalone.
17924 Reported by: Robert Hooker and Andy Whitcroft.
17925 Tested by: Andy Whitcroft.
17926
17927 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
17928
17929 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17930 constructing a new unescaped string and passing it to grub_xputs in
17931 one go, rather than passing characters to grub_printf one at a time.
17932
17933 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
17934
17935 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17936 initialising utf16.
17937
17938 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
17939
17940 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17941 comment. Add an extra layer of quotation, requiring the output of
17942 this function to be used in a printf format string.
17943 (gettext_printf): New function.
17944 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17945 Extract translatable strings from here-documents and use a temporary
17946 variable instead, so that xgettext can find them.
17947 * util/grub.d/10_kfreebsd.in: Likewise.
17948 * util/grub.d/10_linux.in: Likewise.
17949 * util/grub.d/20_linux_xen.in: Likewise.
17950
17951 * po/grub.d.sed: New file.
17952 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17953 arguments. Set c-format flags on all strings extracted from
17954 util/grub.d/ (xgettext refuses to include these itself for strings
17955 it extracted from a shell file, but these really are c-format).
17956
17957 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17960 Avoid next pointing to nowhere.
17961
17962 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17965 rather than assuming than rootblock is exactly in the middle.
17966 (grub_affs_label): Likewise.
17967
17968 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17971 reserved_first_sector to 0.
17972 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17973 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17974 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17975
17976 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 Fix handling of UTF-16 UDF labels.
17979
17980 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17981 (read_string): .. here.
17982 (grub_udf_label): Use read_string.
17983
17984 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17985
17986 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17987 editor under argument scope.
17988 Reported by: Jordan Uggla
17989
17990 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17993
17994 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
17995
17996 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17997 line, and other keys scroll an entire page (previous handling was
17998 for \r and \n to scroll a page and other keys to scroll two lines).
17999
18000 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18003 Set ptrdest to correct get_physical_target_address rather than
18004 incorrect get_virtual_current_address.
18005
18006 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
18007
18008 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
18009 correct cat to grub_uint8_t * rather than grub_uint32_t *.
18010
18011 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
18012
18013 * .bzrignore: Ignore grub-core/rs_decoder.S.
18014
18015 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
18016
18017 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
18018 .mo/.mo.gz opening sequence to ...
18019 (grub_mofile_open_lang): ... here.
18020 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
18021 * util/grub.d/00_header.in (grub_lang): Include country part of
18022 locale.
18023 Reported by: Mario Limonciello.
18024
18025 2010-12-09 Robert Millan <rmh@gnu.org>
18026
18027 * NEWS: Document addition of ZFS support.
18028
18029 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
18030
18031 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
18032 rather than `/ 2', as the latter requires -Wa,--divide which would
18033 require bumping our minimum binutils version.
18034
18035 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
18036
18037 * util/grub-script-check.c (main): Print script line number on
18038 error.
18039
18040 2010-12-01 Robert Millan <rmh@gnu.org>
18041
18042 * grub-core/fs/zfs/zfs.c: New file.
18043 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
18044 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
18045 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18046 * grub-core/fs/zfs/zfsinfo.c: Likewise.
18047
18048 * include/grub/zfs/dmu.h: Likewise.
18049 * include/grub/zfs/dmu_objset.h: Likewise.
18050 * include/grub/zfs/dnode.h: Likewise.
18051 * include/grub/zfs/dsl_dataset.h: Likewise.
18052 * include/grub/zfs/dsl_dir.h: Likewise.
18053 * include/grub/zfs/sa_impl.h: Likewise.
18054 * include/grub/zfs/spa.h: Likewise.
18055 * include/grub/zfs/uberblock_impl.h: Likewise.
18056 * include/grub/zfs/vdev_impl.h: Likewise.
18057 * include/grub/zfs/zap_impl.h: Likewise.
18058 * include/grub/zfs/zap_leaf.h: Likewise.
18059 * include/grub/zfs/zfs.h: Likewise.
18060 * include/grub/zfs/zfs_acl.h: Likewise.
18061 * include/grub/zfs/zfs_znode.h: Likewise.
18062 * include/grub/zfs/zil.h: Likewise.
18063 * include/grub/zfs/zio.h: Likewise.
18064 * include/grub/zfs/zio_checksum.h: Likewise.
18065
18066 * Makefile.util.def: Build ZFS into libgrubmods.
18067 * grub-core/Makefile.core.def: Build zfs.mod.
18068
18069 2010-11-30 Szymon Janc <szymon@janc.net.pl>
18070
18071 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
18072 variable.
18073 * grub-core/commands/wildcard.c (match_files): Likewise.
18074
18075 2010-11-30 Robert Millan <rmh@gnu.org>
18076
18077 * grub-core/loader/i386/bsd.c
18078 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
18079 whether kernel is loaded using grub_loader_is_loaded(), rather
18080 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
18081 certain error conditions.
18082
18083 2010-11-30 Robert Millan <rmh@gnu.org>
18084
18085 * grub-core/commands/echo.c: Include `<grub/term.h>'.
18086 (grub_cmd_echo): Call grub_refresh() after printing a message.
18087
18088 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 Avoid using tricks for initialising endian variables.
18091
18092 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
18093 Make const.
18094 (GRUB_MOD_INIT): Don't byte-swap.
18095 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18096 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
18097 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
18098 (grub_swap_bytes32_compile_time): Likewise.
18099 (grub_cpu_to_le32_compile_time): Likewise.
18100 (grub_cpu_to_le16_compile_time): Likewise.
18101
18102 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
18103
18104 * util/grub-setup.c (setup): Stop recommending --force. People who
18105 understand the dangers of blocklists are able to find this option
18106 anyway and the ones who don't shouldn't use it anyway.
18107
18108 2010-11-26 Robert Millan <rmh@gnu.org>
18109
18110 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
18111 Update all users.
18112
18113 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
18114
18115 Fix LVM-on-RAID probing.
18116
18117 * util/grub-probe.c (probe): Remember which disk was detected as
18118 RAID (perhaps an LVM physical volume). Use that disk's raidname
18119 rather than that of the top-level disk.
18120
18121 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
18122
18123 Fix cmdline argument quotes for setparams command of menuentry
18124 definitions.
18125
18126 * grub-core/commands/menuentry.c (setparams_prefix): Use single
18127 quotes for arguments.
18128 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
18129 grub_strchrsub function instead.
18130
18131 * include/grub/misc.h (grub_strchrsub): New function.
18132
18133 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
18134
18135 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
18136 effort by skipping "." and ".." entries up-front.
18137 Suggested by: Michael Lazarev.
18138
18139 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
18140
18141 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
18142 ldflags to ldadd, to fix link line ordering.
18143 (none_decompress): Likewise.
18144
18145 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
18146
18147 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
18148 platforms.
18149 (grub-emu-lite): Remove kern/emu/cache.S.
18150
18151 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
18152
18153 * util/deviceiter.c (compare_devices): If the by-id link for a
18154 device couldn't be resolved, fall back to sorting by the by-id link
18155 rather than segfaulting.
18156 Reported and tested by: Daniel Mierswa.
18157
18158 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
18159
18160 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
18161 ldflags, to fix link line ordering.
18162
18163 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
18164
18165 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
18166 linkers are picky about this.
18167
18168 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
18169
18170 * grub-core/Makefile.am (command.lst): Adjust sed expression
18171 ordering so that extended and priority commands aren't treated as
18172 ordinary commands.
18173
18174 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
18175
18176 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
18177 Remove byte-swapping function calls, which are not valid in
18178 structure initialisers.
18179 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
18180 non-const.
18181 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
18182 grub_gpt_partition_type_bios_boot.
18183
18184 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
18185
18186 Fix test program build on GNU/kFreeBSD.
18187
18188 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
18189 $(LIBNVPAIR)' library dependencies.
18190
18191 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
18192
18193 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
18194
18195 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * util/grub-install.in: Remove excessive quoting that broke
18198 installations to RAID devices.
18199
18200 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
18203 bootloader version instead of 0.
18204
18205 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
18208 warning.
18209
18210 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
18213 retrieve the metadat sector if size isn't known.
18214 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18215
18216 2010-11-18 Robert Millan <rmh@gnu.org>
18217
18218 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
18219 with grub_memcmp().
18220
18221 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
18224 arrow.
18225 Reported by: Jordan Uggla.
18226
18227 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 Make better UTF compliant.
18230
18231 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
18232 sequences as incorrect.
18233 (grub_is_valid_utf8): Likewise.
18234 (grub_utf8_to_ucs4): Likewise.
18235 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
18236 (grub_ucs4_to_utf8_alloc): Likewise.
18237 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
18238
18239 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 Make legacy_source behave like source.
18242
18243 * grub-core/commands/legacycfg.c (legacy_file): Don't call
18244 grub_show_menu.
18245 (grub_cmd_legacy_source): Call grub_show_menu if needed.
18246
18247 2010-11-16 Colin Watson <cjwatson@debian.org>
18248
18249 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
18250 (-Wunused implies -Wunused-parameter, but not vice versa).
18251
18252 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
18253
18254 * configure.ac: Make error messages less confusing by testing for
18255 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
18256 accepted, but produces a diagnostic if something else is wrong).
18257
18258 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
18261 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
18262 (now unused).
18263 (grub_keyboard_controller_init)
18264 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
18265 read the initial state since controller isn't inited yet.
18266
18267 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
18270 allocate_regbeg may need to create new chunk header.
18271
18272 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 Fix quoting in legacy parser.
18275
18276 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
18277 single quotes.
18278 (grub_legacy_parse): Likewise.
18279 Reported by: Jordan Uggla.
18280 Tested by: Jordan Uggla.
18281
18282 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 Don't add -lgcc on i386 and x86_64.
18285
18286 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
18287 * conf/Makefile.common (LDADD_KERNEL): Likewise.
18288 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
18289
18290 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * configure.ac: Add -Wno-trampolines when supported.
18293
18294 2010-11-14 Modestas Vainius <modax@debian.org>
18295
18296 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
18297 fakeraid.
18298
18299 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18300
18301 Add generic logical block size support for UDF.
18302
18303 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
18304 (GRUB_UDF_BLKSZ): Removed.
18305 (struct grub_udf_data): New field "lbshift" to hold the logical block
18306 size of the file system in log2 format. All users updated.
18307 (sblocklist): Change type to unsigned.
18308 (grub_udf_mount): Change type of "sblklist" to unsigned.
18309 Move AVDP search before VRS recognition, because the latter requires
18310 knowledge of the logical block size, which is detected during the
18311 former.
18312 Detect and validate logical block size during AVDP search, adding
18313 support for block sizes 512, 1024 and 4096.
18314 Make VRS recognition independent of block size.
18315
18316 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18317
18318 Properly handle deleted files on UDF.
18319
18320 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
18321 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
18322 set.
18323
18324 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
18325
18326 Support reading files larger than 2 GiB.
18327
18328 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
18329 "offset" to grub_off_t.
18330 (grub_udf_read_file): Likewise for parameter "pos".
18331
18332 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18333
18334 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18335 unavailable.
18336 (Simple configuration): Refer to Changes from GRUB Legacy about
18337 save_env availability.
18338
18339 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * util/grub-install.in: Ignore empty partition table detection
18342 instead of trying to include part_ module.
18343
18344 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18347 LVM on RAID support.
18348
18349 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 Properly define WORDS_BIGENDIAN in wrapped environments.
18352
18353 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18354 definition.
18355 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18356
18357 Reported by: Manoel Rebelo Abranches.
18358 Tested by: Manoel Rebelo Abranches.
18359
18360 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 * util/grub-mkconfig.in: Fix quoting.
18363
18364 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 Support big ext2 files.
18367
18368 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18369 (grub_ext2_read_block): Support triple indirect blocks.
18370 (grub_ext2_read_file): Use 64-bit types and read size_high.
18371 (grub_ext2_open): Read size_high.
18372 Reported by: Ximin Luo.
18373 Tested by: Manoel Rebelo Abranches.
18374
18375 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * util/grub-install.in: Handle filenames containing spaces.
18378 Reported by: Jordan Uggla.
18379 Tested by: Jordan Uggla.
18380
18381 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 * util/grub-mkconfig.in (grub_script_check): New variable.
18384 Use grub_script_check instead of grub-script-check.
18385 Reported by: Barry Jackson.
18386
18387 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * docs/grub.texi (menu): Correct the order.
18390 Reported by: D. Hugh Redelmeier.
18391
18392 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18395 jump.
18396
18397 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18398
18399 * include/grub/elfload.h (grub_elf32_size): New parameter.
18400 All users updated.
18401 Return maximum segments alignment.
18402 (grub_elf64_size): Likewise.
18403 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18404 Return maximum segments alignment.
18405 (grub_elf64_size): Likewise.
18406 * grub-core/loader/powerpc/ieee1275/linux.c:
18407 (grub_linux_claimmap_iterate): New function. Uses the
18408 "available" property in the "memory" node for memory allocation
18409 for kernel in the PowerPC loader.
18410 (grub_linux_load32): Correctly find linux entry point offset.
18411 (grub_linux_load64): Likewise.
18412
18413 2010-11-07 Robert Millan <rmh@gnu.org>
18414
18415 On mips-yeeloong, build with -march=loongson2f when this flag is
18416 available (GCC >= 4.4).
18417 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18418 `-march=mips3'.
18419 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18420 or otherwise add -march=mips3.
18421
18422 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18423
18424 Suppress shell expansion on echo '*' and echo "*" like cases.
18425 Reported by: Jordan Uggla.
18426
18427 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18428 string arguments before shell expansion.
18429 * tests/grub_cmd_echo.in: New testcases.
18430
18431 2010-11-07 Robert Millan <rmh@gnu.org>
18432
18433 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18434 transition.
18435
18436 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 * grub-core/kern/emu/hostdisk.c
18439 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18440
18441 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18444 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18445 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18446
18447 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18450
18451 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18452
18453 * util/grub-install.in: Replace useless recomendation to pass
18454 --modules with a recomendation to report a bug.
18455
18456 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 Properly register serial terminfo.
18459 Reported by: Jordan Uggla
18460
18461 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18462 const.
18463 (grub_serial_terminfo_output_template): Likewise.
18464 (grub_cmd_serial): Register "serial" with terminfo.
18465 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18466 grub_serial_terminfo_output.
18467
18468 2010-11-05 Robert Millan <rmh@gnu.org>
18469
18470 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18471 needed).
18472
18473 2010-11-05 Robert Millan <rmh@gnu.org>
18474
18475 On Yeeloong, pass machine type information to Linux.
18476
18477 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18478 (LOONGSON_MACHTYPE): New macro, set to
18479 "machtype=lemote-yeeloong-2f-8.9inches".
18480 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18481 additional argument to Linux.
18482
18483 2010-11-04 Robert Millan <rmh@gnu.org>
18484
18485 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18486 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18487 (its SATA disks are detected as slaveless IDE master drives on
18488 kFreeBSD).
18489 Reported by Carsten Aulbert.
18490
18491 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
18492
18493 * util/bin2h.c (main): Fix spelling error in generated output.
18494
18495 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18496
18497 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18498
18499 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18502 vga= option is supplied.
18503
18504 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18507 * util/grub.d/10_kfreebsd.in: Likewise.
18508 * util/grub.d/10_linux.in: Likewise.
18509 * util/grub.d/20_linux_xen.in: Likewise.
18510
18511 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18514 argument as an argument to no-argument option.
18515
18516 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * util/grub.d/10_linux.in: Add missing load_video with explicit
18519 GRUB_GFXPAYLOAD_LINUX.
18520
18521 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18524
18525 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18528 elements with invlid index.
18529 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18530 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18531 members.
18532 * include/grub/raid.h (grub_raid_member): New struct.
18533 (grub_raid_array): Transform devices and start_sector into usage of
18534 grub_raid_member. All users updated
18535 (allocated_devs): New member.
18536
18537 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18540 is modified
18541
18542 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18543
18544 NetBSD build fix for getline function conflict from gnulib.
18545
18546 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18547 components that depend on gnulib headers.
18548 (libgrubmods.a): Renamed from earlier libgrub.a.
18549 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18550
18551 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18554 install rather than creating a broken install.
18555
18556 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * util/grub-setup.c (argp): Remove misleading example of installing to
18559 a partition.
18560
18561 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * util/grub-setup.c (setup): Clarify the error message.
18564
18565 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18568
18569 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * grub-core/kern/emu/misc.c
18572 (grub_make_system_path_relative_to_its_root)
18573 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18574
18575 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * grub-core/kern/emu/misc.c
18578 (grub_make_system_path_relative_to_its_root): Revert r2882.
18579
18580 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18583 useless field head. All users updated.
18584 (free_subchunk): Correct handling of IN_REGION subchunk.
18585
18586 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
18587
18588 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18589 (Supported kernels): Likewise.
18590
18591 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18592
18593 Make mktemp invocations portable.
18594
18595 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18596 exit if mktemp fails.
18597 * tests/grub_script_blockarg.in: Likewise.
18598 * tests/partmap_test.in: Likewise.
18599 * tests/util/grub-shell-tester.in: Likewise.
18600 * tests/util/grub-shell.in: Likewise.
18601 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18602 * Makefile.am: Likewise, and chain shell commands with `&&'
18603 instead of ';'.
18604 * util/grub-mkrescue.in: Use the same explicit template as above, and
18605 exit if mktemp fails.
18606
18607 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18608
18609 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18610 Linux kernel, reported by Dennis Schridde.
18611
18612 2010-10-17 Szymon Janc <szymon@janc.net.pl>
18613
18614 * grub-core/normal/auth.c (grub_auth_check_authentication):
18615 Set-but-not-used variable removed.
18616
18617 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18620 32-bit linux protocol.
18621
18622 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18625 cursor shape for sanity.
18626
18627 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * docs/grub.texi (Installation): Document buggy BIOS install.
18630
18631 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 * docs/grub.texi (Installation): Indent.
18634
18635 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * util/grub-setup.c (setup): New parameter allow_floppy.
18638 (arguments): New member allow_floppy.
18639 (argp_parser): Handle --allow-floppy.
18640 (main): Pass allow_floppy.
18641 * util/grub-install.in: New option --allow-floppy passed though to
18642 grub-setup.
18643
18644 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 * util/grub-install.in: Handle partitionless disks.
18647
18648 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * util/grub-setup.c (setup): Don't clean blocklists before readability
18651 verfification.
18652
18653 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * docs/grub.texi (Installation): Document embedding zone. Remove
18656 obsolete grub-install example.
18657
18658 2010-10-16 Szymon Janc <szymon@janc.net.pl>
18659
18660 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18661 Set-but-not-used variable ifdef'ed.
18662 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18663 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18664 variable removed.
18665 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18666 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18667 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18668 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18669 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18670 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18671 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18672 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18673 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18674 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18675 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18676 Likewise.
18677
18678 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18679
18680 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18681 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18682 enum value.
18683
18684 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18687 synonym to _S5_. Needed for some DSDTs.
18688
18689 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 Userspace ACPI parser debugging.
18692
18693 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18694 headers and add relevant defines. Don't include standard headers.
18695 (main) [GRUB_DSDT_TEST]: New function.
18696 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18697 Don't declare functions.
18698
18699 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18700
18701 Remove dead grub_efi_mm_fini.
18702
18703 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18704 (ALLOCATED_PAGES_SIZE): Likewise.
18705 (MAX_ALLOCATED_PAGES): Likewise.
18706 (allocated_pages): Likewise.
18707 (grub_efi_allocate_pages): Don't record allocated pages.
18708 (grub_efi_free_pages): Likewise.
18709 (grub_efi_mm_init): Likewise.
18710 (grub_efi_mm_fini): Removed.
18711
18712 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18715 (grub_efi_mm_init): Take into account the memory map size increase.
18716
18717 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18718
18719 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18720 (serial_hw_put): Wait based on real time rather than port reads. Don't
18721 roken ports.
18722 * include/grub/serial.h (grub_serial_port): New field broken.
18723
18724 2010-10-16 Robert Millan <rmh@gnu.org>
18725
18726 * grub-core/kern/emu/misc.c
18727 (grub_make_system_path_relative_to_its_root): Fix premature return
18728 when processing non-root ZFS filesystems.
18729 Reported by Sergio Talens-Oliag.
18730
18731 2010-10-15 Robert Millan <rmh@gnu.org>
18732
18733 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18734 guarantee compressed ones are processed first.
18735
18736 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18739 grub_efiemu_autocore.
18740
18741 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18744 rather than 0x1b.
18745 (grub_console_getkey): Use correct jae opcode rather than ja.
18746
18747 2010-10-12 Robert Millan <rmh@gnu.org>
18748
18749 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18750 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18751 variable. All references updated.
18752
18753 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18754
18755 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18756
18757 Correctly distinguish mdraid flavours.
18758
18759 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18760 (insert_array): New argument raid.
18761 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18762 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18763 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18764
18765 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18766
18767 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18768 handling of special keys.
18769
18770 2010-10-02 Aleš Nesrsta <starous@volny.cz>
18771
18772 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18773 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
18774
18775 2010-10-02 Aleš Nesrsta <starous@volny.cz>
18776
18777 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18778 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18779 users updated.
18780 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
18781 Use right endpoint when querying descriptor.
18782
18783 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 Clear out 0x80 color bit on EFI.
18786 Tested by: decoder
18787 Reported by: decoder and meta tech.
18788
18789 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18790 (grub_console_setcolorstate): Clear out 0x80 bit.
18791 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18792 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18793 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18794
18795 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18798 Set to "auto".
18799
18800 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18803 mo_file after freeing.
18804
18805 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18808
18809 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18810
18811 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18812 flags.
18813
18814 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18815
18816 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18817 usage.
18818
18819 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18822
18823 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18824 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18825 and terminfo.h when needed.
18826 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18827 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18828 (terminfo): Enable only on terminfokernel.
18829 (extcmd): Likewise.
18830 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18831 * include/grub/lib/arg.h: Likewise.
18832 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18833 incorrect usage of ->.
18834
18835 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18836
18837 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18838 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18839
18840 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 Fix coreboot compilation.
18843
18844 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18845 Take VBE info into account even if only text is supported.
18846 (fill_vbe_info): Take into account the case when only VGA text
18847 is supported.
18848 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18849 on coreboot, multiboot and qemu.
18850
18851 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18854 debug messages.
18855 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18856
18857 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18860 parameters.
18861
18862 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18865 if they were BSD-style.
18866
18867 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 * grub-core/boot/i386/pc/lnxboot.S: Replace
18870 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18871 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18872
18873 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 Write embedding zone using Reed-Solomon.
18876
18877 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18878 * grub-core/Makefile.am (rs_decoder.S): New target.
18879 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18880 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18881 (multiboot): Move to RS part.
18882 (post_reed_solomon): New label.
18883 (grub_boot_drive): Move to non-RS part since it's modified in memory
18884 on boot.
18885 Include rs_decoder.S.
18886 * grub-core/lib/reed_solomon.c: New file.
18887 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18888 New definition.
18889 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18890 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18891 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18892 * include/grub/partition.h (grub_partition_map): Change prototype of
18893 embed to allow returning additional sectors.
18894 * include/grub/reed_solomon.h: New file.
18895 * util/grub-setup.c (setup): Handle Reed-Solomon.
18896
18897 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18900 i386 and x86-64 definedness tests.
18901
18902 2010-09-27 Yves Blusseau <blusseau@zetam.org>
18903
18904 Fix generation of kernel_syms.lst
18905
18906 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18907 ASM_PREFIX
18908
18909 2010-09-26 Robert Millan <rmh@gnu.org>
18910
18911 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18912
18913 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18914 the pool is an array of devices, iterate through it and return the
18915 first device that passes a stat() test (instead of blindly returning
18916 the first one).
18917
18918 2010-09-26 Robert Millan <rmh@gnu.org>
18919
18920 Build fixes for GNU/kFreeBSD.
18921
18922 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18923 to programs that require ZFS conversion.
18924 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18925 kernels that don't have FLOPPY_MAJOR.
18926
18927 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18928
18929 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18930
18931 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18932
18933 Fix grub-emu build.
18934
18935 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18936 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18937 mdraid09 and mdraid1x.
18938
18939 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
18940
18941 Re-enable grub-extras.
18942
18943 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18944 avoid confusing Automake. Run autogen only twice, once for the top
18945 level and once for grub-core. Add Makefile.util.def and
18946 Makefile.core.def from extra modules to the appropriate autogen
18947 invocations. If Makefile.common exists in an extra module, include
18948 it in both Makefile.util.am and grub-core/Makefile.core.am;
18949 similarly, include any Makefile.util.common file in Makefile.util.am
18950 and any Makefile.core.common file in grub-core/Makefile.core.am.
18951 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18952 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18953 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18954 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18955
18956 * gentpl.py (gvar_add): Turn GVARS into a set.
18957 (global_variable_initializers): Sort global variables on output.
18958 (vars_init): New function.
18959 (first_time): Likewise.
18960 (library): Ensure that non-global variable initialisations are
18961 emitted before the first time we emit code for a library block.
18962 Append to variables rather than setting them. Only emit
18963 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18964 each conditional path.
18965 (program): installdir() emits an Autogen macro, so must be passed to
18966 var_add rather than gvar_add.
18967 (data): Likewise.
18968 (script): Likewise.
18969 (rules): New function, centralising handling for different target
18970 types. Set up Guile association lists for first_time and vars_init,
18971 and send most output to a diversion so that variable initialisations
18972 can be emitted first.
18973 (module_rules): Use new rules function.
18974 (kernel_rules): Likewise.
18975 (image_rules): Likewise.
18976 (library_rules): Likewise.
18977 (program_rules): Likewise.
18978 (script_rules): Likewise.
18979 (data_rules): Likewise.
18980
18981 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18982
18983 * .bzrignore: Add contrib and grub-core/contrib. Remove
18984 grub-core/Makefile.gcry.am.
18985
18986 2010-09-24 Yves Blusseau <blusseau@zetam.org>
18987
18988 * grub-core/lib/LzFind.c: Add missing include.
18989 * grub-core/lib/LzmaEnc.c: Likewise.
18990 * grub-core/script/lexer.c: Likewise.
18991 * grub-core/script/yylex.l: Likewise.
18992 * util/grub-macho2img.c: Likewise.
18993 * util/grub-menulst2cfg.c: Likewise.
18994 * util/grub-mklayout.c: Likewise.
18995 * util/grub-mkpasswd-pbkdf2.c
18996 * util/grub-mkrelpath.c: Likewise.
18997 * util/resolve.c: Likewise.
18998
18999 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
19000
19001 * Makefile.util.def (example_unit_test): Add
19002 grub-core/gnulib/libgnu.a.
19003
19004 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
19005
19006 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
19007
19008 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 Support xz compression on yeeloong.
19011
19012 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
19013 * configure.ac: Check for LZMA.
19014 * grub-core/Makefile.core.def (xz_decompress): New target.
19015 (none_decompress): Likewise.
19016 * grub-core/boot/decompressor/minilib.c: New file.
19017 * grub-core/boot/decompressor/none.c: Likewise.
19018 * grub-core/boot/decompressor/xz.c: Likewise.
19019 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
19020 * grub-core/kern/mips/cache_flush.S: Likewise.
19021 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
19022 * grub-core/kern/mips/startup.S: Move first stage to ...
19023 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
19024 nomacro.
19025 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
19026 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
19027 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
19028 Allocate statically.
19029 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
19030 Allocate statically or use scratch. Don't check CRC32.
19031 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
19032 Allocate statically. Don't check CRC32.
19033 * include/grub/decompressor.h: New file.
19034 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
19035 Removed.
19036 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
19037 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
19038 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
19039 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
19040 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
19041 * util/grub-mkimage.c (grub_compression_t): New type.
19042 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
19043 (image_target_desc): New field default_compression.
19044 (image_targets): Adjust yeeloong targets.
19045 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
19046 (compress_kernel): New parameter comp.
19047 (generate_image): Likewise. Handle new compression case.
19048 (options): New option --compression
19049 (help): Likewise.
19050 (main): Handle new option.
19051
19052 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
19053
19054 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
19055
19056 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
19057
19058 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
19059 typo in __i386__ conditional.
19060
19061 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
19064 include.
19065
19066 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 Implement EFI and ACPI multiboot2 extensions.
19069
19070 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
19071 new tags as supported.
19072 (acpiv2_size): New function.
19073 (grub_multiboot_get_mbi_size): Take new tags into account.
19074 (grub_multiboot_make_mbi): Add new tags.
19075 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
19076
19077 2010-09-21 Aleš Nesrsta <starous@volny.cz>
19078
19079 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
19080 Added missing configuration of USB device.
19081
19082 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * grub-core/normal/menu_entry.c (run): Make sure we always return
19085 a value.
19086
19087 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19088
19089 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
19090 NumberOfPages is UINT64 according to the UEFI specification, not
19091 UINTN. Fix printf format.
19092
19093 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19094
19095 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
19096 `err' to grub_usb_err_t.
19097 Reported and tested by: KESHAV P.R.
19098
19099 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19100
19101 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
19102 tpart non-const, so that we can assign to it. (Since this is a
19103 typedef, the constness refers to the pointer rather than what it
19104 points to.)
19105
19106 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19107
19108 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
19109 $(top_srcdir)/grub-core/gnulib as well as
19110 $(top_builddir)/grub-core/gnulib.
19111 Reported by: KESHAV P.R.
19112
19113 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19114
19115 * util/grub-install.in: Fix the bootloader ID option to be
19116 consistently --bootloader-id, not --bootloader_id.
19117 Reported by: KESHAV P.R.
19118
19119 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19120
19121 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
19122 check hash checksum." consistently translatable.
19123
19124 2010-09-21 Yves Blusseau <blusseau@zetam.org>
19125
19126 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
19127 $(top_builddir).
19128
19129 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19130
19131 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
19132 (GRUB_MOD_INIT): Register sha1sum command.
19133 (GRUB_MOD_FINI): Unregister sha1sum command.
19134
19135 2010-09-21 Yves Blusseau <blusseau@zetam.org>
19136
19137 Keep boot and grub directory names in sync with utils scripts
19138
19139 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
19140 * config.h.in: Add previous macros.
19141 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
19142 * util/grub-install.in: Use $bootdir and $grubdir variables.
19143
19144 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19145
19146 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
19147 convert partition names to disk names if the new `convert' parameter
19148 is set.
19149 (grub_util_biosdisk_get_grub_dev): If opening the disk device
19150 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
19151 disk in its own right. This can happen with Xen disk images.
19152
19153 2010-09-21 Yves Blusseau <blusseau@zetam.org>
19154
19155 * util/grub-editenv.c: Update strings to avoid warnings when generating
19156 grub.pot file.
19157 * util/grub-setup.c: Likewise.
19158
19159 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * configure.ac: Change version to 1.99~beta0.
19162
19163 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19166 Add BADRAM.
19167 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
19168 Likewise.
19169 * include/multiboot.h: Resynced with specification.
19170 * include/multiboot2.h: Likewise.
19171
19172 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
19173
19174 Fix po directory handling.
19175
19176 * configure.ac: Create po/Makefile.in rather than po/Makefile.
19177 * grub-core/gnulib/Makefile.am: Import gettext module.
19178 * m4/gnulib-cache.m4: Likewise.
19179 * m4/gnulib-comp.m4: Likewise.
19180 * m4/gettext.m4: New file, from gnulib.
19181 * m4/glibc2.m4: Likewise.
19182 * m4/iconv.m4: Likewise.
19183 * m4/intdiv0.m4: Likewise.
19184 * m4/intl.m4: Likewise.
19185 * m4/intldir.m4: Likewise.
19186 * m4/intlmacosx.m4: Likewise.
19187 * m4/intmax.m4: Likewise.
19188 * m4/inttypes-pri.m4: Likewise.
19189 * m4/lcmessage.m4: Likewise.
19190 * m4/lib-ld.m4: Likewise.
19191 * m4/lib-link.m4: Likewise.
19192 * m4/lib-prefix.m4: Likewise.
19193 * m4/lock.m4: Likewise.
19194 * m4/nls.m4: Likewise.
19195 * m4/po.m4: Likewise.
19196 * m4/printf-posix.m4: Likewise.
19197 * m4/progtest.m4: Likewise.
19198 * m4/threadlib.m4: Likewise.
19199 * m4/uintmax_t.m4: Likewise.
19200 * m4/visibility.m4: Likewise.
19201 * po/Makefile.am: Remove.
19202 * po/Makefile.in.in: New file, from gettext.
19203 ($(DOMAIN).pot-update): Support POTFILES-shell.
19204 * po/Makevars: New file.
19205 * po/POTFILES-shell: Rename to ...
19206 * po/POTFILES-shell.in: ... this. Update.
19207 * po/POTFILES: Rename to ...
19208 * po/POTFILES.in: ... this. Update.
19209 * po/Rules-quot: New file, from gettext.
19210 * po/boldquot.sed: Likewise.
19211 * po/en@boldquot.header: Likewise.
19212 * po/en@quot.header: Likewise.
19213 * po/insert-header.sin: Likewise.
19214 * po/quot.sed: Likewise.
19215 * po/remove-potcdate.sin: Likewise.
19216
19217 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19218
19219 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
19220
19221 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 * util/grub.d/20_linux_xen.in: Use submenus.
19224
19225 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 Support submenus.
19228
19229 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
19230 parameter submenu. All users updated.
19231 * grub-core/normal/main.c (free_menu): Rename to ...
19232 (grub_normal_free_menu): ... this. Made global.
19233 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
19234 if requested.
19235 * grub-core/normal/menu_entry.c (screen): New field submenu.
19236 (make_screen): Set submenu.
19237 (run): Open new context if requested.
19238 * include/grub/menu.h (grub_menu_entry): New field submenu.
19239 * include/grub/normal.h (grub_normal_free_menu): New proto.
19240
19241 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 Menu entries extractor.
19244
19245 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
19246 variants.
19247 (GRUB_MOD_INIT): Register new variants.
19248 (GRUB_MOD_FINI): Unregister new variants.
19249 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
19250 into grub_cmd_legacy_source.
19251 (grub_cmd_legacy_source): Implement extractor variants.
19252 (GRUB_MOD_INIT): Register new variants.
19253 (GRUB_MOD_FINI): Unregister new variants.
19254 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
19255 as an extractor.
19256 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
19257 search as an extractor.
19258 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
19259 test as an extractor.
19260 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
19261 as an extractor.
19262 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
19263 (grub_env_new_context): New function.
19264 (grub_env_context_open): Likewise.
19265 (grub_env_extractor_open): Likewise.
19266 (grub_env_extractor_close): Likewise.
19267 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19268 grub_extractor_level.
19269 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
19270 * include/grub/env.h (grub_env_extractor_open): New proto.
19271 (grub_env_extractor_close): Likewise.
19272 * include/grub/normal.h (grub_extractor_level): New external variable.
19273
19274 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 Make cutmem accept a region specification.
19277 Suggested by: Samuel Thibault
19278
19279 * grub-core/mmap/mmap.c (parsemem): New function.
19280 (grub_cmd_cutmem): Handle new arguments.
19281
19282 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 New command cutmem.
19285
19286 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
19287 (GRUB_MOD_INIT): Register new command.
19288 (GRUB_MOD_FINI): Unregister new command.
19289
19290 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 Support some annoying BSD and Minix subpartitions.
19293
19294 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
19295 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
19296 Properly handle concatenation.
19297 * grub-core/kern/device.c (grub_device_iterate): Likewise.
19298 * grub-core/normal/completion.c (iterate_partition): Likewise.
19299 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
19300 contain partition. All users updated.
19301 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
19302 struct.
19303 (grub_openbsdlabel_partition_map): Likewise.
19304 (bsdlabel_partition_map_iterate): Rename to ..
19305 (iterate_real): ... this. New arguments sector, freebsd and pmap.
19306 (bsdlabel_partition_map_iterate): New function.
19307 (netopenbsdlabel_partition_map_iterate): Likewise.
19308 (netbsdlabel_partition_map_iterate): Likewise.
19309 (openbsdlabel_partition_map_iterate): Likewise.
19310 (GRUB_MOD_INIT): Register new partmaps.
19311 (GRUB_MOD_FINI): Unregister new partmaps.
19312 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
19313 (grub_partition_msdos_iterate): ... this. All users updated.
19314 Don't support embedding other than in a minix partition.
19315 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
19316 proto.
19317 * include/grub/partition.h (grub_partition): New field msdostype.
19318 * util/grub-install.in: Handle openbsd and netbsd types being in
19319 part_bsd module.
19320
19321 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
19324
19325 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
19326 * grub-core/Makefile.core.def (mdraid): Renamed to ...
19327 (mdraid09): ... this.
19328 (mdraid1x): New module.
19329 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
19330 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
19331
19332 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19335 vsprintf.
19336
19337 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19338
19339 * grub-core/commands/efi/lsefimmap.c: Correct header.
19340 * NEWS: Update.
19341
19342 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19343
19344 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19345 as printf format strings; the translations might contain '%' which
19346 could cause a crash.
19347 (main): Likewise.
19348 * util/grub-fstest.c (argp_parser): Likewise.
19349 * util/grub-setup.c (argp_parser): Likewise.
19350 (main): Likewise.
19351
19352 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 Use argp in grub-fstest.
19355
19356 * util/grub-fstest.c: Don't include getopt.h.
19357 Include argp.h.
19358 (root): New variable.
19359 (args_count): Likewise.
19360 (nparm): Likewise.
19361 (num_disks): Likewise.
19362 (images): Likewise.
19363 (cmd): Likewise.
19364 (debug_str): Likewise.
19365 (args): Likewise.
19366 (options): Transformed to argp.
19367 (usage): Removed.
19368 (main): Split argument parsing into ...
19369 (argp_parser): ... this. Changed to argp format.
19370 (argp): New variable.
19371 (main): Use argp_parse.
19372
19373 2010-09-20 Tristan Gingold <gingold@free.fr>
19374 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
19375 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19376
19377 * grub-core/commands/efi/lsefimmap.c: New file.
19378 * grub-core/Makefile.core.def (lsefimmap): New module.
19379 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19380
19381 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 Pause the execution (10s max) if any errors are displayed so the user
19384 has a chance to see them.
19385
19386 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19387 (grub_print_error): Increment grub_err_printed_errors.
19388 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19389 execution if any errors were displayed.
19390 (show_menu): Remove old code for pause.
19391 * grub-core/normal/menu_entry.c (run): Likewise.
19392 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19393 users updated.
19394 (grub_normal_get_char_counter): Likewise.
19395 * include/grub/err.h (grub_err_printed_errors): New external variable.
19396 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19397
19398 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 Support multiboot VBE info.
19401
19402 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19403 Take VBE info into account.
19404 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19405 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19406 Call fill_vbe_info when appropriate.
19407 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19408 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19409 as supported.
19410 (grub_multiboot_get_mbi_size): Take new tags into account.
19411 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19412 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19413 Call fill_vbe_tag when appropriate.
19414 (grub_multiboot_make_mbi): Properly align tags.
19415 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19416 function.
19417 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19418 proto.
19419 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19420
19421 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Suport manual terminal geometry specification.
19424
19425 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19426 Save state in grub_ofconsole_terminfo_output.
19427 (grub_ofconsole_term): Use grub_terminfo_getwh.
19428 (grub_ofconsole_getwh): Removed.
19429 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19430 (grub_serial_term): Use grub_terminfo_getwh.
19431 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19432 (options): New struct.
19433 (OPTION_*): New enum.
19434 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19435 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19436 width and height.
19437 (grub_terminfo_getwh): New proto.
19438 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19439
19440 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 Handle legacy "terminal" command.
19443
19444 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19445 and FLAG_TERMINAL.
19446 (legacy_commands): Add terminal and title.
19447 (grub_legacy_parse): Handle terminal. Simplify title handling.
19448
19449 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19452 parameters overflow.
19453
19454 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19457 widthspec.h.
19458
19459 * docs/grub.texi (Shell-like scripting): Document `!'.
19460 (Network): Simplify using new i386-pc-pxe format. Mention
19461 grub-mknetdir.
19462
19463 * NEWS: Update.
19464
19465 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19466
19467 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19468 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19469 when needed.
19470
19471 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * grub-core/commands/efi/lsefisystab.c: Correct header.
19474 * grub-core/commands/efi/lssal.c: Likewise.
19475 * grub-core/commands/testload.c: Likewise.
19476
19477 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19478
19479 * util/grub-mkrescue.in: Add explicit root argument to --set to
19480 prevent the UUID being interpreted as an argument to --set (matches
19481 previous change to prepare_grub_to_access_device).
19482
19483 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
19484
19485 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19486 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19487 the verbosity of later #ifs.
19488 (find_partition_start): Define this function on FreeBSD too.
19489 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19490 function.
19491 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19492 on FreeBSD.
19493
19494 2010-09-20 Yves Blusseau <blusseau@zetam.org>
19495
19496 * util/grub-editenv.c: Use argp instead of getopt.
19497
19498 2010-09-20 Yves Blusseau <blusseau@zetam.org>
19499
19500 * util/grub-setup.c: Use argp instead of getopt.
19501
19502 2010-09-20 Yves Blusseau <blusseau@zetam.org>
19503
19504 Use gnulib-tool to create gnulib source files.
19505
19506 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19507 grub-core/gnulib directories
19508 * .bzignore: Add **/.deps and autogenerated gnulib files
19509 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19510 of gnulib macros, add grub-core/gnulib/Makefile
19511 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19512 include m4 directory to aclocal.
19513 * Makefile.util.def: Remove direct compilation of gnulib source files
19514 and use the new grub-core/gnulib/libgnu.a.
19515 * build-aux/config.rpath: move config.rpath from top directory to
19516 build-aux
19517 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19518 in gnulib headers
19519 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19520 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19521 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19522 header.
19523 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19524 string.
19525
19526 2010-09-20 Yves Blusseau <blusseau@zetam.org>
19527
19528 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19529 grub-core/genmod.sh and grub-core/gensyminfo.sh
19530
19531 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19532
19533 Add a test for echo command options.
19534
19535 * tests/grub_cmd_echo.in: New test.
19536 * Makefile.util.def: Rules for new test.
19537
19538 2010-09-20 Szymon Janc <szymon@janc.net.pl>
19539
19540 Remove crc.mod and move crc command to hashsum.mod.
19541 Remove lib/crc.c - users updated to use gcrypt implementation.
19542
19543 * grub-core/commands/crc.c: Removed.
19544 * grub-core/Makefile.core.def (crc): Module removed.
19545 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19546 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19547 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19548 * grub-core/lib/crc.c: Removed.
19549 * include/grub/lib/crc.h: Removed.
19550 * Makefile.util.def (crc): Remove lib/crc.c
19551 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19552 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19553 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19554 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19555 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19556 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19557
19558 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19561
19562 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 Split config.h for util and core.
19565
19566 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19567 (ADDR32): Likewise.
19568 (DATA32): Likewise.
19569 (BSS_START_SYMBOL): Likewise.
19570 (END_SYMBOL): Likewise.
19571 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19572 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19573 * config.h.in: New file.
19574 * configure.ac: Use config-util.h as config define file.
19575 Rename MACHINE into GRUB_MACHINE. All users updated.
19576 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19577 updated.
19578 (NESTED_FUNC_ATTR): Likewise.
19579 Substitue new variables.
19580 (COND_HAVE_ASM_USCORE): New conditional.
19581 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19582 (kernel_syms.lst): Use ASM_PREFIX.
19583 * grub-core/kern/emu/console.c: Include config-util.h.
19584 * grub-core/kern/emu/misc.c: Likewise.
19585 * grub-core/kern/emu/mm.c: Likewise.
19586 * include/grub/emu/misc.h: Likewise.
19587 * include/grub/libgcc.h: Likewise.
19588
19589 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19592 constants usage.
19593 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19594 Fix GRUB_TERM_KEY_* constants usage.
19595 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19596
19597 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19600 print pointer.
19601 * grub-core/bus/usb/uhci.c: Remove empty define.
19602 (grub_uhci_check_transfer): Add missing cast.
19603 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19604 print pointer.
19605 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19606 PRIuGRUB_SIZE.
19607 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19608
19609 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * grub-core/Makefile.core.def (legacycfg): Add
19612 lib/i386/pc/vesa_modes_table.c on emu.
19613
19614 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19615
19616 Reduce number of temporary files generated by build system.
19617
19618 * grub-core/gencmdlist.sh: Removed.
19619 * grub-core/genfslist.sh: Removed.
19620 * grub-core/genhandlerlist.sh: Removed.
19621 * grub-core/genmodsrc.sh: Removed.
19622 * grub-core/genpartmaplist.sh: Removed.
19623 * grub-core/genparttoollist.sh: Removed.
19624 * grub-core/gentermiinallist.sh: Removed.
19625 * grub-core/genvideolist.sh: Removed.
19626
19627 * grub-core/genmod.sh.in: New file.
19628 * grub-core/gensyminfo.sh.in: New file.
19629
19630 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19631 * conf/Makefile.extra-dist: Update with new files.
19632 * gentpl.py: Remove rules related to unnecessary temporary files.
19633 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19634 and und-* files.
19635 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19636 genmod.sh scripts.
19637 * grub-core/bus/usb/uhci.c: Remove empty #define.
19638 * grub-core/genmoddep.awk: Updated with new syminfo format.
19639 * util/bash-completion.d/Makefile.am: Add config.log to
19640 CLEANFILES.
19641
19642 2010-09-19 Yves Blusseau <blusseau@zetam.org>
19643
19644 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19645
19646 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19647
19648 * util/grub-mkconfig.in: Check the config script for syntax errors
19649 before saving.
19650
19651 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
19652 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19655 platforms.
19656 * util/grub-install.in: Add EFI and IEEE1275 support.
19657 * util/i386/efi/grub-install.in: Removed.
19658 * util/ieee1275/grub-install.in: Likewise.
19659
19660 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19661
19662 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19663 (grub_cmd_cmosclean): Likewise.
19664 (GRUB_MOD_INIT): Register command cmosclean.
19665 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19666 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19667
19668 2010-09-18 Carles Pina i Estany <carles@pina.cat>
19669 2010-09-18 Aleš Nesrsta <starous@volny.cz>
19670 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 Add keyboard layouts support.
19673
19674 * Makefile.util.def (grub-mklayout): New file.
19675 (grub-kbdcomp): New script.
19676 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19677 Add keyboard_layouts.h.
19678 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19679 commands/boot.c on yeeloong.
19680 (keylayouts): New module.
19681 * grub-core/bus/usb/ohci.c
19682 * grub-core/bus/usb/uhci.c
19683 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19684 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19685 (attach_root_port): Likewise.
19686 (poll_nonroot_hub): Likewise.
19687 (grub_usb_poll_devices): Likewise.
19688 (detach_device): Close transfer.
19689 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19690 function.
19691 (grub_usb_bulk_setup_readwrite): Likewise.
19692 (grub_usb_bulk_finish_readwrite): Likewise.
19693 * grub-core/commands/keylayouts.c: New file.
19694 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19695 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19696 aliases.
19697 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19698 support scancode 2.
19699 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19700 * include/grub/keyboard_layouts.h: New file.
19701 * util/grub-mklayout.c: New file.
19702 * util/grub-kbdcomp.in: Likewise.
19703
19704 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 Unify memory types.
19707
19708 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19709 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19710 types.
19711 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19712 (grub_upper_mem): Likewise.
19713 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19714 * include/grub/memory.h (grub_memory_type_t): New enum.
19715 All users updated.
19716
19717 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * grub-core/Makefile.core.def (lsapm): New module.
19720 * grub-core/commands/i386/pc/lsapm.c: New file.
19721 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19722 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19723 Likewise.
19724 * include/grub/i386/pc/apm.h: New file.
19725 * include/multiboot.h (multiboot_apm_info): New struct.
19726
19727 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 GRUB-legacy configuration file support.
19730
19731 * Makefile.util.def (grub-menulst2cfg): New util.
19732 * docs/man/grub-menulst2cfg.h2m: New file.
19733 * grub-core/Makefile.core.def (legacycfg): New module.
19734 * grub-core/commands/legacycfg.c: New file.
19735 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19736 (grub_normal_add_menu_entry): ... this.
19737 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19738 (grub_normal_set_password): ...this.
19739 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19740 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19741 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19742 * grub-core/lib/legacy_parse.c: New file.
19743 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19744 * include/grub/i386/pc/vesa_modes_table.h: New file.
19745 * include/grub/legacy_parse.h: Likewise.
19746 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19747 * util/grub-menulst2cfg.c: New file.
19748
19749 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * grub-core/kern/emu/hostdisk.c
19752 (convert_system_partition_to_system_disk): Initialise node.
19753
19754 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * grub-core/kern/emu/hostdisk.c
19757 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19758 leak.
19759 Reported and based on patch by: Modestas Vainius.
19760
19761 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
19762
19763 Fix DM-RAID probing with recent versions of device-mapper udev
19764 rules.
19765
19766 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19767 canonicalise device paths under /dev/mapper/.
19768 (convert_system_partition_to_system_disk): Compare the
19769 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19770 path, since device nodes under /dev/mapper/ are often symlinks.
19771
19772 2010-09-17 Yves Blusseau <blusseau@zetam.org>
19773
19774 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19775
19776 2010-09-16 Yves Blusseau <blusseau@zetam.org>
19777
19778 * configure.ac: Avoid some annoying error messages if freetype-config
19779 program is not found.
19780
19781 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
19782
19783 Support RAID on virtio devices, and others.
19784
19785 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19786 Rename to ...
19787 [__MINGW32__] (grub_find_device): ... this.
19788 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19789 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19790 reasonable default if dir is NULL.
19791 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19792 ...
19793 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19794 (grub_guess_root_device): Update callers.
19795 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19796
19797 * util/raid.c (grub_util_getdiskname): Remove.
19798 (grub_util_raid_getmembers): Use grub_find_device rather than
19799 grub_util_getdiskname.
19800
19801 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
19802
19803 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19804 needing to be compiled with serial support.
19805 (ls): Indicate that multiple files are accepted.
19806 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19807 indicate that multiple files are accepted.
19808
19809 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
19810
19811 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19812 libgrub_a_init.c, and util/bash-completion.d/grub.
19813
19814 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19815
19816 * util/grub-setup.c (setup): Fix incorrect container semantics.
19817
19818 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19821 misusage.
19822 Reported by: J. Nick Terry
19823
19824 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 Move embedding routines to partmap sources files.
19827
19828 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19829 [GRUB_UTIL]: New variable.
19830 (gpt_partition_map_iterate): Set part.parent.
19831 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19832 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19833 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19834 New function.
19835 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19836 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19837 (grub_partition_map) [GRUB_UTIL]: New field embed.
19838 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19839 (setup): Use ->embed.
19840
19841 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19842
19843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19844 function.
19845 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19846 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19847
19848 2010-09-15 Yves Blusseau <blusseau@zetam.org>
19849
19850 Add function to get completions from usage.
19851
19852 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19853 completions from usage. Use LC_ALL=C to get options properly.
19854
19855 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * grub-core/gnulib/basename-lgpl.c: Imported.
19858 * grub-core/gnulib/basename.c: Likewise.
19859 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19860 * grub-core/gnulib/dirname.c: Likewise.
19861 * grub-core/gnulib/dirname.h: Likewise.
19862 * grub-core/gnulib/stripslash.c: Likewise.
19863
19864 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19865
19866 * grub-core/gnulib/error.c: Resynced.
19867 * grub-core/gnulib/getopt.c: Likewise.
19868 * grub-core/gnulib/getopt_int.h: Likewise.
19869 * grub-core/gnulib/regex.h: Likewise.
19870 * grub-core/gnulib/regex_internal.c: Likewise.
19871 * grub-core/gnulib/regex_internal.h: Likewise.
19872
19873 2010-09-15 Szymon Janc <szymon@janc.net.pl>
19874
19875 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19876 CRC calculations and validity checks.
19877 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19878 calculations.
19879
19880 2010-09-15 Szymon Janc <szymon@janc.net.pl>
19881
19882 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19883
19884 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 Fix incorrect echo options handling.
19887 Reported by: Yves Blusseau.
19888
19889 * include/grub/command.h (grub_command_flags_t): New flags
19890 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19891 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19892 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19893
19894 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19897 users updated.
19898 (GRUB_COMMAND_FLAG_MENU): Likewise.
19899 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19900 (GRUB_COMMAND_FLAG_TITLE): Removed.
19901 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19902 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19903 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19904 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19905 (grub_command_flags_t): New enum. All users updated.
19906
19907 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19908
19909 Fix solaris compilation.
19910
19911 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19912 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19913 (grub-emu-list): Likewise.
19914
19915 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 Remove deprecated root command.
19918
19919 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19920 updated.
19921
19922 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 * util/i386/pc/grub-setup.c: Merge this ...
19925 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19926 * util/grub-setup.c: ... into this.
19927 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19928 New struct.
19929
19930 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19933 possible.
19934
19935 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19938 allocate p.
19939
19940 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19943 explicit root argument to set to prevent UUID to be interpreted as
19944 argument to set.
19945
19946 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19949
19950 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 Don't export grub_gate_a20.
19953
19954 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19955 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19956 to ...
19957 (grub_gate_a20): ... this. All users updated.
19958 * include/grub/i386/pc/init.h: Removed. All users updated.
19959
19960 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 Create euro.pf2 which supports most European languages.
19963
19964 * Makefile.am (grubdata_DATA): Add euro.pf2.
19965 (euro.pf2): New target.
19966 (CLEANFILES): Add euro.pf2.
19967
19968 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19969
19970 * configure.ac: Disable emu-usb by default to prevent inadvertent
19971 device takeover.
19972
19973 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 Disable usbserial on grub-emu since our libusb code isn't good enough
19976 yet.
19977
19978 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19979 (usbserial_pl2303): Likewise.
19980 (usbserial_ftdi): Likewise.
19981
19982 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * include/grub/disk.h (grub_disk): Remove has_partitions.
19985 All users updated.
19986 * disk/loopback.c (grub_loopback): Remove has_partitions.
19987 All users updated.
19988 (options): Remove partitions. All users updated.
19989 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19990 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19991 actual partition table is found.
19992
19993 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19994
19995 Remove readability checks (too many false negatives).
19996
19997 * util/grub-install.in: Remove readability checks.
19998 * util/grub-mkconfig.in: Likewise.
19999 * util/grub.d/10_hurd.in: Likewise.
20000 * util/grub.d/10_kfreebsd.in: Likewise.
20001 * util/grub.d/10_linux.in: Likewise.
20002 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
20003 way.
20004
20005 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 Enable acpi shutdown on all ACPI platforms.
20008
20009 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
20010 on coreboo, multiboot and EFI.
20011 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
20012 (grub_acpi_halt): Likewise.
20013 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
20014 (grub_cmd_halt): Don't call grub_acpi_halt directly.
20015 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
20016 * grub-core/lib/i386/halt.c (grub_halt)
20017 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
20018
20019 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
20022 context.
20023
20024 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * grub-core/video/efi_gop.c: Fix over-80-chars line.
20027 * grub-core/video/efi_uga.c: Likewise.
20028
20029 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 Filter devaliases and never open same device twice.
20032
20033 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
20034 (last_ihandle): Likewise.
20035 (ofdisk_hash_ent): New member shortest.
20036 (ofdisk_hash_add): Add canonical path too.
20037 (scan): New function.
20038 (grub_ofdisk_iterate): Iterate over hashed entries.
20039 (compute_dev_path): Don't add :0.
20040 (grub_ofdisk_open): Don't really open the disk.
20041 (grub_ofdisk_close): Avoid closing unrelated disk.
20042 (grub_ofdisk_read): Implement reopen logic.
20043 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
20044 New function.
20045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
20046 New proto.
20047
20048 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 Fix sparc64.
20051
20052 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
20053 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
20054 right address. Add sparc64_ieee1275_ldflags.
20055 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
20056 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
20057 to grub_host_to_target_addr
20058 (load_image): Likewise.
20059
20060 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * grub-core/normal/completion.c (complete_file): Handle device
20063 containing slash.
20064 Fix based on patch by Doug Nazar.
20065
20066 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20067
20068 grub-mknetdir script.
20069
20070 * Makefile.util.def (grub-mknetdir): New module.
20071 * tests/util/grub-shell.in: Support boot=net
20072 * util/grub-mknetdir.in: New file.
20073
20074 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 videoinfo on non-vbe.
20077
20078 * grub-core/Makefile.core.def (vbeinfo): Removed.
20079 (vbetest): Removed.
20080 (videoinfo): New module.
20081 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
20082 * grub-core/commands/i386/pc/vbetest.c: Removed.
20083 * grub-core/commands/videoinfo.c: New file.
20084 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
20085 specification.
20086 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
20087 as vbetest.
20088 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
20089 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
20090 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
20091 mode_number. New parameter mode. All users updated.
20092 (grub_video_gop_iterate): New function.
20093 (grub_video_efi_gop): New member iterate.
20094 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
20095 (grub_vbe_set_video_mode): Remove setting useless fields.
20096 (vbe2videoinfo): New function.
20097 (grub_video_vbe_iterate): Likewise.
20098 (grub_video_vbe_setup): Use vbe2videoinfo.
20099 (grub_video_vbe_print_adapter_specific_info): New function.
20100 (grub_video_vbe_adapter): New fields iterate and
20101 print_adapter_specific_info.
20102 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
20103 All users updated.
20104 (grub_video_mode_info): New field mode_number.
20105 (grub_video_adapter): New fields iterate and
20106 print_adapter_specific_info.
20107
20108 2010-09-13 Tristan Gingold <gingold@free.fr>
20109 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
20110 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20111
20112 * grub-core/commands/efi/lsefisystab.c: New file.
20113 * grub-core/commands/efi/lssal.c: Likewise.
20114 * grub-core/Makefile.core.def (lsacpi): New module.
20115 (lsefisystab): Likewise.
20116 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
20117 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
20118 (grub_efi_sal_system_table): New struct.
20119 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
20120 (grub_efi_sal_system_table_memory_descriptor): Likewise.
20121 (grub_efi_sal_system_table_platform_features): Likewise.
20122 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
20123 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
20124 (grub_efi_sal_system_table_ap_wakeup): Likewise.
20125 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
20126
20127 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 Support explicit user claim that a device is BIOS-visible.
20130
20131 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
20132 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
20133 * grub-core/kern/emu/hostdisk.c
20134 (convert_system_partition_to_system_disk): Support mdX.
20135 (find_system_device): New parameter add. All users updated.
20136 (grub_util_biosdisk_is_present): New function.
20137 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
20138 proto.
20139
20140 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 Search hints support.
20143
20144 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
20145 All users updated.
20146
20147 2010-09-13 Yves Blusseau <blusseau@zetam.org>
20148
20149 Bash completion script for util commands
20150
20151 * Makefile.am: Add util/bash-completion.d directory
20152 * configure.ac: Likewise.
20153 * util/bash-completion.d/Makefile.am: New file.
20154 * util/bash-completion.d/grub-completion.bash.in: Likewise.
20155
20156 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
20159 (print_backlog): set backlog_ucs4 and backlog_glyphs.
20160 Reported by: Yves Blusseau.
20161
20162 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
20165 partition size and offset.
20166
20167 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
20170
20171 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
20174
20175 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
20178 (grub_xvasprintf): Likewise.
20179
20180 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
20183
20184 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
20187 args ending with NULL.
20188
20189 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
20192 pointer.
20193
20194 2010-09-11 Szymon Janc <szymon@janc.net.pl>
20195
20196 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
20197
20198 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 Shutdown using ACPI.
20201
20202 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
20203 * grub-core/commands/acpihalt.c: New file.
20204 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
20205 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
20206 (grub_acpi_halt): New proto.
20207 (GRUB_ACPI_SLP_EN): New const.
20208 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
20209 (GRUB_ACPI_OPCODE_*): New enum.
20210 (GRUB_ACPI_EXTOPCODE_*): Likewise.
20211
20212 2010-09-11 Tristan Gingold <gingold@free.fr>
20213 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
20214 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 * commands/lsacpi.c: New file.
20217 * grub-core/Makefile.core.def (lsacpi): New module.
20218 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
20219 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
20220 (grub_acpi_madt_entry_header): New struct.
20221 (grub_acpi_madt): Likewise.
20222 (grub_acpi_madt_entry_interrupt_override): Likewise.
20223 (grub_acpi_madt_entry_sapic): Likewise.
20224 (grub_acpi_madt_entry_lsapic): Likewise.
20225 (grub_acpi_madt_entry_platform_int_source): Likewise.
20226 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
20227 (PRIuGRUB_UINT32_T): Likewise.
20228 (PRIxGRUB_UINT64_T): Likewise.
20229
20230 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 Implement loading palette on ieee1275_fb.
20233
20234 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
20235 (have_setcolors): Likewise.
20236 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
20237 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
20238 (grub_video_ieee1275_set_palette): Implement.
20239
20240 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20241 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
20242
20243 * util/grub-install.in (grub_partition): New variable.
20244 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
20245 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
20246 Fixes a bug reported by Yves Blusseau.
20247
20248 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 Fix emu on mipsel.
20251
20252 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
20253 =grub_cpu_flush_cache on all mips and not only yeeloong.
20254 * configure.ac (COND_mips): New conditional.
20255 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
20256 platforms.
20257 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
20258 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
20259 [GRUB_LINKER_HAVE_INIT]: New function.
20260 (grub_emu_post_init): Likewise.
20261 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
20262 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
20263 * include/grub/cache.h (_mips): Include mips/cache.h.
20264 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
20265 LVM and RAID prototypes.
20266 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
20267 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
20268 function.
20269
20270 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
20271
20272 * util/grub-install.in: Don't try to verify core.img until after
20273 running grub-mkimage to create it.
20274
20275 2010-09-10 Robert Millan <rmh@gnu.org>
20276
20277 * util/grub.d/10_hurd.in: Add misc readability checks.
20278 * util/grub.d/10_kfreebsd.in: Likewise.
20279 * util/grub.d/10_linux.in: Likewise.
20280
20281 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
20282
20283 * util/grub-install.in: ${imgext} won't be defined here until the
20284 install branch is merged. For the meantime, only verify core.img on
20285 i386-pc and sparc64-ieee1275 platforms.
20286
20287 2010-09-10 Robert Millan <rmh@gnu.org>
20288
20289 Solaris support in grub_find_zpool_from_dir(). Thanks
20290 Seth Goldberg for referring to getextmntent() facility.
20291
20292 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
20293 `sys/mkdev.h'.
20294 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
20295 `<sys/mnttab.h>'.
20296 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
20297 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
20298 method for finding zpool name.
20299
20300 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
20301
20302 grub-fstest needs the host and hostfs modules while other utilities
20303 actively require those modules to be absent, so grub-fstest needs
20304 its own initialisation and finalisation code.
20305
20306 * Makefile.am (grub_fstest.pp): New target.
20307 (grub_fstest_init.lst): Likewise.
20308 (grub_fstest_init.c): Likewise.
20309 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
20310
20311 2010-09-10 Robert Millan <rmh@gnu.org>
20312
20313 * configure.ac: Check for `struct statfs.f_fstypename' and
20314 `struct statfs.f_mntfromname'.
20315
20316 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
20317 kFreeBSD-specific code.
20318
20319 2010-09-10 Robert Millan <rmh@gnu.org>
20320
20321 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
20322 on ZFS. Now non-main filesystems are supported as / too.
20323
20324 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
20325
20326 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
20327 and grub-core/disk/host.c to ...
20328 (grub-fstest): ... here. Having the host disk implementation
20329 present confuses grub-probe and other utility programs.
20330
20331 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20332 when writing to a file, not when writing to stdout.
20333
20334 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20335
20336 * tests/partmap_test.in: New test for partitions.
20337 * Makefile.util.def: Rules for new test.
20338
20339 2010-09-09 Robert Millan <rmh@gnu.org>
20340
20341 * util/grub-probe.c (probe): Fix a pair of unhandled error
20342 conditions.
20343
20344 2010-09-09 Robert Millan <rmh@gnu.org>
20345
20346 Basic Btrfs support (detection and UUID).
20347
20348 * grub-core/fs/btrfs.c: New file.
20349 * Makefile.util.def (library): Register btrfs.c.
20350 * grub-core/Makefile.core.def: Likewise.
20351
20352 2010-09-08 Robert Millan <rmh@gnu.org>
20353
20354 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20355 with (optional) parameters to specify device and relative path.
20356 * util/grub-install.in: Use is_path_readable_by_grub() to
20357 verify readability of a few critical files.
20358 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20359 verify readability of grub.cfg.new.
20360
20361 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 Split minix.mod into minix.mod and minix2.mod.
20364
20365 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20366 * grub-core/Makefile.core.def (minix2): New module.
20367 * grub-core/fs/minix.c: Use definitions instead of runtime version
20368 checking.
20369 * grub-core/fs/minix2.c: New file.
20370
20371 2010-09-08 Yves Blusseau <blusseau@zetam.org>
20372
20373 Add new --boot-directory option to replace --root-directory
20374
20375 * util/grub-install.in: Add new --boot-directory option
20376 * util/grub-reboot.in: Likewise.
20377 * util/grub-set-default.in: Likewise.
20378
20379 2010-09-08 Yves Blusseau <blusseau@zetam.org>
20380
20381 * util/grub-mkconfig.in: Use new variable.
20382
20383 2010-09-08 Yves Blusseau <blusseau@zetam.org>
20384
20385 * configure.ac: Define some useful variables.
20386
20387 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20388
20389 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20390 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20391 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20392 Use terminfo and don't use cursor-on/cursor-off unless it's known
20393 to work.
20394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20395 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20396
20397 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
20398
20399 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20400 starts with "(,", fill the drive containing the loaded image in
20401 between those two characters, but expect that a full partition
20402 specification including partition map names will follow.
20403
20404 2010-09-08 Robert Millan <rmh@gnu.org>
20405
20406 * configure.ac: Remove `--enable-grub-fstest' option.
20407 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20408
20409 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20410 `grub-fstest' instead of `grub-probe' for readability verification.
20411 * util/grub-probe.c (probe): Remove readability verification kludge.
20412
20413 2010-09-08 Robert Millan <rmh@gnu.org>
20414
20415 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20416 initializing `GRUB_FS'.
20417
20418 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20419
20420 Not command (!) support to GRUB script.
20421
20422 * tests/grub_script_not.in: New test.
20423 * Makefile.util.def: Rules for new test.
20424
20425 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20426 ! command as a special case.
20427 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20428
20429 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20430
20431 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20432 grub_free.
20433
20434 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20435
20436 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20437
20438 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20439
20440 * docs/grub.texi (Shell-like scripting): Documentation for break,
20441 continue, shift and return commands.
20442
20443 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20444
20445 Rename CD-ROM to cd on BIOS.
20446
20447 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20448 "cd".
20449 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20450
20451 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20454 * util/grub-probe.c (main): Likewise.
20455 * util/i386/pc/grub-setup.c (main): Likewise.
20456 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20457 Reported and debugged by: alexxy
20458
20459 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20462 diagnostic info.
20463
20464 2010-09-05 Jo Shields <directhex@apebox.org>
20465
20466 * util/grub.d/30_os-prober.in: Add missing classes.
20467
20468 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * docs/grub.texi (Theme file format): Document new position format.
20471
20472 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20475 a table. Use @code instead of @verbatim.
20476
20477 2010-09-05 Colin D Bennett <colin@gibibit.com>
20478
20479 Gfxmenu documentation.
20480
20481 * docs/grub.texi (Theme file format): New chapter.
20482
20483 2010-09-05 Szymon Janc <szymon@janc.net.pl>
20484
20485 * grub-core/Makefile.core.def (xzio): New module.
20486 * grub-core/io/xzio.c: New file.
20487 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20488 * grub-core/lib/xzembed/xz_config.h: Likewise.
20489 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20490 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20491 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20492 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20493 * grub-core/lib/xzembed/xz_private.h: Likewise.
20494 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20495 * include/grub/file.h (grub_file_filter_id): New compression filter
20496 GRUB_FILE_FILTER_XZIO.
20497
20498 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20501 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20502 size.
20503
20504 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20507 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20508
20509 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20510
20511 Uncompressed checksum support.
20512
20513 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20514 (check_list): New parameter uncompress.
20515 (grub_cmd_hashsum): Handle --uncompress.
20516
20517 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Reintroduce testload.
20520
20521 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20522 from here ...
20523 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20524 (GRUB_MOD_INIT): New function.
20525 (GRUB_MOD_FINI): Likewise.
20526 * grub-core/Makefile.core.def (testload): New module.
20527
20528 2010-09-05 Szymon Janc <szymon@janc.net.pl>
20529
20530 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20531 (uint8_t): New type.
20532 (uint16_t): Likewise.
20533 (uint32_t): Likewise.
20534 (uint64_t): Likewise.
20535
20536 2010-09-05 Szymon Janc <szymon@janc.net.pl>
20537
20538 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20539
20540 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20543 Made static.
20544 (grub_gzfile_open): Removed. All users updated.
20545 (GRUB_MOD_INIT): New function.
20546 (GRUB_MOD_FINI): Likewise.
20547 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20548 (grub_file_filters_enabled): Likewise.
20549 (grub_file_open): Handle filters.
20550 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20551 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20552 * include/grub/file.h (grub_file_filter_id_t): New type.
20553 (grub_file_filter_t): Likewise.
20554 (grub_file_filters_all): New extern variable.
20555 (grub_file_filters_enabled): Likewise.
20556 (grub_file_filter_register): New inline function.
20557 (grub_file_filter_unregister): Likewise.
20558 (grub_file_filter_disable): Likewise.
20559 (grub_file_filter_disable_compression): Likewise.
20560 * include/grub/gzio.h: Removed.
20561
20562 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20563
20564 Filename expansion support for wildcards in GRUB script.
20565
20566 * tests/grub_script_expansion.in: New test.
20567 * Makefile.util.def: Rule for new test.
20568
20569 * grub-core/commands/wildcard.c: New file, implements filename
20570 expansion support for GRUB script.
20571 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20572 * grub-core/script/argv.c: Cosmetic changes.
20573 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20574 Refactored to perform wildcard expansion on arguments.
20575 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20576 struct.
20577
20578 * tests/util/grub-shell.in: Fix quoting for read input.
20579
20580 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20581
20582 Support for updating environment variables with matched substrings
20583 of regexp.
20584
20585 * tests/grub_cmd_regexp.in: New test.
20586 * Makefile.util.def: Rule for new test.
20587
20588 * grub-core/commands/regexp.c: New option -s to update environment
20589 variables with regexp matches.
20590
20591 2010-09-04 Szymon Janc <szymon@janc.net.pl>
20592
20593 * include/grub/file.h (grub_file): New member not_easly_seekable.
20594 (grub_file_seekable): New inline function.
20595 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20596 easily seekable.
20597 (grub_gzio_open): Set not_easly_seekable.
20598 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20599 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20600
20601 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20602
20603 Support for options to appear multiple times on cmdline.
20604
20605 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20606 * grub-core/commands/extcmd.c: Support for repeatable option.
20607 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20608 repeatable option support.
20609
20610 Refactor menuentry into a regular command.
20611
20612 * grub-core/commands/menuentry.c: New file, menuentry command
20613 implementation.
20614 * grub-core/Makefile.core.def: Rule update for normal.mod.
20615 * grub-core/normal/main.c: Moved menuentry creation to
20616 grub-core/commands/menuentry.c.
20617 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20618 (grub_menu_execute_entry_real): Removed.
20619 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20620 function.
20621 (grub_script_execute_menuentry): Removed.
20622 * grub-core/script/parser.y (menuentry): Removed.
20623 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20624 * grub-core/script/yylex.l (menuentry): Removed.
20625 * include/grub/menu.h (grub_menu_init): New prototype.
20626 (grub_menu_fini): New prototype.
20627 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20628 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20629 (grub_script_execute_sourcecode): New prototype.
20630
20631 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20632
20633 "return" command for GRUB script functions.
20634
20635 * tests/grub_script_return.in: New test.
20636 * Makefile.util.def: Rules for new test.
20637
20638 * grub-core/script/execute.c (grub_script_return): New function.
20639 * grub-core/script/main.c: Register/unregister return commaond.
20640 * include/grub/script_sh.h (grub_script_return): New prototype.
20641
20642 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20643
20644 "setparams" command to update positional parameters.
20645
20646 * tests/grub_script_setparams.in: New test.
20647 * Makefile.util.def: Rules for new test.
20648
20649 * grub-core/script/argv.c (grub_script_argv_make): New function.
20650 * grub-core/script/execute.c (replace_scope): New function.
20651 (grub_script_setparams): New function.
20652 * grub-core/script/lexer.c: Remove unused variables.
20653 * grub-core/script/main.c: Register/unregister setparams command.
20654 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20655 (grub_script_setparams): New prototype.
20656
20657 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20658
20659 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20660 grub_free order.
20661
20662 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20663
20664 Support for passing block of commands as an argument to extcmds.
20665
20666 * Makefile.util.def: Rules for new test.
20667 * tests/grub_script_blockarg.in: New test.
20668 * grub-core/tests/test_blockarg.c: New file, block argument
20669 command used in the test.
20670
20671 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20672 (grub_register_extcmd_prio): New function prototype.
20673 (grub_extcmd_dispatcher): New function prototype.
20674 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20675 type.
20676 * include/grub/script_sh.h (struct grub_script): New members
20677 `children', `next_siblings' and `refcnt' for block arguments and
20678 reference counting.
20679 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20680 (grub_script_arg): New member `script' for block argument.
20681 (grub_script_argv): New member `script' for block argument.
20682 (grub_parser_param): New member `scripts' for block argument.
20683 (grub_script_mem_free): New extern function prototype.
20684 (grub_script_ref): New function prototype.
20685 (grub_script_unref): New function prototype.
20686
20687 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20688 extcmd form to support block arguments.
20689 * grub-core/script/argv.c: Block arguments support.
20690 * grub-core/script/execute.c: Likewise.
20691 * grub-core/script/lexer.c: Likewise.
20692 * grub-core/script/main.c: Likewise.
20693 * grub-core/script/script.c: Likewise.
20694 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20695 non-terminals.
20696
20697 * grub-core/commands/acpi.c: Update extcmd implementations with
20698 grub_extcmd_context_t.
20699 * grub-core/commands/cat.c: Likewise.
20700 * grub-core/commands/echo.c: Likewise.
20701 * grub-core/commands/extcmd.c: Likewise.
20702 * grub-core/commands/hashsum.c: Likewise.
20703 * grub-core/commands/hdparm.c: Likewise.
20704 * grub-core/commands/help.c: Likewise.
20705 * grub-core/commands/hexdump.c: Likewise.
20706 * grub-core/commands/i386/cpuid.c: Likewise.
20707 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20708 * grub-core/commands/i386/pc/halt.c: Likewise.
20709 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20710 * grub-core/commands/iorw.c: Likewise.
20711 * grub-core/commands/keystatus.c: Likewise.
20712 * grub-core/commands/loadenv.c: Likewise.
20713 * grub-core/commands/ls.c: Likewise.
20714 * grub-core/commands/lspci.c: Likewise.
20715 * grub-core/commands/memrw.c: Likewise.
20716 * grub-core/commands/probe.c: Likewise.
20717 * grub-core/commands/search_wrap.c: Likewise.
20718 * grub-core/commands/setpci.c: Likewise.
20719 * grub-core/commands/sleep.c: Likewise.
20720 * grub-core/disk/loopback.c: Likewise.
20721 * grub-core/hello/hello.c: Likewise.
20722 * grub-core/loader/i386/bsd.c: Likewise.
20723 * grub-core/loader/xnu.c: Likewise.
20724 * grub-core/term/gfxterm.c: Likewise.
20725 * grub-core/term/serial.c: Likewise.
20726 * grub-core/tests/lib/functional_test.c: Likewise.
20727
20728 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20729
20730 Multi-line quoted strings support.
20731
20732 * grub-core/script/lexer.c (append_newline): Removed.
20733 (grub_script_lexer_yywrap): Refactored.
20734 (grub_script_lexer_init): Refactored.
20735 * grub-core/script/yylex.l (yywrap): New function.
20736 (grub_lexer_resplit): New function.
20737 (grub_lexer_unput): New function.
20738 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20739 and resplit.
20740 * tests/grub_script_echo1.in: Added few more testcases.
20741
20742 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 * grub-core/kern/misc.c: Don't add abort alias in utils.
20745 Reported by: echoline.
20746
20747 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20748
20749 Add missing files into "make dist" tarball for other platforms.
20750
20751 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20752 * conf/Makefile.common (dist_noinst_DATA): New variable.
20753 * conf/Makefile.extra-dist: Added missing make dist files.
20754 * grub-core/Makefile.core.def: Likewise.
20755
20756 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Compress grub_prefix.
20759
20760 * grub-core/boot/i386/pc/lnxboot.S: Use
20761 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20762 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20763 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20764 GRUB_MACHINE_PREFIX_END. All users updated.
20765 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20766 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20767 + 0x40.
20768 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20769 * util/grub-mkimage.c (image_target_desc): Change data_end to
20770 prefix_end. All users updated.
20771
20772 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20775 value.
20776 (grub_openbsd_boot): Likewise.
20777 (grub_netbsd_boot): Likewise.
20778 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20779 (grub_xnu_boot): Likewise.
20780
20781 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20782
20783 * configure.ac: Clean LIBS variable after tests.
20784
20785 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
20786
20787 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20788
20789 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20792 echo if libdevmapper will be used.
20793
20794 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20795
20796 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20797 constant for the same file.
20798
20799 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20800
20801 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20802
20803 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
20804
20805 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20806 grub-core/*.pp.
20807
20808 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
20809
20810 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20811 required by the boot protocol.
20812
20813 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20814 ebp and edi members.
20815 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20816 state.ebp and state.edi.
20817 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20818 %ebp and %edi according to grub_relocator32_ebp and
20819 grub_relocator32_edi respectively.
20820 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20821 and state.edi.
20822
20823 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 Add i386-pc-pxe image target.
20826
20827 * util/grub-mkimage.c (image_target_desc): New enum value
20828 IMAGE_I386_PC_PXE.
20829 (image_targets): New target i386-pc-pxe.
20830 (generate_image): Handle i386-pc-pxe image.
20831
20832 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 Fix grub_pxe_scan.
20835
20836 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20837 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20838 All users updated.
20839 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20840 (grub_pxe_pxenv): Correct type.
20841
20842 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
20843
20844 * NEWS: Document most of the important changes since 1.98.
20845
20846 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
20847
20848 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20849 generated manual page) a little.
20850
20851 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
20852
20853 * docs/grub.texi: Add myself as an author.
20854
20855 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * Makefile.util.def (libgrub.a): Add missing sunpc.
20858 Reported by: Seth Goldberg.
20859
20860 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 Interrupt wrapping and code simplifications.
20863
20864 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20865 x86_noieee1275 which are functionaly equivalent in this case.
20866 (grub-install): Make source on each platform explicit. Enable on
20867 all noemu.
20868 * gentpl.py (x86_efi_pc): Removed group.
20869 (x86_noefi): Likewise.
20870 (i386_noefi): Likewise.
20871 (x86_noieee1275): Likewise.
20872 (i386_noieee1275): Likewise.
20873 (i386_noefi_noieee1275): Likewise.
20874 (i386_pc_qemu_coreboot): Likewise.
20875 (i386_coreboot_multiboot): Likewise.
20876 (i386_pc_coreboot_multiboot_qemu): Likewise.
20877 (x86_noefi_mips): Likewise.
20878 (noieee1275): Likewise.
20879 (ieee1275_mips): Likewise.
20880 (noemu_noieee1275): Likewise.
20881 (cmos): New group.
20882 (usb): Likewise.
20883 (videoinkernel): Likewise.
20884 (videomodules): Likewise.
20885 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
20886 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20887 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20888 include/grub/loader.h, include/grub/msdos_partition.h,
20889 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20890 include/grub/machine/console.h, include/grub/machine/vga.h,
20891 include/grub/machine/vbe.h, include/grub/machine/init.h,
20892 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20893 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
20894 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
20895 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20896 * grub-core/Makefile.core.def (kernel): Explicit the source for
20897 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20898 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20899 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20900 Use videoinkernel tag.
20901 (usb): Enable on all usb.
20902 (usbserial_common): Likewise.
20903 (usbserial_pl2303): Likewise.
20904 (usbserial_ftdi): Likewise.
20905 (uhci): Enable on all x86.
20906 (ohci): Enable on all pci.
20907 (cmostest): Enable on all CMOS.
20908 (acpi): Include commands/acpi.c on all platforms.
20909 (halt): Add relevant lib/*/halt.c.
20910 (hdparm): Enable on all pci.
20911 (lspci): Likewise.
20912 (usbtest): Enable on all usb.
20913 (ata): Enable on all pci.
20914 (ata_pthru): Likewise.
20915 (usbms): Enable on all usb.
20916 (usb_keyboard): Likewise.
20917 (font): Use tag videomodules.
20918 (bufio): Likewise.
20919 (datetime): Use tag cmos. Enable on all noemu.
20920 (mmap): Use tags common and x86.
20921 (gfxterm): Use tag videomodules.
20922 (bitmap): Likewise.
20923 (bitmap_scale): Likewise.
20924 (video_fb): Likewise.
20925 (video): Likewise.
20926 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20927 adjust padding accordingly. All users updated.
20928 (grub_ohci_transaction): Fix bad format specification.
20929 (GRUB_MOD_INIT): Add asserts for struct size.
20930 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20931 (grub_alloc_td): Likewise.
20932 (grub_free_queue): Likewise.
20933 (grub_uhci_transfer): Likewise.
20934 (grub_uhci_transaction): Fix bad format specification.
20935 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20936 (grub_usb_bulk_readwrite): Likewise.
20937 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20938 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20939 Made static.
20940 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20941 Made static.
20942 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20943 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20944 Transformed into C.
20945 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20946 Moved from here ...
20947 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20948 ... here. Transformed into C. Made static.
20949 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20950 Moved from here ...
20951 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20952 ... here. Transformed into C. Made static.
20953 * grub-core/kern/i386/pc/startup.S
20954 (grub_biosdisk_check_int13_extensions): Moved from here ...
20955 * grub-core/disk/i386/pc/biosdisk.c
20956 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20957 Made static.
20958 * grub-core/kern/i386/pc/startup.S
20959 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20960 * grub-core/disk/i386/pc/biosdisk.c
20961 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20962 Transformed into C. Made static.
20963 * grub-core/kern/i386/pc/startup.S
20964 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20965 * grub-core/disk/i386/pc/biosdisk.c
20966 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20967 Transformed into C. Made static.
20968 * grub-core/kern/i386/pc/startup.S
20969 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20970 * grub-core/disk/i386/pc/biosdisk.c
20971 (grub_biosdisk_get_diskinfo_standard): ... here.
20972 Transformed into C. Made static.
20973 * grub-core/kern/i386/pc/startup.S
20974 (grub_biosdisk_get_num_floppies): Moved from here ...
20975 * grub-core/disk/i386/pc/biosdisk.c
20976 (grub_biosdisk_get_num_floppies): ... here.
20977 Transformed into C. Made static.
20978 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20979 New function.
20980 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20981 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20982 Transformed into C. Made static.
20983 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20984 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20985 Transformed into C. Made static.
20986 * grub-core/kern/i386/ieee1275/init.c: Removed.
20987 * grub-core/kern/i386/misc.S: Likewise.
20988 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20989 Splitted from here ...
20990 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20991 Transformed into C. Made static. All users updated.
20992 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20993 Transformed into C. Made static. All users updated.
20994 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20995 Moved from here...
20996 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20997 Transformed into C. Made static. All users updated.
20998 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20999 Moved from here...
21000 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
21001 Transformed into C. Made static. All users updated.
21002 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
21003 Removed (replaced by C version).
21004 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
21005 Moved from here...
21006 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
21007 Transformed into C. Made static.
21008 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
21009 Moved from here...
21010 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
21011 ... here. Transformed into C.
21012 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
21013 Moved from here...
21014 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
21015 ... here. Transformed into C.
21016 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
21017 Moved from here...
21018 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
21019 ... here. Transformed into C. Made static.
21020 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
21021 Moved from here...
21022 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
21023 ... here. Transformed into C.
21024 * grub-core/kern/i386/pc/startup.S
21025 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
21026 * grub-core/video/i386/pc/vbe.c
21027 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
21028 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
21029 Moved from here...
21030 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
21031 ... here. Transformed into C.
21032 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
21033 Moved from here...
21034 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
21035 ... here. Transformed into C.
21036 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
21037 Moved from here...
21038 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
21039 ... here. Transformed into C.
21040 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
21041 Moved from here...
21042 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
21043 ... here. Transformed into C.
21044 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
21045 Moved from here...
21046 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
21047 ... here. Transformed into C. Made static.
21048 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
21049 Moved from here...
21050 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
21051 ... here. Transformed into C. Made static.
21052 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
21053 Moved from here...
21054 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
21055 ... here. Transformed into C. Made static.
21056 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
21057 pxe_rm_entry as third argument.
21058 (grub_bios_interrupt): New function.
21059 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
21060 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
21061 of calling grub_stop.
21062 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
21063 * grub-core/lib/efi/halt.c (grub_halt): ...here.
21064 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
21065 * grub-core/lib/emu/halt.c (grub_halt): ... here.
21066 * grub-core/lib/i386/halt.c: Moved from here ...
21067 * grub-core/lib/i386/halt.c: ... here.
21068 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
21069 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
21070 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
21071 grub_stop_floppy.
21072 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
21073 * include/grub/i386/coreboot/init.h: Removed.
21074 * include/grub/i386/multiboot/init.h: Likewise.
21075 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
21076 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
21077 * include/grub/i386/pc/int.h: New file.
21078 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
21079 (grub_pxe_scan): Removed.
21080 (grub_pxe_call): Update prototype.
21081 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
21082 prototypes.
21083 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
21084 * include/grub/i386/qemu/init.h: Removed.
21085 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
21086 noreturn.
21087 (grub_halt): Likewise.
21088 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
21089 (grub_reboot): Likewise.
21090 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
21091 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21092 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
21093
21094 2010-08-30 Robert Millan <rmh@gnu.org>
21095
21096 * NEWS: Document addition of ZFS support in `grub-install' and
21097 `grub-mkconfig'.
21098
21099 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
21100
21101 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
21102 dprintf output.
21103
21104 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 Remove leftover embedding of font objects.
21107
21108 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21109 * util/grub-install.in (font): Removed.
21110 * util/grub-mkimage.c (generate_image): Remove font support. All users
21111 updated.
21112
21113 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 Remove leftover embedding of font objects.
21116
21117 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
21118 * util/grub-install.in (font): Removed.
21119 * util/grub-mkimage.c (generate_image): Remove font support. All users
21120 updated.
21121
21122 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 * docs/grub.texi (Network): Fix reference to pxe_blksize.
21125 Reported by: Ian Turner
21126
21127 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
21130 timeout to avoid indefinite boot stalling.
21131
21132 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
21135 (grub_env_write_color_highlight): Likewise.
21136
21137 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * grub-core/normal/term.c (print_more): Return to normal and not
21140 to standard state after printing "---MORE---".
21141
21142 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
21145 Mask out the bit 0x80 since it has other meaning that specifiing color.
21146
21147 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 New relocator. Allows for more kernel support and more straightforward
21150 loader writing.
21151
21152 * Makefile.am (BOOTTARGET): New variable.
21153 (QEMU32): Likewise.
21154 (linux.init.x86_64): New target.
21155 (linux.init.i386): Likewise.
21156 (multiboot.elf): Likewise.
21157 (kfreebsd.elf): Likewise.
21158 (kfreebsd.aout): Likewise.
21159 (pc-chainloader.elf): Likewise.
21160 (pc-chainloader.bin): Likewise.
21161 (ntldr.elf): Likewise.
21162 (ntldr.bin): Likewise.
21163 (multiboot2.elf): Likewise.
21164 (kfreebsd.init.x86_64): Likewise.
21165 (kfreebsd.init.i386): Likewise.
21166 (knetbsd.init.i386): Likewise.
21167 (kopenbsd.init.i386): Likewise.
21168 (knetbsd.init.x86_64): Likewise.
21169 (kopenbsd.init.x86_64): Likewise.
21170 (linux-initramfs.i386): Likewise.
21171 (linux-initramfs.x86_64): Likewise.
21172 (kfreebsd-mfsroot.i386.img): Likewise.
21173 (knetbsd.image.i386): Likewise.
21174 (kopenbsd.image.i386): Likewise.
21175 (kopenbsd.image.x86_64): Likewise.
21176 (knetbsd.miniroot-image.i386.img): Likewise.
21177 (kfreebsd-mfsroot.x86_64.img): Likewise.
21178 (knetbsd.image.x86_64): Likewise.
21179 (knetbsd.miniroot-image.x86_64.img): Likewise.
21180 (kfreebsd-mfsroot.i386.gz): Likewise.
21181 (bootcheck-kfreebsd-i386): Likewise.
21182 (kfreebsd-mfsroot.x86_64.gz): Likewise.
21183 (bootcheck-kfreebsd-x86_64): Likewise.
21184 (knetbsd.miniroot-image.i386.gz): Likewise.
21185 (bootcheck-knetbsd-i386): Likewise.
21186 (bootcheck-kopenbsd-i386): Likewise.
21187 (bootcheck-kopenbsd-x86_64): Likewise.
21188 (knetbsd.miniroot-image.x86_64.gz): Likewise.
21189 (bootcheck-knetbsd-x86_64): Likewise.
21190 (bootcheck-linux-i386): Likewise.
21191 (bootcheck-linux-x86_64): Likewise.
21192 (bootcheck-linux16-i386): Likewise.
21193 (bootcheck-linux16-x86_64): Likewise.
21194 (bootcheck-multiboot): Likewise.
21195 (bootcheck-multiboot2): Likewise.
21196 (bootcheck-kfreebsd-aout): Likewise.
21197 (bootcheck-pc-chainloader): Likewise.
21198 (bootcheck-ntldr): Likewise.
21199 (CLEANFILES): Add new targets.
21200 (BOOTCHECKS): New variable.
21201 (.PHONY): Add bootchecks.
21202 (SUCCESSFUL_BOOT_STRING): New variable.
21203 (BOOTCHECK_TIMEOUT): Likewise.
21204 (bootcheck): New target
21205 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
21206 * configure.ac: Correct efiemu excuse.
21207 * docs/grub.texi (Supported kernels): New chapter.
21208 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
21209 include/grub/mm_private.h. Simplify inclusion of
21210 include/grub/boot.h, include/grub/loader.h
21211 and include/grub/msdos_partition.h
21212 (KERNEL_HEADER_FILES) [i386_coreboot]:
21213 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
21214 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
21215 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
21216 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
21217 include/grub/machine/loader.h.
21218 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
21219 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
21220 extra_dist.
21221 (pci.mod): Enable on i386-multiboot.
21222 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
21223 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
21224 i386-qemu.
21225 (relocator.mod): Rewritten.
21226 (aout.mod): Enable on all x86.
21227 (bsd.mod): Likewise.
21228 (ntldr.mod): New module.
21229 (linux.mod): Use loader/i386/linux.c on all x86.
21230 (xnu.mod): Enable on all x86.
21231 (vga_text.mod): disable on EFI and QEMU.
21232 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
21233 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
21234 * grub-core/efiemu/loadcore.c: Likewise.
21235 * grub-core/efiemu/main.c: Likewise.
21236 (grub_efiemu_exit_boot_services): Removed.
21237 (grub_efiemu_finish_boot_services): Likewise.
21238 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
21239 function.
21240 * grub-core/efiemu/i386/nocfgtables.c: New file.
21241 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
21242 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
21243 (grub_efi_finish_boot_services): Moved from here ...
21244 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
21245 Fille finish memory map and related data.
21246 (finish_mmap_buf): New variable.
21247 (grub_efi_uintn_t finish_mmap_size): Likewise.
21248 (grub_efi_uintn_t finish_key): Likewise.
21249 (grub_efi_uintn_t finish_desc_size): Likewise.
21250 (grub_efi_uint32_t finish_desc_version): Likewise.
21251 (grub_efi_is_finished): Likewise.
21252 (grub_efi_get_memory_map): Use saved memory map if EFI is already
21253 finished.
21254 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
21255 (grub_elf64_phdr_iterate): Likewise.
21256 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
21257 (grub_os_area_size): Likewise.
21258 (grub_machine_init): Don't reserve os area.
21259 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
21260 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
21261 * grub-core/kern/i386/loader.S: Removed.
21262 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
21263 (grub_os_area_size): Likewise.
21264 (grub_machine_init): Don't reserve os area.
21265 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
21266 Don't call grub_dl_unload_all.
21267 Don't include loader.S.
21268 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
21269 Declare the memory after _end as available.
21270 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
21271 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
21272 (GRUB_MM_ALLOC_MAGIC): Moved from here...
21273 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
21274 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
21275 * include/grub/mm_private.h (grub_mm_header): ... here.
21276 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
21277 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
21278 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
21279 (grub_mm_region): ..here. Removed addr. Added pre_size.
21280 All users updated.
21281 * grub-core/kern/mm.c (base): Renamed to ...
21282 (grub_mm_base): ... this. Made global.
21283 (grub_real_malloc): Alloc from end of region.
21284 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
21285 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
21286 * grub-core/kern/powerpc/cache_flush.S: ... here.
21287 * grub-core/lib/efi/relocator.c: New file.
21288 * grub-core/lib/i386/relocator.c: Rewritten.
21289 * grub-core/lib/i386/relocator16.S: New file.
21290 * grub-core/lib/i386/relocator32.S: Likewise.
21291 * grub-core/lib/i386/relocator64.S: Likewise.
21292 * grub-core/lib/i386/relocator_asm.S: Rewritten.
21293 * grub-core/lib/i386/relocator_common.S: New file.
21294 * grub-core/lib/ieee1275/relocator.c: Likewise.
21295 * grub-core/lib/mips/relocator.c: Rewritten.
21296 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
21297 stylistic adjustments.
21298 * grub-core/lib/powerpc/relocator.c: New file.
21299 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
21300 * grub-core/lib/relocator.c: Rewritten.
21301 * grub-core/lib/x86_64/relocator_asm.S: New file.
21302 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
21303 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
21304 (bsd_tag): New struct.
21305 (tags): New variable.
21306 (tags_last): Likewise.
21307 (netbsd_module): New struct.
21308 (netbsd_mods): New variable.
21309 (netbsd_mods_last): Likewise.
21310 (openbsd_opts): New parameter "serial".
21311 (OPENBSD_SERIAL_ARG): New definition.
21312 (netbsd_opts): New parameter "serial".
21313 (NETBSD_SERIAL_ARG): New definition.
21314 (grub_freebsd_add_meta): Reorganised into ...
21315 (grub_bsd_add_meta): ...this. All users updated.
21316 (grub_freebsd_add_mmap): Reorganised into ...
21317 (generate_e820_mmap): ...this...
21318 (grub_bsd_add_mmap): ...and this. All users updated.
21319 (grub_freebsd_list_modules): Use tags.
21320 (grub_netbsd_add_meta_module): New function.
21321 (grub_netbsd_list_modules): Likewise.
21322 (grub_freebsd_boot): Use relocator and finish EFI.
21323 (grub_openbsd_boot): Likewise.
21324 (grub_netbsd_setup_video): New function.
21325 (grub_netbsd_add_modules): Likewise.
21326 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
21327 and finish EFI.
21328 (grub_bsd_unload): Unload tags.
21329 (grub_bsd_load_aout): Use relocator.
21330 (grub_bsd_elf32_size_hook): New function.
21331 (grub_bsd_elf32_hook): Use relocator.
21332 (grub_bsd_elf64_size_hook): New function.
21333 (grub_bsd_elf64_hook): Use relocator.
21334 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21335 (grub_bsd_load): Zero-out openbsd_ramdisk.
21336 (grub_bsd_load): Use relocator.
21337 (grub_cmd_openbsd): Support serial.
21338 (grub_cmd_netbsd): Support modules.
21339 (grub_cmd_freebsd_module): Use relocator.
21340 (grub_netbsd_module_load): New function.
21341 (grub_cmd_netbsd_module): Likewise.
21342 (grub_cmd_openbsd_ramdisk): Likewise.
21343 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21344 kopenbsd_ramdisk.
21345 (GRUB_MOD_FINI): Unregister new commands.
21346 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21347 (grub_freebsd_load_elfmodule_obj): Use relocator.
21348 (grub_freebsd_load_elfmodule): Likewise.
21349 (grub_freebsd_load_elf_meta): Likewise.
21350 (grub_netbsd_load_elf_meta): New function.
21351 (grub_openbsd_find_ramdisk): Likewise.
21352 * grub-core/loader/i386/bsd_helper.S: Removed.
21353 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21354 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21355 * grub-core/loader/i386/efi/linux.c: Likewise.
21356 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21357 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21358 (DEFAULT_VIDEO_MODE): Likewise.
21359 (real_mode_target): New variable.
21360 (prot_mode_target): Likewise.
21361 (initrd_mem_target): Likewise.
21362 (relocator): Likewise.
21363 (efi_mmap_buf): Likewise.
21364 (efi_mmap_size): Likewise.
21365 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21366 (free_pages): Use relocator.
21367 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21368 (grub_linux_setup_video): Return error.
21369 (grub_linux_trampoline_start): Removed.
21370 (grub_linux_trampoline_end): Likewise.
21371 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21372 andd video parameters depending on firmware.
21373 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21374 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21375 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21376 (grub_cmd_initrd): Use relocator.
21377 * grub-core/loader/i386/linux_trampoline.S: Removed.
21378 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21379 (elf_sec_entsize): Likewise.
21380 (elf_sec_shstrndx): Likewise.
21381 (elf_sections): Likewise.
21382 (grub_multiboot_load): Use relocator.
21383 (grub_multiboot_get_mbi_size): Account for sections.
21384 (grub_multiboot_make_mbi): Use relocator and support sections.
21385 (grub_multiboot_add_elfsyms): New function.
21386 (grub_multiboot_free_mbi): Free sections.
21387 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21388 (grub_linux_real_target): Likewise.
21389 (grub_linux_real_chunk): Likewise.
21390 (grub_linux16_prot_size): Likewise.
21391 (grub_linux16_boot): Use relocator.
21392 (grub_linux_unload): Unload relocator.
21393 (grub_cmd_linux): Use relocator.
21394 (grub_cmd_initrd): Likewise.
21395 * grub-core/loader/i386/pc/ntldr.c: New file.
21396 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21397 Don't try to guess CPU frequency.
21398 (grub_xnu_set_video): Stretch bitmap.
21399 (grub_xnu_boot): Use relocator.
21400 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21401 (grub_linux_unload): Free relocator.
21402 (grub_linux_load32): Use relocator.
21403 (grub_linux_load64): Likewise.
21404 (grub_cmd_initrd): Likewise.
21405 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21406 (grub_multiboot_unload): Unload relocator.
21407 (grub_cmd_multiboot): Use relocator.
21408 (grub_cmd_module): Likewise.
21409 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21410 Use relocator and support sections.
21411 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21412 (elf_sec_entsize): Likewise.
21413 (elf_sec_shstrndx): Likewise.
21414 (elf_sections): Likewise.
21415 (grub_multiboot_load): Use relocator.
21416 (grub_multiboot_get_mbi_size): Account for sections.
21417 (grub_multiboot_make_mbi): Use relocator and support sections.
21418 (grub_multiboot_add_elfsyms): New function.
21419 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21420 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21421 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21422 Prototype changed. All users updated.
21423 (grub_xnu_align_heap): Simplified.
21424 (grub_xnu_writetree_toheap): Likewise.
21425 (grub_xnu_unload): Unload relocator.
21426 (grub_cmd_xnu_kernel): Use relocator.
21427 (grub_cmd_xnu_kernel64): Likewise.
21428 (grub_xnu_register_memory): Simplified.
21429 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
21430 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21431 EFI is finished.
21432 (grub_console_checkkey): Likewise.
21433 (grub_console_getkey): Likewise.
21434 (grub_console_getwh): Likewise.
21435 (grub_console_getxy): Likewise.
21436 (grub_console_gotoxy): Likewise.
21437 (grub_console_cls): Likewise.
21438 (grub_console_setcolorstate): Likewise.
21439 (grub_console_setcursor): Likewise.
21440 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21441 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21442 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21443 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21444 * grub-core/tests/boot/kernel-8086.S: Likewise.
21445 * grub-core/tests/boot/kernel-i386.S: Likewise.
21446 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21447 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21448 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21449 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21450 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21451 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21452 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21453 * grub-core/tests/boot/linux.cfg: Likewise.
21454 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21455 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21456 * grub-core/tests/boot/linux16.cfg: Likewise.
21457 * grub-core/tests/boot/multiboot.cfg: Likewise.
21458 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21459 * grub-core/tests/boot/ntldr.cfg: Likewise.
21460 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21461 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21462 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21463 New definition.
21464 * include/grub/dl.h (grub_dl_unload_all): Removed.
21465 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21466 (grub_efi_finish_boot_services): Change prototype.
21467 (grub_efi_is_finished): New variable.
21468 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21469 Changed prototype.
21470 (grub_efiemu_finish_boot_services): Removed.
21471 (grub_machine_efiemu_init_tables): New prototype.
21472 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21473 (grub_elf64_phdr_iterate): Likewise.
21474 * include/grub/i386/bsd.h: Include relocator.h.
21475 (freebsd_tag_header): New struct.
21476 (grub_openbsd_bios_mmap): Removed.
21477 (grub_unix_real_boot): Removed.
21478 (grub_freebsd_load_elfmodule32): Changed prototype.
21479 (grub_freebsd_load_elfmodule_obj64): Likewise.
21480 (grub_freebsd_load_elf_meta32): Likewise.
21481 (grub_freebsd_load_elf_meta64): Likewise.
21482 (grub_freebsd_add_meta): Removed.
21483 (grub_netbsd_load_elf_meta32): New prototype.
21484 (grub_netbsd_load_elf_meta64): Likewise.
21485 (grub_bsd_add_meta): Likewise.
21486 (grub_openbsd_ramdisk_descriptor): New struct.
21487 (grub_openbsd_find_ramdisk32): New prototype.
21488 (grub_openbsd_find_ramdisk64): Likewise.
21489 * include/grub/i386/coreboot/loader.h: Removed.
21490 * include/grub/i386/efi/loader.h: Likewise.
21491 * include/grub/i386/ieee1275/loader.h: Likewise.
21492 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21493 to grub_uint32_t.
21494 * include/grub/i386/loader.h: Removed.
21495 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21496 value.
21497 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21498 (grub_phys_addr_t): New type.
21499 (grub_vtop): New inline function.
21500 (grub_map_memory): Likewise.
21501 (grub_unmap_memory): Likewise.
21502 * include/grub/i386/multiboot/loader.h: Removed.
21503 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21504 (NETBSD_BTINFO_CONSOLE): New definition.
21505 (NETBSD_BTINFO_SYMTAB): Likewise.
21506 (NETBSD_BTINFO_MODULES): Likewise.
21507 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21508 (grub_netbsd_bootinfo): New struct.
21509 (grub_netbsd_btinfo_common): Use explicit bitsize.
21510 (grub_netbsd_btinfo_mmap_entry): Removed.
21511 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21512 (grub_netbsd_btinfo_bootdisk): New struct.
21513 (grub_netbsd_btinfo_symtab): Likewise.
21514 (grub_netbsd_btinfo_serial): Likewise.
21515 (grub_netbsd_btinfo_modules): Likewise.
21516 (grub_netbsd_btinfo_framebuf): Likewise.
21517 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21518 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21519 Likewise.
21520 (grub_openbsd_bootargs): Use explicit bitsize.
21521 (grub_openbsd_bootarg_console): New struct.
21522 (GRUB_OPENBSD_COM_MAJOR): New definition.
21523 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21524 * include/grub/i386/pc/efiemu.h: Removed.
21525 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21526 * include/grub/i386/qemu/loader.h: Removed.
21527 * include/grub/i386/relocator.h: Rewritten.
21528 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21529 * include/grub/mips/memory.h: New file.
21530 * include/grub/mips/multiboot.h: Rewritten.
21531 * include/grub/mips/relocator.h: Rewritten.
21532 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21533 (grub_vtop): New function.
21534 (grub_map_memory): Likewise.
21535 (grub_unmap_memory): Likewise.
21536 * include/grub/misc.h (ALIGN_DOWN): New definition.
21537 * include/grub/mm.h (grub_mm_check_real): New proto.
21538 (GRUB_MM_CHECK): New definition.
21539 * include/grub/mm_private.h: New file.
21540 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21541 (grub_multiboot_get_mbi_size): Removed.
21542 (grub_multiboot_make_mbi): Change prottype.
21543 (grub_multiboot_set_accepts_video): New proto.
21544 (grub_multiboot_add_elfsyms): Likewise.
21545 (grub_multiboot_payload_eip): New variable.
21546 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21547 New prototype.
21548 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21549 New definition.
21550 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21551 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21552 * include/grub/powerpc/ieee1275/loader.h: Removed.
21553 * include/grub/powerpc/memory.h: New file.
21554 * include/grub/powerpc/relocator.h: Likewise.
21555 * include/grub/relocator.h: Likewise.
21556 * include/grub/relocator_private.h: Likewise.
21557 * include/grub/sparc64/ieee1275/loader.h: Removed.
21558 * include/grub/x86_64/memory.h: New file.
21559 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21560 (grub_xnu_heap_malloc): Likewise.
21561 (grub_xnu_heap_real_start): Removed.
21562 (grub_xnu_heap_start): Likewise.
21563 (grub_xnu_relocator): New variable.
21564 (grub_xnu_heap_target_start): Likewise.
21565 * tests/util/grub-shell.in: Support non-pc.
21566 * util/grub-mkimage.c (image_targets): Fix multiboot target.
21567
21568 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21571 on malloc error.
21572 (grub_bidi_logical_to_visual): Check that malloc succeded.
21573 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21574 puts.
21575 (grub_xputs_normal): Likewise.
21576
21577 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21578
21579 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21580 extra_dist.
21581
21582 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21585
21586 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21589
21590 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21593 dprintf.
21594
21595 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21596
21597 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21598
21599 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * grub-core/normal/term.c (print_more): Fix a memory leak.
21602 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21603 (grub_xputs_normal): Likewise.
21604
21605 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21608 the begining of the string
21609
21610 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * grub-core/script/script.c (grub_script_parse): Free parsed on
21613 failure.
21614
21615 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21618 on failure.
21619
21620 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21623 return.
21624
21625 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21628 (scroll_up): Fix a memory leak.
21629
21630 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21633 errors.
21634
21635 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 Handle USB pendrives exposed as floppies.
21638
21639 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21640 floppy.
21641 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21642 Check for partitions on all devices.
21643
21644 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21647 (readkey): Likewise.
21648
21649 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21650
21651 Multiple variable names support to "export" command.
21652
21653 * normal/context.c (grub_cmd_export): "export" command supports
21654 multiple variable names.
21655
21656 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21657
21658 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21659 --target=drive output to Mach device name.
21660
21661 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21662
21663 New Automake based build system for GRUB.
21664
21665 * ABOUT-NLS: New file.
21666 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21667 in Makefile.util.def file.
21668 * Makefile.util.def: New file. Autogen build definitions file for
21669 GRUB host utils.
21670 * conf/Makefile.common: New file. Common variables for GRUB host
21671 utils and target modules.
21672 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21673 * docs/Makefile.am: New file. Automake file for docs.
21674 * gentpl.py: New file. Python script to generate Autogen
21675 template.
21676 * grub-core/Makefile.am: New file. GRUB target modules' rules
21677 that doesn't fit in Makefile.core.def file.
21678 * grub-core/Makefile.core.def: New file. Autogen build
21679 definitions file for GRUB target modules.
21680 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21681 specific setjmp.S file.
21682 * po/Makefile.am: New file.
21683
21684 * .bzrignore: New ignores.
21685 * INSTALL: New requirements, without Ruby.
21686 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21687 * autogen.sh: Updated to invoke autogen as necessary.
21688 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21689 and defines for Automake conditionals.
21690 * geninit.sh: Refactoring.
21691
21692 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21693 necessary.
21694 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21695 New prototype.
21696
21697 * include/grub/test.h: Fix functional test modules' naming.
21698 * grub-core/tests/example_functional_test.c: Fix test module name.
21699
21700 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21701 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21702 * util/grub-editenv.c: Likewise.
21703 * util/grub-fstest.c: Likewise.
21704 * util/grub-mkdevicemap.c: Likewise.
21705 * util/grub-mkfont.c: Likewise.
21706 * util/grub-mkimage.c: Likewise.
21707 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21708 * util/grub-probe.c: Likewise.
21709 * util/grub-script-check.c: Likewise.
21710 * util/i386/pc/grub-setup.c: Likewise.
21711 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21712
21713 * tests/util/grub-shell.in: Fix override directory path.
21714 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21715 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21716
21717 * util/lvm.c: Update #includes.
21718 * util/raid.c: Likewise.
21719 * util/resolve.c: Likewise.
21720 * grub-core/bus/emu/pci.c: Likewise.
21721 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21722 * grub-core/lib/posix_wrap/string.h: Likewise.
21723 * grub-core/kern/emu/main.c: Likewise.
21724
21725 * grub-core/gensymlist.sh: New file. Script for generating kernel
21726 symbols file.
21727 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21728
21729 * grub-core/gentrigtables.c: Fix unused variable warnings.
21730
21731 * Makefile.in: Removed.
21732 * conf/any-emu.rmk: Removed.
21733 * conf/common.rmk: Removed.
21734 * conf/i386-coreboot.rmk: Removed.
21735 * conf/i386-efi.rmk: Removed.
21736 * conf/i386-ieee1275.rmk: Removed.
21737 * conf/i386-multiboot.rmk: Removed.
21738 * conf/i386-pc.rmk: Removed.
21739 * conf/i386-qemu.rmk: Removed.
21740 * conf/i386.rmk: Removed.
21741 * conf/mips-yeeloong.rmk: Removed.
21742 * conf/mips.rmk: Removed.
21743 * conf/powerpc-ieee1275.rmk: Removed.
21744 * conf/sparc64-ieee1275.rmk: Removed.
21745 * conf/tests.rmk: Removed.
21746 * conf/x86-efi.rmk: Removed.
21747 * conf/x86_64-efi.rmk: Removed.
21748 * gendistlist.sh: Removed.
21749 * geninitheader.sh: Removed.
21750 * genkernsyms.sh.in: Removed.
21751 * genmk.rb: Removed.
21752 * gensymlist.sh.in: Removed.
21753 * mkinstalldirs: Removed.
21754 * boot: Moved ...
21755 * grub-core/boot: ... to here.
21756 * bus: Moved ...
21757 * grub-core/bus: ... to here.
21758 * commands: Moved ...
21759 * grub-core/commands: ... to here.
21760 * disk: Moved ...
21761 * grub-core/disk: ... to here.
21762 * efiemu: Moved ...
21763 * grub-core/efiemu: ... to here.
21764 * font: Moved ...
21765 * grub-core/font: ... to here.
21766 * fs: Moved ...
21767 * grub-core/fs: ... to here.
21768 * gencmdlist.sh: Moved ...
21769 * grub-core/gencmdlist.sh: ... to here.
21770 * genemuinit.sh: Moved ...
21771 * grub-core/genemuinit.sh: ... to here.
21772 * genemuinitheader.sh: Moved ...
21773 * grub-core/genemuinitheader.sh: ... to here.
21774 * genfslist.sh: Moved ...
21775 * grub-core/genfslist.sh: ... to here.
21776 * genhandlerlist.sh: Moved ...
21777 * grub-core/genhandlerlist.sh: ... to here.
21778 * genmoddep.awk: Moved ...
21779 * grub-core/genmoddep.awk: ... to here.
21780 * genmodsrc.sh: Moved ...
21781 * grub-core/genmodsrc.sh: ... to here.
21782 * genpartmaplist.sh: Moved ...
21783 * grub-core/genpartmaplist.sh: ... to here.
21784 * genparttoollist.sh: Moved ...
21785 * grub-core/genparttoollist.sh: ... to here.
21786 * genterminallist.sh: Moved ...
21787 * grub-core/genterminallist.sh: ... to here.
21788 * gentrigtables.c: Moved ...
21789 * grub-core/gentrigtables.c: ... to here.
21790 * genvideolist.sh: Moved ...
21791 * grub-core/genvideolist.sh: ... to here.
21792 * gettext: Moved ...
21793 * grub-core/gettext: ... to here.
21794 * gfxmenu: Moved ...
21795 * grub-core/gfxmenu: ... to here.
21796 * gnulib: Moved ...
21797 * grub-core/gnulib: ... to here.
21798 * hello: Moved ...
21799 * grub-core/hello: ... to here.
21800 * hook: Moved ...
21801 * grub-core/hook: ... to here.
21802 * io: Moved ...
21803 * grub-core/io: ... to here.
21804 * kern: Moved ...
21805 * grub-core/kern: ... to here.
21806 * lib: Moved ...
21807 * grub-core/lib: ... to here.
21808 * loader: Moved ...
21809 * grub-core/loader: ... to here.
21810 * mmap: Moved ...
21811 * grub-core/mmap: ... to here.
21812 * normal: Moved ...
21813 * grub-core/normal: ... to here.
21814 * partmap: Moved ...
21815 * grub-core/partmap: ... to here.
21816 * parttool: Moved ...
21817 * grub-core/parttool: ... to here.
21818 * script: Moved ...
21819 * grub-core/script: ... to here.
21820 * term: Moved ...
21821 * grub-core/term: ... to here
21822 * tests/example_functional_test.c: Moved ...
21823 * grub-core/tests/example_functional_test.c: ... to here.
21824 * tests/lib/functional_test.c: Moved ...
21825 * grub-core/tests/lib/functional_test.c: ... to here.
21826 * tests/lib/test.c: Moved ...
21827 * grub-core/tests/lib/test.c: ... to here.
21828 * video: Moved ...
21829 * grub-core/video: ... to here.
21830
21831 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21832
21833 Replace --enable-grub-emu-modules with grub-emu-lite.
21834
21835 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21836 cache.S.
21837
21838 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21839 * kern/emu/full.c: New file. For grub-emu specific initialization.
21840 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21841 * kern/emu/main.c: Call initialization function grub_emu_init.
21842
21843 * Makefile.in: Include grub-emu-lite in install.
21844 * commands/parttool.c: Use grub_no_autoload to differentiate
21845 between grub-emu and grub-emu-lite.
21846 * include/grub/misc.h: New variable grub_no_autoload.
21847
21848 * conf/any-emu.rmk: New rules for grub-emu-lite.
21849 * configure.ac: Remove --enable-grub-emu-modules.
21850 * genmk.rb: Cleanup unnecessary rules.
21851 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21852
21853 * normal/main.c: Don't load list files on grub-emu-lite.
21854 * util/misc.c (grub_arch_sync_caches): Removed.
21855
21856 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
21857
21858 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21859 grub-mkimage rather than grub-mkelfimage.
21860 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21861
21862 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21865 a key after CapsLock or NumLock. It's just a qemu bug.
21866
21867 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21870 needed by libusb wrapper.
21871
21872 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21873
21874 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21875
21876 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21877
21878 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21879 --nounzip is passed.
21880
21881 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21882
21883 USB hotunplugging and USB serial support.
21884
21885 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21886 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21887 (grub_uhci_transfer): Respect timeout and set *actual.
21888 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21889 non-standard length.
21890 (grub_usb_device_attach): Autoload modules.
21891 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21892 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21893 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21894 users updated.
21895 (grub_usb_add_hub): Fill nports and children.
21896 (attach_root_port): Receive hub instead of controller.
21897 All users updated. Fill hub->devices.
21898 (grub_usb_root_hub): Allocate hub->devices.
21899 (detach_device): New function.
21900 (poll_nonroot_hub): Fill children and detach devices.
21901 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21902 actual arguments. All users updated.
21903 (grub_usb_bulk_read_extended): New function.
21904 * bus/usb/serial/common.c: New file.
21905 * bus/usb/serial/ftdi.c: Likewise.
21906 * bus/usb/serial/pl2303.c: Likewise.
21907 * commands/terminal.c (handle_command): Support wildcard.
21908 * commands/usbtest.c: Output "Unknown" instead of empty string.
21909 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21910 (usbserial_common_mod_SOURCES): New variable.
21911 (usbserial_common_mod_CFLAGS): Likewise.
21912 (usbserial_common_mod_LDFLAGS): Likewise.
21913 (pkglib_MODULES): Add usbserial_pl2303.mod.
21914 (usbserial_pl2303_mod_SOURCES): New variable.
21915 (usbserial_pl2303_mod_CFLAGS): Likewise.
21916 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21917 (pkglib_MODULES): Add usbserial_ftdi.mod.
21918 (usbserial_ftdi_mod_SOURCES): New variable.
21919 (usbserial_ftdi_mod_CFLAGS): Likewise.
21920 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21921 (pkglib_MODULES): Add serial.mod.
21922 (serial_mod_SOURCES): New variable.
21923 (serial_mod_CFLAGS): Likewise.
21924 (serial_mod_LDFLAGS): Likewise.
21925 * conf/i386-pc.rmk: Likewise.
21926 * conf/mips-yeeloong.rmk: Likewise.
21927 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21928 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21929 * disk/usbms.c (first_available_slot): New variable.
21930 (grub_usbms_attach): Don't reuse free slots due to potential cache
21931 problems.
21932 * include/grub/serial.h: Moved to ..
21933 * include/grub/ns8250.h: ...this.
21934 * include/grub/serial.h: New file.
21935 * include/grub/term.h (grub_term_poll_usb): New variable.
21936 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21937 readkey. All users updated.
21938 (grub_terminfo_output_state): Pass term to put.
21939 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21940 (grub_usb_controller_dev): Add timeout and actual arguments to
21941 transfer. All users updated.
21942 (grub_usb_interface): New field detach_data.
21943 (grub_usb_device): New fields children and nports.
21944 (grub_usb_ep_type_t): New type.
21945 (grub_usb_get_ep_type): New function.
21946 (grub_usb_bulk_read_extended): Likewise.
21947 * include/grub/usbdesc.h (grub_usb_desc): New type.
21948 * include/grub/usbserial.h: New file.
21949 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21950 * kern/term.c (grub_term_poll_usb): New variable.
21951 (grub_getkey): Call grub_term_poll_usb if set.
21952 (grub_checkkey): Likewise.
21953 (grub_getkeystatus): Likewise.
21954 * term/serial.c: Moved controller-specific parts to ...
21955 * term/ns8250.c: ... here.
21956 * term/serial.c: Mostly rewritten.
21957 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21958 according to spec.
21959
21960 2010-08-20 Robert Millan <rmh@gnu.org>
21961
21962 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21963 a separate module and maybe other interesting combinations.
21964
21965 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21966 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21967 (kfreebsd_entry): Add generic filesystem module load routine.
21968 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21969
21970 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
21971
21972 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21973 "numcenter" (I misunderstood the purpose of this entry).
21974 * docs/grub.texi (sendkey): Likewise.
21975
21976 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
21977
21978 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21979 status flag options; simply omitting the option is equivalent and
21980 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21981 (keysym_table): Rename "num5numlock" to "numlock".
21982 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21983 can uniformly say that only the last of multiple `sendkey'
21984 invocations has any effect.
21985 * docs/grub.texi (sendkey): New section.
21986
21987 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
21988
21989 * commands/i386/pc/sendkey.c (options): Fix three typos.
21990
21991 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 Implement sendkey support.
21994
21995 * commands/i386/pc/sendkey.c: New file.
21996 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21997 (sendkey_mod_SOURCES): New variable.
21998 (sendkey_mod_CFLAGS): Likewise.
21999 (sendkey_mod_LDFLAGS): Likewise.
22000
22001 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
22002
22003 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
22004 fix warnings from Autoconf.
22005
22006 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
22007
22008 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
22009 to avoid false positives with some assemblers that output things
22010 like "someprefix_func" as part of their output.
22011
22012 2010-08-15 Robert Millan <rmh@gnu.org>
22013
22014 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
22015 errors.
22016 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
22017 grub_get_libzfs_handle() errors.
22018
22019 2010-08-14 Robert Millan <rmh@gnu.org>
22020
22021 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
22022 filesystem is not ZFS.
22023
22024 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22025
22026 Fix for misspelled color names defaulting to black/black (bug
22027 reported by Doug Nazar)
22028
22029 * include/grub/normal.h (grub_parse_color_name_pair): Add return
22030 status to prototype.
22031 * normal/color.c (grub_parse_color_name_pair): Return failure
22032 status.
22033 (grub_env_write_color_normal): Ignore bad color names.
22034 (grub_env_write_color_highlight): Likewise.
22035 * normal/main.c (GRUB_MOD_INIT): Set default color names.
22036
22037 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22038
22039 "shift" command support to GRUB script.
22040
22041 * include/grub/script_sh.h (grub_script_shift): New prototype.
22042 * script/execute.c (grub_script_shift): New function.
22043 * script/main.c (grub_script_init): Register shift command.
22044 (grub_script_fini): Unregister shift command.
22045 * util/grub-script-check.c (grub_script_cmd_shift): New function.
22046
22047 * tests/grub_script_shift.in: New testcase.
22048 * conf/tests.rmk: Rules for new testcase.
22049
22050 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22051
22052 "continue" command support to GRUB script.
22053
22054 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
22055 (grub_script_break): Continue support.
22056 * script/main.c (grub_script_init): Register continue command.
22057 (grub_script_fini): Unregister continue command.
22058
22059 * tests/grub_script_continue.in: New testcase.
22060 * conf/tests.rmk: Rules for new testcase.
22061
22062 2010-08-12 BVK Chaitanya <bvk@dbook>
22063
22064 "break" command support to GRUB script.
22065
22066 * conf/common.rmk: Rule updates to grub-script-check.
22067 * include/grub/misc.h (grub_min): New function.
22068 * include/grub/script_sh.h (grub_script_init): New prototype.
22069 (grub_script_fini): New prototype.
22070 (grub_script_break): New prototype.
22071 * script/main.c (grub_script_init): New function.
22072 (grub_script_fini): New function.
22073 * script/execute.c (grub_script_break): New function.
22074 * normal/main.c: Calls to grub_script_{init,fini}.
22075 * util/grub-script-check.c (grub_script_break): New function.
22076
22077 * tests/grub_script_break.in: New testcase.
22078 * conf/tests.rmk: Rules for new test case.
22079
22080 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22081
22082 Function parameters support to GRUB script.
22083
22084 * script/yylex.l (VARIABLE): Regular expression update.
22085 * script/function.c (grub_script_function_call): Moved ...
22086 * script/execute.c (grub_script_function_call): ... to here.
22087 (grub_script_execute_arglist_to_argv): Removed.
22088 (grub_script_arglist_to_argv): New function.
22089 * script/argv.c: New file.
22090 (grub_script_argv_free): New function.
22091 (grub_script_argv_next): Likewise.
22092 (grub_script_argv_append): Likewise.
22093 (grub_script_argv_split_append): Likewise.
22094 * include/grub/script_sh.h (grub_script_argv): New struct.
22095 (grub_script_argv_free): New function.
22096 (grub_script_argv_next): Likewise.
22097 (grub_script_argv_append): Likewise.
22098 (grub_script_argv_split_append): Likewise.
22099
22100 * conf/common.rmk (normal.mod): New source script/argv.c.
22101
22102 * tests/grub_script_echo1.in: More tests.
22103 * tests/grub_script_vars1.in: Likewise.
22104 * tests/grub_script_functions.in: New test case.
22105 * conf/tests.rmk: Rules for new testcase.
22106
22107 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
22108
22109 Remove grub_script_cmdblock struct.
22110
22111 * include/grub/script_sh.h: Remove grub_script_cmdblock.
22112 * script/parser.y: Likewise.
22113 * script/execute.c: Rename cmdblock suffix to cmdlist.
22114 * script/script.c: Likewise.
22115 * util/grub-script-check.c: Likewise.
22116
22117 2010-08-11 Yves Blusseau <blusseau@zetam.org>
22118
22119 * .bzrignore: add grub-macho2img
22120
22121 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22122
22123 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
22124
22125 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 Remove the dump of sm712 initialisation sequence.
22128
22129 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
22130 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
22131 (GRUB_VGA_IO_MISC_WRITE): Likewise.
22132 (GRUB_VGA_CR_*): Added many registers.
22133 (GRUB_VGA_SR_*): Likewise.
22134 (GRUB_VGA_GR_*): Likewise.
22135 (grub_vga_write_arx): New function.
22136 (grub_video_hw_config): New struct.
22137 (grub_vga_set_geometry): New function.
22138 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
22139 GRUB_PCI_CLASS_SUBCLASS_VGA.
22140 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
22141 * video/sm712.c (grub_sm712_write_reg): New function
22142 (grub_sm712_read_reg): Likewise.
22143 (grub_sm712_sr_write): Likewise.
22144 (grub_sm712_gr_write): Likewise.
22145 (grub_sm712_cr_write): Likewise.
22146 (grub_sm712_write_arx): Likewise.
22147 (grub_sm712_cr_shadow_write): Likewise.
22148 (grub_sm712_write_dda_lookup): Likewise.
22149 (grub_video_sm712_setup): Initialise the video rather then
22150 blindly replay the dump.
22151 (main) [TEST]: Add a routine to be able to compile as standalone for
22152 tests.
22153 * video/sm712_init.c (sm712_init): Removed.
22154 (sm712_sr_seq1): New array.
22155 (sm712_sr_seq2): Likewise.
22156
22157 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22158
22159 * include/grub/vga.h: Add missing grub/pci.h include.
22160
22161 2010-08-10 Yves Blusseau <blusseau@zetam.org>
22162
22163 * util/grub-macho2img.c (main): fix typo
22164
22165 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
22168 (grub_vga_gr_read): Likewise.
22169 (grub_vga_cr_write): Likewise.
22170 (grub_vga_cr_read): Likewise.
22171 (grub_vga_sr_write): Likewise.
22172 (grub_vga_sr_read): Likewise.
22173 (grub_vga_palette_read): Likewise.
22174 (grub_vga_palette_write): Likewise.
22175 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
22176 (grub_sm712_sr_read): New function.
22177 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
22178 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
22179
22180 2010-08-09 Robert Millan <rmh@gnu.org>
22181
22182 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
22183 out unused variables on non-ZFS build.
22184
22185 2010-08-08 Robert Millan <rmh@gnu.org>
22186
22187 Fix path generation for sub-filesystems in ZFS.
22188
22189 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
22190 missing slash.
22191
22192 2010-08-08 Robert Millan <rmh@gnu.org>
22193
22194 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
22195
22196 2010-08-08 Robert Millan <rmh@gnu.org>
22197
22198 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
22199 exist, issue a proper error message (rely on `ls' for translated
22200 strings).
22201
22202 2010-08-08 Robert Millan <rmh@gnu.org>
22203
22204 Fix grub-probe invocation.
22205
22206 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
22207
22208 2010-08-04 Robert Millan <rmh@gnu.org>
22209
22210 * configure.ac: Remove checks for getfsstat() and getmntany().
22211 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
22212 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
22213 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
22214 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
22215 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
22216 function.
22217 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
22218 via find_mount_point_from_dir() and getfsstat() / getmntany().
22219
22220 2010-08-04 Robert Millan <rmh@gnu.org>
22221
22222 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22223 (grub_find_zpool_from_mount_point): Merge into ...
22224 (grub_find_zpool_from_dir): ... this.
22225 * kern/emu/misc.c: Likewise.
22226
22227 * kern/emu/misc.c
22228 (grub_make_system_path_relative_to_its_root): Replace
22229 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
22230 with grub_find_zpool_from_dir().
22231 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
22232
22233 2010-08-04 Robert Millan <rmh@gnu.org>
22234
22235 Support OpenSolaris in ZFS device resolution.
22236
22237 * configure.ac: Check for getmntany().
22238 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
22239 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
22240 support.
22241
22242 2010-08-03 Robert Millan <rmh@gnu.org>
22243
22244 Fix grub-emu build.
22245
22246 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
22247 * include/grub/emu/misc.h: ... here.
22248
22249 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
22250 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
22251
22252 * util/misc.c: Remove `<grub/util/libzfs.h>'.
22253 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
22254 (grub_get_libzfs_handle): Move to ...
22255 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
22256 (grub_get_libzfs_handle): ... here.
22257
22258 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
22259
22260 * script/execute.c (grub_script_execute_cmdline): Check for NULL
22261 as command name case.
22262
22263 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
22264
22265 * disk/raid.c (insert_array): Select unique numbers for named arrays
22266 as well, for use as keys in the disk cache.
22267
22268 2010-08-01 Robert Millan <rmh@gnu.org>
22269
22270 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
22271 kFreeBSD device name, except on ZFS where the filesystem label is
22272 used.
22273 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
22274 `/boot/zfs/zpool.cache'.
22275 Set mountfrom kernel variable using ${kfreebsd_device}.
22276
22277 2010-08-01 Robert Millan <rmh@gnu.org>
22278
22279 Make it even harder to use uninitialized `libzfs_handle' (and
22280 make the interface a bit simpler).
22281
22282 * include/grub/util/misc.h (grub_util_init_libzfs)
22283 (libzfs_handle): Remove.
22284 (grub_get_libzfs_handle): New prototype.
22285
22286 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
22287 attribute.
22288 (grub_util_init_libzfs): Remove.
22289 (grub_get_libzfs_handle): New function.
22290
22291 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
22292 grub_get_libzfs_handle() to obtain a libzfs handle instead of
22293 accessing `libzfs_handle' directly.
22294
22295 2010-08-01 Robert Millan <rmh@gnu.org>
22296
22297 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22298 (grub_find_zpool_from_mount_point): New function prototypes.
22299
22300 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22301 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22302
22303 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22304 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22305 `static' attribute.
22306
22307 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22308 finding zpool from mount point into ...
22309 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22310
22311 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22312 requested path is part of a ZFS pool, use
22313 grub_find_zpool_from_mount_point() to detect its filesystem name,
22314 and generate a path with `/fsname@path' syntax.
22315
22316 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22317
22318 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
22319 (void) rather than () so that this is a proper prototype.
22320
22321 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
22324
22325 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
22328 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
22329
22330 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22331
22332 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22333
22334 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22335
22336 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22337
22338 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22339
22340 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22341 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22342 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22343 disable gfxpayload.
22344 (Shell-like scripting): Add real content.
22345 (Serial terminal): Suggest `terminal_input serial; terminal_output
22346 serial' rather than putting the two commands on separate lines,
22347 since console input will be inoperative after the first command.
22348 (menuentry): Document --class, --users, and --hotkey options.
22349 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22350 Vladimir Serbinenko).
22351
22352 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22353 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22354
22355 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22356
22357 2010-08-01 Robert Millan <rmh@gnu.org>
22358
22359 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22360 (grub_find_zpool_from_mount_point): New function prototypes.
22361
22362 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22363 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22364
22365 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22366 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22367 `static' attribute.
22368
22369 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22370 finding zpool from mount point into ...
22371 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22372
22373 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22374 requested path is part of a ZFS pool, use
22375 grub_find_zpool_from_mount_point() to detect its filesystem name,
22376 and generate a path with `/fsname@path' syntax.
22377
22378 2010-08-01 Robert Millan <rmh@gnu.org>
22379
22380 Prevent accidental use of uninitialized libzfs_handle.
22381
22382 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22383 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22384 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22385
22386 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
22387
22388 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22389 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22390
22391 2010-08-01 Robert Millan <rmh@gnu.org>
22392
22393 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
22394
22395 2010-07-31 Robert Millan <rmh@gnu.org>
22396
22397 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22398
22399 2010-07-31 Robert Millan <rmh@gnu.org>
22400
22401 * kern/emu/misc.c: Add missing license header.
22402
22403 2010-07-31 Robert Millan <rmh@gnu.org>
22404
22405 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22406
22407 * include/grub/util/libnvpair.h: Include `<config.h>'.
22408 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22409 declaring libnvpair prototypes ourselves.
22410 * include/grub/util/libzfs.h: Include `<config.h>'.
22411 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22412 declaring libzfs prototypes ourselves.
22413
22414 (libzfs_handle): Moved to ...
22415 * include/grub/util/misc.h (libzfs_handle): ... here.
22416 Include `<grub/util/libzfs.h>'.
22417
22418 2010-07-30 Robert Millan <rmh@gnu.org>
22419
22420 * include/grub/emu/misc.h: Add missing license header.
22421
22422 2010-07-30 Robert Millan <rmh@gnu.org>
22423
22424 Enable `grub-probe -t device' resolution on ZFS.
22425
22426 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22427 * include/grub/util/libnvpair.h: New file.
22428 * include/grub/util/libzfs.h: New file.
22429
22430 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22431 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22432 `<grub/util/libnvpair.h>'.
22433 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22434
22435 (find_mount_point_from_dir): New static function.
22436 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22437 function.
22438 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22439 find_root_device_from_libzfs() before ressorting to find_root_device().
22440
22441 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22442 prototype.
22443 * util/misc.c: Include `<grub/util/libzfs.h>'.
22444 (grub_util_init_libzfs): New function.
22445 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22446 [HAVE_LIBZFS] (fini_libzfs): New static function.
22447 (grub_util_init_libzfs): New function.
22448 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22449
22450 2010-07-30 Robert Millan <rmh@gnu.org>
22451
22452 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22453 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22454 `warn_unused_result' attribute.
22455 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22456 (grub_xasprintf, grub_xvasprintf): Likewise.
22457 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22458
22459 2010-07-29 Robert Millan <rmh@gnu.org>
22460
22461 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22462 (probe): Handle `PRINT_FS_LABEL'.
22463 (main): Handle `-t fs_label'.
22464
22465 2010-07-29 Robert Millan <rmh@gnu.org>
22466
22467 * configure.ac: Remove grub-mkisofs checks.
22468
22469 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22470
22471 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22472 Reported by: Lennart Sorensen.
22473
22474 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22475
22476 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22477 prior to terminal_input/terminal_output separation. It's been over 1.5
22478 years and those versions weren't widely deployed.
22479
22480 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
22481
22482 * disk/raid.c (insert_array): Don't count named arrays when looking
22483 for unused array numbers.
22484 Reported and tested by: Michael Guntsche.
22485
22486 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22487
22488 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22489 implementation of this so that grub-emu links again, with a note
22490 that this should support hotplugging in the future.
22491
22492 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22493
22494 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22495
22496 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22497
22498 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22499 handle on failure.
22500 (grub_loopback_close): Remove empty function.
22501 (grub_loopback_dev): Remove close method.
22502
22503 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22504
22505 Disable EFI cursor when the EFI console becomes inactive.
22506
22507 * term/efi/console.c (grub_efi_console_init): New function.
22508 (grub_efi_console_fini): New function.
22509 (grub_console_term_output): Register init and fini methods.
22510
22511 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22512
22513 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22514 sh script.
22515
22516 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22517
22518 * disk/loopback.c (grub_loopback): Replace filename with file.
22519 (delete_loopback): Handle new semantics.
22520 (grub_cmd_loopback): Likewise.
22521 (grub_loopback_iterate): Likewise.
22522 (grub_loopback_close): Likewise.
22523
22524 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22527 with -p "".
22528 Reported by: Tito Keitel.
22529
22530 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 * docs/grub.texi (Naming convention): Document new naming convention.
22533
22534 2010-07-20 Vadim Solomin <vadic052@gmail.com>
22535 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22536
22537 Generate device.map in something closer to the old ordering.
22538
22539 * util/deviceiter.c (struct device): New declaration.
22540 (compare_file_names): Rename to ...
22541 (compare_devices): ... this. Sort by kernel name in preference to
22542 the stable by-id name, but keep the latter as a fallback comparison.
22543 Update header comment.
22544 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22545 of `struct device' rather than of plain file names.
22546
22547 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22548
22549 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22550 on i386.
22551
22552 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22555 hardcoding size.
22556 (setv1table): Likewise.
22557
22558 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22559
22560 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22561 removing the homehost if present.
22562 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22563 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22564 removing the homehost if present.
22565 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22566 if possible.
22567 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22568
22569 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22570 parameter. Set its pointer target to 0.
22571 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22572 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22573 `data_offset' value from the superblock for 1.x metadata.
22574 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22575 data on the device.
22576 (insert_array): Record the start sector of data on the device.
22577 (grub_raid_register): Pass start_sector parameters to
22578 grub_raid_list->detect and insert_array.
22579 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22580 member.
22581 (struct grub_raid): Add start_sector parameter to `detect'.
22582
22583 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22584 __attribute__ ((packed)), leaving a comment.
22585 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22586 (grub_mdraid_detect_09): ... here and ...
22587 (grub_mdraid_detect_1x): ... here.
22588
22589 2010-07-20 Peter Henn <peter.henn@web.de>
22590
22591 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22592 chunk size and disk size, which are already given as sector counts
22593 as distinct from the 0.90 units. Fetch the correct device number
22594 from the role table instead of using the table index.
22595
22596 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
22597
22598 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22599 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22600 (WriteMostly1): New macro.
22601 Set array->name to NULL for metadata format 0.90. Add support for
22602 metadata 1.x. Fix some comments.
22603 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22604 few comments.
22605 * util/getroot.c (grub_util_get_grub_dev): Add support for
22606 /dev/md/name style devices.
22607
22608 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
22609
22610 * .bzrignore: Ignore 20_linux_xen.
22611
22612 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
22613
22614 * util/import_unicode.py: Remove unnecessary imports.
22615
22616 2010-07-17 Aleš Nesrsta <starous@volny.cz>
22617
22618 Hotplugging and USB hub support.
22619
22620 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22621 (grub_ohci): Likewise.
22622 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22623 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22624 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22625 (GRUB_OHCI_CTRL_EDS): Likewise.
22626 (GRUB_OHCI_BULK_EDS): Likewise.
22627 (GRUB_OHCI_TDS): Likewise.
22628 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22629 (grub_ohci_ed_phys2virt): New function.
22630 (grub_ohci_virt_to_phys): Likewise.
22631 (grub_ohci_td_phys2virt): Likewise.
22632 (grub_ohci_td_virt2phys): Likewise.
22633 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22634 attachment.
22635 (grub_ohci_find_ed): New function.
22636 (grub_ohci_alloc_td): Likewise.
22637 (grub_ohci_free_td): Likewise.
22638 (grub_ohci_free_tds): Likewise.
22639 (grub_ohci_transfer): Use previously allocated memory.
22640 (grub_ohci_portstatus): Reset status changed bit.
22641 (grub_ohci_detect_dev): Supply status changed.
22642 (grub_ohci_fini_hw): Free memory.
22643 (grub_ohci_restore_hw): Reallocate memory.
22644 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22645 Reset status change.
22646 (grub_uhci_detect_dev): Supply status_change.
22647 * bus/usb/usb.c (attach_hooks): New var.
22648 (grub_usb_device_attach): New function.
22649 (grub_usb_register_attach_hook_class): Likewise.
22650 (grub_usb_unregister_attach_hook_class): Likewise.
22651 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22652 (grub_usb_add_hub): Reset connection changed bit.
22653 (attach_root_port): New function.
22654 (grub_usb_root_hub): Likewise.
22655 (poll_nonroot_hub): Likewise.
22656 (grub_usb_poll_devices): Likewise.
22657 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22658 * disk/usbms.c (grub_usbms_open): Use device hooks.
22659 (grub_usbms_iterate) :Poll devices.
22660 (grub_usbms_finddevs): Split into ...
22661 (grub_usbms_attach): ... this ...
22662 (grub_usbms_attach): ... and this.
22663 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22664 in detect_dev.
22665 (grub_usb_interface): New fields attached and detach_hook.
22666 (grub_usb_attach_hook_class): New type.
22667 (grub_usb_attach_desc): New struct.
22668 (grub_usb_register_attach_hook_class): New function.
22669 (grub_usb_unregister_attach_hook_class): Likewise.
22670 (grub_usb_poll_devices): Likewise.
22671 (grub_usb_device_attach): Likewise.
22672 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22673 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22674
22675 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22678 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22679 delta determination style. Works with most NetBSD partitions too.
22680
22681 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22684 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22685
22686 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22689
22690 2010-07-14 Anton Blanchard <anton@samba.org>
22691
22692 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22693 ET_DYN files.
22694
22695 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22696
22697 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22698
22699 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22700
22701 * kern/partition.c (grub_partition_check_containment): New function to
22702 check that a partition is physically contained in a parent. Since
22703 offsets are relative (and non-negative), this reduces to checking that
22704 the partition ends before its parent.
22705 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22706 (grub_partition_iterate): Likewise.
22707 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22708 comments.
22709 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22710 partitions that start before their parent, and add debug printfs.
22711
22712 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
22713
22714 * Makefile.in (.SUFFIX): Spell correctly, as ...
22715 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22716 bare module name without `.mod', e.g. `test') tried to invoke a
22717 Modula-2 compiler.
22718
22719 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
22720
22721 * README: Point to the Info manual.
22722
22723 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
22724
22725 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22726 2nd superblock position from partition size.
22727
22728 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
22729
22730 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22731 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22732 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22733 outputs.
22734
22735 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 Restructure SCSI .id handling.
22738 Reported and tested by: Aleš Nesrsta.
22739
22740 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22741 (grub_atapi_dev): Changed .name to "ata". New field .id.
22742 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22743 (grub_usbms_dev): New field .id.
22744 * disk/scsi.c (grub_scsi_iterate): Generate name.
22745 (grub_scsi_open): Parse name.
22746 * include/grub/scsi.h (grub_make_scsi_id): New function.
22747 (grub_scsi_dev): Change iterate and open to number instead of naming
22748 busses. All users updated.
22749 (grub_scsi): Remove name. Add .bus.
22750
22751 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 * commands/help.c (grub_cmd_help): Fix a typo.
22754
22755 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22756
22757 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22758 Reported and tested by: Colin Watson.
22759
22760 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22761
22762 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22763 in this context.
22764
22765 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22766
22767 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22768
22769 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
22770
22771 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22772 indentation.
22773
22774 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
22775
22776 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22777 and disk/raid6_recover.c.
22778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22779 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22780
22781 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
22782
22783 * term/gfxterm.c (repaint_schedulded): Rename to ...
22784 (repaint_scheduled): ... this. Update all callers.
22785 (repaint_was_schedulded): Rename to ...
22786 (repaint_was_scheduled): ... this. Update all callers.
22787
22788 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
22789
22790 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22791 which we expect to be handled by upper layers.
22792
22793 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22794
22795 * bus/usb/usbhub.c: #include time.h header.
22796
22797 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
22798
22799 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22800 entry_name also for entries without stat blocks (e.g. ".."); fixes
22801 corruption of the first entry in a directory.
22802
22803 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
22804
22805 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22806 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22807 doesn't work otherwise.
22808
22809 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
22810
22811 * docs/grub.texi (Features): Update list of supported file systems.
22812 (GNU/Linux): Update for GRUB 2.
22813 (Serial terminal): Remove mention of --disable-serial, which was a
22814 GRUB Legacy configure option. Update instructions to use
22815 `terminal_input' and `terminal_output' rather than `terminal'.
22816 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22817 configuration' and `Installing GRUB using grub-install'.
22818 (Menu entry editor): Update for GRUB 2.
22819 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22820 Document new -a, -u, and -v options.
22821 (initrd): New section.
22822 (initrd16): New section.
22823 (linux): New section.
22824 (linux16): New section.
22825 (search): The `var' argument to `--set' is optional.
22826 (GRUB only offers a rescue shell): Go into a little more detail on
22827 drive ordering.
22828
22829 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
22830
22831 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22832
22833 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
22834
22835 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22836 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22837
22838 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
22839
22840 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22841 install_prefix, in line with install_dos_part and install_bsd_part.
22842 Add new prefix variable, which is copied to install_prefix after
22843 comparing core.img in memory with the one read from disk in the
22844 no-embedding case, and use that rather than overwriting
22845 install_prefix immediately when installing to a partition.
22846 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22847 Bicakci.
22848
22849 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22850
22851 * configure.ac: Avoid == in test command, it's not portable.
22852 * util/grub.d/30_os-prober.in: Likewise.
22853
22854 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
22855
22856 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22857
22858 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22859
22860 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22861 multiple (top-level) partmaps.
22862
22863 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 * util/i386/efi/grub-install.in: Don't use empty grub_device.
22866 Reported by: Tino Keitel.
22867
22868 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 Bidi and diacritics support.
22871
22872 * Makefile.in (widthspec.bin): New target.
22873 (widthspec.h): Likewise.
22874 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22875 * autogen.sh: Generate unidata.c.
22876 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22877 * commands/ls.c (grub_ls_list_devices): Likewise.
22878 (grub_ls_list_files): Likewise.
22879 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22880 (grub_mini_cmd_lsmod): Likewise.
22881 * commands/read.c: Likewise.
22882 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22883 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22884 * lib/arg.c (grub_arg_show_help): Likewise.
22885 * lib/crypto.c (grub_password_get): Likewise.
22886 * normal/auth.c (grub_username_get): Likewise.
22887 * normal/misc.c (grub_normal_print_device_info): Likewise.
22888 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22889 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22890 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22891 (normal/charset.c_DEPENDENCIES): New variable.
22892 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22893 (pkglib_MODULES): Remove charset.mod.
22894 (charset_mod_SOURCES): Removed.
22895 (charset_mod_CFLAGS): Likewise.
22896 (charset_mod_LDFLAGS): Likewise.
22897 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22898 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22899 and term/tparm.c.
22900 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22901 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22902 (kernel_img_HEADERS): Add terminfo.h.
22903 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22904 Fill ->font. Reverse ascii bitmaps.
22905 (grub_font_get_xheight): New function.
22906 * font/font.c (grub_font_get_string_width): Moved from here ...
22907 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22908 * font/font.c (grub_font_draw_string): Moved from here ...
22909 * gfxmenu/font.c (grub_font_draw_string): ... here.
22910 * font/font.c (grub_font_dup_glyph): New function.
22911 (grub_font_blit_glyph): Likewise.
22912 (grub_font_blit_glyph_mirror): Likewise.
22913 (blit_comb): Likewise.
22914 (grub_font_construct_dry_run): Likewise.
22915 (grub_font_get_constructed_device_width): Likewise.
22916 (grub_font_construct_glyph): Likewise.
22917 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22918 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22919 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22920 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22921 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22922 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22923 (grub_font_get_xheight): New proto.
22924 (grub_font_get_constructed_device_width): Likewise.
22925 (grub_font_construct_glyph): Likewise.
22926 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22927 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22928 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22929 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22930 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22931 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22932 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22933 (grub_console_getcharwidth): Likewise.
22934 * include/grub/misc.h (grub_xputs): New proto.
22935 (grub_puts): Inlined.
22936 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22937 (grub_normal_get_line_counter): Removed.
22938 (grub_install_newline_hook): Likewise.
22939 (grub_normal_get_char_counter): New proto.
22940 (grub_normal_reset_more): Likewise.
22941 (grub_xputs_normal): Likewise.
22942 * include/grub/powerpc/ieee1275/console.h: Removed.
22943 * include/grub/sparc64/ieee1275/console.h: Likewise.
22944 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22945 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22946 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22947 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22948 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22949 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22950 (grub_term_input): Pass reference to self. All users updated.
22951 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22952 Pass reference to self. New fields normal_color, highlight_color and
22953 data. All users updated.
22954 (grub_putchar): Removed.
22955 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22956 (grub_unicode_estimate_width): New function.
22957 (grub_term_getcharwidth): Add defaults.
22958 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22959 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22960 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22961 (grub_cls): Remove EXPORT_FUNC.
22962 (grub_setcolorstate): Inline.
22963 (grub_newline_hook): Removed.
22964 * include/grub/terminfo.h: Rewritten. All users updated.
22965 * include/grub/unicode.h: New file.
22966 * include/grub/video.h (grub_video_signed_rect): New type.
22967 * kern/emu/console.c (grub_console_highlight_color): Removed.
22968 (grub_console_normal_color): Likewise.
22969 (grub_console_standard_color): Made static.
22970 (grub_ncurses_putchar): Remove mapping.
22971 (grub_ncurses_getcharwidth): Removed.
22972 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22973 (grub_ncurses_setcolor): Removed.
22974 (grub_ncurses_getcolor): Likewise.
22975 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22976 (grub_console_putchar): ... this.
22977 (grub_console_putchar): Handle argument difference.
22978 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22979 console_init_early and console_init_lately.
22980 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22981 * kern/misc.c (grub_puts): Removed.
22982 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22983 (grub_vsnprintf_real): Remove str = NULL support.
22984 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22985 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22986 * kern/term.c (grub_putcode): Renamed to ...
22987 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22988 (grub_putchar): Removed.
22989 (grub_xputs_dumb): New function.
22990 (grub_xputs): New variable.
22991 * lib/charset.c: Move from here ...
22992 * normal/charset.c: ... to here.
22993 (grub_ucs4_to_utf8): New function.
22994 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22995 (join_types): New variable.
22996 (unpack_join): New function.
22997 (bidi_types): New variable.
22998 (unpack_bidi): New function.
22999 (get_bidi_type): Likewise.
23000 (get_join_type): Likewise.
23001 (is_mirrored): Likewise.
23002 (grub_unicode_get_comb_type): Likewise.
23003 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
23004 (is_type_after): Likewise.
23005 (grub_unicode_aglomerate_comb): Likewise.
23006 (bidi_line_wrap): Likewise.
23007 (grub_bidi_line_logical_to_visual): Likewise.
23008 (grub_bidi_logical_to_visual): Likewise.
23009 (grub_unicode_mirror_code): Likewise.
23010 (grub_unicode_shape_code): Likewise.
23011 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
23012 Don't use grub_putchar.
23013 * normal/main.c (grub_normal_init_page): Use grub_putcode.
23014 (grub_normal_reader_init): Likewise.
23015 (grub_xputs_saved): New variable.
23016 (GRUB_MOD_INIT): Set grub_xputs.
23017 (GRUB_MOD_FINI): Restore grub_xputs.
23018 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
23019 (menu_init): Avoid printing gfxmenu error.
23020 (show_menu): Use grub_normal_get_char_counter.
23021 * normal/menu_entry.c (update_screen): Fix out-of-array.
23022 (complete): Avoid NULL dereferencing.
23023 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
23024 * normal/menu_text.c (print_spaces): Removed.
23025 (grub_print_ucs4): Likewise.
23026 (grub_print_message_indented): Use grub_print_ucs4.
23027 (print_message): Use grub_putcode.
23028 (print_entry): Hanlde diacritics.
23029 * normal/term.c (term_state): New type.
23030 (grub_more_lines): Removed.
23031 (term_states): New variable.
23032 (grub_normal_line_counter): Renamed to ..
23033 (grub_normal_char_counter): ...this. All users updated.
23034 (grub_normal_get_line_counter): Renamed to ...
23035 (grub_normal_get_char_counter): ... this.
23036 (grub_normal_reset_more): New function.
23037 (process_newline): Removed.
23038 (print_more): New function.
23039 (grub_install_newline_hook): Removed.
23040 (map_code): New function.
23041 (grub_puts_terminal): Use grub_print_ucs4.
23042 (putglyph): New function.
23043 (putcode_real): Likewise.
23044 (grub_putcode): Use putcode_real.
23045 (get_maxwidth): New function.
23046 (get_startwidth): Likewise.
23047 (print_ucs4_terminal): Likewise.
23048 (find_term_state): Likewise.
23049 (put_glyphs_terminal): Likewise.
23050 (print_backlog): Likewise.
23051 (print_ucs4_real): Likewise.
23052 (grub_print_ucs4): Likewise.
23053 (grub_xputs_normal): Likewise.
23054 * term/efi/console.c (grub_console_putchar): Output diacritics.
23055 (grub_console_getcharwidth): Removed.
23056 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23057 * term/gfxterm.c (clear_char): Free chars.
23058 (scroll_up): Avoid leaking memory.
23059 (grub_gfxterm_putchar): Support diacritics.
23060 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
23061 * term/i386/pc/console.c (grub_console_term_output): Declare as
23062 GRUB_TERM_CODE_TYPE_VGA.
23063 * term/i386/pc/vga.c (grub_vga_term): Declare as
23064 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
23065 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
23066 GRUB_TERM_CODE_TYPE_VGA.
23067 * term/i386/vga_common.c (map_char): Removed.
23068 (grub_console_putchar): Likewise.
23069 (grub_console_getcharwidth): Likewise.
23070 * term/ieee1275/ofconsole.c: Simplify using terminfo.
23071 (colors): Reordered to match terminfo.
23072 (grub_ofconsole_normal_color): Removed.
23073 (grub_ofconsole_writeesc): Likewise.
23074 (grub_ofconsole_highlight_color): Likewise.
23075 (grub_ofconsole_getcharwidth): Likewise.
23076 (grub_ofconsole_setcolorstate): Likewise.
23077 (grub_ofconsole_setcolor): Likewise.
23078 (grub_ofconsole_getcolor): Likewise.
23079 (grub_ofconsole_readkey): Renamed to ...
23080 (readkey): ... this. Remove escape sequence handling. Return -1 on no
23081 key.
23082 (grub_ofconsole_checkkey): Removed.
23083 (grub_ofconsole_getkey): Likewise.
23084 (grub_ofconsole_getxy): Likewise.
23085 (grub_ofconsole_gotoxy): Likewise.
23086 (grub_ofconsole_cls): Likewise.
23087 (grub_ofconsole_refresh): Likewise.
23088 (grub_ofconsole_terminfo_input): New struct.
23089 (grub_ofconsole_terminfo_output): Likewise.
23090 (grub_ofconsole_term_input): Use terminfo.
23091 (grub_ofconsole_term_output): Likewise.
23092 (grub_console_init): Split into ...
23093 (grub_console_init_early): ...this and ...
23094 (grub_console_init_lately): ...this. Use terminfo.
23095 (grub_ofconsole_putchar): Renamed to ...
23096 (put): ... this. Remove mapping.
23097 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
23098 * term/serial.c: Simplify using terminfo.
23099 (xpos): Removed.
23100 (ypos): Likewise.
23101 (keep_track): Likewise.
23102 (registered): Likewise.
23103 (input_buf): Likewise.
23104 (npending): Likewise.
23105 (serial_translate_key_sequence): Likewise.
23106 (fill_input_buf): Likewise.
23107 (grub_serial_checkkey): Likewise.
23108 (grub_serial_getkey): Likewise.
23109 (grub_serial_getxy): Likewise.
23110 (grub_serial_gotoxy): Likewise.
23111 (grub_serial_putchar): Likewise.
23112 (grub_serial_cls): Likewise.
23113 (grub_serial_setcolorstate): Likewise.
23114 (grub_serial_setcursor): Likewise.
23115 (serial_hw_init): Use serial_hw_fetch.
23116 (grub_serial_terminfo_input): New variable.
23117 (grub_serial_terminfo_output): Likewise.
23118 (grub_serial_term_input): Use terminfo.
23119 (grub_serial_term_output): Likewise.
23120 * term/terminfo.c (putstr): Use put.
23121 (grub_terminfo_all_free): New function
23122 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
23123 (grub_terminfo_output_register): New function.
23124 (grub_terminfo_output_unregister): Likewise.
23125 (grub_terminfo_getxy): Likewise.
23126 (grub_terminfo_readkey): Likewise.
23127 (grub_terminfo_checkkey): Likewise.
23128 (grub_terminfo_getkey): Likewise.
23129 (grub_terminfo_input_init): Likewise.
23130 (print_terminfo): Likewise.
23131 (grub_cmd_terminfo): Handle encoding.
23132 (grub_terminfo_gotoxy): Track position.
23133 (grub_terminfo_cls): Likewise.
23134 (grub_terminfo_putchar): Likewise.
23135 (grub_terminfo_setcolorstate): Handle colors
23136 (grub_terminfo_cursor_on): This ...
23137 (grub_terminfo_cursor_off): ... and this merged into ...
23138 (grub_terminfo_setcursor): ... this.
23139 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
23140 * unicode/ArabicShaping.txt: New file (imported from Unicode).
23141 * unicode/BidiMirroring.txt: Likewise.
23142 * unicode/UnicodeData.txt: Likewise.
23143 * unicode/COPYING: Likewise.
23144 * util/grub-editenv.c (grub_putchar): Removed.
23145 (grub_xputs_real): New function.
23146 (grub_xputs): New variable.
23147 * util/grub-fstest.c (grub_putchar): Removed.
23148 (grub_xputs_real): New function.
23149 (grub_xputs): New variable.
23150 * util/grub-mkdevicemap.c (grub_putchar): Removed.
23151 (grub_xputs_real): New function.
23152 (grub_xputs): New variable.
23153 * util/grub-probe.c (grub_putchar): Removed.
23154 (grub_xputs_real): New function.
23155 (grub_xputs): New variable.
23156 * util/grub-script-check.c (grub_putchar): Removed.
23157 (grub_xputs_real): New function.
23158 (grub_xputs): New variable.
23159 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
23160 (grub_xputs_real): New function.
23161 (grub_xputs): New variable.
23162 * util/import_unicode.py: New file.
23163 * util/grub-mkfont.c (ft_errmsgs): New array.
23164 (grub_glyph_info): Make bitmap a pointer.
23165 (file_formats): New type WIDTH_SPEC.
23166 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
23167 (options): Add width-spec.
23168 (help): Likewise.
23169 (add_char): Renamed to ...
23170 (add_glyph): ... this.
23171 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
23172 (glyph_replace): New type.
23173 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
23174 (add_char): New function.
23175 (add_subst): Likewise.
23176 (process_cursive): Likewise.
23177 (add_font): Handle GSUB.
23178 (write_font_width_spec): New function.
23179 (main): Sort glyphs.
23180 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
23181 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
23182 * kern/term.c (grub_cls): Moved from here...
23183 * normal/term.c (grub_cls): ... here.
23184
23185 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23186
23187 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
23188 suitable for using within the format argument of printf when
23189 converting grub_size_t.
23190 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
23191 "x" to convert grub_size_t arguments.
23192
23193 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
23196 too long captions.
23197 (list_get_minimal_size): Take selection box into account.
23198
23199 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
23202 NULL font.
23203
23204 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23205
23206 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
23207 devices when iterating over /dev/disk/by-id; they will be handled
23208 later if appropriate, which they aren't always (e.g. LVM).
23209
23210 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23211
23212 * include/grub/misc.h (grub_reboot): Declare as noreturn.
23213 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
23214 fails.
23215 (grub_halt): Likewise.
23216 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
23217 reset-all fails.
23218 (grub_halt): Don't return, even if all of shut-down, power-off, and
23219 poweroff fail.
23220
23221 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23222
23223 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
23224 arguments, not three.
23225
23226 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23227
23228 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
23229 * util/grub.d/10_linux.in: Use it to check for LVM, so that
23230 LVM-on-RAID is handled correctly.
23231
23232 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23233
23234 * docs/grub.texi (Changes from GRUB Legacy): New section.
23235 (Future): Fix typo.
23236
23237 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
23238
23239 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
23240 grub.d/README accidentally ends up executable for one reason or
23241 another. Ignore it.
23242
23243 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23244
23245 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
23246 (gpt_partition_map_iterate): Support non-512B sectors.
23247
23248 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23249
23250 * kern/efi/init.c (grub_efi_init): Disable watchdog.
23251 Tested by: Seth Goldberg.
23252
23253 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
23256 Properly align mbi.
23257 Reported by: Seth Goldberg.
23258
23259 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * util/grub-mkrescue.in: Avoid module duplication.
23262
23263 2010-07-01 Sean Finney <seanius@seanius.net>
23264
23265 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
23266
23267 2010-07-01 Sean Finney <seanius@seanius.net>
23268
23269 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
23270
23271 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23272
23273 * disk/lvm.c (grub_lvm_checkvalue): New function.
23274 (grub_lvm_check_flag): Likewise.
23275
23276 2010-07-01 Robert Millan <rmh@gnu.org>
23277
23278 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
23279 Support 'p' as partition separator on kernel of FreeBSD (used
23280 with GPT labels).
23281 (grub_util_biosdisk_get_grub_dev): Likewise.
23282
23283 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
23284
23285 Yeeloong firmware port.
23286
23287 * boot/mips/yeeloong/fwstart.S: New file.
23288 * bus/cs5536.c (gpiodump): New const.
23289 (set_io_space): New function.
23290 (set_iod): Likewise.
23291 (set_p2d): Likewise.
23292 (grub_cs5536_init_geode): Likewise.
23293 * commands/mips/yeeloong/lsspd.c: New file.
23294 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
23295 (serial_mod_SOURCES): New variable.
23296 (serial_mod_CFLAGS): Likewise.
23297 (serial_mod_LDFLAGS): Likewise.
23298 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
23299 term/terminfo.c and term/tparm.c.
23300 (pkglib_IMAGES): Add fwstart.img.
23301 (fwstart_img_SOURCES): New variable.
23302 (fwstart_img_CFLAGS): Likewise.
23303 (fwstart_img_ASFLAGS): Likewise.
23304 (fwstart_img_LDFLAGS): Likewise.
23305 (fwstart_img_FORMAT): Likewise.
23306 (pkglib_MODULES): Add lsspd.mod.
23307 (lsspd_mod_SOURCES): New variable.
23308 (lsspd_mod_CFLAGS): Likewise.
23309 (lsspd_mod_LDFLAGS): Likewise.
23310 (pkglib_MODULES): Add halt.mod.
23311 (halt_mod_SOURCES): New variable.
23312 (halt_mod_CFLAGS): Likewise.
23313 (halt_mod_LDFLAGS): Likewise.
23314 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
23315 (serial_mod_SOURCES): Removed.
23316 (serial_mod_CFLAGS): Likewise.
23317 (serial_mod_LDFLAGS): Likewise.
23318 * disk/ata.c (check_device): New function.
23319 (grub_ata_device_initialize): Use check_device.
23320 (grub_ata_iterate): Recheck devices.
23321 (grub_ata_open): Likewise.
23322 (grub_atapi_iterate): Likewise.
23323 (grub_atapi_open): Likewise.
23324 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
23325 (GRUB_ATA_CH1_PORT1): Likewise.
23326 (GRUB_ATA_CH0_PORT2): Likewise.
23327 (GRUB_ATA_CH1_PORT2): Likewise.
23328 * include/grub/mips/loongson.h: New file.
23329 * include/grub/mips/yeeloong/ec.h: Likewise.
23330 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
23331 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23332 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23333 * include/grub/misc.h (grub_halt): Declare as noreturn.
23334 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23335 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23336 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23337 (UART_ENABLE_DTRRTS): Likewise.
23338 (UART_ENABLE_MODEM): Removed.
23339 (UART_ENABLE_OUT2): New const.
23340 * include/grub/term.h (grub_term_register_input_active): New function.
23341 (grub_term_register_output_active): Likewise.
23342 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23343 argument.
23344 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23345 (init_pci): New function.
23346 (grub_machine_init): Execute platform init when firmware. Init serial.
23347 (grub_halt): Implement.
23348 (grub_exit): Likewise.
23349 (grub_reboot): Likewise.
23350 * term/serial.c (serial_hw_init): Update macros.
23351 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23352 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23353 (image_targets): New target mipsel-yeeloong-flash.
23354 (generate_image): Support IMAGE_YEELOONG_FLASH.
23355 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23356 (grub_video_sm712_setup): Init card.
23357 (grub_video_sm712_set_palette): Removed.
23358 * video/sm712_init.c: New file.
23359
23360 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
23361
23362 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23363 PATH when running help2man and then run it on the unadorned
23364 executable names, rather than passing $(builddir)/* paths to
23365 help2man. This avoids the build directory ending up in generated
23366 manual pages.
23367
23368 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
23369
23370 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23371 to avoid accidents when debugging with 'sh -x'.
23372 * util/grub-mkrescue.in: Likewise.
23373 * util/grub.d/00_header.in: Likewise.
23374 * util/grub.d/10_hurd.in: Likewise.
23375 * util/grub.d/10_kfreebsd.in: Likewise.
23376 * util/grub.d/10_linux.in: Likewise.
23377 * util/grub.d/10_netbsd.in: Likewise.
23378 * util/grub.d/10_windows.in: Likewise.
23379 * util/grub.d/20_linux_xen.in: Likewise.
23380 * util/grub.d/30_os-prober.in: Likewise.
23381 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23382
23383 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
23384
23385 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23386 last character in the buffer.
23387 Reported by: Vladimir Serbinenko.
23388
23389 2010-06-29 Robert Millan <rmh@gnu.org>
23390
23391 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23392 (Command-line and menu entry commands): Document `badram' command.
23393
23394 2010-06-28 Robert Millan <rmh@gnu.org>
23395
23396 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23397 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23398 command using ${GRUB_BADRAM} as parameter.
23399
23400 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
23401
23402 * docs/grub.texi (Device map): New section.
23403 (Themes): New section (stub).
23404 * Makefile.in (docs/grub.info): The info documentation now builds
23405 without errors. Make sure it stays that way.
23406
23407 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23408
23409 Use normal parser for menu entries.
23410 Reported by: Thomas Frauendorfer
23411
23412 * include/grub/parser.h (grub_parser_execute): Don't export.
23413 * normal/menu.c (grub_menu_execute_entry_real): New function.
23414 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23415
23416 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * docs/grub.texi (Embedded configuration): New section (replacing
23419 old "Preset Menu" stub).
23420 (Images): New section.
23421 (configfile): Note that any menu entries defined in `file' are shown
23422 immediately.
23423
23424 2010-06-28 Josh Triplett <josh@joshtriplett.org>
23425
23426 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23427
23428 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
23429
23430 * util/grub-install.in: Add --debug-image= option.
23431
23432 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
23433
23434 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23435 possible on Linux.
23436
23437 * util/deviceiter.c (check_device): Rename to ...
23438 (check_device_readable_unique): ... this. Update all callers.
23439 Maintain and check a list of which devices (by canonicalized name)
23440 have already been seen.
23441 (clear_seen_devices): New function.
23442 (compare_file_names) [__linux__]: New function.
23443 (grub_util_iterate_devices): Clear the list of seen devices on exit
23444 and (just in case) on entry.
23445 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23446 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23447 seen-devices list, superseded by general code in check_device.
23448
23449 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
23450
23451 * commands/cat.c (options): New variable.
23452 (grub_cmd_cat): Parse options. If the --dos option is given, print
23453 DOS-style "\r\n" line endings as simple newlines (Debian bug
23454 #586358).
23455 (GRUB_MOD_INIT): Use extcmd.
23456 (GRUB_MOD_FINI): Likewise.
23457 * docs/grub.texi (cat): Document --dos.
23458
23459 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 XEN with Linux grub-mkconfig support.
23462
23463 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23464 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23465 GRUB_CMDLINE_XEN_DEFAULT.
23466 * util/grub.d/20_linux_xen.in: New file.
23467
23468 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 Initialise VGA video on qemu ourselves.
23471
23472 * boot/i386/qemu/boot.S: Don't call 0xc000.
23473 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23474 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23475 (kernel_img_HEADERS): Add pci.h.
23476 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23477 * configure.ac: Force unifont on qemu and yeeloong.
23478 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23479 (grub_vga_palette_write): Use correct register.
23480 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23481 Call grub_qemu_init_cirrus.
23482 * kern/i386/qemu/init.c: New file.
23483 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23484
23485 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23486
23487 2010-06-26 Pavel Roskin <proski@gnu.org>
23488
23489 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23490 13.
23491
23492 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
23493
23494 * docs/grub.texi (Simple configuration): Explain that
23495 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23496 set to `true' to disable their respective recovery entries, not
23497 merely set.
23498
23499 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
23500
23501 Make the `source' command slightly faster.
23502
23503 * normal/main.c (grub_normal_execute): Don't re-read list files when
23504 nested.
23505
23506 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
23507
23508 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23509 field position and mask size to red fields from mode_info, not
23510 green.
23511 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23512 Remove redundant tag->common.framebuffer_type assignment.
23513 Reported by: Seth Goldberg.
23514
23515 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
23516
23517 Sync up other versions of the Linux loader with Robert Millan's
23518 change of 2010-01-09, "Make loader output a bit more user-friendly".
23519
23520 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23521 grub_dprintf().
23522 (grub_cmd_linux): Likewise.
23523 (grub_cmd_initrd): Likewise.
23524 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23525 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23526
23527 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
23528
23529 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23530 larger than MEMORY_MAP_SIZE.
23531
23532 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23533
23534 Fix parallel build.
23535
23536 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23537 dependency.
23538 * script/parser.y: #include grub_script.tab.h header.
23539
23540 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 Support >3GiB and <16MiB RAM in i386-qemu.
23543
23544 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23545 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23546 (grub_lower_mem): Removed.
23547 (grub_upper_mem): Likewise.
23548 (mem_size): Made static.
23549 (above_4g): New variable.
23550 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23551 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23552 support.
23553
23554 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23555
23556 Cirrus 5446 and Bochs video cards support.
23557
23558 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23559 video_bochs.mod
23560 (video_cirrus_mod_SOURCES): New variable.
23561 (video_cirrus_mod_CFLAGS): Likewise.
23562 (video_cirrus_mod_LDFLAGS): Likewise.
23563 (video_bochs_mod_SOURCES): Likewise.
23564 (video_bochs_mod_CFLAGS): Likewise.
23565 (video_bochs_mod_LDFLAGS): Likewise.
23566 * include/grub/vga.h: New file.
23567 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23568 (grub_video_fb_set_page_t): New type.
23569 (grub_video_fb_setup): New prototype.
23570 (grub_video_fb_swap_buffers): Likewise.
23571 (grub_video_fb_get_info_and_fini): Likewise.
23572 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23573 (CRTC_DATA_PORT): Likewise.
23574 (CRTC_CURSOR): Likewise.
23575 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23576 (CRTC_CURSOR_ADDR_LOW): Likewise.
23577 (CRTC_CURSOR_DISABLE): Likewise.
23578 (update_cursor): Use grub_vga_cr_write.
23579 (grub_vga_text_setcursor): Likewise.
23580 * video/bochs.c: New file.
23581 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23582 (palette): Likewise.
23583 (palette_size): Likewise.
23584 (framebuffer): New variable.
23585 (grub_video_fb_init): Use 'framebuffer'.
23586 (grub_video_fb_fini): Likewise.
23587 (grub_video_fb_get_info): Likewise.
23588 (grub_video_fb_get_palette): Likewise.
23589 (grub_video_fb_set_palette): Likewise.
23590 (grub_video_fb_set_viewport): Likewise.
23591 (grub_video_fb_get_viewport): Likewise.
23592 (grub_video_fb_map_color): Likewise.
23593 (grub_video_fb_map_rgb): Likewise.
23594 (grub_video_fb_map_rgba): Likewise.
23595 (grub_video_fb_unmap_color): Likewise.
23596 (grub_video_fb_unmap_color_int): Likewise.
23597 (grub_video_fb_fill_rect): Likewise.
23598 (grub_video_fb_blit_bitmap): Likewise.
23599 (grub_video_fb_blit_render_target): Likewise.
23600 (grub_video_fb_scroll): Likewise.
23601 (grub_video_fb_create_render_target): Likewise.
23602 (grub_video_fb_doublebuf_blit_init): Likewise.
23603 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23604 (doublebuf_pageflipping_update_screen): New function.
23605 (doublebuf_pageflipping_init): Likewise.
23606 (grub_video_fb_setup): Likewise.
23607 (grub_video_fb_swap_buffers): Likewise.
23608 (grub_video_fb_get_info_and_fini): Likewise.
23609 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23610 All users updated.
23611 (doublebuf_pageflipping_commit): Restructured into ...
23612 (doublebuf_pageflipping_set_page): ... this.
23613 (doublebuf_pageflipping_update_screen): Removed.
23614 (doublebuf_pageflipping_init): Likewise.
23615 (double_buffering_init): Likewise.
23616 (grub_video_vbe_setup): Use grub_video_fb_setup.
23617 (grub_video_vbe_swap_buffers): Removed.
23618 (grub_video_vbe_set_active_render_target): Likewise.
23619 (grub_video_vbe_get_active_render_target): Likewise.
23620 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23621 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23622 grub_video_fb_set_active_render_target and
23623 grub_video_fb_get_active_render_target.
23624 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23625 (SEQUENCER_DATA_PORT): Likewise.
23626 (MAP_MASK_REGISTER): Likewise.
23627 (CRTC_ADDR_PORT): Likewise.
23628 (CRTC_DATA_PORT): Likewise.
23629 (START_ADDR_HIGH_REGISTER): Likewise.
23630 (START_ADDR_LOW_REGISTER): Likewise.
23631 (GRAPHICS_ADDR_PORT): Likewise.
23632 (GRAPHICS_DATA_PORT): Likewise.
23633 (READ_MAP_REGISTER): Likewise.
23634 (INPUT_STATUS1_REGISTER): Likewise.
23635 (INPUT_STATUS1_VERTR_BIT): Likewise.
23636 (get_map_mask): Use grub_vga_sr_read.
23637 (set_map_mask): Use grub_vga_sr_write.
23638 (set_read_map): Use grub_vga_gr_write.
23639 (set_start_address): Use grub_vga_cr_write.
23640 * video/sm712.c (framebuffer): Remove leftover fields.
23641
23642 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
23643
23644 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23645 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23646 instead. Replace the gfxterm backend check with a check that
23647 ${GRUB_PREFIX}/video.lst is non-empty.
23648 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23649 again.
23650 (load_video): New generated function. Call it before loading
23651 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23652 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23653 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23654 * docs/grub.texi (Simple configuration): Document
23655 GRUB_VIDEO_BACKEND.
23656
23657 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23658
23659 Use video functions in linux and xnu loaders.
23660
23661 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23662 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23663 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23664 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23665 loader/i386/pc/linux.c.
23666 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23667 (find_line_len): Removed.
23668 (find_framebuf): Likewise.
23669 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23670 * loader/i386/efi/xnu.c: Removed.
23671 * loader/i386/pc/xnu.c: Moved from here...
23672 * loader/i386/xnu.c: ...here.
23673
23674 Enable priorities in video drivers.
23675
23676 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23677 (grub_video_adapter): New field prio.
23678 (grub_video_register): Respect prio when inserting.
23679 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23680 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23681 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23682 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23683 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23684 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23685 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23686
23687 Fix SDL driver ID.
23688
23689 * include/grub/video.h (grub_video_driver_id_t): New value
23690 GRUB_VIDEO_DRIVER_SDL.
23691 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23692
23693 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
23694
23695 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23696 argument to printf.
23697 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23698
23699 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
23700
23701 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23702 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23703
23704 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
23705
23706 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23707 directly, and recommend grub-install instead.
23708 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23709
23710 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
23711
23712 Fix i386-pc prefix handling with nested partitions (Debian bug
23713 #585068). Note that the case where the core image is booted using
23714 multiboot and relocated from its original location still requires
23715 more work.
23716
23717 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23718 with "(,", fill the boot drive in between those two characters, but
23719 expect that a full partition specification including partition map
23720 names will follow.
23721 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23722 specified, write a prefix without the drive name but including a
23723 full partition specification.
23724
23725 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
23726
23727 * util/grub-mkconfig.in: Ignore non-option arguments, for
23728 compatibility with older versions (before 2010-06-12) which did the
23729 same. In particular, this makes it easier to ship an update-grub
23730 wrapper which is compatible with that used with GRUB Legacy (Debian
23731 bug #586056).
23732
23733 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23734
23735 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23736 for manual page generation.
23737
23738 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23739
23740 * po/POTFILES: Remove leftover commands/handler.c.
23741
23742 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
23743
23744 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23745 left this script non-functional.
23746
23747 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
23748
23749 * docs/man/grub-emu.h2m: New file.
23750
23751 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
23752
23753 * docs/grub.texi (Commands): Document reduced command set in rescue
23754 mode.
23755 (cpuid): New section.
23756
23757 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23758
23759 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23760 new partition naming style.
23761 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23762
23763 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23764
23765 Add "-o grub.iso" like cmdline options support.
23766
23767 * util/grub-install.in: Improve cmdline option parsing.
23768 * util/grub-mkconfig.in: Likewise.
23769 * util/grub-mkrescue.in: Likewise.
23770 * util/grub-reboot.in: Likewise.
23771 * util/grub-set-default.in: Likewise.
23772 * util/i386/efi/grub-install.in: Likewise.
23773 * util/ieee1275/grub-install.in: Likewise.
23774 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23775
23776 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
23777
23778 * .bzrignore: Ignore 41_custom.
23779
23780 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23781
23782 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23783
23784 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
23785
23786 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23787 prototype declarations.
23788
23789 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23790 generating fs, partmap, and video lists.
23791 * include/grub/fs.h (grub_fs_register): Omit prototype if
23792 GRUB_LST_GENERATOR is defined.
23793 * include/grub/partition.h (grub_partition_map_register): Likewise.
23794 * include/grub/video.h (grub_video_register): Likewise.
23795
23796 2010-06-12 Javier Martín <lordhabbit@gmail.com>
23797
23798 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23799
23800 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23801
23802 * util/grub-mkrescue.in: Support --xorriso argument.
23803
23804 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23807 Suggested by: Thomas Schmitt.
23808
23809 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23810
23811 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23812 Suggested by: Thomas Schmitt.
23813
23814 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23815
23816 custom.cfg support.
23817
23818 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23819 * util/grub.d/41_custom.in: New file.
23820
23821 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
23822
23823 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23824 been merged back into normal.
23825
23826 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
23827
23828 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23829 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23830
23831 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
23832
23833 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23834 when generating manual pages.
23835 * docs/man/grub-bin2h.h2m: New file.
23836 * docs/man/grub-editenv.h2m: New file.
23837 * docs/man/grub-fstest.h2m: New file.
23838 * docs/man/grub-install.h2m: New file.
23839 * docs/man/grub-macho2img.h2m: New file.
23840 * docs/man/grub-mkconfig.h2m: New file.
23841 * docs/man/grub-mkdevicemap.h2m: New file.
23842 * docs/man/grub-mkfont.h2m: New file.
23843 * docs/man/grub-mkimage.h2m: New file.
23844 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23845 * docs/man/grub-mkrelpath.h2m: New file.
23846 * docs/man/grub-mkrescue.h2m: New file.
23847 * docs/man/grub-ofpathname.h2m: New file.
23848 * docs/man/grub-pe2elf.h2m: New file.
23849 * docs/man/grub-probe.h2m: New file.
23850 * docs/man/grub-reboot.h2m: New file.
23851 * docs/man/grub-script-check.h2m: New file.
23852 * docs/man/grub-set-default.h2m: New file.
23853 * docs/man/grub-setup.h2m: New file.
23854
23855 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 Use FOR_* macros instead of *_iterate whenever possible.
23858
23859 * commands/handler.c: Removed.
23860 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23861 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23862 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23863 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23864 (grub_probe_SOURCES): Remove kern/parser.c.
23865 (util/grub-script-check.c_DEPENDENCIES): Removed.
23866 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23867 and grub_script_check_init.c.
23868 (grub_script_check_init.lst): Removed.
23869 (grub_script_check_init.h): Likewise.
23870 (grub_script_check_init.c): Likewise.
23871 (pkglib_MODULES): Remove handler.mod and sh.mod.
23872 (handler_mod_SOURCES): Removed.
23873 (handler_mod_CFLAGS): Likewise.
23874 (handler_mod_LDFLAGS): Likewise.
23875 (normal_mod_SOURCES): Remove normal/handler.c.
23876 Add script/main.c, script/script.c, script/execute.c,
23877 script/function.c, script/lexer.c, grub_script.tab.c
23878 and grub_script.yy.c.
23879 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23880 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23881 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23882 (grub_setup_SOURCES): Remove kern/parser.c.
23883 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23884 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23886 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23887 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23888 (grub_setup_SOURCES): Remove kern/parser.c.
23889 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23890 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23891 * include/grub/command.h (grub_command_iterate): Removed.
23892 (FOR_COMMANDS): New macro.
23893 * include/grub/dl.h (grub_dl): New member next.
23894 (grub_dl_iterate): Removed.
23895 (grub_dl_head): New variable declaration.
23896 (FOR_DL_MODULES): New macro.
23897 * include/grub/fs.h: Include list.h.
23898 (grub_fs): Make next first element.
23899 (grub_fs_list): New variable declaration.
23900 (grub_fs_register): Make inline.
23901 (grub_fs_unregister): Likewise.
23902 (grub_fs_iterate): Removed.
23903 (FOR_FILESYSTEMS): New macro.
23904 * include/grub/handler.h: Removed.
23905 * include/grub/list.h (grub_list_hook_t): Removed.
23906 (grub_list_test_t): Likewise.
23907 (grub_list_pop): Likewise.
23908 (grub_list_iterate): Likewise.
23909 (grub_list_insert): Likewise.
23910 (FOR_LIST_ELEMENTS): New macro.
23911 * include/grub/parser.h (grub_parser_class): Removed.
23912 (grub_parser_register): Likewise.
23913 (grub_parser_unregister): Likewise.
23914 (grub_parser_get_current): Likewise.
23915 (grub_parser_set_current): Likewise.
23916 (grub_register_rescue_parser): Likewise.
23917 (grub_rescue_parse_line): New function.
23918 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23919 * include/grub/script_sh.h (grub_script_function_list): New variable
23920 declaration.
23921 (FOR_SCRIPT_FUNCTIONS): New macro.
23922 (grub_script_function_iterate): Removed.
23923 (grub_normal_parse_line): New prototype.
23924 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23925 (FOR_DISABLED_TERM_INPUTS): Likewise.
23926 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23927 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23928 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23929 element.
23930 (grub_video_register): Inline.
23931 (grub_video_unregister): Likewise.
23932 (grub_video_adapter_list): New variable declaration.
23933 (grub_video_iterate): Removed.
23934 (FOR_VIDEO_ADAPTERS): New macro.
23935 * kern/dl.c (grub_dl_list): Removed. All users updated.
23936 (grub_dl_iterate): Removed.
23937 * kern/fs.c (grub_fs_list): Make global.
23938 (grub_fs_register): Removed.
23939 (grub_fs_unregister): Likewise.
23940 (grub_fs_iterate): Likewise.
23941 * kern/handler.c: Removed.
23942 * kern/list.c (grub_list_pop): Removed.
23943 (grub_list_iterate): Likewise.
23944 (grub_list_insert): Likewise.
23945 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23946 (grub_prio_list_insert): Don't use grub_list_insert.
23947 * kern/main.c (grub_register_rescue_parser): Don't call
23948 grub_register_rescue_parser.
23949 * kern/parser.c (grub_parser_class): Removed.
23950 (grub_parser_execute): Use grub_rescue_parse_line.
23951 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23952 (grub_rescue_parser): Removed.
23953 (grub_register_rescue_parser): Likewise.
23954 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23955 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23956 (grub_auth_check_authentication): Likewise.
23957 * normal/completion.c (iterate_command): Removed.
23958 (grub_normal_do_completion): Use FOR_COMMANDS.
23959 * normal/handler.c: Removed.
23960 * normal/main.c (read_config_file): Remove parser changing.
23961 (grub_normal_execute): Don't call read_handler_list.
23962 (grub_normal_read_line_real): Statically allocate prompt.
23963 (grub_cmdline_run): Use grub_normal_parse_line.
23964 (GRUB_MOD_FINI): Don't call free_handler_list.
23965 * normal/menu_entry.c (run): Likewise.
23966 * script/function.c (grub_script_function_list): Make global.
23967 (grub_script_function_iterate): Removed.
23968 * script/main.c (grub_normal_parse_line): Make global.
23969 (grub_sh_parser): Removed.
23970 (GRUB_MOD_INIT): Likewise.
23971 (GRUB_MOD_FINI): Likewise.
23972 * tests/lib/functional_test.c (grub_functional_test): Use
23973 FOR_LIST_ELEMENTS.
23974 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23975 (grub_test_run): Use FOR_LIST_ELEMENTS.
23976 * tests/lib/unit_test.c (main): Likewise.
23977 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23978 grub_list_pop.
23979 * util/grub-fstest.c (grub_term_input_class): Removed.
23980 (grub_term_output_class): Likewise.
23981 * util/grub-probe.c: Likewise.
23982 * util/i386/pc/grub-setup.c: Likewise.
23983 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23984 * util/grub-script-check.c (main): Don't call grub_init_all and
23985 grub_fini_all.
23986 * video/video.c (grub_video_adapter_list): Make global.
23987 (grub_video_register): Removed.
23988 (grub_video_unregister): Likewise.
23989 (grub_video_iterate): Likewise.
23990
23991 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23992
23993 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23994 reported by Henrique Ferreiro.
23995
23996 2010-06-09 Robert Millan <rmh@gnu.org>
23997
23998 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23999 ones, when both are available.
24000
24001 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24002
24003 Make --version uniform and avoid hard-coded program name.
24004
24005 * util/grub-mkimage.c (main): Use `program_name' instead of
24006 hard-coded string.
24007 * util/i386/pc/grub-setup.c (main): Likewise.
24008 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
24009 * util/grub-install.in: Save the basename of $0 in $self, and use the
24010 latter in informational messages. Use the same format for --version
24011 as the binary programs.
24012 * util/grub-mkconfig.in: Likewise.
24013 * util/grub-mkrescue.in: Likewise.
24014 * util/grub-reboot.in: Likewise.
24015 * util/grub-set-default.in: Likewise.
24016 * util/i386/efi/grub-install.in: Likewise.
24017 * util/ieee1275/grub-install.in: Likewise.
24018 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24019
24020 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24021
24022 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
24023 embedding area. Use <= instead of == when checking for non-emptiness.
24024
24025 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
24026
24027 * configure.ac: Add `.' to the directories searched for unifont.
24028
24029 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
24030
24031 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
24032 grub_script.yy.h.
24033
24034 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
24035
24036 * docs/grub.texi (History): Expand to cover GRUB 2.
24037 (Serial terminal): Refer to `terminal_input' and `terminal_output'
24038 commands, not `terminal'.
24039 (serial): Likewise.
24040 (terminal_input): New section.
24041 (terminal_output): New section.
24042 (uppermem): New section (stub).
24043 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
24044
24045 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
24046
24047 * docs/grub.texi (Security): Menu entries are unrestricted by
24048 default, not restricted to superusers as I had previously thought.
24049 Reword to account for this.
24050
24051 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24052
24053 * kern/emu/misc.c (device_mapper_null_log): New function.
24054 (grub_device_mapper_supported): New function.
24055 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
24056 prototype.
24057 * kern/emu/hostdisk.c (find_partition_start): Check whether
24058 device-mapper is supported before trying to use it.
24059 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
24060
24061 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24062
24063 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
24064 (File name syntax): Likewise.
24065 (help): --all is no longer supported in GRUB 2. Be more precise
24066 about pattern matching.
24067
24068 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24069
24070 * normal/completion.c (grub_normal_do_completion): When completing
24071 arguments to "set" and the current word contains an equals sign,
24072 skip to after the equals sign before starting completion.
24073
24074 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24075
24076 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
24077
24078 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24079
24080 * docs/grub.texi (Network): New section.
24081 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
24082 `(nd)' as in GRUB Legacy.
24083 (pxe_unload): New section.
24084
24085 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24086
24087 * docs/grub.texi (Troubleshooting): `echo' is not usually available
24088 in the rescue shell, so recommend using `set' instead. Thanks,
24089 Jordan Uggla.
24090
24091 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24092
24093 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
24094 (password): New section.
24095 (password_pbkdf2): New section.
24096 (search): New section.
24097 (Security): New section.
24098 (Troubleshooting): New section, currently very incomplete.
24099 (Invoking grub-mkpasswd-pbkdf2): New section.
24100 (Internals): New section, currently very incomplete.
24101
24102 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24103
24104 * util/grub.d/00_header.in: Add some more quoting (of
24105 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
24106 work again.
24107 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
24108
24109 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
24110
24111 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
24112 to `count', fixing variable shadowing that broke the -c option.
24113
24114 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
24115
24116 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
24117 in case they contain spaces.
24118
24119 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
24120
24121 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
24122 "part_" to partmap module names, in line with grub-install.
24123 Reported by: Jindřich Makovička (Debian bug #584426).
24124
24125 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
24126
24127 * util/grub-mkimage.c: Make target-related error messages slightly
24128 more helpful; -O talks about "format". Explicitly point to the use
24129 of -O if no target is specified.
24130 Reported by: Didier Raboud (Debian bug #584415).
24131
24132 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
24133
24134 * INSTALL: Document several build requirements for optional features
24135 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
24136
24137 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
24138
24139 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
24140 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
24141 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
24142
24143 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24144
24145 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
24146 Thanks to Jordan Uggla for spotting this.
24147
24148 2010-06-02 Aleš Nesrsta <starous@volny.cz>
24149
24150 Finally make USB usable.
24151
24152 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
24153 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
24154 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
24155 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
24156 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
24157 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
24158 (GRUB_OHCI_FSMPS): Likewise.
24159 (GRUB_OHCI_PERIODIC_START): Likewise.
24160 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
24161 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
24162 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
24163 (GRUB_OHCI_SET_PORT_RESET): Likewise.
24164 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
24165 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
24166 (grub_ohci_transaction): Likewise.
24167 (grub_ohci_transfer): Improve condition detection algorithms.
24168 Handle toggle property. Program the transactions correctly.
24169 Improve error handling. Various important fixups.
24170 (grub_ohci_portstatus): Put register writes in right order.
24171 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
24172 (grub_uhci_transfer): Don't show "failed" message on success.
24173 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
24174 array.
24175 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
24176 determine its size.
24177 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
24178 before initialization is completed. Use IN direction for empty
24179 transfers. Use last_trans and compute toggle.
24180 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
24181 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
24182 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
24183 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
24184 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
24185 (grub_usb_device): Increase toggle to 256.
24186 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
24187 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
24188 GRUB_USBMS_SUBCLASS_SFF8070.
24189 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
24190 (grub_scsi_inquiry): New member page and alloc_length.
24191 (grub_scsi_request_sense): New structure.
24192 (grub_scsi_request_sense_data): Likewise.
24193 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
24194 control.
24195 * disk/scsi.c (grub_scsi_request_sense): New function.
24196 (grub_scsi_test_unit_ready): Likewise.
24197 (grub_scsi_inquiry): Fill new fields.
24198 (grub_scsi_read_capacity): Likewise.
24199 (grub_scsi_read10): Add request sense at the end.
24200 (grub_scsi_read12): Likewise.
24201 (grub_scsi_write10): Likewise.
24202 (grub_scsi_write12): Likewise.
24203 (grub_scsi_open): Add Test Unit Ready.
24204 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
24205 Support additional subclasses. Con't clear halt yet. Activate the
24206 proper config. Calculate LUNs correctly.
24207 (grub_usbms_transfer): Various important fixups.
24208
24209 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
24212 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
24213 (grub_ohci_fini_hw): New function.
24214 (grub_ohci_restore_hw): Likewise.
24215 (GRUB_MOD_INIT(ohci)): Register preboot hook.
24216 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
24217 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
24218
24219 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 Dedicated DMA allocations.
24222
24223 * bus/pci.c (grub_memalign_dma32): New function
24224 (grub_dma_free): Likewise.
24225 (grub_dma_get_virt): Likewise.
24226 (grub_dma_get_phys): Likewise.
24227 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
24228 (grub_ohci_pci_iter): Use dma32_alloc.
24229 (grub_ohci_transfer): Likewise.
24230 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24231 (grub_usb_bulk_readwrite): Likewise.
24232 * include/grub/pci.h: Add declarations.
24233
24234 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 CS5536 support.
24237
24238 * bus/cs5536.c: New file.
24239 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
24240 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
24241 (cs5536_mod_SOURCES): New variable.
24242 (cs5536_mod_CFLAGS): Likewise.
24243 (cs5536_mod_LDFLAGS): Likewise.
24244 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
24245 machine/pci.h.
24246 (kernel_img_SOURCES): Add bus/cs5536.c.
24247 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
24248 usb_keyboard.mod.
24249 (usb_mod_SOURCES): New variable.
24250 (usb_mod_CFLAGS): New variable.
24251 (usb_mod_LDFLAGS): New variable.
24252 (usbtest_mod_SOURCES): New variable.
24253 (usbtest_mod_CFLAGS): New variable.
24254 (usbtest_mod_LDFLAGS): New variable.
24255 (ohci_mod_SOURCES): New variable.
24256 (ohci_mod_CFLAGS): New variable.
24257 (ohci_mod_LDFLAGS): New variable.
24258 (usbms_mod_SOURCES): New variable.
24259 (usbms_mod_CFLAGS): New variable.
24260 (usbms_mod_LDFLAGS): New variable.
24261 (usb_keyboard_mod_SOURCES): New variable.
24262 (usb_keyboard_mod_CFLAGS): New variable.
24263 (usb_keyboard_mod_LDFLAGS): New variable.
24264 * include/grub/smbus.h: New file.
24265 * include/grub/cs5536.h: New file.
24266
24267 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24268
24269 * util/grub.d/00_header.in: Add safety check to make sure that
24270 ${locale_dir} exists before trying to probe it.
24271
24272 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24273
24274 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
24275 per the GNU Coding Standards; this is now too obscure to be worth
24276 documenting.
24277 (QNX): Likewise.
24278 (chainloader): Remove cross-reference to `SCO UnixWare'.
24279
24280 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24281
24282 * docs/grub.texi (Chain-loading): New section.
24283 (DOS/Windows): New section, borrowed from GRUB Legacy with details
24284 adjusted for GRUB 2.
24285 (SCO UnixWare): Likewise.
24286 (QNX): Likewise.
24287 (chainloader): Add reference to `Block list syntax'.
24288 (drivemap): New section.
24289 (parttool): New section.
24290
24291 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24292
24293 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
24294 the grub shell'.
24295 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
24296 (Installing GRUB using grub-install): Remove reference to the grub
24297 shell; mention `grub-mkimage' and `grub-setup' instead.
24298 (Invoking grub-install): Likewise.
24299 (Interface): Add reference to `Menu entry editor'.
24300 (serial): Remove `--device' option.
24301
24302 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24303
24304 * docs/grub.texi (Configuration): New section, documenting
24305 configuration file generation using grub-mkconfig. I've left a slot
24306 for documenting the full shell scripting format but have not yet
24307 started on writing that up.
24308 (Invoking grub-mkconfig): New section.
24309
24310 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24311
24312 * docs/grub.texi (direntry): Remove grub-terminfo reference.
24313 (GNU GRUB manual): Likewise.
24314 (General commands): Update description of `terminfo' for GRUB 2.
24315
24316 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24317
24318 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
24319 (GRUB_MOD_INIT): Fix capitalisation.
24320 * docs/grub.texi (Command-line and menu entry commands): Document
24321 gettext and gptsync commands.
24322
24323 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
24324
24325 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
24326 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
24327
24328 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
24329
24330 Add btrfs probing support, currently only in the single-device case.
24331
24332 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24333 function.
24334 (grub_guess_root_device): Call find_root_device_from_mountinfo
24335 before looking in /dev.
24336
24337 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24338
24339 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24340 GRUB_DISK_SIZE_UNKNOWN.
24341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24342
24343 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
24344
24345 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24346 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24347 corrupted or not synced properly.
24348
24349 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24350
24351 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24352 Reported by: Seth Goldberg.
24353
24354 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24357 addition of dest.
24358 Reported by: Seth Goldberg.
24359
24360 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24363 Reported by: Seth Goldberg.
24364
24365 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24368 64-bit address as signed on MIPS.
24369
24370 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
24371
24372 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24373 to the empty string.
24374
24375 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24376
24377 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24378
24379 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24380 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24381 * kern/misc.c (__enable_execute_stack): Disable on
24382 GRUB_MACHINE_EMU.
24383
24384 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
24385
24386 Make grub-probe work with symbolic links under /dev/mapper as well
24387 as with real block devices. The Linux world seems to be (at best)
24388 in transition here, and GRUB shouldn't get caught in the middle.
24389
24390 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24391 /dev/mapper.
24392
24393 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
24394
24395 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24396 input files (in which case exit zero).
24397
24398 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
24399
24400 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24401 return NULL for various reasons even if it has a maximum-length
24402 buffer: for example, there might be a symlink loop, or the path
24403 might exceed PATH_MAX. If this happens, return NULL.
24404
24405 2010-05-27 Robert Millan <rmh@gnu.org>
24406
24407 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24408 partmap module to handle cross-partmap setups.
24409 Reported by Orestes Mas. Gràcies!
24410
24411 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
24412
24413 * util/grub-mkrescue.in: Initialise override_dir rather than
24414 assuming that it's unset or empty in the environment.
24415
24416 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24417
24418 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24419 variable index into p_index to suppress a warning with -Wshadow.
24420
24421 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24422
24423 * INSTALL: Added flex >= 2.5.35 requirement.
24424
24425 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24428
24429 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 cmostest support.
24432
24433 * commands/i386/cmostest.c: New file.
24434 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24435 (cmostest_mod_SOURCES): New variable.
24436 (cmostest_mod_CFLAGS): Likewise.
24437 (cmostest_mod_LDFLAGS): Likewise.
24438 * conf/i386-pc.rmk: Likewise.
24439 * docs/grub.texi (Vendor power-on keys): New section.
24440 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24441 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24442 and GRUB_BUTTON_CMOS_ADDRESS.
24443 * util/grub.d/00_header.in: Handle powering-on by separate button.
24444
24445 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24446
24447 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24448 Removed drawing_scrollbar argument. All users updated
24449 Fixes #29792.
24450 Reported by Jo Shields
24451
24452 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24455 buffer since gfxterm handles double repaint.
24456
24457 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24458
24459 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24460 * term/gfxterm.c (real_scroll): Likewise.
24461
24462 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24465 before calling BIOS.
24466
24467 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24468
24469 * include/grub/i18n.h: Always enable grub_gettext.
24470
24471 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24472
24473 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24474 partition naming style.
24475
24476 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
24477
24478 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24479 not the first option.
24480
24481 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
24482
24483 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24484
24485 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
24486
24487 * util/misc.c: Move inclusion of <limits.h> to ...
24488 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24489
24490 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24491
24492 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24493 Fix merge error in NetBSD code.
24494 (find_partition_start) [__NetBSD__]: Likewise.
24495
24496 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24497
24498 Fix grub-mkrescue usage unit testing.
24499
24500 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24501
24502 2010-05-18 Christian Franke <franke@computer.org>
24503
24504 * util/grub.d/10_windows.in: Use path names instead of
24505 drive letters to prevent warning from Cygwin 1.7.
24506 Add drivemap command to menuentry if needed.
24507
24508 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24509
24510 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24511 gnumach and gnumach.gz.
24512
24513 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24514
24515 * include/grub/i18n.h (gettext): Inline instead of using #define.
24516 (grub_gettext): Likewise.
24517 (_): Likewise.
24518
24519 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24520
24521 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24522 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24523 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24524 (main): Add a slash after pkglibdirroot.
24525
24526 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24527
24528 * util/grub-install.in: Add missing "in" keyword.
24529
24530 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24531
24532 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24533 Reported by: Seth Goldberg.
24534
24535 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24536
24537 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24538
24539 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
24540
24541 * configure.ac: Check for Linux device-mapper support.
24542
24543 * util/hostdisk.c (device_is_mapped): New function.
24544 (find_partition_start): New function, partly broken out from
24545 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24546 device-mapper support added.
24547 (linux_find_partition): Use find_partition_start.
24548 (convert_system_partition_to_system_disk): Add `st' argument.
24549 Support Linux /dev/mapper/* devices if device-mapper support is
24550 available; only DM-RAID devices are understood at present.
24551 (find_system_device): Add `st' argument. Pass it to
24552 convert_system_partition_to_system_disk.
24553 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24554 find_system_device and convert_system_partition_to_system_disk. Use
24555 find_partition_start.
24556
24557 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24558 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24559 * util/deviceiter.c [__linux__]: Define MINOR.
24560 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24561 * util/mkdevicemap.c (grub_putchar): New function.
24562 (grub_getkey): New function.
24563 (grub_refresh): New function.
24564 (main): Set debug=all if -v -v is used.
24565
24566 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
24567
24568 Fix build with non-GNU libcs.
24569
24570 * util/misc.c (canonicalize_file_name): Move to ...
24571 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24572 grub_make_system_path_relative_to_its_root.
24573
24574 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
24575
24576 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24577 we handle finding grub-mkimage. Default to finding grub-mkimage in
24578 ${bindir} with program_transform_name applied, and provide a
24579 --grub-mkimage option to override this.
24580
24581 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 Remove grub-mkisofs.
24584
24585 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24586 (grub_mkisofs_SOURCES): Removed.
24587 (grub_mkisofs_CFLAGS): Removed.
24588 * util/mkisofs/defaults.h: Removed.
24589 * util/mkisofs/eltorito.c: Likewise.
24590 * util/mkisofs/exclude.h: Likewise.
24591 * util/mkisofs/hash.c: Likewise.
24592 * util/mkisofs/include/: Likewise.
24593 * util/mkisofs/include/fctldefs.h: Likewise.
24594 * util/mkisofs/include/mconfig.h: Likewise.
24595 * util/mkisofs/include/prototyp.h: Likewise.
24596 * util/mkisofs/include/statdefs.h: Likewise.
24597 * util/mkisofs/iso9660.h: Likewise.
24598 * util/mkisofs/joliet.c: Likewise.
24599 * util/mkisofs/match.c: Likewise.
24600 * util/mkisofs/match.h: Likewise.
24601 * util/mkisofs/mkisofs.c: Likewise.
24602 * util/mkisofs/mkisofs.h: Likewise.
24603 * util/mkisofs/msdos_partition.h: Likewise.
24604 * util/mkisofs/multi.c: Likewise.
24605 * util/mkisofs/name.c: Likewise.
24606 * util/mkisofs/rock.c: Likewise.
24607 * util/mkisofs/tree.c: Likewise.
24608 * util/mkisofs/write.c: Likewise.
24609
24610 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24611
24612 Unify grub-mkimage accross platforms.
24613
24614 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24615 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24616 (grub_mkelfimage_SOURCES): Removed.
24617 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24618 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24619 (bin_UTILITIES): Add grub-mkimage.
24620 (grub_mkimage_SOURCES): New variable.
24621 (kernel_img_HEADERS): Remove machine/kernel.h.
24622 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24623 (pkglib_PROGRAMS): Add kernel.img.
24624 (kernel_img_HEADERS): Add machine/kernel.h.
24625 (kernel_img_FORMAT): Removed.
24626 (bin_UTILITIES): Remove grub-mkimage.
24627 (grub_mkimage_SOURCES): Removed.
24628 (grub_mkimage_CFLAGS): Likewise.
24629 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24630 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24631 (pkglib_PROGRAMS): Add kernel.img.
24632 (bin_UTILITIES): Remove grub-mkimage.
24633 (grub_mkimage_SOURCES): Removed.
24634 (grub_mkimage_CFLAGS): Likewise.
24635 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24636 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24637 (pkglib_PROGRAMS): Add kernel.img.
24638 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24639 (pkglib_PROGRAMS): Add kernel.img.
24640 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24641 (grub_mkimage_SOURCES): Removed.
24642 (grub_mkimage_CFLAGS): Likewise.
24643 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24644 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24645 (pkglib_PROGRAMS): Add kernel.img.
24646 (bin_UTILITIES): Remove grub-mkimage.
24647 (grub_mkimage_SOURCES): Removed.
24648 (grub_mkimage_CFLAGS): Likewise.
24649 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24650 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24651 (grub_mkimage_SOURCES): Removed.
24652 (grub_mkimage_CFLAGS): Likewise.
24653 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24654 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24655 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24656 (grub_pe32_optional_header): ... this.
24657 (grub_pe64_optional_header): ... and this. All users updated.
24658 (GRUB_PE32_PE32_MAGIC): Split into ..
24659 (GRUB_PE32_PE32_MAGIC): .. this.
24660 (GRUB_PE32_PE64_MAGIC): .. and this.
24661 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24662 * include/grub/elf.h (PT_GNU_STACK): New definition.
24663 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24664 * include/grub/i386/efi/kernel.h: Likewise.
24665 * include/grub/i386/kernel.h: Likewise.
24666 * include/grub/i386/pc/kernel.h: Likewise.
24667 * include/grub/i386/qemu/boot.h: Likewise.
24668 * include/grub/mips/kernel.h: Likewise.
24669 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24670 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24671 * include/grub/powerpc/kernel.h: Likewise.
24672 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24673 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24674 * include/grub/sparc64/kernel.h: Likewise.
24675 * include/grub/x86_64/efi/kernel.h: Likewise.
24676 * include/grub/x86_64/kernel.h: Likewise.
24677 * include/grub/offsets.h: New file.
24678 * include/grub/kernel.h (grub_module_info): Split into ...
24679 (grub_module_info32): ... this.
24680 (grub_module_info64): ... and this.
24681 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24682 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24683 (grub_boot_blocklist): Moved from here ...
24684 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24685 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24686 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24687 * include/grub/types.h (grub_target_to_host16): Removed.
24688 (grub_target_to_host32): Likewise.
24689 (grub_target_to_host64): Likewise.
24690 (grub_host_to_target16): Likewise.
24691 (grub_host_to_target32): Likewise.
24692 (grub_host_to_target64): Likewise.
24693 (grub_host_to_target_addr): Likewise.
24694
24695 Support grub-mkrescue for efi, coreboot and qemu.
24696
24697 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24698 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24699 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24700 * util/grub-mkrawimage.c: Moved from here ...
24701 * util/grub-mkimage.c: ... here. All users updated.
24702 (ALIGN_ADDR): Use image_target.
24703 (TARGET_NO_FIELD): New const.
24704 (image_target_desc): New type.
24705 (image_targets): New array.
24706 (grub_target_to_host64): Use image_target.
24707 (grub_target_to_host32): Likewise.
24708 (grub_target_to_host16): Likewise.
24709 (grub_host_to_target64): Likewise.
24710 (grub_host_to_target32): Likewise.
24711 (grub_host_to_target16): Likewise.
24712 (grub_host_to_target_addr): Likewise.
24713 (generate_image): Handle multiimage.
24714 (main): Require -O parameter. All users updated.
24715 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24716 util/efi/grub-mkimage.c
24717 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24718 New option --rom-directory.
24719 Use xorriso.
24720 * util/i386/efi/grub-mkimage.c: Removed.
24721 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24722 (grub_target_to_host32): Likewise.
24723 (grub_target_to_host64): Likewise.
24724 (grub_host_to_target16): Likewise.
24725 (grub_host_to_target32): Likewise.
24726 (grub_host_to_target64): Likewise.
24727 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24728 (grub_target_to_host32): Likewise.
24729 (grub_target_to_host64): Likewise.
24730 (grub_host_to_target16): Likewise.
24731 (grub_host_to_target32): Likewise.
24732 (grub_host_to_target64): Likewise.
24733
24734 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24735
24736 Source tree is reorganized for emu build.
24737
24738 * include/grub/util/console.h: Move from here...
24739 * include/grub/emu/console.h: ...to here.
24740 * include/grub/util/getroot.h: Move from here...
24741 * include/grub/emu/getroot.h: ...to here.
24742 * include/grub/util/hostdisk.h: Move from here...
24743 * include/grub/emu/hostdisk.h: ...to here.
24744 * util/console.c: Move from here...
24745 * kern/emu/console.c: ...to here.
24746 * util/getroot.c: Move from here...
24747 * kern/emu/getroot.c: ...to here.
24748 * util/grub-emu.c: Move from here...
24749 * kern/emu/main.c: ...to here.
24750 * util/hostdisk.c: Move from here...
24751 * kern/emu/hostdisk.c: ...to here.
24752 * util/hostfs.c: Move from here...
24753 * kern/emu/hostfs.c: ...to here.
24754 * util/mm.c: Move from here...
24755 * kern/emu/mm.c: ...to here.
24756 * util/pci.c: Move from here...
24757 * bus/emu/pci.c: ...to here.
24758 * util/sdl.c: Move from here...
24759 * video/emu/sdl.c: ...to here.
24760 * util/time.c: Move from here...
24761 * kern/emu/time.c: ...to here.
24762 * util/usb.c: Move from here...
24763 * bus/usb/emu/usb.c: ...to here.
24764
24765 * include/grub/emu/misc.h: New header for grub-emu functions.
24766 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24767
24768 * conf/any-emu.rmk: Rule updates for above renames.
24769 * conf/common.rmk: Likewise.
24770 * conf/i386-pc.rmk: Likewise.
24771 * conf/i386-qemu.rmk: Likewise.
24772 * conf/mips.rmk: Likewise.
24773 * conf/sparc64-ieee1275.rmk: Likewise.
24774 * conf/x86-efi.rmk: Likewise.
24775
24776 * disk/lvm.h: #include updates for above renames.
24777 * util/grub-mkrelpath.c: Likewise.
24778 * util/grub-probe.c: Likewise.
24779 * util/i386/pc/grub-setup.c: Likewise.
24780 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24781 * kern/emu/console.c: Likewise.
24782 * kern/emu/getroot.c: Likewise.
24783 * kern/emu/hostdisk.c: Likewise.
24784 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24785
24786 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24787 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24788 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24789 * util/misc.c: Remove grub-emu functions.
24790
24791 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24792
24793 Fix gfxmenu crash.
24794 Reported by: Thorsten Grützmacher.
24795
24796 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24797 timeout hook.
24798 (circprog_set_property): Register and unregister timeout hook.
24799 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24800 (label_destroy): Free template. and unregister hook.
24801 (label_set_state): New function.
24802 (label_set_property): Handle templates and hooks.
24803 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24804 timeout hook.
24805 (progress_bar_set_property): Register and unregister timeout hook.
24806 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24807 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24808 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24809 (update_timeout_visit): Removed.
24810 (update_timeouts): New function.
24811 (redraw_timeouts): Likewise.
24812 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24813 (grub_gfxmenu_clear_timeout): Likewise.
24814 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24815 (grub_gfxmenu_timeout_notify): Likewise.
24816 (grub_gfxmenu_timeout_notifications): New external variable.
24817 (grub_gfxmenu_timeout_register): New function.
24818 (grub_gfxmenu_timeout_unregister): Likewise.
24819
24820 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24821
24822 Transform (broken) vga terminal into (working) vga video driver.
24823
24824 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24825 video/i386/pc/vga.c.
24826 * include/grub/video.h (grub_video_driver_id):
24827 Add GRUB_VIDEO_DRIVER_VGA.
24828 * term/i386/pc/vga.c: Renamed to ...
24829 * video/i386/pc/vga.c: ...this
24830 (DEBUG_VGA): Removed.
24831 (CHAR_WIDTH): Likewise.
24832 (CHAR_HEIGHT): Likewise.
24833 (TEXT_WIDTH): Likewise.
24834 (TEXT_HEIGHT): Likewise.
24835 (DEFAULT_FG_COLOR): Likewise.
24836 (DEFAULT_BG_COLOR): Likewise.
24837 (colored_char): Likewise.
24838 (xpos): Likewise.
24839 (ypos): Likewise.
24840 (cursor_state): Likewise.
24841 (fg_color): Likewise.
24842 (bg_color): Likewise.
24843 (text_buf): Likewise.
24844 (page): Likewise.
24845 (font): Likewise.
24846 (framebuffer): New variable.
24847 (set_read_map): Disabled.
24848 (setup): New variable.
24849 (is_target): Likewise.
24850 (grub_vga_mod_init): Likewise.
24851 (grub_vga_mod_fini): Likewise.
24852 (check_vga_mem): Likewise.
24853 (write_char): Likewise.
24854 (write_cursor): Likewise.
24855 (scroll_up): Likewise.
24856 (grub_vga_putchar): Likewise.
24857 (grub_vga_getcharwidth): Likewise.
24858 (grub_vga_getwh): Likewise.
24859 (grub_vga_getxy): Likewise.
24860 (grub_vga_gotoxy): Likewise.
24861 (grub_vga_cls): Likewise.
24862 (grub_vga_setcolorstate): Likewise.
24863 (grub_vga_setcursor): Likewise.
24864 (grub_video_vga_init): New function.
24865 (grub_video_vga_setup): Likewise.
24866 (grub_video_vga_fini): Likewise.
24867 (update_target): Likewise.
24868 (grub_video_vga_blit_bitmap): Likewise.
24869 (grub_video_vga_blit_render_target): Likewise.
24870 (grub_video_vga_set_active_render_target): Likewise.
24871 (grub_video_vga_get_active_render_target): Likewise.
24872 (grub_video_vga_swap_buffers): Likewise.
24873 (grub_video_vga_set_palette): Likewise.
24874 (grub_video_vga_get_info_and_fini): Likewise.
24875 (grub_vga_term): Removed.
24876 (grub_video_vga_adapter): New variable.
24877 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24878 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24879
24880 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24881
24882 * video/readers/jpeg.c: Indented.
24883
24884 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24885
24886 Various jpeg cleanups.
24887
24888 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24889 (grub_jpeg_decode_quan_table): Use sizeof.
24890 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24891
24892 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
24893
24894 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24895 tables. Ignore non-last ac bit.
24896 (grub_jpeg_decode_quan_table): Likewise.
24897
24898 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24899
24900 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24901 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24902 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24903 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24904 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24905 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24906
24907 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24910 error.
24911
24912 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24913
24914 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24915
24916 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24917
24918 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24919 condition.
24920
24921 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24924 part.
24925
24926 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24929 pointers.
24930
24931 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24932
24933 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24934
24935 2010-05-01 Christian Franke <franke@computer.org>
24936
24937 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24938 Remove broken Cygwin path conversion.
24939 * util/misc.c: [__CYGWIN__] Add include and define.
24940 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24941 for Cygwin 1.7.
24942 (make_system_path_relative_to_its_root): Simplify loop, replace early
24943 return by break.
24944 [__CYGWIN__] Add conversion to win32 path.
24945 Include "/" case in trailing slash removal.
24946
24947 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24950 Reported by: Seth Goldberg
24951
24952 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * commands/help.c (grub_cmd_help): Fix a typo.
24955 Reported by: Seth Goldberg
24956
24957 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24960 name and add N_.
24961 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24962 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24963 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24964 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24965 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24966 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24967 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24968 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24969 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24970 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24971 * normal/context.c (GRUB_MOD_INIT): Likewise.
24972 * normal/main.c (GRUB_MOD_INIT): Likewise.
24973 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24974 * term/serial.c (GRUB_MOD_INIT): Likewise.
24975 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24976
24977 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24980 extra == 0.
24981
24982 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 * commands/iorw.c: New file.
24985 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24986 (iorw_mod_SOURCES): New variable.
24987 (iorw_mod_CFLAGS): Likewise.
24988 (iorw_mod_LDFLAGS): Likewise.
24989
24990 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 Hotkey support
24993
24994 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24995 * normal/main.c (hotkey_aliases): New variable.
24996 (grub_normal_add_menu_entry): Parse "--hotkey".
24997 * normal/menu_text.c (run_menu): Handle hotkeys.
24998
24999 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25000
25001 * kern/i386/coreboot/init.c (grub_machine_init): Call
25002 grub_machine_mmap_init on qemu.
25003
25004 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25005
25006 * boot/i386/qemu/boot.S: Add a missing .code16.
25007
25008 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25009
25010 Use LBIO on coreboot.
25011
25012 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
25013 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
25014 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
25015 New declaration.
25016 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
25017 grub_machine_mmap_init on coreboot.
25018 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
25019 GRUB_LINUXBIOS_MEMBER_LINK.
25020 (grub_machine_mmap_iterate): Fix declaration.
25021 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
25022
25023 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25024
25025 Split coreboot and multiboot ports.
25026
25027 * conf/i386-multiboot.rmk: New file.
25028 * configure.ac: Add multiboot port.
25029 * include/grub/i386/multiboot/boot.h: New file.
25030 * include/grub/i386/multiboot/console.h: Likewise.
25031 * include/grub/i386/multiboot/init.h: Likewise.
25032 * include/grub/i386/multiboot/kernel.h: Likewise.
25033 * include/grub/i386/multiboot/loader.h: Likewise.
25034 * include/grub/i386/multiboot/memory.h: Likewise.
25035 * include/grub/i386/multiboot/serial.h: Likewise.
25036 * include/grub/i386/multiboot/time.h: Likewise.
25037 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
25038 * loader/multiboot.c: Likewise.
25039 * loader/multiboot_mbi2.c: Likewise.
25040 * util/grub-mkrescue.in: Generate multiboot rescue.
25041
25042 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25043
25044 * kern/parser.c (grub_parser_execute): Cope with read-only config.
25045
25046 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 Merge handling of input and output terminals. Fix a hang.
25049
25050 * commands/terminal.c (abstract_terminal): New struct.
25051 (handle_command): New function. Based on grub_cmd_terminal_input.
25052 (grub_cmd_terminal_input): Use handle_command.
25053 (grub_cmd_terminal_output): Use handle_command.
25054
25055 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
25056
25057 Fix comment handling.
25058
25059 * tests/grub_script_comments.in: New testcase.
25060 * conf/tests.rmk: Rules for new testcase.
25061 * script/yylex.l: Updated flex rules.
25062
25063 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
25064
25065 * docs/grub.texi (play): Document that zero pitches produce rests.
25066 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
25067 if argc is 1.
25068
25069 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25070
25071 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
25072 autogen issues.
25073
25074 2010-04-26 Christian Franke <franke@computer.org>
25075
25076 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
25077 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
25078 (grub_get_prefix): Remove function.
25079 * util/grub-emu.c (main): Replace grub_get_prefix () call by
25080 make_system_path_relative_to_its_root ().
25081 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
25082
25083 2010-04-24 Christian Franke <franke@computer.org>
25084
25085 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
25086 (kernel_img_LDFLAGS): Remove -static-libgcc.
25087
25088 2010-04-24 Christian Franke <franke@computer.org>
25089
25090 * configure.ac: Do not CHECK_BSS_START_SYMBOL
25091 and CHECK_END_SYMBOL if grub-emu is built.
25092 Unset TARGET_OBJ2ELF if grub-emu is built
25093 without module support.
25094
25095 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
25096
25097 Nilfs2 support.
25098
25099 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
25100 (grub_fstest_SOURCES): Likewise.
25101 (pkglib_MODULES): Add nilfs2.mod.
25102 (nilfs2_mod_SOURCES): New variable.
25103 (nilfs2_mod_CFLAGS): Likewise.
25104 (nilfs2_mod_LDFLAGS): Likewise.
25105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25106 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
25107 * fs/nilfs2.c: New file.
25108
25109 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
25110
25111 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
25112 is not supported.
25113
25114 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
25115
25116 Add grub-mkconfig support for NetBSD.
25117
25118 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
25119 * util/grub-mkconfig.in: export new NetBSD specific variables.
25120 * po/POTFILES-shell: added 10_netbsd.in.
25121 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
25122
25123 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
25124
25125 Fix emu build with grub-emu-pci and grub-emu-modules.
25126
25127 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
25128 functions.
25129 * include/grub/libpciaccess.h: New file.
25130 * conf/any-emu.rmk: Update kernel headers for emu build.
25131
25132 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25133
25134 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
25135
25136 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
25139
25140 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25141
25142 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
25143 Retrieve chosen/bootpath if bootpath isn't hardcoded.
25144 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
25145 util/ieee1275/ofpath.c.
25146 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
25147 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
25148 * include/grub/sparc64/ieee1275/boot.h
25149 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
25150 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
25151 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
25152 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
25153 const char *.
25154 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
25155 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
25156 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
25157 install.
25158
25159 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
25160
25161 * util/grub-mkconfig.in: Corrected two == equality tests.
25162 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
25163 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
25164 expect a number appended to it.
25165 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
25166 expects a number appended to it.
25167
25168 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
25171
25172 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
25173
25174 * util/hostdisk.c (make_device_name): Change to new partition naming.
25175
25176 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
25179
25180 2010-04-17 Christian Franke <franke@computer.org>
25181
25182 * Makefile.in: Add missing localedir setting.
25183
25184 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
25185
25186 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
25187 mistake in r2156. Noticed by Anthony Fok.
25188
25189 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
25190 @localedir@.
25191 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25192
25193 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
25194
25195 Fix a spurious, uninitialized variable warning.
25196
25197 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
25198 Initialize variable, shdr.
25199 (grub_freebsd_load_elfmodule): Likewise.
25200 (grub_freebsd_load_elf_meta): Likewise.
25201
25202 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
25203
25204 Fix for escaped dollar in double quoted strings.
25205
25206 * script/yylex.l: Updated flex rules.
25207 * conf/tests.rmk: Rule for new testcase.
25208 * tests/grub_script_dollar.in: New testcase.
25209
25210 2010-04-13 Carles Pina i Estany <carles@pina.cat>
25211 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
25212
25213 Enclose all translated strings in grub.cfg in single quotes, and
25214 escape them appropriately (Ubuntu bug #552921).
25215
25216 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
25217 * util/grub.d/10_hurd.in: Use it.
25218 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25219 * util/grub.d/10_linux.in (linux_entry): Likewise.
25220
25221 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25222
25223 Fix cygwin compilation.
25224
25225 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
25226 * include/grub/misc.h (__register_frame_info)
25227 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
25228 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25229 * kern/misc.c (__register_frame_info)
25230 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
25231 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
25232
25233 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25234
25235 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
25236
25237 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
25238
25239 Unify libgcc processing.
25240
25241 * Makefile.in (kernel_img_LDFLAGS): New variable.
25242 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
25243 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
25244 overwriting.
25245 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
25246 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
25247 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
25248 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
25249 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
25250 overwriting. Remove -lgcc and -static-libgcc
25251 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
25252 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25253 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
25254 (kernel_img_LDFLAGS): Append instead of overwriting.
25255 Remove -lgcc and -static-libgcc
25256 * conf/sparc64-ieee1275.rmk: Likewise.
25257 * include/grub/powerpc/libgcc.h: Move to ...
25258 * include/grub/libgcc.h: .. this.
25259 * include/grub/libgcc.h: Don't export most of the function on x86.
25260 (__bswapsi2): New export.
25261 (__bswapdi2): Likewise.
25262 * include/grub/mips/libgcc.h: Removed.
25263 * include/grub/sparc64/libgcc.h: Likewise.
25264
25265 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
25268 disk_info_msg (conflicts with gettexting into languages with cases).
25269
25270 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
25271
25272 Add grub-probe support for NetBSD.
25273
25274 * util/getroot.c (find_root_device): Convert block device to
25275 character device on NetBSD.
25276 * util/probe.c (probe): Require character device on NetBSD.
25277 * util/hostdisk.c: NetBSD specific headers.
25278 (configure_device_driver): new function to tune device driver
25279 parameters (currently only for NetBSD floppy driver).
25280 (grub_util_biosdisk_open): NetBSD specific code (get disk size
25281 via disklabel ioctl).
25282 (open_device): call configure_device_driver on NetBSD.
25283 (convert_system_partition_to_system_disk): NetBSD specific code.
25284 (device_is_wholedisk): Likewise.
25285 (grub_util_biosdisk_get_grub_dev): Likewise.
25286 (make_device_name): Fixed a typo in bsd_part_str.
25287 * configure.ac: check for opendisk() and getrawpartition() on
25288 NetBSD and set LIBUTIL.
25289 * Makefile.in: add LIBUTIL to LIBS.
25290
25291 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25292
25293 Documentation fix.
25294
25295 * util/grub-script-check.c: Better help message.
25296
25297 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
25298
25299 Fix FreeBSD build.
25300
25301 * configure.ac: Flex version check.
25302 * conf/common.rmk: Add -Wno-error to sh.mod.
25303 * script/yylex.l: Remove all #pragma.
25304
25305 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25306
25307 * include/grub/util/misc.h (canonicalise_file_name): Add missing
25308 prototype.
25309 Reported by: Seth Goldberg.
25310
25311 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25312
25313 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
25314 Rename "module" to "module2".
25315 Reported by: Seth Goldberg.
25316
25317 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25318
25319 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
25320 EXPORT_FUNC.
25321 Reported by: Seth Goldberg.
25322
25323 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 * lib/posix_wrap/locale.h: Add missing file.
25326 Reported by: Seth Goldberg.
25327
25328 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 grub-emu module load support.
25331
25332 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25333 NO_DYNAMIC_MODULES switched to this.
25334 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25335 (CFLAGS): Likewise.
25336 * conf/any-emu.rmk: Generate symlist.
25337 (kernel_img_HEADERS): Add util/datetime.h.
25338 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25339 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25340 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25341 kern/$(target_cpu)/cache.S.
25342 * configure.ac (grub-emu-modules): New option.
25343 * genmk.rb: Handle multiple source lists.
25344 * include/grub/sdl.h: New file.
25345 * include/grub/libusb.h: Likewise.
25346 * util/grub-emu.c (main): Hanle (host) root.
25347 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25348 GRUB_ERR_UNKNOWN_DEVICE.
25349 * util/misc.c: Move mm functions to ...
25350 * util/mm.c: ... here. All users updated.
25351
25352 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25353
25354 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25355 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25356 missing files.
25357 (maintainer-clean): Remove libgcrypt-grub.
25358
25359 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25362
25363 2010-04-09 EFI Coder <eficoder@hotmail.com>
25364
25365 * normal/menu_text.c (print_message): Clean up the message and show
25366 the Fn information when on EFI
25367 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25368
25369 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25370
25371 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25372 All users updated.
25373 * normal/crypto.c (read_crypto_list): Likewise.
25374 * normal/dyncmd.c (read_command_list): Likewise.
25375 * normal/term.c (read_terminal_list): Likewise.
25376 * normal/main.c (read_lists): Use explicit prefix.
25377 (read_lists_hook): Use read_lists.
25378 (grub_normal_execute): Likewise.
25379
25380 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25383 Reported by: Thomas Schmitt.
25384 Add -no-emul-boot to grub-mkisofs parameters.
25385
25386 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25387
25388 * font/font.c: Indented.
25389
25390 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25391
25392 Elif support to GRUB script (by Deepak Vankadaru).
25393
25394 * tests/grub_script_if.in: New testcase.
25395 * conf/tests.rmk: Rule for new testcase.
25396 * script/parser.y: Grammar rules for elif.
25397
25398 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25399
25400 While and until loops support to GRUB script.
25401
25402 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25403 (grub_script_create_cmdwhile): New function prototype.
25404 (grub_script_execute_cmdwhile): New function prototype.
25405 * script/execute.c (grub_script_execute_cmdwhile): New function.
25406 * script/parser.y (command): New commands.
25407 (whilecmd): New grammar rule.
25408 (untilcmd): New grammar rule.
25409 * script/script.c (grub_script_create_cmdwhile): New function.
25410 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25411 function.
25412
25413 * tests/grub_script_while1.in: New testcase.
25414 * conf/tests.rmk: Rule for new testcase.
25415
25416 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25417
25418 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25419 as *.jpg.
25420
25421 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
25422
25423 GRUB_BACKGROUND support.
25424
25425 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25426 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25427
25428 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25429
25430 Load fonts and modules for gfxmenu in grub-mkconfig.
25431 Idea by: Mario Vazquez
25432
25433 * util/grub.d/00_header.in: Load pf2 and image modules.
25434
25435 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 grub-mkconfig multiple terminal support.
25438
25439 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25440 * util/grub.d/00_header.in: Likewise.
25441
25442 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25445 we use cd $(srcdir).
25446
25447 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
25448
25449 * util/grub.d/10_linux.in: Only use the first word of
25450 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25451 spaces in GRUB_DISTRIBUTOR.
25452 * util/grub.d/10_kfreebsd.in: Likewise.
25453 * util/grub.d/10_hurd.in: Likewise.
25454
25455 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25456
25457 Fix unit testing framework for Qemu 0.12.
25458
25459 * tests/util/grub-shell.in: Remove -serial stdio option.
25460
25461 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 POSIX header file wrappers.
25464
25465 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25466 equivalents.
25467 * lib/posix_wrap/ctype.h: Likewise.
25468 * lib/posix_wrap/errno.h: Likewise.
25469 * lib/posix_wrap/langinfo.h: Likewise.
25470 * lib/posix_wrap/limits.h: Likewise.
25471 * lib/posix_wrap/localcharset.h: Likewise.
25472 * lib/posix_wrap/stdint.h: Likewise.
25473 * lib/posix_wrap/stdio.h: Likewise.
25474 * lib/posix_wrap/stdlib.h: Likewise.
25475 * lib/posix_wrap/string.h: Likewise.
25476 * lib/posix_wrap/sys/types.h: Likewise.
25477 * lib/posix_wrap/unistd.h: Likewise.
25478 * lib/posix_wrap/wchar.h: Likewise.
25479 * lib/posix_wrap/wctype.h: Likewise.
25480 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25481 (grub_script.yy.h): Likewise.
25482 * script/yylex.l: Remove POSIX emulation #defines.
25483 * Makefile.in (POSIX_CFLAGS): New variable.
25484 (GNULIB_UTIL_CFLAGS): Likewise.
25485
25486 Regexp support.
25487
25488 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25489 (regexp_mod_SOURCES): New variable.
25490 (regexp_mod_CFLAGS): Likewise.
25491 (regexp_mod_LDFLAGS): Likewise.
25492 * commands/regexp.c: New file.
25493 * gnulib/regcomp.c: New file. Imported from gnulib.
25494 * gnulib/regex.c: Likewise.
25495 * gnulib/regex_internal.c: Likewise.
25496 * gnulib/regex_internal.h: Likewise.
25497 * gnulib/regexec.c: Likewise.
25498 * gnulib/regex.h: Likewise.
25499
25500 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25503 unsupported video mode types.
25504
25505 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25506
25507 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25508
25509 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25512 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25513
25514 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25515
25516 Remove unused grub_vga_get_font.
25517
25518 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25519 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25520
25521 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25522
25523 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25524 * include/grub/misc.h: Likewise.
25525
25526 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25527
25528 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25529 for which failure is fatal.
25530
25531 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25532
25533 * util/grub-install.in: Use mkdir -p to create grub directory.
25534 * util/i386/efi/grub-install.in: Likewise.
25535 * util/ieee1275/grub-install.in: Likewise.
25536
25537 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25538
25539 * Makefile.in (LEX): new variable.
25540
25541 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25542
25543 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25544 `=' and added double quotes on operands of this equality test.
25545
25546 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25547
25548 * Makefile.in (uninstall): Remove a leftover debug echo.
25549 Reported by: Grégoire Sutre
25550
25551 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25552
25553 MIPS multiboot2 support.
25554
25555 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25556 (multiboot2_mod_SOURCES): New variable.
25557 (multiboot2_mod_CFLAGS): Likewise.
25558 (multiboot2_mod_LDFLAGS): Likewise.
25559 (multiboot2_mod_ASFLAGS): Likewise.
25560 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25561 definition.
25562 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25563 (MULTIBOOT_MBI_REGISTER): Likewise.
25564 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25565 (MULTIBOOT_ELF32_MACHINE): Likewise.
25566 (MULTIBOOT_ELF64_MACHINE): Likewise.
25567 * include/grub/mips/multiboot.h: New file.
25568 * include/grub/video.h (grub_video_driver_id): New type
25569 GRUB_VIDEO_DRIVER_SM712.
25570 (grub_video_get_info_and_fini): Export.
25571 (grub_video_get_palette): Likewise.
25572 (grub_video_get_driver_id): Likewise.
25573 * include/multiboot2.h: Resynced with spec.
25574 * loader/i386/multiboot.c: Moved from here ...
25575 * loader/multiboot.c: ... here. All users updated.
25576 (grub_multiboot_boot): Use platform-specific macros.
25577 * loader/i386/multiboot_elfxx.c: Moved from here ...
25578 * loader/multiboot_elfxx.c: ... here. All users updated.
25579 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25580 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25581 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25582
25583 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25584
25585 Import gnulib argp module.
25586
25587 * gnulib/argp-ba.c: New file.
25588 * gnulib/argp-eexst.c: Likewise.
25589 * gnulib/argp-fmtstream.c: Likewise.
25590 * gnulib/argp-fmtstream.h: Likewise.
25591 * gnulib/argp-fs-xinl.c: Likewise.
25592 * gnulib/argp-help.c: Likewise.
25593 * gnulib/argp-namefrob.h: Likewise.
25594 * gnulib/argp-parse.c: Likewise.
25595 * gnulib/argp-pin.c: Likewise.
25596 * gnulib/argp-pv.c: Likewise.
25597 * gnulib/argp-pvh.c: Likewise.
25598 * gnulib/argp-version-etc.c: Likewise.
25599 * gnulib/argp-version-etc.h: Likewise.
25600 * gnulib/argp-xinl.c: Likewise.
25601 * gnulib/argp.h: Likewise.
25602
25603 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25604
25605 * kern/device.c (grub_device_iterate): Clear errors after failed
25606 opening device.
25607
25608 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25609
25610 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25611 returned by firmware.
25612
25613 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25616 compilation on coreboot and qemu
25617
25618 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25619
25620 * include/multiboot2.h: Resync with spec.
25621
25622 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25623
25624 Multiboot2 tag support
25625
25626 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25627 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25628 Remove loader/multiboot_loader.c.
25629 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25630 (grub_multiboot2_real_boot): Likewise.
25631 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25632 (grub_get_multiboot_mmap_count): New proto.
25633 (grub_fill_multiboot_mmap): Likewise.
25634 (grub_multiboot_set_video_mode): Likewise.
25635 (grub_multiboot_set_console): Likewise.
25636 (grub_multiboot_load): Likewise.
25637 (grub_multiboot_load_elf): Likewise.
25638 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25639 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25640 * include/multiboot.h: Resynced with specification.
25641 * include/multiboot2.h: Resynced with specification.
25642 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25643 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25644 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25645 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25646 users updated.
25647 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25648 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25649 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25650 Removed.
25651 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25652 Moved from here...
25653 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25654 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25655 Moved from here...
25656 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25657 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25658 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25659 All users updated.
25660 * loader/i386/multiboot_mbi2.c: New file.
25661
25662 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25663
25664 Resync with gnulib.
25665
25666 * Makefile.in (GNULIB_CFLAGS): New variable.
25667 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25668 (grub_script_check_CFLAGS): New variable.
25669 * gnulib/alloca.h: Resync with gnulib.
25670 * gnulib/error.c: Likewise.
25671 * gnulib/error.h: Likewise.
25672 * gnulib/fnmatch.c: Likewise.
25673 * gnulib/fnmatch_loop.c: Likewise.
25674 * gnulib/getdelim.c: Likewise.
25675 * gnulib/getline.c: Likewise.
25676 * gnulib/getopt.c: Likewise.
25677 * gnulib/getopt1.c: Likewise.
25678 * gnulib/getopt_int.h: Likewise.
25679 * gnulib/gettext.h: Likewise.
25680 * gnulib/progname.c: Likewise.
25681 * gnulib/progname.h: Likewise.
25682
25683 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25684
25685 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25686 which is the case with --disabled-nls.
25687
25688 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25689 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25690 * util/misc.c: Likewise.
25691 * util/mkisofs/mkisofs.c: Likewise.
25692 * util/mkisofs/mkisofs.h: Likewise.
25693
25694 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25695
25696 Simplify Apple CC support.
25697
25698 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25699 Add 0 byte at the end not to have a symbol with empty target.
25700 * mmap/i386/pc/mmap_helper.S: Likewise.
25701 * genmk.rb: Ignore errors 2030 and 2050.
25702 * kern/i386/pc/startup.S: Use LOCAL when possible.
25703
25704 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25705
25706 Testcase and the fix for final semicolon on cmdline.
25707
25708 * tests/grub_script_final_semicolon.in: New testcase.
25709 * conf/tests.rmk: Rules for the new testcase.
25710 * script/parser.y: Grammar fix.
25711
25712 2010-03-26 BVK Chaitanya <bvk@localhost>
25713
25714 Blank lines testcase for GRUB script.
25715
25716 * tests/grub_script_blanklines.in: New testcase.
25717 * conf/tests.rmk: Rules for the new testcase.
25718
25719 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 Don't use __FILE__.
25722
25723 * genmk.rb: Add -DGRUB_FILE to all C targets.
25724 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25725 * include/grub/list.h: Likewise.
25726 * include/grub/misc.h: Likewise.
25727 * include/grub/mm.h: Likewise.
25728 * include/grub/test.h: Likewise.
25729 * kern/mm.c: Likewise.
25730 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25731
25732 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25733
25734 Sunpc partitions support.
25735
25736 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25737 (grub_fstest_SOURCES): Likewise.
25738 (pkglib_MODULES): Add part_sunpc.mod.
25739 (part_sunpc_mod_SOURCES): New variable.
25740 (part_sunpc_mod_CFLAGS): Likewise.
25741 (part_sunpc_mod_LDFLAGS): Likewise.
25742 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25743 * partmap/sunpc.c: New file.
25744
25745 2010-03-26 BVK Chaitanya <bvk@localhost>
25746
25747 For loop support to GRUB script.
25748
25749 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25750 (grub_script_create_cmdfor): New function prototype.
25751 (grub_script_execute_cmdfor): New function prototype.
25752 * script/execute.c (grub_script_execute_cmdfor): New function.
25753 * script/parser.y (command): New for command.
25754 (forcmd): New grammar rule.
25755 * script/script.c (grub_script_create_cmdfor): New function.
25756 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25757 function.
25758 * tests/grub_script_for1.in: New testcase.
25759 * conf/tests.rmk: Rules for new testcase.
25760
25761 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25762
25763 Nested partitions
25764
25765 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25766 'partition' is NULL, grub_partition_get_start already does that.
25767 * commands/loadenv.c (check_blocklists): Likewise.
25768 (write_blocklists): Likewise.
25769 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25770 (grub_fstest_SOURCES): Likewise.
25771 (pkglib_MODULES): Add part_bsd.mod.
25772 (part_bsd_mod_SOURCES): New variable.
25773 (part_bsd_mod_CFLAGS): Likewise.
25774 (part_bsd_mod_LDFLAGS): Likewise.
25775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25776 (grub_emu_SOURCES): Likewise.
25777 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25778 * include/grub/bsdlabel.h: New file.
25779 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25780 'get_name'.
25781 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25782 (grub_partition_map_list): New variable.
25783 (grub_partition_map_register): Inline.
25784 (grub_partition_map_unregister): Likewise.
25785 (FOR_PARTITION_MAPS): New macro.
25786 (grub_partition_map_iterate): Removed.
25787 (grub_partition_get_start): Handle nested partitions.
25788 * include/grub/msdos_partition.h: Remove bsd-related entries.
25789 (grub_pc_partition): Remove.
25790 * kern/disk.c (grub_disk_close): Free partition data.
25791 (grub_disk_adjust_range): Handle nested partitions.
25792 * kern/partition.c (grub_partition_map_probe): New function.
25793 (grub_partition_probe): Parse name to number, handle subpartitions.
25794 (get_partmap): New function.
25795 (grub_partition_iterate): Handle subpartitions.
25796 (grub_partition_get_name): Likewise.
25797 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25798 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25799 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25800 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25801 Set 'number'.
25802 (acorn_partition_map_probe): Remove.
25803 (acorn_partition_map_get_name): Likewise.
25804 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25805 Set 'number'.
25806 Set 'index' to 0 since there can be only one partition entry per sector.
25807 (amiga_partition_map_probe): Remove.
25808 (amiga_partition_map_get_name): Likewise.
25809 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25810 Set 'number'.
25811 Set 'offset' and 'index' to real positions of partitions.
25812 (apple_partition_map_probe): Remove.
25813 (apple_partition_map_get_name): Likewise.
25814 * partmap/bsdlabel.c: New file.
25815 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25816 Set 'number'.
25817 Allocate 'data' so it can be correctly freed.
25818 Set 'index' to offset inside sector.
25819 (gpt_partition_map_probe): Remove.
25820 (gpt_partition_map_get_name): Likewise.
25821 * partmap/msdos.c (grub_partition_parse): Remove.
25822 (pc_partition_map_iterate): Don't force raw access.
25823 Set 'number'.
25824 Make 'ext_offset' a local variable.
25825 (pc_partition_map_probe): Remove.
25826 (pc_partition_map_get_name): Remove.
25827 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25828 Set 'number'.
25829 (sun_partition_map_probe): Remove.
25830 (sun_partition_map_get_name): Likewise.
25831 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25832 (grub_pcpart_type): Likewise.
25833 * util/hostdisk.c (open_device): Handle new numbering scheme.
25834 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25835 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25836 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25837 * util/grub-install.in: Insert all subpartition modules.
25838 * util/ieee1275/grub-install.in: Likewise.
25839
25840 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25841
25842 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25843 grammar.
25844
25845 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
25846
25847 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25848
25849 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
25850
25851 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25852 match where 'make install' puts them.
25853 * util/i386/efi/grub-install.in: Likewise.
25854
25855 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
25856
25857 * .bzrignore: Add gentrigtables, grub-script-check,
25858 grub_script_check_init.c, grub_script_check_init.h, and
25859 trigtables.c.
25860
25861 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 * kern/parser.c: Indented.
25864
25865 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25866
25867 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25868
25869 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25872 alpha_mask_size == 0 case.
25873
25874 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25875
25876 GRUB shell lexer and parser improvements.
25877
25878 * conf/any-emu.rmk: Build rule updates.
25879 * conf/common.rmk: Likewise.
25880 * conf/i386-coreboot.rmk: Likewise.
25881 * conf/i386-efi.rmk: Likewise.
25882 * conf/i386-ieee1275.rmk: Likewise.
25883 * conf/i386-pc.rmk: Likewise.
25884 * conf/powerpc-ieee1275.rmk: Likewise.
25885 * conf/x86_64-efi.rmk: Likewise.
25886
25887 * configure.ac: Configure check for flex.
25888
25889 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25890 types.
25891 (grub_lexer_param): Struct member updates.
25892 (grub_parser_param): Likewise.
25893 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25894 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25895 (grub_script_lexer_init): Prototype update.
25896 (grub_script_lexer_record_start): Likewise.
25897 (grub_script_lexer_record_stop): Likewise.
25898 (grub_script_lexer_yywrap): New function prototype.
25899 (grub_script_lexer_fini): Likewise.
25900 (grub_script_execute_argument_to_string): Removed by...
25901 (grub_script_execute_argument_to_argv): ...better version.
25902
25903 * script/execute.c (ROUND_UPTO): New macro.
25904 (grub_script_execute_cmdline): Out of memory fixes.
25905 (grub_script_execute_menuentry): Likewise.
25906 (grub_script_execute_argument_to_string): Removed. Update all
25907 users by...
25908 (grub_script_execute_argument_to_argv): ...better version.
25909 * script/function.c (grub_script_function_create): Use
25910 grub_script_execute_argument_to_argv instead of
25911 grub_script_execute_argument_to_string.
25912
25913 * script/lexer.c (check_varstate): Removed.
25914 (check_textstate): Removed.
25915 (grub_script_lexer_record_start): Likewise.
25916 (grub_script_lexer_record_stop): Likewise.
25917 (recordchar): Replaced with...
25918 (grub_script_lexer_record): ...new function.
25919 (nextchar): Removed.
25920 (grub_script_lexer_init): Rewritten.
25921 (grub_script_yylex): Rewritten.
25922 (append_newline): New function.
25923 (grub_script_lexer_yywrap): New function.
25924 (grub_script_lexer_fini): New function.
25925 (grub_script_yyerror): Sets error flag.
25926
25927 * script/yylex.l: New file.
25928 (grub_lexer_yyfree): Wrapper for flex yyffre.
25929 (grub_lexer_yyalloc): Likewise.
25930 (grub_lexer_yyrealloc): Likewise.
25931 * script/parser.y: Refactored.
25932
25933 * script/script.c (grub_script_arg_add): Out of memory fixes.
25934 (grub_script_add_arglist): Likewise.
25935 (grub_script_create_cmdline): Likewise.
25936 (grub_script_create_cmdmenu): Likewise.
25937 (grub_script_add_cmd): Likewise.
25938 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25939 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25940 unnecessary code.
25941
25942 * tests/grub_script_echo1.in: New testcase.
25943 * tests/grub_script_vars1.in: New testcase.
25944 * tests/grub_script_echo_keywords.in: New testcase.
25945
25946 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 Remove some redundancy in build system.
25949
25950 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25951 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25952 (TARGET_LDFLAGS): Add -nostdlib.
25953 (TARGET_IMG_LDFLAGS): Likewise.
25954 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25955 anything since mmap isn't available.
25956 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25957 Add util/time.c.
25958 (pkglib_MODULES): Remove reboot.mod.
25959 (reboot_mod_SOURCES): Removed.
25960 (reboot_mod_CFLAGS): Likewise.
25961 (reboot_mod_LDFLAGS): Likewise.
25962 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25963 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25964 (DEFSYMFILES): Add kernel_syms.lst.
25965 (kernel_img_HEADERS): Add common headers.
25966 (symlist.c): New target.
25967 (kernel_syms.lst): Likewise.
25968 (pkglib_MODULES): Add memdisk.mod.
25969 (memdisk_mod_SOURCES): New variable.
25970 (memdisk_mod_CFLAGS): Likewise.
25971 (memdisk_mod_LDFLAGS): Likewise.
25972 (pkglib_MODULES): Add reboot.mod.
25973 (reboot_mod_SOURCES): New variable.
25974 (reboot_mod_CFLAGS): Likewise.
25975 (reboot_mod_LDFLAGS): Likewise.
25976 (pkglib_MODULES): Add date.mod.
25977 (date_mod_SOURCES): New variable.
25978 (date_mod_CFLAGS): Likewise.
25979 (date_mod_LDFLAGS): Likewise.
25980 (pkglib_MODULES): Add datehook.mod.
25981 (datehook_mod_SOURCES): New variable.
25982 (datehook_mod_CFLAGS): Likewise.
25983 (datehook_mod_LDFLAGS): Likewise.
25984 (pkglib_MODULES): Add lsmmap.mod.
25985 (lsmmap_mod_SOURCES): New variable.
25986 (lsmmap_mod_CFLAGS): Likewise.
25987 (lsmmap_mod_LDFLAGS): Likewise.
25988 (pkglib_MODULES): Add boot.mod.
25989 (boot_mod_SOURCES): New variable.
25990 (boot_mod_CFLAGS): Likewise.
25991 (boot_mod_LDFLAGS): Likewise.
25992 * conf/i386-coreboot.rmk: Removed redundant parts.
25993 * conf/i386-ieee1275.rmk: Likewise.
25994 * conf/i386-pc.rmk: Likewise.
25995 * conf/mips-yeeloong.rmk: Likewise.
25996 * conf/mips.rmk: Likewise.
25997 * conf/powerpc-ieee1275.rmk: Likewise.
25998 * conf/sparc64-ieee1275.rmk: Likewise.
25999 * conf/x86_64-efi.rmk: Likewise.
26000 * conf/i386-coreboot.rmk: Moved qemu parts ..
26001 * conf/i386-qemu.rmk: ... here
26002 * conf/i386-efi.rmk: Moved common parts to...
26003 * conf/x86-efi.rmk: ... here.
26004 * conf/i386.rmk: Added modules common to all x86 variants.
26005 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
26006 * disk/memdisk.c: Remove grub/machine/kernel.h.
26007 * gensymlist.sh.in: Include symbol.h.
26008 * hook/datehook.c: Correct module name.
26009 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
26010 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
26011 * include/grub/i386/efi/serial.h: New file.
26012 * include/grub/x86_64/efi/serial.h: Likewise.
26013 * util/time.c: Likewise.
26014 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
26015
26016 2010-03-14 Colin King <colin.king@ubuntu.com>
26017 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
26018
26019 Shrink the pre-partition-table part of boot.img by eight bytes.
26020
26021 * boot/i386/pc/boot.S (ERR): New macro.
26022 (chs_mode): Use ERR.
26023 (geometry_error): Likewise.
26024 (hd_probe_error): Remove. This is only used once, so we wrwite
26025 it inline instead.
26026 (read_error): Instead of printing read_error_string, just set up
26027 %si and fall through to ...
26028 (error_message): ... this new function, also used by ERR.
26029
26030 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
26031
26032 Speed up consecutive hostdisk operations on the same device.
26033
26034 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
26035 (grub_util_biosdisk_open): Initialise disk->data.
26036 (struct linux_partition_cache): New structure.
26037 (linux_find_partition): Cache partition start positions; these are
26038 expensive to compute on every read and write.
26039 (open_device): Cache open file descriptor in disk->data, so that we
26040 don't have to reopen it and flush the buffer cache for consecutive
26041 operations on the same device.
26042 (grub_util_biosdisk_close): New function.
26043 (grub_util_biosdisk_dev): Set `close' member.
26044
26045 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
26046 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
26047 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26048 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26049 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
26050
26051 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26052
26053 Compile parts of grub-emu as modules.
26054
26055 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
26056 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
26057 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
26058 (all-local): Add $(GRUB_EMU).
26059 (install-local): Install $(GRUB_EMU).
26060 (uninstall): Uninstall $(GRUB_EMU).
26061 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
26062 * kern/dl.c: Likewise.
26063 * commands/sleep.c: Not include machine/time.h.
26064 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
26065 (COMMON_CFLAGS): Likewise.
26066 (sbin_UTILITIES): Remove grub-emu.
26067 (grub_emu_SOURCES): Removed.
26068 (kernel_img_RELOCATABLE): New variable.
26069 (pkglib_PROGRAMS): Add kernel.img.
26070 (kernel_img_SOURCES): New variable
26071 (kernel_img_CFLAGS): Likewise.
26072 (kernel_img_LDFLAGS): Likewise.
26073 (TARGET_NO_STRIP): Likewise.
26074 (TARGET_NO_DYNAMIC_MODULES): Likewise.
26075 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
26076 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
26077 (grub-emu): New target.
26078 (GRUB_EMU): New variable.
26079 * configure.ac: Whitelist -emu as possible x86_64 architecture.
26080 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
26081 * loader/xnu.c: Likewise.
26082 * include/grub/pci.h: Likewise.
26083 * genemuinit.sh: New file.
26084 * genemuinitheader.sh: Likewise.
26085 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
26086 Support TARGET_NO_DYNAMIC_MODULES.
26087 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
26088 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
26089 * disk/loopback.c: Likewise.
26090 * font/font_cmd.c: Likewise.
26091 * partmap/acorn.c: Likewise.
26092 * partmap/amiga.c: Likewise.
26093 * partmap/apple.c: Likewise.
26094 * partmap/gpt.c: Likewise.
26095 * partmap/msdos.c: Likewise.
26096 * partmap/sun.c: Likewise.
26097 * parttool/msdospart.c: Likewise.
26098 * term/gfxterm.c: Likewise.
26099 * video/bitmap.c: Likewise.
26100 * video/readers/jpeg.c: Likewise.
26101 * video/readers/png.c: Likewise.
26102 * video/readers/tga.c: Likewise.
26103 * video/video.c: Likewise.
26104 * util/grub-emu.c (read_command_list): Removed.
26105 (main): Don't call util_init_nls.
26106 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
26107 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
26108
26109 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26110
26111 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
26112 date.mod, datehook.mod.
26113 (datetime_mod_SOURCES): New variable.
26114 (datetime_mod_CFLAGS): Likewise.
26115 (datetime_mod_LDFLAGS): Likewise.
26116 (date_mod_SOURCES): Likewise.
26117 (date_mod_CFLAGS): Likewise.
26118 (date_mod_LDFLAGS): Likewise.
26119 (datehook_mod_SOURCES): Likewise.
26120 (datehook_mod_CFLAGS): Likewise.
26121 (datehook_mod_LDFLAGS): Likewise.
26122 * conf/sparc64-ieee1275.rmk: Likewise.
26123 * lib/ieee1275/datetime.c: New file.
26124
26125 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
26128 (ieee1275_fb_mod_SOURCES): New variable.
26129 (ieee1275_fb_mod_CFLAGS): Likewise.
26130 (ieee1275_fb_mod_LDFLAGS): Likewise.
26131 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
26132 New proto.
26133 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
26134 (HEAP_MAX_ADDR): Likewise.
26135 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
26136 type.
26137 Correct stop condition.
26138 (grub_ieee1275_devices_iterate): New function.
26139 * video/ieee1275.c: New file.
26140
26141 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
26142
26143 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
26144
26145 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
26146 as scratch.
26147 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
26148 SCRATCH_PAD_DISKBOOT as scratch.
26149 (bootit): Pass Openfirmware pointer in %o4.
26150 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
26151 of 0x200000.
26152 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
26153 with util/grub-mkrawimage.c.
26154 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
26155 * include/grub/aout.h (AOUT_MID_SUN): New definition.
26156 (grub_aout_get_type) [GRUB_UTIL]: Removed.
26157 (grub_aout_load) [GRUB_UTIL]: Likewise.
26158 * include/grub/kernel.h (grub_modules_get_end): New proto.
26159 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
26160 (SCRATCH_PAD_BOOT): New definition.
26161 (SCRATCH_PAD_DISKBOOT): Likewise.
26162 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
26163 * include/grub/sparc64/ieee1275/ieee1275.h
26164 (grub_ieee1275_original_stack): New variable
26165 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26166 New definition
26167 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
26168 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
26169 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
26170 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
26171 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
26172 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
26173 (grub_platform_image_format_t): New type.
26174 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
26175 * kern/main.c (grub_modules_get_end)
26176 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
26177 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
26178 (codestart): Switch stacks.
26179 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
26180 variable.
26181 (grub_heap_init): Use grub_modules_get_end.
26182 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
26183 stack.
26184 * util/grub-mkrawimage.c (generate_image): Support sparc64.
26185 (main): Likewise.
26186 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
26187
26188 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
26189
26190 * util/grub-mkrescue.in: Base ISO UUID on UTC.
26191
26192 2010-03-08 Matt Kraai <kraai@ftbfs.org>
26193
26194 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
26195 bug #559005).
26196
26197 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 * genmoddep.awk: Output all missing symbols and not only first.
26200
26201 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * NEWS: Put the date of 1.98 release.
26204
26205 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26206
26207 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
26208 ft2build.h.
26209
26210 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
26213 completition in the middle of string.
26214
26215 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26216
26217 * util/grub-mkrescue.in: Use mktemp with explicit template.
26218
26219 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26220
26221 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
26222
26223 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
26226 right pointer.
26227
26228 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26229
26230 Fix FreeBSD compilation.
26231
26232 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
26233 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
26234
26235 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26236
26237 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
26238
26239 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26240
26241 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
26242
26243 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26244
26245 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
26246
26247 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
26248
26249 Support relative image path in theme file.
26250
26251 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
26252 (image_set_property): Handle theme_dir and relative path.
26253
26254 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 * configure.ac: Alias amd64 to x86_64.
26257
26258 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 * NEWS: mention multiboot on EFI.
26261
26262 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * kern/main.c (grub_load_modules): Handle errors from init functions of
26265 embeded modules.
26266
26267 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 * normal/autofs.c (autoload_fs_module): Handle errors.
26270
26271 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26272
26273 Disable linux.mod on qemu-mips since it's not functional and leads
26274 to compilation failure.
26275
26276 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
26277 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
26278 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
26279 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
26280 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
26281 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
26282 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
26283 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
26284 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
26285 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
26286 Reported by: BVK Chaitanya
26287
26288 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
26289
26290 * INSTALL: Add gettext as a dependency and add qemu to a new section
26291 "Prerequisites for make-check".
26292
26293 2010-03-04 Christian Franke <franke@computer.org>
26294
26295 * util/grub-pe2elf.c: Add missing include "progname.h".
26296
26297 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26298
26299 * normal/crypto.c (read_crypto_list): Fix a typo.
26300 Reported by: Seth Goldberg.
26301
26302 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
26305 Reported by: Seth Goldberg.
26306
26307 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26308
26309 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
26310 ascii.bitmaps.
26311
26312 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26313
26314 * genmk.rb: Remove terminal*.lst in make clean.
26315 Reported by: Seth Goldberg.
26316
26317 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
26318
26319 * util/i386/efi/grub-install.in: Copy gettext files.
26320
26321 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
26324
26325 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26326
26327 Wait for user entry basing on presence of output rather than on errors.
26328
26329 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
26330 (grub_install_newline_hook): Likewise.
26331 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26332 * normal/menu.c (show_menu): Check line_counter to determine presence
26333 of output.
26334 * normal/term.c (grub_normal_line_counter): New variable.
26335 (grub_normal_get_line_counter): New function.
26336 (grub_install_newline_hook): Likewise.
26337
26338 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26341
26342 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * configure.ac: Update version to 1.98.
26345
26346 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26347
26348 * util/grub.d/10_linux.in (linux_entry): Don't default to
26349 gfxpayload=keep if Linux doesn't support video handover.
26350
26351 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26352
26353 Don't compile video modules on yeeloong since video subsystem is part
26354 of kernel.
26355
26356 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26357 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26358 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26359 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26360 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26361 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26362 * include/grub/bitmap_scale.h: Likewise.
26363 * include/grub/bufio.h: Likewise.
26364 * include/grub/font.h: Likewise.
26365 * include/grub/gfxterm.h: Likewise.
26366 * include/grub/video.h: Likewise.
26367 * include/grub/vbe.h: Don't include video_fb.h.
26368 * video/i386/pc/vbe.c: Include video_fb.h.
26369 * commands/i386/pc/vbetest.c: Include video.h.
26370
26371 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26372
26373 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26374 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26375 default entry if GRUB_SAVEDEFAULT=true. This allows using
26376 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26377 saving a new default on every boot.
26378
26379 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26382 * normal/term.c (read_terminal_list): Likewise.
26383 * normal/main.c (grub_normal_init_page): Likewise.
26384 (grub_normal_read_line_real): Likewise.
26385
26386 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26387
26388 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26389 memory leak.
26390 Reported by: Seth Goldberg.
26391
26392 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26393
26394 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26395 duplicate declaration of `start'.
26396
26397 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26398
26399 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26400 filename.
26401 Reported by: Georgy Buranov
26402
26403 2010-02-20 Carles Pina i Estany <carles@pina.cat>
26404
26405 * util/grub-mkrawimage.c (usage): Change string formatting to
26406 improve gettext.
26407
26408 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26409
26410 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26411 backspace keys.
26412
26413 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26416 Reported by: Michael Suchanek.
26417
26418 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
26419
26420 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26421 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26422
26423 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 Remove any reference to non-free fonts.
26426
26427 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26428 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26429 uses non-free components.
26430 * font/font.c (grub_font_get_name): Remove example name.
26431 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26432 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26433 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26434 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26435
26436 2010-02-16 Georgy Buranov <gburanov@gmail.com>
26437
26438 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26439
26440 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26441
26442 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26443 Double divisor.
26444 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26445 features.
26446 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26447
26448 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26449
26450 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26451
26452 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26453
26454 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26455 * docs/grub.texi (Command-line and menu entry commands): Document play
26456 command.
26457
26458 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26459
26460 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26461 parse arguments as inline tempo and notes. Move code for playing notes
26462 to...
26463 (play): ... new function.
26464
26465 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26466
26467 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26468 grub_uint16_t instead of short.
26469 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26470 disk from little endian to cpu endianness.
26471
26472 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26473
26474 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26475 GRUB_TICKS_PER_SECOND instead of 120.
26476
26477 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26478
26479 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26480 escape sequence after \e.
26481
26482 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26483
26484 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26485 non-ASCII characters.
26486
26487 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26488
26489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26490 set root in single quotes to prevent \, from being unescaped.
26491
26492 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26493
26494 Prevent unknown commands from stopping menuentry execution.
26495
26496 * script/execute.c (grub_script_execute_cmdline): Print error after
26497 unknown command.
26498
26499 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26500
26501 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26502 Reported by: Pavel Pisa.
26503
26504 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26507
26508 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 Merge grub_ieee1275_map_physical into grub_map and rename to
26511 grub_ieee1275_map
26512
26513 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26514 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26515 Remove.
26516 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26517 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26518 necessary.
26519 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26520
26521 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26522
26523 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26524 opening and not after.
26525
26526 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26527
26528 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26529 constants.
26530
26531 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26532
26533 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26534 (alloc_phys): Use ALIGN_UP instead of align_addr.
26535
26536 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26537
26538 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26539
26540 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26541
26542 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26543
26544 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26545
26546 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26547 verbose dprintf.
26548
26549 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 Fix over-4GiB seek on sparc64.
26552
26553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26554 Replace pos_i and pos_lo with pos. All users updated.
26555 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26556 New constant.
26557 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26558 Likewise.
26559 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26560 and pos_lo.
26561
26562 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26563
26564 * util/grub-mkrawimage.c (main): Call set_program_name.
26565
26566 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26567
26568 Properly align 64-bit targets.
26569
26570 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26571 (generate_image): Use ALIGN_ADDR.
26572
26573 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 Properly create cross-endian images.
26576
26577 * include/grub/types.h (grub_host_to_target_addr): New macro
26578 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26579
26580 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26581
26582 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26583
26584 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26587
26588 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26589 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26590 (grub_linux_boot): Divide by 64K when on VESA.
26591
26592 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26593
26594 Support GRUB_GFXPAYLOAD_LINUX.
26595
26596 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26597 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26598
26599 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26600
26601 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26602 to show messages instead of discarding them.
26603 Process errors after executing command and not before. Keep old method
26604 too as precaution.
26605
26606 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * configure.ac: Check for ft2build.h.
26609
26610 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26611
26612 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26613
26614 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26615
26616 * genkernsyms.sh.in: Use TARGET_CC.
26617
26618 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
26619
26620 * NEWS: Update.
26621
26622 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26623
26624 * include/grub/multiboot2.h: Remove leftover file.
26625 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26626 * include/grub/partition.h [GRUB_UTIL]: Likewise.
26627
26628 2010-02-07 Yves Blusseau <blusseau@zetam.org>
26629
26630 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
26631
26632 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26633
26634 Fix warnings in grub-emu when compiling with maximum warning options.
26635
26636 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26637 (grub_arch_modules_addr): Return 0 and not NULL.
26638 * util/misc.c (ENABLE_RELOCATABLE): New definition.
26639 (xstrdup): Use newstr instead of dup.
26640 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26641 of disk to dsk to avoid shadowing.
26642 (find_free_slot): Fix prototype.
26643 * util/getroot.c (grub_util_is_dmraid): Make static.
26644 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26645 Add missing prototype.
26646 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
26647
26648 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26649
26650 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26651 appropriately.
26652
26653 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26654
26655 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26656 code out.
26657
26658 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26659
26660 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26661 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26662 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26663 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26664 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26665 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26666
26667 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 * include/grub/err.h (grub_err_printf): Don't export.
26670
26671 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26672
26673 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26674
26675 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26676
26677 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26678 * kern/misc.c (grub_gettext_dummy): Make static.
26679
26680 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26681
26682 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26683 by non-valid ones.
26684 * kern/term.c (grub_putchar): Likewise.
26685
26686 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26689 buggy hook call and memory leak.
26690
26691 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26692
26693 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26694
26695 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26696
26697 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26698
26699 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26700
26701 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26702 modevar.
26703 Return grub_errno on allocation error.
26704
26705 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26708
26709 2010-02-06 Yves Blusseau <blusseau@zetam.org>
26710
26711 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26712 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26713
26714 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26715
26716 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26717 non-pxe disk.
26718 (grub_pxefs_open): Likewise.
26719
26720 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26721
26722 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26723 * util/grub.d/10_kfreebsd.in: Likewise.
26724 * util/grub.d/10_linux.in: Likewise.
26725
26726 2010-02-06 Colin D Bennett <colin@gibibit.com>
26727
26728 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26729 (gfxmenu_mod_SOURCES): New variable.
26730 (gfxmenu_mod_CFLAGS): Likewise.
26731 (gfxmenu_mod_LDFLAGS): Likewise.
26732 * include/grub/term.h (grub_term_set_current_output): Declare
26733 argument as const.
26734 * docs/gfxmenu-theme-example.txt: New file.
26735 * gfxmenu/gfxmenu.c: Likewise.
26736 * gfxmenu/gui_box.c: Likewise.
26737 * gfxmenu/gui_canvas.c: Likewise.
26738 * gfxmenu/gui_circular_progress.c: Likewise.
26739 * gfxmenu/gui_image.c: Likewise.
26740 * gfxmenu/gui_label.c: Likewise.
26741 * gfxmenu/gui_list.c: Likewise.
26742 * gfxmenu/gui_progress_bar.c: Likewise.
26743 * gfxmenu/gui_string_util.c: Likewise.
26744 * gfxmenu/gui_util.c: Likewise.
26745 * gfxmenu/icon_manager.c: Likewise.
26746 * gfxmenu/model.c: Likewise.
26747 * gfxmenu/named_colors.c: Likewise.
26748 * gfxmenu/theme_loader.c: Likewise.
26749 * gfxmenu/view.c: Likewise.
26750 * gfxmenu/widget-box.c: Likewise.
26751 * include/grub/gfxmenu_model.h: Likewise.
26752 * include/grub/gfxmenu_view.h: Likewise.
26753 * include/grub/gfxwidgets.h: Likewise.
26754 * include/grub/gui.h: Likewise.
26755 * include/grub/gui_string_util.h: Likewise.
26756 * include/grub/icon_manager.h: Likewise.
26757
26758 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26759
26760 Agglomerate scrolling in gfxterm.
26761
26762 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26763 (grub_virtual_screen_setup): Initialise 'total_screen'.
26764 (write_char): Split to ...
26765 (paint_char): ... this ...
26766 (write_char): ... and this.
26767 (paint_char): Handle delayed scrolling.
26768 (draw_cursor): Likewise.
26769 (scroll_up): Split to ...
26770 (real_scroll): ... this ...
26771 (scroll_up): ... and this.
26772 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26773 characters.
26774 (grub_gfxterm_refresh): Call real_scroll.
26775
26776 2010-02-06 Colin D Bennett <colin@gibibit.com>
26777
26778 * include/grub/misc.h (grub_iscntrl): New inline function.
26779 (grub_isalnum): Likewise.
26780 (grub_strtol): Likewise.
26781
26782 2010-02-06 Colin D Bennett <colin@gibibit.com>
26783
26784 * normal/menu_text.c (get_entry_number): Move from here ...
26785 * normal/menu.c (get_entry_number): ... moved here.
26786 * include/grub/menu.h (grub_menu_get_default_entry_index):
26787 New prototype.
26788 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26789 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26790 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26791 (grub_menu_viewer_should_return): Likewise.
26792 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26793 * normal/menu_text.c (run_menu): Enable menu switching.
26794 * normal/menu_viewer.c (should_return): New variable.
26795 (menu_viewer_changed): Likewise.
26796 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26797 (grub_menu_viewer_should_return): New function.
26798 (menuviewer_write_hook): Likewise.
26799 (grub_menu_viewer_init): Likewise.
26800
26801 2010-02-06 Colin D Bennet <colin@gibibit.com>
26802 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26803
26804 Support for gfxterm in a window.
26805
26806 * include/grub/gfxterm.h: New file.
26807 * include/grub/video.h (struct grub_video_rect): New declaration.
26808 (grub_video_rect_t): Likewise.
26809 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26810 (refcount): New variable.
26811 (render_target): Likewise.
26812 (window): Likewise.
26813 (repaint_callback): Likewise.
26814 (grub_virtual_screen_setup): Use 'render_target'.
26815 (init_window): New function.
26816 (grub_gfxterm_init_window): Likewise.
26817 (grub_gfxterm_init): Check reference counter.
26818 Use init_window.
26819 (destroy_window): New function.
26820 (grub_gfxterm_destroy_window): Likewise.
26821 (grub_gfxterm_fini): Check reference counter.
26822 Use destroy_window.
26823 (redraw_screen_rect): Restore viewport.
26824 Use 'render_target' and 'window'.
26825 Call 'repaint_callback'.
26826 (write_char): Use 'render_target'.
26827 (draw_cursor): Likewise.
26828 (scroll_up): Restore viewport.
26829 Use 'render_target' and 'window'.
26830 Call 'repaint_callback'.
26831 (grub_gfxterm_cls): Likewise.
26832 (grub_gfxterm_refresh): Use 'window'.
26833 (grub_gfxterm_set_repaint_callback): New function.
26834 (grub_gfxterm_background_image_cmd): Use 'window'.
26835 (grub_gfxterm_get_term): New function.
26836 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26837
26838 2010-02-06 Colin D Bennett <colin@gibibit.com>
26839
26840 Bitmap scaling support.
26841
26842 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26843 (bitmap_scale_mod_SOURCES): New variable.
26844 (bitmap_scale_mod_CFLAGS): Likewise.
26845 (bitmap_scale_mod_LDFLAGS): Likewise.
26846 * include/grub/bitmap_scale.h: New file.
26847 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26848 (background_image_cmd_options): New variable.
26849 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26850 (cmd): Rename and change type to ...
26851 (background_image_cmd_handle): ... this. All users updated.
26852 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26853 * video/bitmap_scale.c: New file.
26854
26855 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26856
26857 SDL support.
26858
26859 * Makefile.in (LIBSDL): New variable.
26860 (enable_grub_emu_sdl): Likewise.
26861 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26862 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26863 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26864 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26865 * util/sdl.c: New file.
26866
26867 2010-02-06 Colin D Bennett <colin@gibibit.com>
26868 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 Double buffering support.
26871
26872 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26873 * include/grub/video.h: Update comment.
26874 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26875 New type.
26876 (grub_video_fb_doublebuf_blit_init): New prototype.
26877 * term/gfxterm.c (scroll_up): Support double buffering.
26878 (grub_gfxterm_refresh): Likewise.
26879 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26880 (grub_video_fb_doublebuf_blit_init): Likewise.
26881 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26882 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26883 'displayed_page', 'render_page' and 'update_screen'.
26884 (grub_video_vbe_fini): Free offscreen buffer.
26885 (doublebuf_pageflipping_commit): New function.
26886 (doublebuf_pageflipping_update_screen): Likewise.
26887 (doublebuf_pageflipping_init): Likewise.
26888 (double_buffering_init): Likewise.
26889 (grub_video_vbe_setup): Enable doublebuffering.
26890 (grub_video_vbe_swap_buffers): Implement.
26891 (grub_video_vbe_set_active_render_target): Handle double buffering.
26892 (grub_video_vbe_get_active_render_target): Likewise.
26893 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26894 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26895 (grub_video_vbe_enable_double_buffering): Likewise.
26896 (grub_video_vbe_swap_buffers): Use update_screen.
26897 (grub_video_set_mode): Use double buffering.
26898
26899 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26900
26901 * maintainance/gentrigtables.py: Remove.
26902 * lib/trig.c: Likewise.
26903
26904 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26905
26906 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26907 `trigtables.c'.
26908 (trigtables.c): New rule.
26909 (gentrigtables): Likewise.
26910 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26911
26912 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26913
26914 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26915 integer constants.
26916
26917 2010-02-06 Colin D Bennet <colin@gibibit.com>
26918
26919 Trigonometry support.
26920
26921 * include/grub/trig.h: New file.
26922 * lib/trig.c: Likewise.
26923 * maintainance/gentrigtables.py: Likewise.
26924 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26925 (trig_mod_SOURCES): New variable.
26926 (trig_mod_CFLAGS): Likewise.
26927 (trig_mod_LDFLAGS): Likewise.
26928
26929 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26930
26931 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26932 disk devices.
26933
26934 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26937 error.
26938
26939 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 * util/hostdisk.c (open_device): Don't use partition device when reading
26942 before the partition.
26943 (grub_util_biosdisk_read): Don't read from partition and before the
26944 partition in single operation.
26945 (grub_util_biosdisk_write): Don't write to partition and before the
26946 partition in single operation.
26947
26948 2010-02-03 Torsten Landschoff <torsten@debian.org>
26949
26950 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26951 last sectors.
26952
26953 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26956 CDROM reads.
26957 (grub_biosdisk_write): Refuse to write to CDROM.
26958
26959 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26960
26961 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26962
26963 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26964
26965 * font/font.c (find_glyph): Check that bmp_idx is available before
26966 using it.
26967 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26968 with (font == NULL).
26969
26970 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
26971
26972 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26973
26974 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26975
26976 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26977 * util/grub-script-check.c (getline): Fix empty lines case.
26978
26979 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26980
26981 * Makefile.in (check): Exit with fail status when one of the tests
26982 fails.
26983 * tests/example_functional_test.c (example_test): Fix reversed assert.
26984 * tests/example_unit_test.c (example_test): Likewise.
26985
26986 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
26987
26988 * util/grub.d/10_linux.in: This script does not use any of the
26989 contents of gettext.sh, only the external command `gettext', so stop
26990 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26991 the same prefix as GRUB.)
26992 * util/grub.d/10_kfreebsd.in: Likewise.
26993
26994 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26997 of the line.
26998
26999 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27000
27001 * kern/disk.c (grub_disk_read): Fix offset computation when reading
27002 last sectors.
27003
27004 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
27005
27006 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
27007 having a 4KiB and not 32KiB buffer size.
27008
27009 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27010
27011 * util/hostfs.c: Include `<errno.h>'.
27012 (grub_hostfs_read): Handle errors from fseeko() and fread().
27013
27014 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27015
27016 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
27017 loop when using read hooks on files whose size isn't sector-aligned.
27018
27019 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27020
27021 Remove unused parameter.
27022
27023 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
27024 (grub_iso9660_open): Remove initialization of `data->length'.
27025
27026 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
27027
27028 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
27029 memleak conditions.
27030
27031 2010-01-27 Carles Pina i Estany <carles@pina.cat>
27032
27033 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
27034 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
27035
27036 2010-01-26 Carles Pina i Estany <carles@pina.cat>
27037
27038 * util/bin2h.c (usage): Fix warning (space after backslash).
27039
27040 2010-01-26 Carles Pina i Estany <carles@pina.cat>
27041
27042 * font/font.c: Include `grub/fontformat.h.
27043 Remove font file format constants.
27044 (grub_font_load): Use the new macros.
27045 * include/grub/fontformat.h: New file.
27046 * util/grub-mkfont.c: Include `grub/fontformat.c'.
27047 (write_font_pf2): Use the new macros.
27048
27049 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27050
27051 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
27052 does.
27053
27054 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
27055
27056 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
27057
27058 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
27059 (_start): Macroify `0x7F'.
27060
27061 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
27062 (make_install_device): Use "(pxe)" as fallback prefix when booting
27063 via PXE.
27064
27065 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * configure.ac: Reset LIBS after check for libgcc symbols.
27068
27069 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
27070
27071 * util/hostdisk.c (open_device): Add trailing newline to debug
27072 message.
27073
27074 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
27075
27076 * configure.ac: Check for `limits.h'.
27077 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
27078
27079 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
27082 capitalize error strings.
27083
27084 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
27085
27086 * util/grub.d/10_hurd.in: Add a recovery mode.
27087
27088 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
27089
27090 * configure.ac: Check for libgcc symbols with -nostdlib.
27091
27092 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
27093
27094 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
27095
27096 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27097
27098 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
27099 stack since heap may be unavailable at that point.
27100 (grub_ofconsole_gotoxy): Likewise.
27101
27102 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27103
27104 * configure.ac: Check for _restgpr_14_x.
27105 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
27106 and _savegpr_* prototypes.
27107
27108 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 Use generic grub_reboot() for i386-efi.
27111
27112 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
27113 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
27114 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
27115
27116 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
27117
27118 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
27119 presence of "prefix" variable as it breaks when normal.mod is
27120 embedded.
27121
27122 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27123
27124 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
27125 stack since heap is unavailable at that point.
27126
27127 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27128
27129 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
27130 (grub_freebsd_bootinfo): Rewritten.
27131 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
27132
27133 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
27134
27135 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
27136
27137 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
27138
27139 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
27140 domain now.
27141
27142 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
27143
27144 * util/misc.c (make_system_path_relative_to_its_root): Change the work
27145 around for handling "/" to the correct fix. Fix a memory leak. Use
27146 xstrdup instead of strdup.
27147
27148 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
27151
27152 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27153
27154 Optimise glyph lookup by Basic Multilingual Plane lookup array.
27155
27156 * font/font.c (struct grub_font): New member 'bmp_idx'.
27157 (font_init): Initialise 'bmp_idx'.
27158 (load_font_index): Fill 'bmp_idx'.
27159 (find_glyph): Make inline. Use bmp_idx for BMP characters.
27160
27161 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27162
27163 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
27164 unnecessary calls.
27165
27166 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27167
27168 Move context handling out of the kernel.
27169
27170 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
27171 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
27172 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
27173 * conf/i386-efi.rmk: Likewise.
27174 * conf/i386-ieee1275.rmk: Likewise.
27175 * conf/i386-pc.rmk: Likewise.
27176 * conf/powerpc-ieee1275.rmk: Likewise.
27177 * conf/sparc64-ieee1275.rmk: Likewise.
27178 * conf/x86_64-efi.rmk: Likewise.
27179 * include/grub/env.h: Include grub/menu.h.
27180 (grub_env_var_type): Removed.
27181 (grub_env_var): Replaced field 'type' with 'global'.
27182 (grub_env_find): New prototype.
27183 (grub_env_context_open): Remove EXPORT_FUNC.
27184 (grub_env_context_close): Likewise.
27185 (grub_env_export): Likewise.
27186 (grub_env_set_data_slot): Removed.
27187 (grub_env_get_data_slot): Likewise.
27188 (grub_env_unset_data_slot): Likewise.
27189 (grub_env_unset_menu): New prototype.
27190 (grub_env_set_menu): Likewise.
27191 (grub_env_get_menu): Likewise.
27192 * include/grub/env_private.h: New file.
27193 * include/grub/normal.h (grub_context_init): New prototype.
27194 (grub_context_fini): Likewise.
27195 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
27196 * normal/context.c (grub_cmd_export): ... to here.
27197 * kern/env.c: Include env_private.h.
27198 (HASHSZ): Moved to include/grub/env_private.h.
27199 (grub_env_context): Likewise.
27200 (grub_env_sorted_var): Likewise.
27201 (current_context): Renamed from this ...
27202 (grub_current_context): ...to this. 'static' removed. All users updated.
27203 (grub_env_find): Removed 'static'.
27204 (grub_env_context_open): Moved to normal/context.c.
27205 (grub_env_context_close): Likewise.
27206 (grub_env_export): Likewise.
27207 (mangle_data_slot_name): Removed.
27208 (grub_env_set_data_slot): Likewise.
27209 (grub_env_get_data_slot): Likewise.
27210 (grub_env_unset_data_slot): Likewise.
27211 * kern/main.c (grub_set_root_dev): Don't export root.
27212 It will be done later.
27213 (grub_main): Don't export prefix.
27214 It will be done later.
27215 * normal/context.c: New file.
27216 * normal/main.c (free_menu): Use grub_env_unset_menu.
27217 (grub_normal_add_menu_entry): Use grub_env_get_menu.
27218 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
27219 (GRUB_MOD_INIT(normal)): Call grub_context_init.
27220 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
27221
27222 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 setpci support.
27225
27226 * commands/setpci.c: New file.
27227 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
27228 (setpci_mod_SOURCES): New variable.
27229 (setpci_mod_CFLAGS): Likewise.
27230 (setpci_mod_LDFLAGS): Likewise.
27231
27232 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27233
27234 Byte-addressable PCI configuration space.
27235
27236 * bus/pci.c (grub_pci_make_address): Use byte address instead of
27237 dword address.
27238 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
27239 GRUB_PCI_REG_CACHELINE.
27240 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
27241 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
27242 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
27243 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
27244 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
27245 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
27246 grub_pci_make_address.
27247 (lock_rom_area): Likewise.
27248 * commands/lspci.c (grub_lspci_iter): Use macroses
27249 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
27250 of grub_pci_make_address.
27251 * disk/ata.c (grub_ata_pciinit): Likewise.
27252 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
27253 (GRUB_PCI_REG_VENDOR): Likewise.
27254 (GRUB_PCI_REG_DEVICE): Likewise.
27255 (GRUB_PCI_REG_COMMAND): Likewise.
27256 (GRUB_PCI_REG_STATUS): Likewise.
27257 (GRUB_PCI_REG_REVISION): Likewise.
27258 (GRUB_PCI_REG_CLASS): Likewise.
27259 (GRUB_PCI_REG_CACHELINE): Likewise.
27260 (GRUB_PCI_REG_LAT_TIMER): Likewise.
27261 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
27262 (GRUB_PCI_REG_BIST): Likewise.
27263 (GRUB_PCI_REG_ADDRESSES): Likewise.
27264 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27265 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27266 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27267 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27268 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27269 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
27270 (GRUB_PCI_REG_CIS_POINTER): Likewise.
27271 (GRUB_PCI_REG_SUBVENDOR): Likewise.
27272 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
27273 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
27274 (GRUB_PCI_REG_CAP_POINTER): Likewise.
27275 (GRUB_PCI_REG_IRQ_LINE): Likewise.
27276 (GRUB_PCI_REG_IRQ_PIN): Likewise.
27277 (GRUB_PCI_REG_MIN_GNT): Likewise.
27278 (GRUB_PCI_REG_MAX_LAT): Likewise.
27279 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
27280 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
27281 * video/efi_uga.c (find_framebuf): Likewise.
27282 * video/sm712.c (grub_video_sm712_setup): Likewise.
27283 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
27284 space.
27285
27286 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27287
27288 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
27289 can be reliably determined to be supported.
27290
27291 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27292
27293 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
27294 that VESA is supported.
27295 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
27296 supported.
27297
27298 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27299
27300 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
27301
27302 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27303
27304 * util/misc.c (make_system_path_relative_to_its_root): Work around
27305 special-casing of "/", as previous incarnation of this routine did.
27306
27307 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27308
27309 Fix any-emu compilation.
27310
27311 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
27312 * grub_bin2h_SOURCES: New variable.
27313
27314 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27315
27316 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
27317
27318 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
27319
27320 * util/grub.d/00_header.in: Fix handling of locale_dir.
27321
27322 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27323
27324 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
27325 as possible unifont location (Gentoo).
27326 Reported by: Alexander Brüning
27327
27328 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 Don't try to generate lists for kernel.img.
27331
27332 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27333 (pkglib_MODULES): Remove kernel.img.
27334 (kernel_img_EXPORTS): Removed.
27335 (kernel_img_RELOCATABLE): New variable.
27336 * conf/x86_64-efi.rmk: Likewise.
27337 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27338
27339 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27342 grub_xasprintf or grub_snprintf.
27343 (grub_vsprintf): Likewise.
27344 (grub_snprintf): New proto.
27345 (grub_vsnprintf): Likewise.
27346 (grub_xasprintf): Likewise.
27347 (grub_xvasprintf): Likewise.
27348 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27349 (grub_sprintf): Removed.
27350 (grub_vsnprintf): New function.
27351 (grub_snprintf): Likewise.
27352 (grub_xvasprintf): Likewise.
27353 (grub_xasprintf): Likewise.
27354 (grub_vsprintf): Renamed to ...
27355 (grub_vsnprintf_real): ...this. New argument max_len.
27356
27357 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27358
27359 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27360 fix grub-script-check warning.
27361
27362 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27363
27364 * include/grub/font.h (grub_font_load): Fix prototype.
27365
27366 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27367
27368 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27369
27370 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27371
27372 * include/grub/x86_64/at_keyboard.h: New file.
27373
27374 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27375
27376 * loader/mips/linux.c: Include missing grub/i18n.h.
27377
27378 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 * normal/menu.c (notify_execution_failure): Clarify error message.
27381
27382 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27383
27384 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27385 return value (and revert all return statements). Update users.
27386
27387 2010-01-20 Dan Merillat <debian@dan.merillat.org>
27388
27389 * kern/device.c (grub_device_iterate): Allocate new part_ent
27390 structure based on sizeof (*p) rather than sizeof (p->next), to
27391 account for structure padding.
27392
27393 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27394 disk is NULL, which might happen for LVM physical volumes with no
27395 LVM signature.
27396
27397 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27398
27399 * loader/mips/linux.c (grub_cmd_initrd)
27400 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27401
27402 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27403
27404 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27405 (grub_video_video_init, grub_video_bitmap_init)
27406 (grub_font_manager_init, grub_term_gfxterm_init)
27407 (grub_at_keyboard_init): New extern declarations.
27408 (grub_machine_init): Initialize gfxterm and at_keyboard.
27409
27410 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27411
27412 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27413 `gfxterm.mod' into core image.
27414
27415 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27416 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27417 (kernel_img_FORMAT): Copy to ...
27418
27419 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27420 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27421 (kernel_img_FORMAT): ... here, and ...
27422
27423 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27424 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27425 (kernel_img_FORMAT): ... here.
27426
27427 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27428 and input (at_keyboard) terminals in kernel.
27429 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27430
27431 (pkglib_MODULES): Remove `pci.mod'.
27432 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27433 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27434 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27435 (at_keyboard_mod_LDFLAGS): Remove variables.
27436
27437 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
27438
27439 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27440
27441 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27442
27443 * include/grub/mips/libgcc.h: Only export symbols for functions
27444 that libgcc provides.
27445
27446 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 MIPS support.
27449
27450 * bus/bonito.c: New file.
27451 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27452 GRUB_PCI_NUM_DEVICES.
27453 * term/i386/pc/serial.c: Move to ...
27454 * term/serial.c: ... here. All users updated.
27455 * util/i386/pc/grub-mkimage.c: Move to ...
27456 * util/grub-mkrawimage.c: ... here. All users updated.
27457 * term/i386/pc/at_keyboard.c: Move to ...
27458 * term/at_keyboard.c: ... here. All users updated.
27459 * conf/mips-qemu-mips.rmk: New file.
27460 * conf/mips-yeeloong.rmk: Likewise.
27461 * conf/mips.rmk: Likewise.
27462 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27463 mipsel-qemu-mips.
27464 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27465 to port addresses.
27466 (grub_ata_pciinit): Support CS5536.
27467 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27468 * font/font_cmd.c (loadfont_command): Open file before passing it to
27469 grub_font_load.
27470 (pseudo_file_read): New function.
27471 (pseudo_file_close): Likewise.
27472 (pseudo_fs): New structure.
27473 (load_font_module): New function.
27474 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27475 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27476 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27477 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27478 * include/grub/i386/at_keyboard.h: Split into ...
27479 * include/grub/at_keyboard.h: ... this ...
27480 * include/grub/i386/at_keyboard.h: ... and this.
27481 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27482 New prototype.
27483 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27484 updated.
27485 (grub_elf64_size): Likewise.
27486 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27487 filename.
27488 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27489 * include/grub/i386/coreboot/serial.h: Rewritten.
27490 * include/grub/i386/ieee1275/serial.h: Include
27491 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27492 * include/grub/i386/pc/serial.h: Moved from here ...
27493 * include/grub/serial.h: ... to here. All users updated.
27494 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27495 (GRUB_PCI_NUM_BUS): Likewise.
27496 (GRUB_PCI_NUM_DEVICES): Likewise.
27497 (grub_pci_device_map_range): Add missing volatile keyword.
27498 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27499 * include/grub/mips/at_keyboard.h: New file.
27500 * include/grub/mips/cache.h: Likewise.
27501 * include/grub/mips/io.h: Likewise.
27502 * include/grub/mips/kernel.h: Likewise.
27503 * include/grub/mips/libgcc.h: Likewise.
27504 * include/grub/mips/pci.h: Likewise.
27505 * include/grub/mips/qemu-mips/boot.h: Likewise.
27506 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27507 * include/grub/mips/qemu-mips/loader.h: Likewise.
27508 * include/grub/mips/qemu-mips/memory.h: Likewise.
27509 * include/grub/mips/qemu-mips/serial.h: Likewise.
27510 * include/grub/mips/qemu-mips/time.h: Likewise.
27511 * include/grub/mips/relocator.h: Likewise.
27512 * include/grub/mips/time.h: Likewise.
27513 * include/grub/mips/types.h: Likewise.
27514 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27515 * include/grub/mips/yeeloong/boot.h: Likewise.
27516 * include/grub/mips/yeeloong/kernel.h: Likewise.
27517 * include/grub/mips/yeeloong/loader.h: Likewise.
27518 * include/grub/mips/yeeloong/memory.h: Likewise.
27519 * include/grub/mips/yeeloong/pci.h: Likewise.
27520 * include/grub/mips/yeeloong/serial.h: Likewise.
27521 * include/grub/mips/yeeloong/time.h: Likewise.
27522 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27523 * kern/elf.c (grub_elf32_size): New parameter. All users
27524 updated.
27525 (grub_elf64_size): Likewise.
27526 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27527 Load modules before saying "Welcome to GRUB!".
27528 Call grub_refresh after saying "Welcome to GRUB!".
27529 * kern/mips/cache.S: New file.
27530 * kern/mips/cache_flush.S: Likewise.
27531 * kern/mips/dl.c: Likewise.
27532 * kern/mips/init.c: Likewise.
27533 * kern/mips/qemu-mips/init.c: Likewise.
27534 * kern/mips/startup.S: Likewise.
27535 * kern/mips/yeeloong/init.c: Likewise.
27536 * kern/term.c (grub_putcode): Handle NULL terminal.
27537 (grub_getcharwidth): Likewise.
27538 (grub_getkey): Likewise.
27539 (grub_checkkey): Likewise.
27540 (grub_getkeystatus): Likewise.
27541 (grub_getxy): Likewise.
27542 (grub_getwh): Likewise.
27543 (grub_gotoxy): Likewise.
27544 (grub_cls): Likewise.
27545 (grub_setcolorstate): Likewise.
27546 (grub_setcolor): Likewise.
27547 (grub_getcolor): Likewise.
27548 (grub_refresh): Likewise.
27549 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27550 (write_jump): Add hatch nop.
27551 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27552 * lib/mips/setjmp.S: New file.
27553 * loader/mips/linux.c: Likewise.
27554 * term/i386/pc/at_keyboard.c: Move from here ...
27555 * term/at_keyboard.c: ... to here.
27556 * term/i386/pc/serial.c: Moved from here ...
27557 * term/serial.c: ... to here. All users updated.
27558 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27559 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27560 (serial_translate_key_sequence): Avoid deadlock.
27561 (grub_serial_getkey): Handle backspace.
27562 (grub_serial_putchar): Fix newline handling.
27563 * util/i386/pc/grub-mkimage.c: Move from here ...
27564 * util/grub-mkrawimage.c: ... to here. All users updated.
27565 (generate_image): New parameters 'font_path' and 'format'.
27566 Support embedding font.
27567 Use grub_host_to_target* instead of grub_cpu_to_le*.
27568 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27569 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27570 (options): New option "--font".
27571 (usage): Likewise.
27572 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27573 (main): Handle "--font".
27574 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27575 (grub_virtual_screen_setup): Set bg_color_display.
27576 (redraw_screen_rect): Use bg_color_display instead of incorrect
27577 bg_color.
27578 (grub_gfxterm_cls): Likewise.
27579 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27580 Support embedding config file.
27581 (add_segments): Likewise.
27582 (options): New option "--config".
27583 (main): Handle "--config".
27584 * video/sm712.c: New file.
27585
27586 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27587
27588 Fix parallel builds.
27589
27590 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27591 font.c depend on ascii.h).
27592
27593 2010-01-12 Carles Pina i Estany <carles@pina.cat>
27594
27595 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27596
27597 2010-01-11 Carles Pina i Estany <carles@pina.cat>
27598
27599 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27600 By default: disabled.
27601 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27602 parameter.
27603
27604 2010-01-10 Carles Pina i Estany <carles@pina.cat>
27605
27606 * font/font.c: Update copyright years.
27607 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27608
27609 2010-01-10 Carles Pina i Estany <carles@pina.cat>
27610
27611 * font/font.c: Include `ascii.h'.
27612 (ASCII_BITMAP_SIZE): New macro.
27613 (ascii_font_glyph): Define.
27614 (ascii_glyph_lookup): New function.
27615 (grub_font_get_string_width): Change comment. If glyph not found, use
27616 ascii_glyph_lookup.
27617 (grub_font_get_glyph_with_fallback): If glyph not available returns
27618 ascii_glyph_lookup.
27619 * util/grub-mkfont.c (file_formats): New enum.
27620 (options): Add `ascii-bitmaps' new option.
27621 (usage): Add `asii-bitmaps' new option.
27622 (write_font_ascii_bitmap): New function.
27623 (write_font): Rename to ...
27624 (write_font_p2): ... this. Remove print_glyphs call.
27625 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27626 used. Call print_glyphs.
27627 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27628
27629 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27630
27631 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27632 (grub_bin2h_SOURCES): New variable.
27633 * util/bin2h.c: New file.
27634
27635 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27636
27637 * include/multiboot.h: Resynced with spec.
27638 * include/multiboot2.h: Likewise.
27639 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27640 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27641
27642 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27643
27644 * include/grub/term.h (grub_term_register_input,
27645 grub_term_register_output): Check return of terminal init()
27646 routines, and abort if errors are raised.
27647
27648 * commands/terminal.c: Update copyright year.
27649
27650 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27651
27652 * commands/terminal.c (grub_cmd_terminal_input)
27653 (grub_cmd_terminal_output): Check return of terminal init()
27654 routines, and abort if errors are raised.
27655
27656 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 * include/grub/i386/bsd.h: Fix include pathes.
27659
27660 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 Add missing *BSD copyright headers.
27663
27664 * include/grub/aout.h: Add BSD licence.
27665 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27666 * include/grub/i386/freebsd_linker.h: ... here,
27667 * include/grub/i386/freebsd_reboot.h: ... here,
27668 * include/grub/i386/netbsd_bootinfo.h: ... here,
27669 * include/grub/i386/netbsd_reboot.h: ... here,
27670 * include/grub/i386/openbsd_bootarg.h: ... here,
27671 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27672 licence to each file.
27673
27674 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27675
27676 * acinclude.m4: Remove `nop' assembly instruction; it's not
27677 implemented by all architectures.
27678
27679 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27680
27681 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27682 ELILO. This is no longer necessary.
27683
27684 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27685
27686 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27687
27688 * util/grub-script-check.c: grub-script-check tool.
27689 * conf/common.rmk: Make rules for grub-script-check.
27690
27691 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27692
27693 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27694 spotting it back in 2008. Shame on me for forgetting he did.
27695
27696 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27697
27698 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27699
27700 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27701 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27702 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27703 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27704 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27705 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27706
27707 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * include/grub/test.h: Add license header.
27710 * tests/example_functional_test.c: Likewise.
27711 * tests/example_unit_test.c: Likewise.
27712 * tests/lib/functional_test.c: Likewise.
27713 * tests/lib/test.c: Likewise.
27714 * tests/lib/unit_test.c: Likewise.
27715
27716 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27717
27718 Use flag-based instead of hook-based video mode selection and "auto"
27719 keyword.
27720
27721 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27722 (grub_video_set_mode): Changed prototype. All users updated.
27723 (grub_video_check_mode_flag): New inline function.
27724 * video/video.c (parse_modespec): New function.
27725 (grub_video_set_mode): Parse flags and keywords.
27726
27727 2010-01-17 Carles Pina i Estany <carles@pina.cat>
27728
27729 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27730 fprintf call.
27731
27732 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27733
27734 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27735
27736 2010-01-16 Carles Pina i Estany <carles@pina.cat>
27737
27738 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27739 string.
27740 * util/grub-emu.c (usage): Likewise.
27741 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27742 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27743 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27744 * util/i386/pc/grub-setup.c (usage): Likewise.
27745
27746 2010-01-16 Carles Pina i Estany <carles@pina.cat>
27747
27748 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27749 the message.
27750 (grub_util_info): Likewise.
27751 (grub_util_error): Likewise.
27752 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27753 and/or new lines in `grub_util_warna', `grub_util_info',
27754 `grub_util_error' calls.
27755 * util/getroot.c: Likewise.
27756 * util/grub-editenv.c: Likewise.
27757 * util/grub-emu.c: Likewise.
27758 * util/grub-fstest.c: Likewise.
27759 * util/grub-mkdevicemap.c: Likewise.
27760 * util/grub-mkfont.c: Likewise.
27761 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27762 * util/grub-mkrelpath.c: Likewise.
27763 * util/grub-pe2elf.c: Likewise.
27764 * util/grub-probe.c: Likewise.
27765 * util/hostdisk.c: Likewise.
27766 * util/i386/efi/grub-mkimage.c: Likewise.
27767 * util/i386/pc/grub-mkimage.c: Likewise.
27768 * util/i386/pc/grub-setup.c: Likewise.
27769 * util/ieee1275/ofpath.c: Likewise.
27770 * util/mkisofs/eltorito.c: Likewise.
27771 * util/mkisofs/rock.c: Likewise.
27772 * util/mkisofs/write.c: Likewise.
27773 * util/raid.c: Likewise.
27774 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27775 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27776
27777 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Enable multiboot on non-pc.
27780
27781 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27782 multiboot.mod and multiboot2.mod to ...
27783 * conf/i386.rmk (pkglib_MODULES): ... here.
27784 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27785 Moved to ...
27786 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27787 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27788 Moved to ...
27789 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27790 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27791 Moved to ...
27792 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27793 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27794 Moved to ...
27795 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27796 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27797 relocator.mod.
27798 (ata_mod_SOURCES): Removed.
27799 (ata_mod_CFLAGS): Likewise.
27800 (ata_mod_LDFLAGS): Likewise.
27801 (relocator_mod_SOURCES): Removed.
27802 (relocator_mod_CFLAGS): Likewise.
27803 (relocator_mod_ASFLAGS): Likewise.
27804 (relocator_mod_LDFLAGS): Likewise.
27805 Include i386.mk.
27806 * include/grub/x86_64/multiboot.h: New file.
27807 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27808 Terminate EFI.
27809
27810 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27811
27812 Video multiboot support.
27813
27814 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27815 New prototype.
27816 * include/multiboot.h: Resynced with multiboot specification.
27817 * include/multiboot2.h: Likewise.
27818 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27819 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27820 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27821 (HAS_VGA_TEXT): Likewise.
27822 (accepts_video): New variable.
27823 (grub_multiboot_set_accepts_video): New function.
27824 (grub_multiboot_get_mbi_size): Account for video structures.
27825 (set_video_mode): New function.
27826 (retrieve_video_parameters): Likewise.
27827 (grub_multiboot_make_mbi): Fill video fields.
27828
27829 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27830
27831 Video driver ids.
27832
27833 * include/grub/video.h (grub_video_driver_id): New type.
27834 (grub_video_adapter): New member 'id'. All users updated.
27835 (grub_video_get_driver_id): New proto.
27836 * video/video.c (grub_video_get_driver_id): New function.
27837
27838 2010-01-14 Carles Pina i Estany <carles@pina.cat>
27839
27840 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27841 `var=val'.
27842
27843 2010-01-14 Carles Pina i Estany <carles@pina.cat>
27844
27845 * normal/cmdline.c (print_completion): Gettextizze.
27846
27847 2001-01-14 Carles Pina i Estany <carles@pina.cat>
27848
27849 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27850
27851 2010-01-14 Carles Pina i Estany <carles@pina.cat>
27852
27853 * gettext/gettext.c (grub_gettext_translate): Push and pop
27854 grub_errno.
27855 (grub_gettext_delete_list): Change comment style.
27856 * kern/err.c (grub_error): Gettextizze.
27857 (grub_fatal): Gettextizze.
27858
27859 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27860
27861 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27862 (grub_linux16_real_boot): ... this.
27863 * kern/i386/loader.S: Likewise.
27864 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27865 (grub_linux16_boot): New function. Switches to text mode and calls
27866 grub_linux16_real_boot().
27867
27868 * loader/i386/bsd.c: Include `<grub/video.h>'.
27869 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27870 text mode before calling grub_unix_real_boot().
27871
27872 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27873 (grub_multiboot_boot): Switch to text mode before calling
27874 grub_relocator32_boot().
27875
27876 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27877 (grub_chainloader_boot): Switch to text mode before calling
27878 grub_chainloader_real_boot().
27879
27880 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
27881 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
27882
27883 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27884 non-empty value.
27885
27886 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
27887 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
27888
27889 * util/grub.d/00_header.in: Define a "savedefault" function for use
27890 in menu entries.
27891 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27892
27893 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
27894 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
27895
27896 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27897 saved_entry if boot_once is unset.
27898 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27899 previous saved entry (i.e. grub-reboot).
27900
27901 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27902
27903 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27904
27905 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27906
27907 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27908 `var=val'.
27909 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27910
27911 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27912
27913 * util/grub-reboot.in: Fix --version output.
27914 * util/grub-set-default.in: Likewise.
27915
27916 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27917
27918 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27919 blocks.
27920
27921 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27922
27923 * util/grub.d/00_header.in: Quote the value assigned to `default',
27924 in case it contains spaces.
27925
27926 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
27927
27928 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27929 `save_default_entry' call from the macosx case to the linux case.
27930
27931 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
27932 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
27933
27934 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27935 in `chosen' environment variable.
27936 * normal/menu_text.c (get_entry_number): Check if the variable
27937 matches the title of a menu entry.
27938 (run_menu): Pass menu to get_entry_number.
27939
27940 * util/grub-reboot.in: New file.
27941 * util/grub-set-default.in: New file.
27942 * conf/common.rmk (grub-reboot): New utility.
27943 (grub-set-default): New utility.
27944
27945 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27946 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27947 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27948 move it to `saved_entry' for the next boot. Load environment on
27949 initialisation.
27950 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27951 * util/grub.d/10_hurd.in: Likewise.
27952 * util/grub.d/10_linux.in (linux_entry): Likewise.
27953 * util/grub.d/10_windows.in: Likewise.
27954 * util/grub.d/30_os-prober.in: Likewise.
27955
27956 * util/grub-install.in: Create environment block.
27957 * util/i386/efi/grub-install.in: Likewise.
27958 * util/ieee1275/grub-install.in: Likewise.
27959 * util/sparc64/ieee1275/grub-install.in: Likewise.
27960
27961 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27962
27963 Unit testing framework for GRUB.
27964
27965 * Makefile.in: Test framework build rules for 'make check'.
27966 * conf/tests.rmk: Build rules for individual tests and framework.
27967
27968 * include/grub/test.h: Header file for whitebox tests.
27969 * tests/lib/functional_test.c: Framework support for whitebox
27970 functional tests.
27971 * tests/lib/test.c: Common whitebox testing code for unit and
27972 functional tests.
27973 * tests/lib/unit_test.c: Framework support for whitebox unit
27974 tests.
27975
27976 * tests/util/grub-shell-tester.in: Support utility for grub-script
27977 tests.
27978 * tests/util/grub-shell.in: Utility to execute grub-script
27979 commands in a Qemu instance.
27980
27981 * tests/example_functional_test.c: Example whitebox functional
27982 test.
27983 * tests/example_grub_script_test.in: Example grub-script test.
27984 * tests/example_scripted_test.in: Example scripted test.
27985 * tests/example_unit_test.c: Example whitebox unit test.
27986
27987 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27988
27989 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27990 Add loader/i386/multiboot_mbi.c.
27991 (multiboot2_mod_SOURCES): Likewise.
27992 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27993 (multiboot2_mod_SOURCES): Likewise.
27994 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27995 (grub_multiboot_make_mbi): Likewise.
27996 (grub_multiboot_free_mbi): Likewise.
27997 (grub_multiboot_init_mbi): Likewise.
27998 (grub_multiboot_add_module): Likewise.
27999 (grub_multiboot_set_bootdev): Likewise.
28000 * loader/i386/multiboot.c (mbi): Removed.
28001 (mbi_dest): Likewise.
28002 (alloc_mbi): New variable.
28003 (grub_multiboot_payload_size): Removed. All users updated.
28004 (grub_multiboot_pure_size): New variable.
28005 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
28006 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
28007 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
28008 (grub_fill_multiboot_mmap): Likewise.
28009 (grub_multiboot_get_bootdev): Likewise.
28010 (grub_multiboot): Use multiboot_mbi functions.
28011 * loader/i386/multiboot_mbi.c: New file.
28012
28013 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28014
28015 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
28016 it would result in module crash.
28017
28018 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
28021 (grub_ofconsole_getwh): Split to ...
28022 (grub_ofconsole_getwh): ... this.
28023 (grub_ofconsole_dimensions): ...and this.
28024 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
28025
28026 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
28027
28028 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
28029
28030 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28031
28032 * loader/i386/pc/multiboot2.c: Removed stalled file.
28033
28034 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
28037 Reported by: Grégoire Sutre
28038
28039 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
28040
28041 * util/misc.c (canonicalize_file_name): New function.
28042 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
28043 instead of realpath().
28044
28045 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
28046
28047 * util/grub-install.in (usage): Clarify meaning of --root-directory,
28048 and make it clearer that it's optional. Based on confusion
28049 witnessed on IRC.
28050
28051 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28052
28053 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
28054 in premature implicit newline.
28055
28056 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
28057
28058 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
28059 which resulted in garbled command line at the end of screen.
28060
28061 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28062
28063 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
28064 initialization with similar approach as with other Linux loaders.
28065
28066 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28067
28068 Fix i386-ieee1275 build.
28069
28070 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
28071 and grub_term_height() for video_{width,height} initialization.
28072
28073 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
28074
28075 Fix grub-emu build.
28076
28077 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
28078
28079 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28080 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28081
28082 Support for multiple terminals.
28083
28084 * Makefile.in (pkglib_DATA): terminal.lst.
28085 (terminal.lst): New target.
28086 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
28087 (GRUB_MOD_INIT(handler)): Likewise.
28088 (GRUB_MOD_FINI(handler)): Likewise.
28089 * commands/help.c (grub_cmd_help): Handle multiple terminals.
28090 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
28091 * commands/sleep.c (do_print): Use grub_term_restore_pos.
28092 (grub_cmd_sleep): Use grub_term_save_pos.
28093 * commands/terminal.c: New file.
28094 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
28095 commands/terminal.c and lib/charset.c.
28096 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
28097 (pkglib_MODULES): Add terminal.mod.
28098 (terminal_mod_SOURCES): New variable.
28099 (terminal_mod_CFLAGS): Likewise.
28100 (terminal_mod_LDFLAGS): Likewise.
28101 * genhandlerlist.sh: Don't handle terminals.
28102 * genmk.rb: Generate terminal-*.lst.
28103 * genterminallist.sh: New file.
28104 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
28105 (grub_is_valid_utf8): Likewise.
28106 (grub_utf8_to_ucs4_alloc): Likewise.
28107 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
28108 (grub_menu_register_viewer): Changed argument.
28109 (grub_menu_try_text): New proto.
28110 (grub_gfxmenu_try_hook): New declaration.
28111 * include/grub/normal.h (grub_normal_exit_level): New declaration.
28112 (grub_menu_init_page): Additional argument term.
28113 (grub_normal_init_page): Likewise.
28114 (grub_cmdline_get): Arguments simplified.
28115 (grub_utf8_to_ucs4_alloc): Removed.
28116 (grub_print_ucs4): Additional argument term.
28117 (grub_getstringwidth): Likewise.
28118 (grub_print_message_indented): Likewise.
28119 (grub_menu_text_register_instances): New proto.
28120 (grub_show_menu): Likewise.
28121 (read_terminal_list): Likewise.
28122 (grub_set_more): Likewise.
28123 * include/grub/parser.h: Include handler.h.
28124 * include/grub/reader.h: Rewritten.
28125 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
28126 (GRUB_TERM_WIDTH): Changed to function.
28127 (GRUB_TERM_HEIGHT): Likewise.
28128 (GRUB_TERM_BORDER_WIDTH): Likewise.
28129 (GRUB_TERM_BORDER_HEIGHT): Likewise.
28130 (GRUB_TERM_NUM_ENTRIES): Likewise.
28131 (GRUB_TERM_ENTRY_WIDTH): Likewise.
28132 (GRUB_TERM_CURSOR_X): Likewise.
28133 (grub_term_input_class): Likewise.
28134 (grub_term_output_class): Likewise.
28135 (grub_term_outputs_disabled): New declaration.
28136 (grub_term_inputs_disabled): Likewise.
28137 (grub_term_outputs): Likewise.
28138 (grub_term_inputs): Likewise.
28139 (grub_term_register_input): Rewritten.
28140 (grub_term_register_output): Likewise.
28141 (grub_term_unregister_input): Likewise.
28142 (grub_term_unregister_output): Likewise.
28143 (FOR_ACTIVE_TERM_INPUTS): New macro.
28144 (FOR_DISABLED_TERM_INPUTS): Likewise.
28145 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
28146 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
28147 * include/grub/terminfo.h: Add oterm argument to all protypes.
28148 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
28149 Use grub_rescue_run.
28150 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
28151 All users updated.
28152 * kern/reader.c: Removed. All users updated.
28153 * kern/rescue_reader.c (grub_rescue_init): Removed.
28154 (grub_rescue_reader): Likewise.
28155 (grub_register_rescue_reader): Likewise.
28156 (grub_rescue_run): New function based on kern/reader.c.
28157 * kern/term.c: Adapted for multiterm.
28158 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
28159 (grub_is_valid_utf8): Likewise.
28160 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
28161 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
28162 right terminal.
28163 * loader/i386/linux.c (grub_linux_boot): Likewise.
28164 * normal/auth.c (grub_username_get): New function.
28165 (grub_auth_check_authentication): Use grub_username_get.
28166 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
28167 * normal/color.c: Adapt for multiterm.
28168 * normal/main.c (read_config_file): Don't use grub_reader_loop.
28169 (grub_normal_init_page): Additional argument term.
28170 (read_lists): Call read_terminal_lists.
28171 (grub_enter_normal_mode): Call grub_cmdline_run.
28172 Handle grub_normal_exit_level.
28173 (grub_cmd_normal): Make reentrant.
28174 (grub_cmd_normal_exit): New function.
28175 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
28176 * normal/menu.c: Adapt for multiterm.
28177 * normal/menu_entry.c: Likewise.
28178 * normal/menu_text.c: Likewise.
28179 * normal/menu_viewer.c: Removed. All users updated.
28180 * normal/term.c: New file.
28181 * util/console.c: Change order of includes to workaround a bug in
28182 ncurses headers.
28183 * term/terminfo.c: New argument oterm on all exported functions.
28184 All users updated.
28185 * util/grub-editenv.c (grub_term_input_class): Removed.
28186 (grub_term_output_class): Likewise.
28187
28188 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
28189
28190 Make loader output a bit more user-friendly.
28191
28192 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
28193 is being loaded. Likewise for the Hurd.
28194
28195 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
28196 that kernel of FreeBSD ${version} is being loaded.
28197
28198 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
28199 grub_dprintf().
28200 (grub_cmd_initrd): Likewise.
28201 * util/grub.d/10_linux.in (linux_entry): Print message indicating
28202 that Linux ${version} is being loaded. Likewise for initrd.
28203
28204 2010-01-09 Carles Pina i Estany <carles@pina.cat>
28205
28206 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
28207
28208 2010-01-08 Carles Pina i Estany <carles@pina.cat>
28209
28210 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
28211 (GRUB_MOD_INIT): Gettextizze.
28212 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
28213 (GRUB_MOD_INIT): Gettextizze.
28214 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
28215 (grub_cmd_linux): Capitalise Linux.
28216 (GRUB_MOD_INIT): Gettextizze.
28217 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
28218 (grub_cmd_linux): Capitalise Linux.
28219 (GRUB_MOD_INIT): Gettextizze.
28220 * loader/i386/linux.c: Include `<grub/i18n.h>'.
28221 (grub_cmd_linux): Capitalise Linux.
28222 (GRUB_MOD_INIT): Gettextizze.
28223 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
28224 (GRUB_MOD_INIT): Gettextizze.
28225 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
28226 (grub_cmd_linux): Capitalise Linux.
28227 (GRUB_MOD_INIT): Gettextizze.
28228 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
28229 (grub_cpu_xnu_init): Gettextizze.
28230 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
28231 (GRUB_MOD_INIT): Gettextizze.
28232 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
28233 (GRUB_MOD_INIT): Gettextizze.
28234 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
28235 (grub_linux_load64): Capitalise Linux.
28236 (GRUB_MOD_INIT): Gettextizze.
28237 * loader/xnu.c: Include `<grub/i18n.h>'.
28238 (GRUB_MOD_INIT): Gettextizze.
28239 * po/POTFILES: Add `loader/efi/appleloader.c',
28240 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
28241 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
28242 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
28243 `loader/i386/xnu.c', `loader/multiboot_loader.c',
28244 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
28245 and `loader/xnu.c'.
28246
28247 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28248
28249 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
28250
28251 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
28252
28253 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
28254 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
28255 * util/mkisofs/mkisofs.c (main): Readjust --version output.
28256
28257 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28258
28259 Reset Multiboot 2 support. New loader implements the draft in
28260 /branches/multiboot2 and shares as much code as possible with the
28261 production Multiboot 1 implementation.
28262
28263 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
28264 * loader/multiboot2.c: Likewise.
28265 * loader/i386/multiboot_helper.S: Likewise.
28266 * include/multiboot2.h: Replace with latest version from the draft
28267 in /branches/multiboot2.
28268
28269 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
28270 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
28271 and `loader/multiboot2.c'.
28272 (pkglib_MODULES): Add `multiboot2.mod'.
28273 (multiboot2_mod_SOURCES): New variable.
28274 (multiboot2_mod_LDFLAGS): Likewise.
28275 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
28276
28277 * conf/i386-pc.rmk: Likewise.
28278
28279 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28280 (multiboot_mod_SOURCES): Remove variable.
28281 (multiboot_mod_LDFLAGS): Likewise.
28282 (multiboot_mod_CFLAGS): Likewise.
28283
28284 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
28285 `<multiboot2.h>' instead of `<multiboot.h>'.
28286 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
28287 (MULTIBOOT_HEADER_MAGIC): New macros.
28288
28289 * loader/multiboot_loader.c (module_version_status): Remove variable.
28290 (find_multi_boot2_header): Remove function.
28291 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
28292 logic. Always check for the Multiboot version we're compiling for.
28293 (grub_cmd_module_loader): Likewise.
28294 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
28295 command instead of `multiboot'.
28296
28297 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28298
28299 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
28300 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
28301 all users.
28302
28303 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28304 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28305
28306 Fix breakage introduced with previous commit.
28307
28308 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
28309 commands.
28310 * normal/handler.c (read_handler_list): Revert part of previous commit
28311 affecting this file.
28312 * normal/main.c (read_lists): Move read_handler_list() call back to ...
28313 (grub_normal_execute): ... here.
28314
28315 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28316
28317 Merge prefix-redefinition-fix branch.
28318
28319 * normal/autofs.c (read_fs_list): Make function capable of being
28320 run multiple times, gracefuly replacing the previous data
28321 structures.
28322 * normal/dyncmd.c (read_command_list): Likewise.
28323 * normal/handler.c (read_handler_list): Likewise.
28324 * normal/main.c (read_lists): New function. Calls all the
28325 list reading functions.
28326 (grub_normal_execute): Use read_lists() instead of calling all
28327 list reading functions explicitly. Register read_lists() as a
28328 variable hook attached to ${prefix}.
28329
28330 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
28331
28332 Merge crypto branch.
28333
28334 * Makefile.in (pkglib_DATA): Add crypto.lst.
28335 (crypto.lst): New target.
28336 * commands/hashsum.c: New file.
28337 * commands/password.c (check_password): Use grub_crypto_memcmp.
28338 * commands/password_pbkdf2.c: New file.
28339 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28340 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28341 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28342 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28343 -I$(srcdir)/lib/libgcrypt_wrap.
28344 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28345 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28346 password_pbkdf2.mod.
28347 (crypto_mod_SOURCES): New variable.
28348 (crypto_mod_CFLAGS): Likewise.
28349 (crypto_mod_LDFLAGS): Likewise.
28350 (hashsum_mod_SOURCES): New variable.
28351 (hashsum_mod_CFLAGS): Likewise.
28352 (hashsum_mod_LDFLAGS): Likewise.
28353 (pbkdf2_mod_SOURCES): New variable.
28354 (pbkdf2_mod_CFLAGS): Likewise.
28355 (pbkdf2_mod_LDFLAGS): Likewise.
28356 (password_pbkdf2_mod_SOURCES): New variable.
28357 (password_pbkdf2_mod_CFLAGS): Likewise.
28358 (password_pbkdf2_mod_LDFLAGS): Likewise.
28359 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28360 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28361 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28362 Include conf/gcry.rmk.
28363 * include/grub/auth.h: Rewritten.
28364 * include/grub/crypto.h: New file.
28365 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28366 * include/grub/normal.h (read_crypto_list): New prototype.
28367 * lib/crypto.c: New file.
28368 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28369 * lib/pbkdf2.c: Likewise.
28370 * normal/auth.c (grub_auth_strcmp): Removed.
28371 (grub_iswordseparator): Likewise.
28372 (grub_auth_strword): Likewise.
28373 (is_authenticated): Use grub_strword.
28374 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28375 and grub_strword. Pass entered password to authentication callback.
28376 * normal/crypto.c: New file.
28377 * normal/main.c: Call read_crypto_list.
28378 * util/grub-mkpasswd-pbkdf2.c: New file.
28379 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28380
28381 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 Fix descent and ascent calculation.
28384
28385 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28386 (options): New option "asce".
28387 (usage): Likewise.
28388 (add_char): Ignore invalid glyphs for descent calculation.
28389 Calculate ascent from actual content.
28390 (print_glyphs): Use 'asce'.
28391 (write_font): Likewise. Allow ascent override.
28392 (main): Handle "asce" option.
28393
28394 2010-01-06 Carles Pina i Estany <carles@pina.cat>
28395
28396 * kern/err.c: Include `<grub/i18n.h>'.
28397 (grub_print_error): Add full stop. Gettextizze.
28398 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28399 (grub_bsd_load_elf): Capitalise ELF.
28400 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28401 (grub_cmd_freebsd_module): Likewise.
28402 (grub_cmd_freebsd_module_elf): Likewise.
28403 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28404
28405 2010-01-06 Carles Pina i Estany <carles@pina.cat>
28406
28407 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28408 * commands/search_file.c (HELP_MESSAGE): New macro.
28409 * commands/search_label.c (HELP_MESSAGE): Likewise.
28410 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28411 * po/POTFILES: Add `commands/search_file.c',
28412 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28413 `commands/search.c'.
28414
28415 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28416
28417 * config.rpath: Update from Gnulib.
28418
28419 2010-01-05 Yves Blusseau <blusseau@zetam.org>
28420
28421 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28422
28423 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28424
28425 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28426
28427 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
28428
28429 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28430 arguments to fread so that we get a return value in bytes, rather
28431 than something that will normally be rounded down to 0.
28432 Adjust error handling to avoid producing garbage when size_t is not
28433 the same size as long long.
28434
28435 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
28436
28437 * util/mkisofs/write.c (padblock_write): Check return value of
28438 fread.
28439
28440 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28443 floppy images now.
28444
28445 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28446
28447 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28450 instead of manual alignment.
28451 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28452 verbose). Avoid attempts to read past end of the device
28453 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28454 but GRUB_DISK_CACHE_SIZE may exceed that).
28455
28456 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28457
28458 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28459 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28460 it to upper layer.
28461
28462 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28465 New constant.
28466 (grub_efi_piwg_device_path): New structure
28467 (grub_efi_piwg_device_path_t): New type.
28468 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28469 (devpath_1): Transform to a structure. All users updated.
28470 (devpath_2): Likewise.
28471 (devpath_3): Likewise.
28472 (devpath_4): Likewise.
28473 (devpath_5): Likewise.
28474
28475 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * loader/efi/appleloader.c: Restored. Update all users.
28478
28479 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28480
28481 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28482
28483 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28484 (struct boot_blocklist): Move from here ...
28485 * include/grub/i386/pc/boot.h [ASM_FILE]
28486 (struct grub_boot_blocklist): ... to here. Update all users.
28487 (setup): Only initialize `start' member of `first_block'
28488 structure. Add assert() calls to verify the other members.
28489
28490 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28491 (generate_image): Fix broken blocklist length initialization.
28492 Add assert() call to verify blocklist `segment' field.
28493
28494 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28495
28496 * loader/efi/appleloader.c: Remove. Update all users.
28497
28498 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28499
28500 * boot/i386/pc/boot.S: Update copyright year.
28501 * boot/i386/pc/cdboot.S: Likewise.
28502 * boot/i386/pc/diskboot.S: Likewise.
28503 * boot/i386/pc/lnxboot.S: Likewise.
28504 * boot/i386/pc/pxeboot.S: Likewise.
28505 * bus/pci.c: Likewise.
28506 * commands/cmp.c: Likewise.
28507 * commands/help.c: Likewise.
28508 * commands/hexdump.c: Likewise.
28509 * commands/i386/pc/halt.c: Likewise.
28510 * commands/i386/pc/play.c: Likewise.
28511 * commands/i386/pc/vbeinfo.c: Likewise.
28512 * commands/ls.c: Likewise.
28513 * commands/test.c: Likewise.
28514 * disk/dmraid_nvidia.c: Likewise.
28515 * disk/i386/pc/biosdisk.c: Likewise.
28516 * disk/ieee1275/nand.c: Likewise.
28517 * disk/ieee1275/ofdisk.c: Likewise.
28518 * disk/lvm.c: Likewise.
28519 * disk/raid.c: Likewise.
28520 * disk/raid6_recover.c: Likewise.
28521 * disk/scsi.c: Likewise.
28522 * fs/affs.c: Likewise.
28523 * fs/cpio.c: Likewise.
28524 * fs/ext2.c: Likewise.
28525 * fs/hfs.c: Likewise.
28526 * fs/iso9660.c: Likewise.
28527 * fs/ntfs.c: Likewise.
28528 * fs/sfs.c: Likewise.
28529 * fs/udf.c: Likewise.
28530 * fs/ufs.c: Likewise.
28531 * fs/xfs.c: Likewise.
28532 * gencmdlist.sh: Likewise.
28533 * genmk.rb: Likewise.
28534 * include/grub/disk.h: Likewise.
28535 * include/grub/efi/api.h: Likewise.
28536 * include/grub/efi/efi.h: Likewise.
28537 * include/grub/efi/pe32.h: Likewise.
28538 * include/grub/elf.h: Likewise.
28539 * include/grub/fs.h: Likewise.
28540 * include/grub/i386/at_keyboard.h: Likewise.
28541 * include/grub/i386/pc/memory.h: Likewise.
28542 * include/grub/i386/pc/vbe.h: Likewise.
28543 * include/grub/i386/pci.h: Likewise.
28544 * include/grub/i386/tsc.h: Likewise.
28545 * include/grub/ieee1275/ieee1275.h: Likewise.
28546 * include/grub/ntfs.h: Likewise.
28547 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28548 * include/grub/sparc64/libgcc.h: Likewise.
28549 * include/grub/symbol.h: Likewise.
28550 * include/grub/types.h: Likewise.
28551 * include/multiboot2.h: Likewise.
28552 * io/gzio.c: Likewise.
28553 * kern/device.c: Likewise.
28554 * kern/disk.c: Likewise.
28555 * kern/efi/efi.c: Likewise.
28556 * kern/efi/mm.c: Likewise.
28557 * kern/elf.c: Likewise.
28558 * kern/file.c: Likewise.
28559 * kern/i386/dl.c: Likewise.
28560 * kern/i386/pc/init.c: Likewise.
28561 * kern/i386/pc/startup.S: Likewise.
28562 * kern/ieee1275/ieee1275.c: Likewise.
28563 * kern/ieee1275/init.c: Likewise.
28564 * kern/main.c: Likewise.
28565 * kern/mm.c: Likewise.
28566 * kern/powerpc/dl.c: Likewise.
28567 * kern/sparc64/dl.c: Likewise.
28568 * kern/x86_64/dl.c: Likewise.
28569 * lib/hexdump.c: Likewise.
28570 * loader/efi/appleloader.c: Likewise.
28571 * loader/i386/ieee1275/linux.c: Likewise.
28572 * loader/i386/pc/chainloader.c: Likewise.
28573 * loader/i386/pc/linux.c: Likewise.
28574 * loader/i386/pc/multiboot2.c: Likewise.
28575 * loader/ieee1275/multiboot2.c: Likewise.
28576 * loader/multiboot2.c: Likewise.
28577 * loader/multiboot_loader.c: Likewise.
28578 * loader/powerpc/ieee1275/linux.c: Likewise.
28579 * normal/completion.c: Likewise.
28580 * normal/menu_entry.c: Likewise.
28581 * partmap/apple.c: Likewise.
28582 * util/grub.d/10_hurd.in: Likewise.
28583 * util/hostfs.c: Likewise.
28584 * video/readers/png.c: Likewise.
28585
28586 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
28587
28588 * include/grub/misc.h (GNUC_PREREQ): New macro.
28589 (ATTRIBUTE_ERROR): New macro.
28590 * include/grub/list.h (grub_bad_type_cast_real): Use
28591 ATTRIBUTE_ERROR.
28592
28593 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28594
28595 * normal/menu_text.c (print_message): Change messages.
28596
28597 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28598
28599 * normal/menu_entry.c (store_completion): Gettextizze.
28600
28601 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28602
28603 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28604
28605 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28606
28607 * po/POTFILES: Sort correctly.
28608
28609 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28610
28611 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28612 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28613 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28614 full stop.
28615 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28616 summary. Gettextizze the strings.
28617 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28618 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28619 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28620 full stop.
28621 (GRUB_MOD_INIT): Remove command name from summary.
28622 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28623 summary.
28624 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28625 * term/i386/pc/serial.c (options): Add full stops.
28626 (GRUB_MOD_INIT): Remove command name from the summary.
28627
28628 2010-01-03 Carles Pina i Estany <carles@pina.cat>
28629
28630 * commands/acpi.c: Gettextizze help strings and/or options. Include
28631 `grub/i18n.h' if needed.
28632 * commands/blocklist.c: Likewise.
28633 * commands/boot.c: Likewise.
28634 * commands/cat.c: Likewise.
28635 * commands/cmp.c: Likewise.
28636 * commands/configfile.c: Likewise.
28637 * commands/crc.c: Likewise.
28638 * commands/date.c: Likewise.
28639 * commands/echo.c: Likewise.
28640 * commands/efi/fixvideo.c: Likewise.
28641 * commands/efi/loadbios.c: Likewise.
28642 * commands/gptsync.c: Likewise.
28643 * commands/halt.c: Likewise.
28644 * commands/handler.c: Likewise.
28645 * commands/hdparm.c: Likewise.
28646 * commands/hexdump.c: Likewise.
28647 * commands/i386/cpuid.c: Likewise.
28648 * commands/i386/pc/drivemap.c: Likewise.
28649 * commands/i386/pc/halt.c: Likewise.
28650 * commands/i386/pc/pxecmd.c: Likewise.
28651 * commands/i386/pc/vbeinfo.c: Likewise.
28652 * commands/i386/pc/vbetest.c: Likewise.
28653 * commands/ieee1275/suspend.c: Likewise.
28654 * commands/keystatus.c: Likewise.
28655 * commands/loadenv.c: Likewise.
28656 * commands/ls.c: Likewise.
28657 * commands/lsmmap.c: Likewise.
28658 * commands/lspci.c: Likewise.
28659 * commands/memrw.c: Likewise.
28660 * commands/minicmd.c: Likewise.
28661 * commands/parttool.c: Likewise.
28662 * commands/password.c: Likewise.
28663 * commands/probe.c: Likewise.
28664 * commands/read.c: Likewise.
28665 * commands/reboot.c: Likewise.
28666 * commands/search.c: Likewise.
28667 * commands/sleep.c: Likewise.
28668 * commands/test.c: Likewise.
28669 * commands/true.c: Likewise.
28670 * commands/usbtest.c: Likewise.
28671 * commands/videotest.c: Likewise.
28672 * commands/xnu_uuid.c: Likewise.
28673 * disk/loopback.c: Likewise.
28674 * hello/hello.c: Likewise.
28675 * loader/i386/bsd.c: Likewise.
28676 * term/i386/pc/serial.c: Likewise.
28677 * po/POTFILES: Add new files.
28678
28679 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
28680
28681 * term/i386/pc/at_keyboard.c
28682 (keyboard_controller_wait_untill_ready): Rename to ...
28683 (keyboard_controller_wait_until_ready): ... this. Update all users.
28684
28685 2010-01-01 Carles Pina i Estany <carles@pina.cat>
28686
28687 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28688 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28689 string using string width.
28690 * normal/menu_text.c (grub_print_message_indented): Use
28691 grub_print_spaces and not print_spaces.
28692 (print_timeout): Likewise.
28693 (print_spaces): Move to...
28694 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28695
28696 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28697
28698 Import from Gnulib.
28699
28700 * gnulib/getdelim.c: New file.
28701 * gnulib/getline.c: Likewise.
28702
28703 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28704
28705 * include/grub/list.h (grub_assert_fail): Removed.
28706 (grub_bad_type_cast_real): New function.
28707 (grub_bad_type_cast): New macro.
28708 (GRUB_AS_LIST): Use grub_bad_type_cast.
28709 (GRUB_AS_LIST_P): Likewise.
28710 (GRUB_AS_NAMED_LIST): Likewise.
28711 (GRUB_AS_NAMED_LIST_P): Likewise.
28712 (GRUB_AS_PRIO_LIST): Likewise.
28713 (GRUB_AS_PRIO_LIST_P): Likewise.
28714 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
28715
28716 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28717
28718 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28719 Fix syntax error.
28720
28721 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28722
28723 * configure.ac: Check for TARGET_CFLAGS initialization before we
28724 initialize it ourselves (sigh).
28725 Move a few modifications to TARGET_CFLAGS to be unconditional
28726 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28727 eh_frame)
28728
28729 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28730 * term/i386/pc/at_keyboard.c
28731 (keyboard_controller_wait_untill_ready): Likewise.
28732 (keyboard_controller_led): Rename `led_status' paramter to avoid
28733 name conflict.
28734
28735 2009-12-28 Carles Pina i Estany <carles@pina.cat>
28736
28737 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28738 quotes.
28739
28740 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28743
28744 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 * normal/menu_text.c (grub_print_message_indented): Prevent
28747 past-the-end-of-array dereference.
28748
28749 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28750
28751 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28752 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28753
28754 2009-12-27 Carles Pina i Estany <carles@pina.cat>
28755
28756 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28757 * normal/main.c (grub_normal_read_line): Remove a space from the
28758 default prompt.
28759
28760 2009-12-27 Carles Pina i Estany <carles@pina.cat>
28761
28762 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28763 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28764 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28765 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28766 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28767 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28768 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28769
28770 2009-12-26 Carles Pina i Estany <carles@pina.cat>
28771
28772 * video/readers/jpeg.c (cmd): Declare.
28773 (grub_cmd_jpegtest): Use `grub_command_t' type.
28774 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28775 Assign to `cmd'.
28776 (GRUB_MOD_FINI): Use `cmd' to unregister.
28777 * video/readers/png.c (cmd): Declare.
28778 (grub_cmd_pngtest): Use `grub_command_t' type.
28779 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28780 Assign to `cmd'.
28781 (GRUB_MOD_FINI): Use `cmd' to unregister.
28782 * video/readers/tga.c (cmd): Declare.
28783 (grub_cmd_tgatest): Use `grub_command_t' type.
28784 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28785 Assign to `cmd'.
28786 (GRUB_MOD_FINI): Use `cmd' to unregister.
28787
28788 2009-12-26 Carles Pina i Estany <carles@pina.cat>
28789
28790 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28791 stops.
28792 * kern/corecmd.c (grub_register_core_commands): Likewise.
28793 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28794 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28795 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28796 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28797 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28798 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28799 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28800 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28801 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28802 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28803 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28804 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28805 * normal/handler.c (insert_handler): Likewise.
28806 * normal/main.c (GRUB_MOD_INIT): Likewise.
28807 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28808
28809 2009-12-26 Carles Pina i Estany <carles@pina.cat>
28810
28811 * commands/help.c (grub_cmd_help): Print the command name before the
28812 summary.
28813 (GRUB_MOD_INIT): Remove command name from the summary.
28814 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
28815 string as summary.
28816 * lib/arg.c (find_long): Print the command name before the summary.
28817 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28818 summary.
28819 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28820 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28821 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28822 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28823 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28824 * commands/date.c (GRUB_MOD_INIT): Likewise.
28825 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28826 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28827 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28828 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28829 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28830 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28831 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28832 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28833 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28834 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28835 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28836 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28837 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28838 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28839 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28840 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28841 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28842 * commands/password.c (GRUB_MOD_INIT): Likewise.
28843 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28844 * commands/read.c (GRUB_MOD_INIT): Likewise.
28845 * commands/search.c (GRUB_MOD_INIT): Likewise.
28846 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28847 * commands/test.c (GRUB_MOD_INIT): Likewise.
28848 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28849 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28850 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28851 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28852 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28853 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28854 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28855 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28856 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28857 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28858 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28859 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28860 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28861 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28862
28863 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28864
28865 Use search command for preliminar UUID search.
28866
28867 * commands/search.c: Split into ...
28868 * commands/search_wrap.c: ...this
28869 * commands/search.c: ...and this.
28870 * commands/search_file.c: New file.
28871 * commands/search_label.c: New file.
28872 * commands/search_uuid.c: New file.
28873 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28874 Add commands/search_wrap.c, commands/search_file.c,
28875 commands/search_label.c and commands/search_uuid.c.
28876 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28877 (search_mod_SOURCES): Set to commands/search_wrap.c.
28878 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28879 search_label.mod.
28880 (search_fs_file_mod_SOURCES): New variable.
28881 (search_fs_file_mod_CFLAGS): Likewise.
28882 (search_fs_file_mod_LDFLAGS): Likewise.
28883 (search_label_mod_SOURCES): Likewise.
28884 (search_label_mod_CFLAGS): Likewise.
28885 (search_label_mod_LDFLAGS): Likewise.
28886 (search_fs_uuid_mod_SOURCES): New variable.
28887 (search_fs_uuid_mod_CFLAGS): Likewise.
28888 (search_fs_uuid_mod_LDFLAGS): Likewise.
28889 (fs_file_mod_SOURCES): Removed.
28890 (fs_file_mod_CFLAGS): Likewise.
28891 (fs_file_mod_LDFLAGS): Likewise.
28892 (fs_uuid_mod_SOURCES): Removed.
28893 (fs_uuid_mod_CFLAGS): Likewise.
28894 (fs_uuid_mod_LDFLAGS): Likewise.
28895 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28896 Set to util/grub-install.in.
28897 * disk/fs_file.c: Removed.
28898 * disk/fs_uuid.c: Likewise.
28899 * include/grub/search.h: New file.
28900 * util/grub-install.in: Handle sparc64.
28901 Create and use load.cfg.
28902 * util/sparc64/ieee1275/grub-install.in: Removed.
28903
28904 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28905
28906 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28907 Ignore return status if CF is cleared.
28908 (grub_biosdisk_get_diskinfo_standard): Likewise.
28909
28910 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28911
28912 * term/i386/pc/at_keyboard.c
28913 (keyboard_controller_wait_untill_ready): New function.
28914 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28915 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28916 for keyboard polling, rather than duplicate the same loop. This
28917 saves a few bytes in code size.
28918
28919 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28920
28921 Support for (pxe[:server[:gateway]]) syntax and
28922 use environment variable for PXE.
28923
28924 * commands/i386/pc/pxecmd.c (options): Removed.
28925 (print_ip): Removed.
28926 (grub_cmd_pxe): Removed
28927 (grub_cmd_pxe_unload): New function.
28928 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28929 (grub_pxe_your_ip): Made static.
28930 (grub_pxe_default_server_ip): Likewise.
28931 (grub_pxe_default_gateway_ip): Likewise.
28932 (grub_pxe_blksize): Likewise.
28933 (parse_ip): New function.
28934 (grub_pxe_open): Support server and gateway specification.
28935 (grub_pxe_close): Free disk->data.
28936 (grub_pxefs_open): Use disk->data.
28937 (grub_pxefs_read): Likewise.
28938 (grub_env_write_readonly): New function.
28939 (set_mac_env): Likewise.
28940 (set_env_limn_ro): Likewise.
28941 (parse_dhcp_vendor): Likewise.
28942 (grub_pxe_detect): Set the environment variables.
28943 (set_ip_env): New function.
28944 (write_ip_env): Likewise.
28945 (grub_env_write_pxe_default_server): Likewise.
28946 (grub_env_write_pxe_default_gateway): Likewise.
28947 (grub_env_write_pxe_blocksize): Likewise.
28948 (GRUB_MOD_INIT(pxe)): Set environment variables.
28949 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28950 (grub_pxe_mac_addr_t): ... this. All users updated.
28951 (grub_pxe_your_ip): Removed.
28952 (grub_pxe_server_ip): Likewise.
28953 (grub_pxe_gateway_ip): Likewise.
28954 (grub_pxe_blksize): Likewise.
28955
28956 2009-12-25 Carles Pina i Estany <carles@pina.cat>
28957
28958 * commands/help.c: Include `<grub/i18n.h>'.
28959 (grub_cmd_help): Gettextizze.
28960 (GRUB_MOD_INIT): Likewise.
28961 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28962 (GRUB_MOD_INIT): Gettextizze.
28963 * commands/search.c: Include `<grub/i18n.h>'.
28964 (options): Gettextizze.
28965 (GRUB_MOD_INIT): Gettextizze.
28966 * lib/arg.c: Include `<grub/i18n.h>'.
28967 (help_options): Gettextizze.
28968 (find_long): Likewise.
28969 (grub_arg_show_help): Likewise.
28970 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28971 (read_command_list): Gettextizze.
28972 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
28973 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
28974
28975 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28976
28977 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28978 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28979 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28980 (led_status): New variable.
28981 (keyboard_controller_led): New function.
28982 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28983 update led status for caps lock, num lock and scroll lock.
28984
28985 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
28986
28987 * util/hostdisk.c (open_device): Fix a comment.
28988
28989 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28990
28991 * util/grub-install.in (host_os): New variable.
28992 * util/i386/efi/grub-install.in (host_os): Likewise.
28993
28994 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28995
28996 * util/mkisofs/write.c (padblock_write): Abort when given an
28997 excedingly large embed image, instead of silently truncating it.
28998
28999 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29000
29001 * include/multiboot.h: Indentation fixes.
29002
29003 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29004
29005 * include/multiboot.h (struct multiboot_aout_symbol_table)
29006 (struct multiboot_elf_section_header_table): New structure
29007 declarations (stolen from GRUB Legacy).
29008 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
29009 table information.
29010
29011 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
29012 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
29013 type aliases.
29014
29015 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29016
29017 * include/multiboot.h: Make comments src2texi-friendly.
29018
29019 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29020
29021 For consistency with [multiboot]/docs/boot.S.
29022
29023 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
29024 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
29025 (MULTIBOOT_MAGIC2): Rename from this ...
29026 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
29027
29028 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
29029
29030 * include/multiboot.h: Remove `<grub/types.h>'.
29031 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
29032 types. Update all users.
29033
29034 2009-12-25 Carles Pina i Estany <carles@pina.cat>
29035
29036 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
29037 `couldn't' and `can not' by `cannot'.
29038 * commands/i386/pc/drivemap.c: Likewise.
29039 * disk/ata.c: Likewise.
29040 * disk/ieee1275/nand.c: Likewise.
29041 * fs/affs.c: Likewise.
29042 * fs/fat.c: Likewise.
29043 * fs/hfs.c: Likewise.
29044 * fs/hfsplus.c: Likewise.
29045 * fs/iso9660.c: Likewise.
29046 * fs/jfs.c: Likewise.
29047 * fs/minix.c: Likewise.
29048 * fs/reiserfs.c: Likewise.
29049 * fs/sfs.c: Likewise.
29050 * fs/udf.c: Likewise.
29051 * fs/ufs.c: Likewise.
29052 * fs/xfs.c: Likewise.
29053 * loader/powerpc/ieee1275/linux.c: Likewise.
29054 * loader/sparc64/ieee1275/linux.c: Likewise.
29055 * util/grub-probe.c: Likewise.
29056 * util/misc.c: Likewise.
29057
29058 2009-12-24 Carles Pina i Estany <carles@pina.cat>
29059
29060 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
29061 grub_errno calls.
29062 * commands/acpi.c: Likewise.
29063 * commands/blocklist.c: Likewise.
29064 * commands/efi/loadbios.c: Likewise.
29065 * commands/i386/pc/drivemap.c: Likewise.
29066 * commands/loadenv.c: Likewise.
29067 * commands/memrw.c: Likewise.
29068 * commands/password.c: Likewise.
29069 * commands/videotest.c: Likewise.
29070 * disk/ata.c: Likewise.
29071 * disk/ata_pthru.c: Likewise.
29072 * disk/dmraid_nvidia.c: Likewise.
29073 * disk/ieee1275/nand.c: Likewise.
29074 * disk/ieee1275/ofdisk.c: Likewise.
29075 * disk/loopback.c: Likewise.
29076 * disk/lvm.c: Likewise.
29077 * disk/mdraid_linux.c: Likewise.
29078 * disk/raid.c: Likewise.
29079 * disk/raid6_recover.c: Likewise.
29080 * disk/scsi.c: Likewise.
29081 * efiemu/main.c: Likewise.
29082 * efiemu/mm.c: Likewise.
29083 * efiemu/pnvram.c: Likewise.
29084 * efiemu/symbols.c: Likewise.
29085 * font/font.c: Likewise.
29086 * fs/cpio.c: Likewise.
29087 * fs/hfsplus.c: Likewise.
29088 * fs/iso9660.c: Likewise.
29089 * fs/jfs.c: Likewise.
29090 * fs/minix.c: Likewise.
29091 * fs/ntfs.c: Likewise.
29092 * fs/ntfscomp.c: Likewise.
29093 * fs/reiserfs.c: Likewise.
29094 * fs/ufs.c: Likewise.
29095 * fs/xfs.c: Likewise.
29096 * gettext/gettext.c: Likewise.
29097 * include/grub/auth.h: Likewise.
29098 * kern/elf.c: Likewise.
29099 * kern/file.c: Likewise.
29100 * kern/ieee1275/init.c: Likewise.
29101 * kern/ieee1275/mmap.c: Likewise.
29102 * kern/ieee1275/openfw.c: Likewise.
29103 * kern/powerpc/dl.c: Likewise.
29104 * kern/sparc64/dl.c: Likewise.
29105 * lib/arg.c: Likewise.
29106 * loader/i386/bsd.c: Likewise.
29107 * loader/i386/bsdXX.c: Likewise.
29108 * loader/i386/efi/linux.c: Likewise.
29109 * loader/i386/efi/xnu.c: Likewise.
29110 * loader/i386/ieee1275/linux.c: Likewise.
29111 * loader/i386/linux.c: Likewise.
29112 * loader/i386/multiboot.c: Likewise.
29113 * loader/i386/pc/linux.c: Likewise.
29114 * loader/i386/pc/multiboot2.c: Likewise.
29115 * loader/i386/xnu.c: Likewise.
29116 * loader/ieee1275/multiboot2.c: Likewise.
29117 * loader/macho.c: Likewise.
29118 * loader/machoXX.c: Likewise.
29119 * loader/multiboot2.c: Likewise.
29120 * loader/multiboot_loader.c: Likewise.
29121 * loader/powerpc/ieee1275/linux.c: Likewise.
29122 * loader/sparc64/ieee1275/linux.c: Likewise.
29123 * loader/xnu.c: Likewise.
29124 * loader/xnu_resume.c: Likewise.
29125 * mmap/i386/pc/mmap.c: Likewise.
29126 * normal/menu_viewer.c: Likewise.
29127 * partmap/acorn.c: Likewise.
29128 * partmap/amiga.c: Likewise.
29129 * partmap/apple.c: Likewise.
29130 * script/lexer.c: Likewise.
29131 * term/gfxterm.c: Likewise.
29132 * term/i386/pc/serial.c: Likewise.
29133 * term/i386/pc/vga.c: Likewise.
29134 * term/ieee1275/ofconsole.c: Likewise.
29135 * term/terminfo.c: Likewise.
29136 * video/bitmap.c: Likewise.
29137 * video/efi_gop.c: Likewise.
29138 * video/efi_uga.c: Likewise.
29139 * video/fb/video_fb.c: Likewise.
29140 * video/i386/pc/vbe.c: Likewise.
29141 * video/readers/tga.c: Likewise.
29142 * video/video.c: Likewise.
29143
29144 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
29145
29146 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
29147 * commands/lspci.c: Likewise.
29148 * commands/probe.c: Likewise.
29149 * commands/xnu_uuid.c: Likewise.
29150 * conf/i386-coreboot.rmk: Likewise.
29151 * conf/i386-efi.rmk: Likewise.
29152 * conf/i386-ieee1275.rmk: Likewise.
29153 * conf/i386-pc.rmk: Likewise.
29154 * conf/powerpc-ieee1275.rmk: Likewise.
29155 * conf/sparc64-ieee1275.rmk: Likewise.
29156 * conf/x86_64-efi.rmk: Likewise.
29157 * fs/i386/pc/pxe.c: Likewise.
29158 * gettext/gettext.c: Likewise.
29159 * include/grub/efi/graphics_output.h: Likewise.
29160 * include/grub/i386/pc/memory.h: Likewise.
29161 * kern/env.c: Likewise.
29162 * kern/i386/qemu/startup.S: Likewise.
29163 * lib/i386/pc/biosnum.c: Likewise.
29164 * lib/i386/relocator.c: Likewise.
29165 * lib/i386/relocator_asm.S: Likewise.
29166 * lib/relocator.c: Likewise.
29167 * loader/i386/bsd.c: Likewise.
29168 * loader/i386/multiboot.c: Likewise.
29169 * loader/i386/pc/chainloader.c: Likewise.
29170 * loader/i386/xnu.c: Likewise.
29171 * loader/xnu.c: Likewise.
29172 * normal/main.c: Likewise.
29173 * normal/menu_text.c: Likewise.
29174 * util/getroot.c: Likewise.
29175 * util/grub-mkconfig_lib.in: Likewise.
29176 * util/grub.d/00_header.in: Likewise.
29177 * util/i386/pc/grub-mkimage.c: Likewise.
29178 * util/mkisofs/eltorito.c: Likewise.
29179 * util/mkisofs/exclude.h: Likewise.
29180 * util/mkisofs/hash.c: Likewise.
29181 * util/mkisofs/iso9660.h: Likewise.
29182 * util/mkisofs/joliet.c: Likewise.
29183 * util/mkisofs/mkisofs.c: Likewise.
29184 * util/mkisofs/mkisofs.h: Likewise.
29185 * util/mkisofs/multi.c: Likewise.
29186 * util/mkisofs/name.c: Likewise.
29187 * util/mkisofs/rock.c: Likewise.
29188 * util/mkisofs/tree.c: Likewise.
29189 * util/mkisofs/write.c: Likewise.
29190 * video/efi_gop.c: Likewise.
29191
29192 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
29193
29194 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
29195 size counting.
29196
29197 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
29198
29199 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
29200 * genmk.rb (class SCRIPT): Modify the target file instead of source.
29201
29202 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29203
29204 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
29205 (GRUB_MOD_INIT(memrw)): Update help line.
29206
29207 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29208
29209 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
29210 Use grub_extcmd_t. All users updated.
29211 (options): New variable.
29212 (grub_cmd_read): Restructure for readability. Support "-v" option.
29213 (grub_cmd_write): Restructure for readability.
29214
29215 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
29216
29217 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
29218
29219 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
29220
29221 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
29222 with the actual contents of the correspondending make variable.
29223 * util/grub-mkrescue.in (pkglib_DATA): New variable.
29224 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
29225 specifying `*.lst' and `efiemu??.o'
29226
29227 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
29228
29229 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
29230 after function name.
29231 Noticed by Rene Engelhard <rene@debian.org>.
29232
29233 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29234
29235 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
29236 (options): New variable.
29237 (iospace): Likewise.
29238 (grub_lspci_iter): List IO spaces if "-i" was given.
29239 (grub_cmd_lspci): Parse options.
29240 (GRUB_MOD_INIT(lspci)): Use extcmd.
29241 (GRUB_MOD_FINI(lspci)): Likewise.
29242
29243 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
29244
29245 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
29246 `function' keyword.
29247 Patch by Tony Mancill <tmancill@debian.org>.
29248
29249 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
29250
29251 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
29252 (grub_uhci_portstatus): Likewise.
29253 (grub_uhci_portstatus): Add necessary delay.
29254 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
29255
29256 2009-12-21 Carles Pina i Estany <carles@pina.cat>
29257
29258 * commands/acpi.c (options): Fix capitalizations and/or full stops.
29259 (GRUB_MOD_INIT): Likewise.
29260 * commands/boot.c (GRUB_MOD_INIT): Likewise.
29261 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
29262 * commands/echo.c (options): Fix capitalizations and/or full stops.
29263 * commands/efi/loadbios.c (enable_rom_area): Likewise.
29264 (enable_rom_area): Likewise.
29265 (GRUB_MOD_INIT): Likewise.
29266 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
29267 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
29268 * commands/handler.c (GRUB_MOD_INIT): Likewise.
29269 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
29270 * commands/hexdump.c (options): Likewise.
29271 * commands/i386/cpuid.c (options): Likewise.
29272 (GRUB_MOD_INIT): Likewise.
29273 * commands/i386/pc/drivemap.c (options): Likewise.
29274 (GRUB_MOD_INIT): Likewise.
29275 * commands/i386/pc/halt (options): Likewise.
29276 (GRUB_MOD_INIT): Likewise.
29277 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
29278 * commands/i386/pc/pxecmd.c (options): Likewise.
29279 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
29280 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
29281 * commands/keystatus.c (options): Likewise.
29282 (GRUB_MOD_INIT): Likewise.
29283 * commands/loadenv.c (options): Likewise.
29284 * commands/ls.c (options): Likewise.
29285 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
29286 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
29287 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
29288 * commands/parttool.c (helpmsg): Likewise.
29289 * commands/probe.c (options): Likewise.
29290 * commands/read.c (GRUB_MOD_INIT): Likewise.
29291 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
29292 * commands/search.c (options): Likewise.
29293 * commands/sleep.c (options): Likewise.
29294 * commands/test.c (GRUB_MOD_INIT): Likewise.
29295 * commands/true.c (GRUB_MOD_INIT): Likewise.
29296 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
29297 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
29298 * lib/arg.c (help_options): Likewise.
29299 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
29300 `$(XGETTEXT)'.
29301 * po/POTFILES: Add `commands/loadenv.c'.
29302
29303 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
29304
29305 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
29306 instead of specifying them explicit.
29307
29308 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29309
29310 * NEWS: Add grub-probe support for GNU/Hurd.
29311
29312 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29313
29314 * NEWS: gettext was added after 1.97.
29315
29316 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29317
29318 * util/mkisofs/msdos_partition.h: New file (based on
29319 include/grub/msdos_partition.h).
29320 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
29321 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
29322 (ld_options, main): Recognize --protective-msdos-label.
29323 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
29324 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
29325 (padblock_write): If `use_protective_msdos_label' is set, patch a
29326 protective DOS-style label in the output image.
29327
29328 * util/grub-mkrescue.in: Use --protective-msdos-label.
29329
29330 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29331
29332 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29333 boot.
29334
29335 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29336
29337 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29338 variables.
29339 (ld_options, main): Recognize `--embedded-boot'.
29340 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29341 declarations.
29342 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29343 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29344 (padblock_write): Likewise. Rewrite to support embedded boot image.
29345
29346 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29347 for BIOS-based disk boot instead of only ElTorito.
29348
29349 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29350
29351 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29352 build (not needed for bootstrap).
29353
29354 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29355
29356 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29357 from i386-pc build (not needed for bootstrap).
29358 Rewrite a pair of strings.
29359
29360 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29361
29362 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29363
29364 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
29365
29366 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29367
29368 2009-12-21 Andreas Born <futur.andy@googlemail.com>
29369
29370 * kern/env.c (grub_env_context_open): Mark exported variable for
29371 reexport.
29372
29373 2009-12-21 Andreas Born <futur.andy@googlemail.com>
29374
29375 * kern/env.c (grub_env_export): Create nonexistent variables before
29376 exporting.
29377
29378 2009-12-20 Carles Pina i Estany <carles@pina.cat>
29379
29380 * include/grub/auth.h: Include `<grub/i18n.h>'.
29381 (GRUB_GET_PASSWORD): Gettextizze string.
29382 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29383 menu_text.c.
29384 (grub_utf8_to_ucs4_alloc): Fix indentation.
29385 (grub_print_ucs4): Likewise.
29386 (grub_getstringwidth): Likewise.
29387 (print_message_indented): New declaration.
29388 * normal/auth.c: Include `<grub/i18n.h>'.
29389 (grub_auth_check_authentication): Gettexttize string.
29390 * normal/cmdline.c: Include `<grub/i18n.h>'.
29391 (grub_cmdline_get): Gettextizze.
29392 * normal/color.c: Include `<grub/i18n.h>'.
29393 (grub_parse_color_name_pair): Gettexttize strings.
29394 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29395 string (use `print_message_indented').
29396 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29397 `include/grub/normal.h'.
29398 (print_message_indented): Renamed to ...
29399 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29400 used in normal/main.c).
29401 (print_message): Use `grub_print_message_indented' instead of
29402 `print_message_indented'.
29403 (print_timeout): Likewise.
29404 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29405 (grub_normal_print_device_info): Gettexttize strings.
29406 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29407
29408 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29409
29410 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29411 of arguments. Return number of tokens and not arguments. All users
29412 updated.
29413
29414 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29415
29416 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29417 non-MSDOS paritions.
29418
29419 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29420
29421 * include/grub/types.h (UNUSED): Removed since it conflicts with
29422 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29423 Reported by Grégoire Sutre.
29424
29425 2009-12-19 Carles Pina i Estany <carles@pina.cat>
29426
29427 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29428 (grub_print_ucs4_alloc): Likewise.
29429 (grub_getstringwidth): Likewise.
29430 * normal/main.c (grub_normal_init_page): Gettextize version string.
29431 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29432 (getstringwidth): Renamed to ...
29433 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29434 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29435 (grub_print_ucs4): Remove `static' qualifer (now used in
29436 normal/main.c).
29437 * po/POTFILES: Add normal/main.c.
29438
29439 2009-12-19 Carles Pina i Estany <carles@pina.cat>
29440
29441 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29442 (print_message_indented): Add `margin_left' and `margin_right'
29443 parameters.
29444 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29445 strings.
29446 (print_timeout): Use `print_message_indented' to print the message.
29447 Deletes `second_stage' parameter.
29448 (run_menu): Update `print_timeout' calls.
29449
29450 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29451
29452 Fix console palette on OpenFirmware.
29453
29454 * term/ieee1275/ofconsole.c (MAX): Removed.
29455 (colors): Redone based on VGA palette.
29456 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29457 colors are supported.
29458 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29459
29460 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 Fix potential EfiEmu double prepare.
29463
29464 * efiemu/main.c (prepared): New variable
29465 (grub_efiemu_unload): Set prepare to '0'.
29466 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29467
29468 set_virtual_address_map support.
29469
29470 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29471 prototype.
29472 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29473 prototype.
29474 (grub_efiemu_crc32): Likewise.
29475 (grub_efiemu_crc64): Likewise.
29476 (grub_efiemu_set_virtual_address_map): Likewise.
29477 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29478 New definition.
29479 (grub_autoefi_set_virtual_address_map): Likewise.
29480 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29481 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29482 Restructure flow to accomodate it.
29483 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29484 (grub_efiemu_crc): Recompute CRC32.
29485 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29486 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29487 * efiemu/symbols.c (relocated_handle): New variable.
29488 (grub_efiemu_free_syms): Free relocated_handle.
29489 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29490 (grub_efiemu_write_sym_markers): New function.
29491 (grub_efiemu_set_virtual_address_map): Likewise.
29492
29493 Newer XNU parameters.
29494
29495 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29496 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29497 (grub_xnu_fill_devicetree): New prototype.
29498 (grub_xnu_heap_real_start): New variable.
29499 * loader/xnu.c (get_name_ptr): New function.
29500 (grub_xnu_load_driver): Fill namelen and name.
29501
29502 64-bit xnu support.
29503
29504 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29505 and 'loader/macho64.c'.
29506 * conf/i386-pc.rmk: Likewise.
29507 * conf/x86_64-efi.rmk: Likewise.
29508 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29509 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29510 * include/grub/macho.h (grub_macho_segment64): New structure.
29511 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29512 (grub_macho_size32): ... to this.
29513 (grub_macho32_get_entry_point): Renamed from ...
29514 (grub_macho_get_entry_point32): ... to this.
29515 (grub_macho_contains_macho64): New prototype.
29516 (grub_macho_size64): Likewise.
29517 (grub_macho_get_entry_point64): Likewise.
29518 (grub_macho32_load): Renamed from ...
29519 (grub_macho_load32): ... to this.
29520 (grub_macho32_filesize): Renamed from ...
29521 (grub_macho_filesize32): ... to this.
29522 (grub_macho32_readfile): Renamed from ...
29523 (grub_macho_readfile32): ... to this.
29524 (grub_macho_filesize64): New prototype.
29525 (grub_macho_readfile64): Likewise.
29526 (grub_macho_parse32): Likewise.
29527 (grub_macho_parse64): Likewise.
29528 * loader/macho.c: Split into ...
29529 * loader/machoXX.c: ... and this. Replace 32 with XX.
29530 * loader/macho32.c: New file.
29531 * loader/macho64.c: Likewise.
29532 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29533 (grub_cmd_xnu_kernel): Make 32-bit only.
29534 (grub_cmd_xnu_kernel64): New function.
29535 (grub_xnu_load_driver): Support Mach-O 64.
29536 (grub_cmd_xnu_mkext): Likewise.
29537 * util/grub.d/30_os-prober.in (osx_entry): New function.
29538 Generate entries for 64-bit boot too.
29539
29540 Eliminate ad-hoc tree format in XNU and EfiEmu.
29541
29542 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29543 * efiemu/pnvram.c: Rewritten to use environment variables.
29544 All users updated.
29545
29546 Inline utf16_to_utf8.
29547
29548 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29549 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29550 All users updated.
29551 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29552
29553 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29554 * commands/usbtest.c (grub_usb_get_string): ... move here.
29555 (usb_print_str): Fix error handling.
29556 * include/grub/usb.h (grub_usb_get_string): Remove.
29557
29558 UTF-8 to UTF-16 transformation.
29559
29560 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29561 (charset_mod_SOURCES): New variable.
29562 (charset_mod_CFLAGS): Likewise.
29563 (charset_mod_LDFLAGS): Likewise.
29564 * include/grub/utf.h: New file.
29565 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29566
29567 Support for device properties.
29568
29569 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29570 (grub_xnu_devprop_device_header): Likewise.
29571 (grub_xnu_devprop_device_descriptor): Likewise.
29572 (grub_xnu_devprop_add_device): New prototype.
29573 (grub_xnu_devprop_remove_device): Likewise.
29574 (grub_xnu_devprop_remove_property): Likewise.
29575 (grub_xnu_devprop_add_property_utf8): Likewise.
29576 (grub_xnu_devprop_add_property_utf16): Likewise.
29577 (grub_cpu_xnu_init): Likewise.
29578 (grub_cpu_xnu_fini): Likewise.
29579 (grub_cpu_xnu_unload): Likewise.
29580 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29581 (property_descriptor): Likewise.
29582 (devices): New variable.
29583 (grub_xnu_devprop_remove_property): New function.
29584 (grub_xnu_devprop_add_device): Likewise.
29585 (grub_xnu_devprop_remove_device): Likewise.
29586 (grub_xnu_devprop_add_property): Likewise.
29587 (grub_xnu_devprop_add_property_utf8): Likewise.
29588 (grub_xnu_devprop_add_property_utf16): Likewise.
29589 (hextoval): Likewise.
29590 (grub_cpu_xnu_fill_devprop): Likewise.
29591 (grub_cmd_devprop_load): Likewise.
29592 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29593 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29594 (cmd_devprop_load): New variable.
29595 (grub_cpu_xnu_init): New function.
29596 (grub_cpu_xnu_fini): Likewise.
29597 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29598 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29599 (grub_cmd_xnu_devtree): Likewise.
29600 (hextoval): New function.
29601 (unescape): Likewise.
29602 (grub_xnu_fill_devicetree): Likewise.
29603
29604 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29605 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29606
29607 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29608
29609 Workaround for broken ATI VBE.
29610
29611 * video/i386/pc/vbe.c (last_set_mode): New variable.
29612 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29613 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29614 (grub_video_vbe_setup): Don't check for reserved flag.
29615
29616 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
29617
29618 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29619 the `find' command.
29620
29621 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29622
29623 UUID support for HFS.
29624
29625 * fs/hfs.c (grub_hfs_uuid): New function.
29626 (grub_hfs_fs): New value .uuid.
29627 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29628
29629 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
29630
29631 Fix a segfault with parsing unknown long options.
29632
29633 * util/grub-mkrelpath.c (options): Zero terminate it.
29634
29635 2009-12-13 Carles Pina i Estany <carles@pina.cat>
29636
29637 * include/grub/misc.h (grub_puts): New declaration.
29638 (grub_puts_): Likewise.
29639 * kern/misc.c (grub_puts): New definition.
29640 (grub_puts_): Likewise.
29641
29642 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * util/grub-probe.c (probe): Improve error message.
29645
29646 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29647
29648 * loader/i386/multiboot_elfxx.c
29649 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29650 initialization.
29651
29652 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29653
29654 Relocator framework
29655
29656 * loader/i386/xnu_helper.S: Removed. All users updated.
29657 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29658 (relocator_mod_SOURCES): New variable.
29659 (relocator_mod_CFLAGS): Likewise.
29660 (relocator_mod_LDFLAGS): Likewise.
29661 (relocator_mod_ASFLAGS): Likewise.
29662 * conf/x86_64.rmk: Likewise.
29663 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29664 (grub_multiboot_payload_entry_offset): Likewise.
29665 (grub_multiboot_forward_relocator): Likewise.
29666 (grub_multiboot_forward_relocator_end): Likewise.
29667 (grub_multiboot_backward_relocator): Likewise.
29668 (grub_multiboot_backward_relocator_end): Likewise.
29669 (grub_multiboot_payload_eip): New variable.
29670 (grub_multiboot_payload_orig): Likewise.
29671 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29672 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29673 * include/grub/i386/memory.h
29674 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29675 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29676 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29677 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29678 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29679 * include/grub/i386/relocator.h: New file.
29680 * include/grub/x86_64/relocator.h: Likewise.
29681 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29682 (XNU_RELOCATOR): New macro.
29683 (grub_xnu_launcher_start): Remove.
29684 (grub_xnu_launcher_end): Likewise.
29685 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29686 (grub_xnu_heap_real_start): Remove.
29687 (grub_xnu_heap_start): Change to void *. All users updated.
29688 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29689 * lib/i386/relocator.c: New file.
29690 * lib/i386/relocator_asm.S: Likewise.
29691 * lib/i386/relocator_backward.S: Likewise.
29692 * lib/mips/relocator.c: Likewise.
29693 * lib/mips/relocator_asm.S: Likewise.
29694 * lib/relocator.c: Likewise.
29695 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29696 (entry): Removed.
29697 (playground): Likewise.
29698 (grub_multiboot_payload_orig): New variable.
29699 (grub_multiboot_payload_dest): Likewise.
29700 (grub_multiboot_payload_size): Likewise.
29701 (grub_multiboot_payload_eip): Likewise.
29702 (grub_multiboot_payload_esp): Likewise.
29703 (grub_multiboot_boot): Use grub_relocator32_boot.
29704 (grub_multiboot_unload): Free relocators.
29705 (grub_multiboot): Setup stack. Use relocators.
29706 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29707 (grub_multiboot_load_elfXX): Use relocators.
29708 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29709 (grub_multiboot_payload_size): Likewise.
29710 (grub_multiboot_payload_dest): Likewise.
29711 (grub_multiboot_payload_entry_offset): Likewise.
29712 (grub_multiboot_forward_relocator): Likewise.
29713 (grub_multiboot_backward_relocator): Likewise.
29714 (grub_multiboot_real_boot): Likewise.
29715 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29716 (grub_xnu_entry_point): Likewise.
29717 (grub_xnu_arg1): Likewise.
29718 (grub_xnu_stack): Likewise.
29719 (grub_xnu_launch): Removed.
29720 (grub_xnu_boot_resume): New function.
29721 (grub_xnu_boot): Use relocators.
29722 * loader/i386/xnu_helper.S: Removed.
29723 * loader/xnu.c (grub_xnu_heap_start): New variable.
29724 (grub_xnu_heap_size): Likewise.
29725 (grub_xnu_heap_malloc): Use relocators.
29726 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29727
29728 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29729
29730 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29731 anything.
29732
29733 2009-12-13 Carles Pina i Estany <carles@pina.cat>
29734
29735 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29736 GRUB_ERR_NONE before calling grub_env_set.
29737
29738 2009-12-12 Robert Millan <rmh@aybabtu.com>
29739
29740 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29741 * genmk.rb (video): New variable.
29742 (CLEANFILES, VIDEOFILES): Add #{video}.
29743 (#{video}): New target rule.
29744 * genvideolist.sh: New file.
29745 * Makefile.in (pkglib_DATA): Add video.lst.
29746 (video.lst): New target rule.
29747 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29748 `video.lst'.
29749 * util/grub.d/30_os-prober.in: Replace `vbe' with
29750 ${GRUB_VIDEO_BACKEND}.
29751
29752 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29753
29754 * THANKS: Add David Miller.
29755
29756 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29757
29758 libpciaccess support.
29759
29760 * Makefile.in (LIBPCIACCESS): New variable.
29761 (enable_grub_emu_pci): Likewise.
29762 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29763 util/pci.c and commands/lspci.c.
29764 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29765 * configure.ac (grub-emu-pci): New option.
29766 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29767 (grub_pci_device_unmap_range): Likewise.
29768 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29769 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29770 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29771 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29772 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29773 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29774 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29775 * include/grub/pciutils.h: New file.
29776 * util/pci.c: Likewise.
29777
29778 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
29779
29780 * util/misc.c: Don't include <errno.h> twice.
29781
29782 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
29783
29784 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29785 name in an error message.
29786 (grub_biosdisk_rw): Likewise.
29787
29788 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29789
29790 Eliminate NTFS 4Gib barrier.
29791
29792 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29793 (read_run_data): Likewise.
29794 (grub_ntfs_read_run_list): Likewise.
29795 (grub_ntfs_read_block): Likewise.
29796 (grub_ntfs_iterate_dir): Likewise.
29797 (read_mft): Likewise.
29798 (read_data): Likewise.
29799 Use COM_LOG_LEN.
29800 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29801 to avoid 64-bit division
29802 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29803 (grub_ntfs_rlst): Use grub_disk_addr_t.
29804
29805 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29806
29807 Eliminate grub-fstest 4Gib barrier.
29808
29809 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29810 (read_file): Fix error reporting.
29811
29812 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29813
29814 Eliminate hexdump 4Gib barrier.
29815
29816 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29817 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29818
29819 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29820
29821 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29822 Fixes amarsh bug.
29823
29824 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29825
29826 Remove miscellaneous files in distclean target.
29827
29828 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29829
29830 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
29831
29832 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29833 if they're already set. This resolves the conflict between my
29834 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29835 fixing the --grub-probe option again.
29836 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29837 change on 2009-10-06, so that we now once again source
29838 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29839
29840 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29841
29842 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29843 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29844 `util/devicemap.c'.
29845
29846 2009-12-08 Carles Pina i Estany <carles@pina.cat>
29847
29848 * include/grub/misc.h (grub_printf_): New declaration.
29849 * kern/misc.c (grub_printf_): New definition.
29850 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29851 instead of `grub_printf' and `_'.
29852 * normal/menu_entry.c (store_completion): Likewise.
29853 (run): Likewise.
29854 (grub_menu_entry_run): Likewise.
29855 * normal/menu_text.c (grub_wait_after_message): Likewise.
29856 (notify_booting): Likewise.
29857 (notify_fallback): Likewise.
29858 (notify_execution_failure): Likewise.
29859
29860 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
29861
29862 * configure.ac: Check for vasprintf.
29863 * util/misc.c (asprintf): Move allocation from here ...
29864 (vasprintf): ... to here. New function.
29865 (xasprintf): New function.
29866 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29867 prototypes.
29868 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29869 * util/grub-mkfont.c (write_font): Likewise.
29870 * util/grub-probe.c (probe): Likewise.
29871 * util/hostdisk.c (make_device_name): Likewise.
29872
29873 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
29874
29875 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29876 anything even prefixed with 'cdrom' as a cdrom.
29877
29878 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
29879
29880 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29881 mount points.
29882
29883 2009-12-05 Carles Pina i Estany <carles@pina.cat>
29884
29885 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29886 grub_gettext_msg_list.
29887 (grub_gettext_gettranslation_from_position): Return const char *
29888 and not char *.
29889 (grub_gettext_translate): Add the translated strings into a list,
29890 returns from the list if existing there.
29891 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29892 (grub_gettext_delete_list): Delete the list.
29893 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29894 lang environment variable is changed.
29895 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29896
29897 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 Rename kernel.mod to kernel.img.
29900
29901 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29902 (kernel_mod_EXPORTS): Rename to ...
29903 (kernel_img_EXPORTS): ... this.
29904 (kernel_mod_SOURCES): Rename to ...
29905 (kernel_img_SOURCES): ... this.
29906 (kernel_mod_HEADERS): Rename to ...
29907 (kernel_img_HEADERS): ... this. All users updated.
29908 (kernel_mod_CFLAGS): Rename to ...
29909 (kernel_img_CFLAGS): ... this.
29910 (kernel_mod_ASFLAGS): Rename to ...
29911 (kernel_img_ASFLAGS): ... this.
29912 (kernel_mod_LDFLAGS): Rename to ...
29913 (kernel_img_LDFLAGS): ... this.
29914 * conf/x86_64-efi.rmk: Likewise.
29915 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29916 (read_kernel_image): ... this. All users updated.
29917 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29918
29919 2009-12-05 Carles Pina i Estany <carles@pina.cat>
29920
29921 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29922 (print_spaces): New function.
29923 (grub_print_ucs4): New function.
29924 (getstringwidth): New function.
29925 (print_message_indented): New function.
29926 (print_message): Gettexttize strings using print_message_indented.
29927 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29928 width.
29929 (get_entry_number): Gettextize and uses dynamic terminal width.
29930 (notify_booting, notify_fallback, notify_execution_failure):
29931 Gettextize.
29932 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29933 string.
29934 (run): Likewise.
29935 (grub_menu_entry_run): Likewise.
29936 * PO/POTFILES: Add normal/menu_entry.c.
29937
29938 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29939
29940 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29941
29942 2009-12-05 Carles Pina i Estany <carles@pina.cat>
29943
29944 * util/grub-install.in: Install gettext .mo files.
29945 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29946
29947 2009-12-05 Carles Pina i Estany <carles@pina.cat>
29948
29949 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29950 grub_dprintf.
29951
29952 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29955 non-firmware-dependant one in realmode.S takes precedence.
29956
29957 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29958
29959 * commands/halt.c: Replace misc arch-specific headers with
29960 `<grub/misc.h>'.
29961 * commands/reboot.c: Likewise.
29962 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29963 `<grub/misc.h>'.
29964 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29965 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29966 (kernel_img_SOURCES): ... to here.
29967
29968 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29969 * include/grub/i386/pc/init.h: Likewise.
29970 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29971 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29972
29973 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29974
29975 * include/grub/i386/halt.h: Remove.
29976 * include/grub/i386/reboot.h: Likewise.
29977
29978 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29979
29980 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
29981
29982 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29983 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29984 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29985 "progname.h"
29986 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29987 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29988 (usage): Add missing comma in printf.
29989
29990 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 Use the same reboot approach on i386 coreboot and qemu as we do on
29993 BIOS.
29994
29995 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29996 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29997 * kern/i386/reboot.c: Remove.
29998 * include/grub/i386/reboot.h (grub_reboot): Export function.
29999 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
30000 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
30001 0xf000:0xfff0 instead of 0xffff:0x0000.
30002 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
30003 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
30004
30005 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
30006
30007 Fix $srcdir != $objdir build.
30008
30009 * Makefile.in (po/%.po): Rewrite as ...
30010 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
30011
30012 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
30013
30014 Fix GNU/Hurd grub-install crash.
30015 * util/grub-probe.c (probe): Try to access `path' only when it is not
30016 NULL.
30017
30018 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30019
30020 Correct module naming.
30021
30022 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30023 (GRUB_MOD_INIT(efi_uga)): ... to this
30024 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30025 (GRUB_MOD_FINI(efi_uga)): ... to this
30026 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
30027 (GRUB_MOD_INIT(efi_gop)): ... to this
30028 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
30029 (GRUB_MOD_FINI(efi_gop)): ... to this
30030
30031 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
30032
30033 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
30034 translatable.
30035 (usage): Translate `arg' strings using gettext().
30036 Thanks to Jordi Mallach for the suggestion.
30037
30038 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30039
30040 GOP support. Based on patch from Bean
30041 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30042
30043 * video/efi_gop.c: New file.
30044 * include/grub/efi/graphics_output.h: Likewise.
30045 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
30046 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30047 variables.
30048 * conf/x86_64-efi.rmk: Likewise.
30049
30050 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
30051
30052 Rename efi_fb to efi_uga.
30053
30054 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30055 'efi_uga.mod'.
30056 (efi_fb_mod_SOURCES): Rename this ...
30057 (efi_uga_mod_SOURCES): ... to this.
30058 (efi_fb_mod_CFLAGS): Rename this ...
30059 (efi_uga_mod_CFLAGS): ... to this.
30060 (efi_fb_mod_LDFLAGS): Rename this ...
30061 (efi_uga_mod_LDFLAGS): ... to this.
30062 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
30063 'efi_uga.mod'.
30064 (efi_fb_mod_SOURCES): Rename this ...
30065 (efi_uga_mod_SOURCES): ... to this.
30066 (efi_fb_mod_CFLAGS): Rename this ...
30067 (efi_uga_mod_CFLAGS): ... to this.
30068 (efi_fb_mod_LDFLAGS): Rename this ...
30069 (efi_uga_mod_LDFLAGS): ... to this.
30070 * video/efi_fb.c: Move this ...
30071 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
30072
30073 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30074
30075 * po/README: New file. Explain our PO file workflow.
30076
30077 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30078
30079 * po/ChangeLog: Remove. Move relevant entries back to ...
30080 * ChangeLog: ... here.
30081 * po/ca.po: Remove (now handled by TLP).
30082 * po/id.po: Likewise.
30083 * po/zh_CN.po: Likewise.
30084 * Makefile.in (LINGUAS): Initialize in a way that supports
30085 empty set.
30086
30087 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
30088
30089 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
30090 reliing on po/LINGUAS.
30091 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
30092 (po/%.po): ... this.
30093
30094 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
30095
30096 * util/i386/efi/grub-mkimage.c: Include "progname.h".
30097 (main): Use `program_name' instead of nonexistent `progname'.
30098
30099 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
30100
30101 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30102 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
30103
30104 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30105
30106 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
30107 commit.
30108 * conf/i386-efi.rmk: Likewise.
30109 * conf/i386-ieee1275.rmk: Likewise.
30110 * conf/powerpc-ieee1275.rmk: Likewise.
30111 * conf/sparc64-ieee1275.rmk: Likewise.
30112 * conf/x86_64-efi.rmk: Likewise.
30113
30114 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
30115
30116 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
30117
30118 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
30119
30120 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
30121
30122 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30123
30124 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
30125 (grub_mkdevicemap_SOURCES): New variable.
30126 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
30127 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
30128 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
30129 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
30130 (grub_mkdevicemap_SOURCES): Remove.
30131 * conf/i386-efi.rmk: Likewise.
30132 * conf/i386-ieee1275.rmk: Likewise.
30133 * conf/i386-pc.rmk: Likewise.
30134 * conf/powerpc-ieee1275.rmk: Likewise.
30135 * conf/sparc64-ieee1275.rmk: Likewise.
30136 * conf/x86_64-efi.rmk: Likewise.
30137 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
30138 (usage): Fix strings to use `program_name'.
30139 (main): Initialize gettext.
30140 * util/grub-editenv.c: Likewise.
30141 * util/grub-emu.c: Likewise.
30142 * util/grub-fstest.c: Likewise.
30143 * util/grub-mkdevicemap.c: Likewise.
30144 * util/grub-mkfont.c: Likewise.
30145 * util/grub-mkrelpath.c: Likewise.
30146 * util/grub-pe2elf.c: Likewise.
30147 * util/grub-probe.c: Likewise.
30148 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
30149 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
30150 * util/sparc64/ieee1275/grub-setup.c: Likewise.
30151
30152 * util/misc.c: Include `"progname.h"'.
30153 (progname): Remove variable.
30154 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
30155
30156 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
30157
30158 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
30159 printf and print a newline after the menuentry header line.
30160 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30161
30162 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
30163
30164 autoconf >= 2.60 support $(localedir).
30165
30166 * INSTALL: Note that autoconf 2.60 is required.
30167 * configure.ac (AC_PREREQ): Bump to 2.60.
30168 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
30169 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
30170
30171 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
30172
30173 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
30174 aclocal is run.
30175
30176 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30177
30178 * normal/main.c (grub_normal_read_line): Fix off-by-one
30179 buffer overflow.
30180
30181 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
30182
30183 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
30184 "parser.grub" in grub_command_execute() call.
30185
30186 2009-11-24 Carles Pina i Estany <carles@pina.cat>
30187
30188 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
30189 * conf/i386-efi.rmk: Likewise.
30190 * conf/i386-ieee1275.rmk: Likewise.
30191 * conf/i386-pc.rmk: Likewise.
30192 * conf/powerpc-ieee1275.rmk: Likewise.
30193 * conf/sparc64-ieee1275.rmk: Likewise.
30194 * conf/x86_64-efi.rmk: Likewise.
30195 * gettext/gettex.c: Include <grub/i18n.h>.
30196 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
30197 here ...
30198 * include/grub/i18n.h: ... to here
30199 * include/grub/i18n.h: ... to here.
30200 * kern/misc.c: Include <grub/i18n.h>
30201 (grub_gettext_dummy): Move above user.
30202
30203 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30204
30205 * util/Makefile.in (install-local): Convert a `for' into a normal
30206 shell expansion.
30207
30208 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 * autogen.sh: Add automake call.
30211 * config.guess: Remove.
30212 * config.sub: Likewise.
30213 * install-sh: Likewise.
30214
30215 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30216
30217 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
30218
30219 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30220
30221 * util/Makefile.in (install-local): Convert a make `$(foreach)'
30222 function to a normal shell `for'.
30223
30224 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30225
30226 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30227
30228 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30229
30230 * util/grub-mkrelpath.c: New file.
30231 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
30232 (grub_mkrelpath_SOURCES): New variable.
30233 * include/grub/util/misc.h: New function prototype.
30234 * util/misc.c (make_system_path_relative_to_its_root): New function.
30235
30236 * util/grub-mkconfig_lib.in (bindir): New variable.
30237 (grub_mkrelpath): Likewise.
30238 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
30239
30240 * util/probe.c (probe): Make the file path relative to its root.
30241 Change a info message to use the GRUB path. Enable again the
30242 check if we can read the file with GRUB facilities.
30243
30244 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
30245 to its root.
30246
30247 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30248
30249 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
30250 platform.
30251
30252 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30253
30254 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
30255 strncmp().
30256
30257 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
30258
30259 * util/getroot.c (grub_util_is_dmraid): New function.
30260 (grub_util_get_dev_abstraction): Treat dmraid and multipath
30261 devices as normal ones, not as LVM.
30262
30263 2009-11-23 Carles Pina i Estany <carles@pina.cat>
30264
30265 * conf/common.rmk: Add grub-gettext_lib target and updates
30266 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
30267 LDFLAGS.
30268 * gettext/gettext.c: New file. (Reads mo files).
30269 * include/grub/file.h (grub_file_pread): New prototype.
30270 * include/grub/i18n.h (_): New prototype.
30271 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
30272 prototypes.
30273 * kern/misc.c (grub_gettext_dummy): New function.
30274 * normal/menu_text.c: Include <grub/i18n.h>.
30275 * normal/menu_text.c (print_timeout): Gettexttize string.
30276 * normal/menu_text.c (print_message): Gettexttize string.
30277 * po/POTFILES: Add `normal/menu_text.c'.
30278 * po/ca.po: Add new translations.
30279 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
30280 gettext module and defines locale_dir and lang in grub.cfg.
30281 * NEWS: Add gettext support.
30282
30283 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30284
30285 * util/hostdisk.c: Include `<grub/i18n.h>'.
30286 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
30287 (make_device_name): Rewrite using asprintf.
30288 (convert_system_partition_to_system_disk): Replace 0 with NULL.
30289 (find_system_device): If a device is not found, generate one just
30290 by reusing the OS path name.
30291 (read_device_map): Make it permissible for device.map not to exist.
30292
30293 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30294
30295 * script/sh/execute.c: Move from here ...
30296 * script/execute.c: ... to here. Update all users.
30297 * script/sh/function.c: Move from here ...
30298 * script/function.c: ... to here. Update all users.
30299 * script/sh/lexer.c: Move from here ...
30300 * script/lexer.c: ... to here. Update all users.
30301 * script/sh/main.c: Move from here ...
30302 * script/main.c: ... to here. Update all users.
30303 * script/sh/parser.y: Move from here ...
30304 * script/parser.y: ... to here. Update all users.
30305 * script/sh/script.c: Move from here ...
30306 * script/script.c: ... to here. Update all users.
30307
30308 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30309
30310 * configure.ac: Detect all `emu' platforms. Define
30311 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
30312 --enable-grub-emu logic. Disable include/grub/machine
30313 symlink on `emu' platforms.
30314
30315 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
30316 * gensymlist.sh.in: Likewise.
30317
30318 * include/grub/i386/coreboot/machine.h: Remove file.
30319 * include/grub/i386/efi/machine.h: Likewise.
30320 * include/grub/i386/ieee1275/machine.h: Likewise.
30321 * include/grub/i386/pc/machine.h: Likewise.
30322 * include/grub/i386/qemu/machine.h: Likewise.
30323 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30324 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30325 * include/grub/x86_64/efi/machine.h: Likewise.
30326
30327 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
30328 * commands/halt.c: Likewise.
30329 * commands/reboot.c: Likewise.
30330 * include/grub/autoefi.h: Likewise.
30331 * include/grub/i386/at_keyboard.h: Likewise.
30332 * include/grub/i386/kernel.h: Likewise.
30333 * include/grub/i386/loader.h: Likewise.
30334 * include/grub/i386/pc/memory.h: Likewise.
30335 * kern/dl.c: Likewise.
30336 * kern/i386/coreboot/init.c: Likewise.
30337 * loader/i386/bsd.c: Likewise.
30338 * loader/i386/linux.c: Likewise.
30339 * loader/multiboot_loader.c: Likewise.
30340 * term/i386/pc/serial.c: Likewise.
30341 * term/usb_keyboard.c: Likewise.
30342
30343 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30344 `<grub/machine/machine.h>'
30345 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30346 * util/misc.c: Remove `<grub/machine/machine.h>' and
30347 `<grub/machine/time.h>'.
30348
30349 * Makefile.in (enable_grub_emu): Remove variable.
30350 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30351
30352 * conf/any-emu.rmk: New file.
30353 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30354 (grub_emu_init.c): Move from here ...
30355 * conf/any-emu.rmk: ... to here.
30356
30357 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30358 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30359 * conf/any-emu.rmk: ... to here.
30360
30361 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30362
30363 * include/grub/parser.h (grub_parser_register): Document need
30364 of `name' parameter.
30365 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30366 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30367 "sh" to "grub".
30368
30369 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30370
30371 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30372 `$(XGETTEXT)'.
30373 * include/grub/i18n.h (N_): New macro.
30374 * util/mkisofs/mkisofs.h: Likewise.
30375 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30376 around N_().
30377 (usage): Use gettext() to translate help strings when printing them.
30378
30379 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30380
30381 Based on patch from Bean
30382 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30383
30384 * video/efi_fb.c: New file.
30385 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30386 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30387 variables.
30388 * conf/x86_64-efi.rmk: Likewise.
30389
30390 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30391
30392 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30393 * util/i386/pc/grub-setup.c: Likewise.
30394
30395 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30396
30397 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30398 <hurd/fs.h>
30399 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30400 file_get_storage_info to implement grub_guess_root_device.
30401
30402 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
30403
30404 * Makefile.in (target): Use make's builtin $(shell) function
30405 instead of calling directly $(SHELL) to create the locale directories,
30406 inside the $(foreach) function.
30407
30408 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
30409
30410 * util/grub-mkrescue.in: Print an error and usage if output option
30411 has not been given.
30412
30413 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
30414
30415 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30416 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30417 root and /boot are on different devices.
30418
30419 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30420
30421 Fix build for srcdir != objdir.
30422
30423 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30424 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30425 $(srcdir).
30426 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30427 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30428 reference for input.
30429
30430 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30431
30432 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30433 or hardlinking it). Remove -J option, Joliet is not compatible with
30434 multiple source directories.
30435
30436 2009-11-21 Carles Pina i Estany <carles@pina.cat>
30437 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30438
30439 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30440 (process_input_dir): New function. Process an arbitrary input
30441 directory.
30442 Misc adjustments to support both "override mode" and system-wide mode.
30443
30444 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
30445
30446 * configure.ac (UNIFONT_BDF): Rename to ...
30447 (FONT_SOURCE): ... this. Update all users.
30448
30449 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
30450
30451 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30452 to the list of unifont files to look for.
30453
30454 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30455
30456 Patch from Joe Auricchio <jauricchio@gmail.com>
30457 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30458 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30459 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30460
30461 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
30462
30463 * Makefile.in (install-local): Add a missing backslash.
30464
30465 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
30466
30467 * include/grub/x86_64/io.h: New file.
30468
30469 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30470
30471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30472 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30473 Include `"progname.h"'.
30474 (main): Initialize gettext.
30475 * util/i386/pc/grub-setup.c: Gettexttize.
30476 * util/i386/pc/grub-mkimage.c: Likewise.
30477
30478 * Makefile.in (po/*.po): Redefine as ...
30479 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30480
30481 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30482
30483 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30484
30485 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30486 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30487 (program_name): Remove.
30488 (main): Initialize gettext support.
30489 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30490 Include `<libintl.h>'.
30491 (_): New macro.
30492
30493 * util/mkisofs/eltorito.c: Gettexttize.
30494 * util/mkisofs/joliet.c: Likewise.
30495 * util/mkisofs/mkisofs.c: Likewise.
30496 * util/mkisofs/multi.c: Likewise.
30497 * util/mkisofs/rock.c: Likewise.
30498 * util/mkisofs/tree.c: Likewise.
30499 * util/mkisofs/write.c: Likewise.
30500
30501 * po/POTFILES: Update with new files.
30502
30503 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30504
30505 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30506 * util/mkisofs/iso9660.h: Likewise.
30507 * util/mkisofs/joliet.c: Likewise.
30508 * util/mkisofs/mkisofs.c: Likewise.
30509 * util/mkisofs/mkisofs.h: Likewise.
30510 * util/mkisofs/rock.c: Likewise.
30511 * util/mkisofs/tree.c: Likewise.
30512 * util/mkisofs/write.c: Likewise.
30513
30514 * util/mkisofs/eltorito.c (rcsid): Remove.
30515 * util/mkisofs/hash.c: Likewise.
30516 * util/mkisofs/joliet.c: Likewise.
30517 * util/mkisofs/name.c: Likewise.
30518 * util/mkisofs/rock.c: Likewise.
30519 * util/mkisofs/tree.c: Likewise.
30520 * util/mkisofs/write.c: Likewise.
30521
30522 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30523
30524 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30525 instead of static allocation.
30526 * util/mkisofs/match.h: Likewise.
30527
30528 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30529
30530 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30531 and `util/grub.d/10_linux.in'.
30532 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30533 translatable Shell files.
30534
30535 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30536
30537 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30538
30539 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30540
30541 * INSTALL: Document Automake is needed for bootstrap.
30542 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
30543 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30544 Add gettext initialization.
30545 (kfreebsd_entry): Make menuentry output translatable.
30546
30547 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30548
30549 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30550 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30551 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30552 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30553 (LINGUAS): Auto-generate using `po/LINGUAS'.
30554 * po/LINGUAS: New file.
30555
30556 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30557
30558 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30559 other things).
30560 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30561 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30562 bindtextdomain() calls for gettext initialization.
30563
30564 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30565
30566 * gnulib/progname.c: New file (imported from Gnulib).
30567 * gnulib/progname.h: Likewise.
30568 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30569 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30570 (usage): Replace `progname' with `program_name'.
30571 (main): Use set_program_name() for program name initialization.
30572
30573 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30574
30575 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30576 from here ...
30577 * Makefile.in (CPPFLAGS): ... to here.
30578
30579 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30580
30581 * aclocal.m4: Move from here ...
30582 * acinclude.m4: ... to here.
30583 * autogen.sh: Add call to `aclocal'.
30584 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30585
30586 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30587
30588 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30589 (LINGUAS): New variable.
30590 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30591 (install-local): Install MO files.
30592 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30593 * include/grub/i18n.h: New file.
30594 * po/POTFILES: New file.
30595 * po/ca.po: New file.
30596 * util/grub.d/10_linux.in (bindir): New variable.
30597 Add gettext initialization.
30598 (linux_entry): Make menuentry output translatable.
30599 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30600 (usage): Make --help output translatable.
30601 (main): Initialize gettext.
30602
30603 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * import_gcry.py: New file (written by Vladimir with minor
30606 adjustments).
30607 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30608 ciphers.
30609 * INSTALL: Document that Python is required for bootstrap.
30610
30611 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30612
30613 Import ciphers from libgcrypt 1.4.4.
30614
30615 * lib/libgcrypt/cipher/ChangeLog
30616 * lib/libgcrypt/cipher/ac.c
30617 * lib/libgcrypt/cipher/arcfour.c
30618 * lib/libgcrypt/cipher/bithelp.h
30619 * lib/libgcrypt/cipher/blowfish.c
30620 * lib/libgcrypt/cipher/camellia-glue.c
30621 * lib/libgcrypt/cipher/camellia.c
30622 * lib/libgcrypt/cipher/camellia.h
30623 * lib/libgcrypt/cipher/cast5.c
30624 * lib/libgcrypt/cipher/cipher.c
30625 * lib/libgcrypt/cipher/crc.c
30626 * lib/libgcrypt/cipher/des.c
30627 * lib/libgcrypt/cipher/dsa.c
30628 * lib/libgcrypt/cipher/ecc.c
30629 * lib/libgcrypt/cipher/elgamal.c
30630 * lib/libgcrypt/cipher/hash-common.c
30631 * lib/libgcrypt/cipher/hash-common.h
30632 * lib/libgcrypt/cipher/hmac-tests.c
30633 * lib/libgcrypt/cipher/md.c
30634 * lib/libgcrypt/cipher/md4.c
30635 * lib/libgcrypt/cipher/md5.c
30636 * lib/libgcrypt/cipher/primegen.c
30637 * lib/libgcrypt/cipher/pubkey.c
30638 * lib/libgcrypt/cipher/rfc2268.c
30639 * lib/libgcrypt/cipher/rijndael-tables.h
30640 * lib/libgcrypt/cipher/rijndael.c
30641 * lib/libgcrypt/cipher/rmd.h
30642 * lib/libgcrypt/cipher/rmd160.c
30643 * lib/libgcrypt/cipher/rsa.c
30644 * lib/libgcrypt/cipher/seed.c
30645 * lib/libgcrypt/cipher/serpent.c
30646 * lib/libgcrypt/cipher/sha1.c
30647 * lib/libgcrypt/cipher/sha256.c
30648 * lib/libgcrypt/cipher/sha512.c
30649 * lib/libgcrypt/cipher/tiger.c
30650 * lib/libgcrypt/cipher/twofish.c
30651 * lib/libgcrypt/cipher/whirlpool.c
30652
30653 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30654
30655 Fix build for systems without error().
30656
30657 * gnulib/error.c: New file (imported from Gnulib).
30658 * gnulib/error.h: Likewise.
30659 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30660 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30661 (this variable is now used by error()).
30662
30663 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
30664
30665 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30666 instead of relying that char is signed.
30667
30668 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30669
30670 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30671 blocksize different from specified.
30672 (grub_pxefs_read): Likewise.
30673
30674 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
30675
30676 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30677
30678 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30679 (grub_ata_readwrite): Likewise. Update 2 format strings.
30680 (grub_atapi_read): Likewise.
30681
30682 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30683 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30684 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30685 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30686 (ata_mod_LDFLAGS): Move from here ...
30687 * conf/i386.rmk: ... to here ...
30688 * conf/x86_64-efi.rmk: ... and here.
30689 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30690 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30691
30692 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30693
30694 Relicense multiboot.h, with RMS' blessing.
30695
30696 * include/multiboot.h: Change to X11 license.
30697
30698 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30699
30700 Support --version in grub-mkisofs.
30701
30702 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30703 (OPTION_VERSION): New macro.
30704 (ld_options): Recognize --version.
30705 (usage): Move `program_name' from here ...
30706 (program_name): ... to here. Add `static' qualifier.
30707 (main): Recognize `OPTION_VERSION'.
30708
30709 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
30710
30711 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30712 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30713
30714 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30715
30716 Fix help2man generation for mkisofs.
30717
30718 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30719 (usage): Send output to stdout (rather than stderr).
30720
30721 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30722
30723 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30724 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30725 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30726 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30727 (bin_SCRIPTS): Add `grub-mkfloppy'.
30728 (grub_mkfloppy_SOURCES): New variable.
30729
30730 * util/grub-mkrescue.in: New file.
30731 * util/i386/pc/grub-mkfloppy.in: New file.
30732
30733 * util/i386/coreboot/grub-mkrescue.in: Remove.
30734 * util/i386/pc/grub-mkrescue.in: Remove.
30735
30736 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30737
30738 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30739 from here ...
30740 * include/multiboot.h (struct multiboot_header): ... to here. Update
30741 all users.
30742 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30743 from here ...
30744 * include/multiboot.h (struct multiboot_info): ... to here. Update
30745 all users.
30746 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30747 from here ...
30748 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30749 Update all users.
30750 * include/grub/multiboot.h (struct grub_mod_list): Move
30751 from here ...
30752 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30753 Update all users.
30754
30755 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30756
30757 * include/multiboot2.h (multiboot_word): Rename from this ...
30758 (multiboot2_word): ... to this. Update all users.
30759 (multiboot_header): Rename from this ...
30760 (multiboot2_header): ... to this. Update all users.
30761 (multiboot_tag_header): Rename from this ...
30762 (multiboot2_tag_header): ... to this. Update all users.
30763 (multiboot_tag_start): Rename from this ...
30764 (multiboot2_tag_start): ... to this. Update all users.
30765 (multiboot_tag_name): Rename from this ...
30766 (multiboot2_tag_name): ... to this. Update all users.
30767 (multiboot_tag_module): Rename from this ...
30768 (multiboot2_tag_module): ... to this. Update all users.
30769 (multiboot_tag_memory): Rename from this ...
30770 (multiboot2_tag_memory): ... to this. Update all users.
30771 (multiboot_tag_unused): Rename from this ...
30772 (multiboot2_tag_unused): ... to this. Update all users.
30773 (multiboot_tag_end): Rename from this ...
30774 (multiboot2_tag_end): ... to this. Update all users.
30775
30776 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30777
30778 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30779 this platform we should support Multiboot1 first.
30780
30781 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30782 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30783 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30784
30785 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30786
30787 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30788 of write calls (converting them to fwrite() if they aren't already).
30789 (get_torito_desc): Likewise.
30790 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30791
30792 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30793
30794 * util/i386/pc/grub-install.in: Move from here ...
30795 * util/grub-install.in: ... to here. Update all users.
30796
30797 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
30798
30799 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30800
30801 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30802
30803 Support for El Torito without floppy emulation.
30804
30805 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30806 (init_boot_catalog): Improve error handling.
30807 (get_torito_desc): Don't use floppy emulation unless requested by
30808 user. Patch boot information table when requested via
30809 `-boot-info-table'.
30810 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30811 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30812 (use_boot_info_table): New variables.
30813 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30814 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30815 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30816 `--eltorito-emul-floppy'.
30817 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30818 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30819 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30820 (use_boot_info_table, get_731): New prototypes.
30821 * util/mkisofs/write.c (get_731): New function.
30822
30823 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
30824
30825 Fix the generation of the man page.
30826
30827 * util/pc/i386/grub-install.in: Source
30828 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30829
30830 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30831
30832 Large file support for grub-mkisofs.
30833
30834 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30835 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30836 (session_start): Upgrade type to `uint64_t'. Update all users.
30837 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30838 (struct directory_entry): Upgrade type of `starting_block' and
30839 `size' to `uint64_t'. Update all users.
30840 (struct deferred): Remove unused structure.
30841 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30842 Update all users.
30843 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30844 file is larger than `UINT32_MAX'.
30845 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30846 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30847 return value.
30848 (struct deferred_write): Upgrade type of `extent' and `size' to
30849 `uint64_t'. Update all users.
30850 (last_extent_written): Upgrade type to `uint64_t'. Update all
30851 users.
30852 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30853 Update all users. Upgrade type of `remain' to `int64_t' and
30854 `use' to `size_t'. Use error() to handle fread() errors.
30855 (write_files): Rely on write_one_file() rather than calling
30856 xfwrite() directly.
30857
30858 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
30859
30860 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30861
30862 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * util/mkisofs/fnmatch.c: Remove.
30865 * util/mkisofs/getopt1.c: Likewise.
30866 * util/mkisofs/getopt.c: Likewise.
30867 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30868 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30869 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30870 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30871 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30872
30873 * configure.ac: Detect `mingw32msvc' host_os.
30874 Check for lstat(), getuid() and getgid().
30875
30876 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30877 instances of `u_char' with `uint8_t'.
30878
30879 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30880 [!HAVE_GETUID] (getuid): New function (stub).
30881 [!HAVE_GETGID] (getgid): Likewise.
30882 [!HAVE_LSTAT] (lstat): Likewise.
30883 [!S_IROTH] (S_IROTH): New macro (dummy).
30884 [!S_IRGRP] (S_IRGRP): Likewise.
30885
30886 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30887
30888 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30889 conditional expression).
30890
30891 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30892
30893 Import from Gnulib.
30894
30895 * gnulib/fnmatch.c: New file.
30896 * gnulib/fnmatch.h: Likewise.
30897 * gnulib/fnmatch_loop.c: Likewise.
30898 * gnulib/getopt.c: Likewise.
30899 * gnulib/getopt.h: Likewise.
30900 * gnulib/getopt1.c: Likewise.
30901 * gnulib/getopt_int.h: Likewise.
30902 * gnulib/gettext.h: Likewise.
30903
30904 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30905
30906 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30907 * normal/handler.c (read_handler_list): Likewise.
30908
30909 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30910
30911 Misc cleanup.
30912
30913 * kern/command.c (grub_register_command_prio): Use
30914 grub_zalloc() instead of explicitly zeroing data.
30915 * kern/list.c: Include `<grub/mm.h>'.
30916 (grub_named_list_find): Replace `0' with `NULL'.
30917 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30918 (fs_module_list): Change type to `grub_named_list_t'. Update all
30919 users.
30920 * normal/dyncmd.c (read_command_list): Add space between function
30921 call and parenthesis.
30922 * normal/handler.c (read_handler_list): Likewise.
30923
30924 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30925
30926 * normal/auth.c (punishment_delay): Moved from here ...
30927 (grub_auth_strcmp): ... to here (inside function).
30928
30929 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30930
30931 * include/grub/list.h (struct grub_named_list): Remove `const'
30932 qualifier from `name'.
30933 (struct grub_prio_list): Likewise.
30934
30935 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30936
30937 * normal/auth.c: Include `<grub/time.h>'.
30938 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30939
30940 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30941
30942 * normal/auth.c (punishment_delay): New variable.
30943 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30944 (grub_auth_check_authentication): Punish failed login attempts with
30945 an incremental (2^N) delay.
30946
30947 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30948
30949 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30950 path with $(srcdir).
30951
30952 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30953
30954 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30955
30956 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * util/i386/coreboot/grub-mkrescue.in: New file.
30959 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30960 variables.
30961
30962 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30963 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30964 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30965 requirements.
30966 * util/mkisofs/defaults.h: New file.
30967 * util/mkisofs/eltorito.c: Likewise.
30968 * util/mkisofs/exclude.h: Likewise.
30969 * util/mkisofs/fnmatch.c: Likewise.
30970 * util/mkisofs/getopt.c: Likewise.
30971 * util/mkisofs/getopt1.c: Likewise.
30972 * util/mkisofs/hash.c: Likewise.
30973 * util/mkisofs/include/fctldefs.h: Likewise.
30974 * util/mkisofs/include/mconfig.h: Likewise.
30975 * util/mkisofs/include/prototyp.h: Likewise.
30976 * util/mkisofs/include/statdefs.h: Likewise.
30977 * util/mkisofs/iso9660.h: Likewise.
30978 * util/mkisofs/joliet.c: Likewise.
30979 * util/mkisofs/match.c: Likewise.
30980 * util/mkisofs/match.h: Likewise.
30981 * util/mkisofs/mkisofs.c: Likewise.
30982 * util/mkisofs/mkisofs.h: Likewise.
30983 * util/mkisofs/multi.c: Likewise.
30984 * util/mkisofs/name.c: Likewise.
30985 * util/mkisofs/rock.c: Likewise.
30986 * util/mkisofs/tree.c: Likewise.
30987 * util/mkisofs/write.c: Likewise.
30988
30989 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30990
30991 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30992 being insecure.
30993
30994 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30995
30996 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30997 `grub-mkimage' (and use $0 when possible).
30998
30999 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31000
31001 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
31002 error message for excessively large memory map.
31003
31004 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31005
31006 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
31007 executable bit.
31008
31009 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
31010
31011 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
31012 message for coreboot users.
31013
31014 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
31015
31016 Fix build with GNU gold.
31017
31018 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
31019 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
31020 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
31021 link addresses.
31022 * aclocal.m4: Likewise.
31023
31024 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
31025
31026 * configure.ac (AC_PREREQ): Bump to 2.59d.
31027 * INSTALL: Make it more clear when Autoconf and Ruby are
31028 needed and when to run `./autogen.sh'.
31029
31030 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
31031
31032 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
31033 OSes.
31034
31035 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31036
31037 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
31038
31039 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31040
31041 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
31042 giving it to GNU Mach.
31043
31044 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31045
31046 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
31047 GNU partition number to get internal GRUB partition number.
31048
31049 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
31050
31051 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
31052 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
31053
31054 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
31057 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
31058 case.
31059
31060 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
31061
31062 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
31063
31064 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31065
31066 Fix build problem.
31067
31068 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
31069 `-isystem=$(srcdir)/include'.
31070
31071 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
31072
31073 * util/i386/pc/grub-install.in: Remove hint that device.map should be
31074 checked (grub-install doesn't currently rely on it).
31075
31076 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
31077
31078 Revert SVN r2660.
31079
31080 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
31081 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31082 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
31083 * conf/i386-ieee1275.rmk: Likewise.
31084 * conf/i386-pc.rmk: Likewise.
31085 * conf/powerpc-ieee1275.rmk: Likewise.
31086 * conf/sparc64-ieee1275.rmk: Likewise.
31087 * conf/x86_64-efi.rmk: Likewise.
31088
31089 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31090
31091 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
31092
31093 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 * include/grub/misc.h: Stop checking for APPLE_CC.
31096
31097 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
31098
31099 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
31100 doesn't cause an infinite call loop.
31101
31102 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
31103
31104 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
31105 strings.
31106
31107 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31108
31109 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
31110 variable.
31111 * Makefile.in: Likewise.
31112
31113 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31114
31115 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
31116
31117 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31118
31119 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
31120
31121 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31122
31123 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
31124
31125 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31126
31127 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
31128 from here ...
31129 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
31130
31131 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31132
31133 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
31134 in $(MAKEINFO) invocation. This makes it clear in output that
31135 errors are being ignored.
31136
31137 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31138
31139 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
31140 from here ...
31141 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
31142 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
31143 * conf/i386-ieee1275.rmk: Likewise.
31144 * conf/i386-pc.rmk: Likewise.
31145 * conf/powerpc-ieee1275.rmk: Likewise.
31146 * conf/sparc64-ieee1275.rmk: Likewise.
31147 * conf/x86_64-efi.rmk: Likewise.
31148
31149 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
31150
31151 * util/grub-editenv.c (main): If only a command is given, use
31152 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
31153 (usage): FILENAME is now optional and has a default.
31154
31155 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
31156
31157 Improve grub-mkconfig performance when there are several menu
31158 entries on a single filesystem.
31159
31160 * util/grub.d/10_linux.in (linux_entry): Cache the output of
31161 prepare_grub_to_access_device.
31162 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31163 * util/grub.d/30_os-prober.in: Likewise.
31164
31165 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31166
31167 * util/grub.d/10_freebsd.in: Remove.
31168 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
31169 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
31170
31171 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
31172
31173 * docs/grub.cfg: Fix example usage of *BSD loaders.
31174
31175 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31176
31177 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
31178 grub_util_error() call.
31179
31180 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31181
31182 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
31183 `reserved_first_sector' member.
31184 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
31185 `reserved_first_sector' to 1.
31186 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
31187 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
31188 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
31189 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
31190 filesystems which begin at first sector.
31191 (options): New option --skip-fs-probe.
31192 (main): Handle --skip-fs-probe and pass it to setup().
31193
31194 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31195
31196 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
31197 (memset): Fix function prototype.
31198
31199 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31200 2009-10-25 Vasily Averin <vvs@parallels.com>
31201
31202 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
31203 `dirent.direntlen == 0'.
31204
31205 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
31208 `cpio'.
31209 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
31210
31211 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31212
31213 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
31214 `__trampoline_setup' and `__ucmpdi2'.
31215 * include/grub/powerpc/libgcc.h: Only export symbols for functions
31216 that libgcc provides.
31217
31218 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31219
31220 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
31221 * include/grub/sparc64/libgcc.h (memset): Likewise.
31222 * include/grub/misc.h (memset, memcmp): New function prototypes.
31223
31224 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31225
31226 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
31227 `cpio'.
31228 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
31229
31230 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
31231
31232 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
31233 * docs/grub.cfg: Compensate for recent change in multiboot
31234 loader (since 2009-08-14 it won't pass filename to payload).
31235 * util/grub.d/10_hurd.in: Likewise.
31236
31237 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
31238
31239 * config.guess: Update to latest version from config git
31240 repository.
31241 * config.sub: Likewise.
31242
31243 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
31244
31245 Fix build on sparc64.
31246
31247 * configure.ac: Perform checks for libgcc symbols before
31248 adding `-nostdlib' to LDFLAGS.
31249
31250 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31251
31252 Let user specify OpenBSD root device.
31253
31254 * loader/i386/bsd.c (openbsd_root): New variable.
31255 (openbsd_opts): New option 'root'.
31256 (OPENBSD_ROOT_ARG): New macro.
31257 (grub_openbsd_boot): Use 'openbsd_root'.
31258 (grub_cmd_openbsd): Fill 'openbsd_root'.
31259
31260 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31261
31262 * NEWS: Misc adjustments.
31263
31264 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
31265
31266 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
31267
31268 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
31269
31270 * configure.ac: Bump version to 1.97.
31271
31272 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
31273
31274 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
31275 -mno-3dnow on x86 architectures. Some toolchains enable these
31276 features by default, but they rely on registers that aren't enabled
31277 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
31278
31279 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
31280
31281 Make entry text a bit more readable.
31282
31283 * util/grub.d/10_linux.in: Add `with' before `Linux'.
31284
31285 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31286
31287 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
31288
31289 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31290
31291 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
31292 operations.
31293
31294 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31295
31296 * configure.ac: Add missing dollar.
31297
31298 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
31299
31300 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
31301
31302 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
31303 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
31304 exports.
31305 * include/grub/sparc64/libgcc.h: Likewise. Use
31306 preprocessor conditionals.
31307
31308 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31309
31310 * conf/common.rmk (grub-dumpbios): Remove rule.
31311 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
31312 * util/grub-dumpbios.in: Remove file.
31313
31314 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
31315
31316 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
31317 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
31318
31319 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
31320 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
31321 users.
31322
31323 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
31324 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
31325 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
31326 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
31327 users.
31328
31329 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
31330
31331 * term/tparm.c: Switch to GPLv3.
31332
31333 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31334
31335 * include/grub/i386/cpuid.h: Add header protection.
31336
31337 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31338
31339 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31340
31341 * include/grub/i386/cpuid.h: New file.
31342 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31343 (has_longmode): Rename to ...
31344 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31345 `static' attribute.
31346 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31347 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31348 on a CPU that doesn't implement AMD64 instruction set.
31349
31350 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
31351
31352 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31353 that version.texi is rebuilt on version number changes.
31354
31355 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
31356
31357 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31358 Fixes bug #27602.
31359
31360 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
31361
31362 * util/i386/pc/grub-install.in: Source
31363 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31364 that the --grub-probe option will work.
31365 * util/sparc64/ieee1275/grub-install.in: Likewise.
31366
31367 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31368
31369 * configure.ac: Bump version to 1.97~beta4.
31370
31371 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31372
31373 Resync grub-mkdevicemap in x86_64-efi.
31374
31375 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31376 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31377 `util/devicemap.c'.
31378
31379 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
31380
31381 * util/grub-editenv.c (create_envblk_file): Write new block with a
31382 .new suffix and then rename it into place, to ensure atomic
31383 creation.
31384
31385 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31386
31387 Do not automatically install headers.
31388
31389 * Makefile.in (include_DATA): Remove. Update all users.
31390
31391 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31392
31393 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31394 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31395
31396 * util/osdetect.lua: Remove.
31397 * script/lua/lauxlib.c: Likewise.
31398 * script/lua/ldebug.c: Likewise.
31399 * script/lua/grub_main.c: Likewise.
31400 * script/lua/lauxlib.h: Likewise.
31401 * script/lua/ldebug.h: Likewise.
31402 * script/lua/ltablib.c: Likewise.
31403 * script/lua/liolib.c: Likewise.
31404 * script/lua/lstrlib.c: Likewise.
31405 * script/lua/lualib.h: Likewise.
31406 * script/lua/ldo.c: Likewise.
31407 * script/lua/ldump.c: Likewise.
31408 * script/lua/ldo.h: Likewise.
31409 * script/lua/loslib.c: Likewise.
31410 * script/lua/lundump.c: Likewise.
31411 * script/lua/grub_lib.c: Likewise.
31412 * script/lua/ldblib.c: Likewise.
31413 * script/lua/lundump.h: Likewise.
31414 * script/lua/lmem.c: Likewise.
31415 * script/lua/grub_lib.h: Likewise.
31416 * script/lua/lmathlib.c: Likewise.
31417 * script/lua/lstate.c: Likewise.
31418 * script/lua/ltm.c: Likewise.
31419 * script/lua/lvm.c: Likewise.
31420 * script/lua/lmem.h: Likewise.
31421 * script/lua/lstate.h: Likewise.
31422 * script/lua/ltm.h: Likewise.
31423 * script/lua/ltable.c: Likewise.
31424 * script/lua/lvm.h: Likewise.
31425 * script/lua/llex.c: Likewise.
31426 * script/lua/lgc.c: Likewise.
31427 * script/lua/grub_lua.h: Likewise.
31428 * script/lua/loadlib.c: Likewise.
31429 * script/lua/lfunc.c: Likewise.
31430 * script/lua/lopcodes.c: Likewise.
31431 * script/lua/lparser.c: Likewise.
31432 * script/lua/ltable.h: Likewise.
31433 * script/lua/llex.h: Likewise.
31434 * script/lua/lgc.h: Likewise.
31435 * script/lua/lfunc.h: Likewise.
31436 * script/lua/lbaselib.c: Likewise.
31437 * script/lua/lopcodes.h: Likewise.
31438 * script/lua/lparser.h: Likewise.
31439 * script/lua/lzio.c: Likewise.
31440 * script/lua/linit.c: Likewise.
31441 * script/lua/lobject.c: Likewise.
31442 * script/lua/llimits.h: Likewise.
31443 * script/lua/lstring.c: Likewise.
31444 * script/lua/lzio.h: Likewise.
31445 * script/lua/lapi.c: Likewise.
31446 * script/lua/lcode.c: Likewise.
31447 * script/lua/lua.h: Likewise.
31448 * script/lua/lobject.h: Likewise.
31449 * script/lua/lstring.h: Likewise.
31450 * script/lua/lapi.h: Likewise.
31451 * script/lua/lcode.h: Likewise.
31452 * script/lua/luaconf.h: Likewise.
31453
31454 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
31455
31456 * docs/grub.texi (Command-line and menu entry commands): Document
31457 date and echo commands.
31458
31459 2009-09-24 Pavel Roskin <proski@gnu.org>
31460
31461 * include/grub/kernel.h (struct grub_module_header): Remove
31462 `grub_module_header_types'. Make `type' unsigned. Make `size'
31463 32-bit on all platforms.
31464 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31465 8-bit field. Use grub_host_to_target32() for `size'.
31466 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31467 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31468 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31469
31470 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31471
31472 Fix "lost keypress" bug in at_keyboard.
31473
31474 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31475 Checks for readyness of input buffer (without flushing it).
31476 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31477 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31478
31479 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31480
31481 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31482 size check within GRUB_MACHINE_PCBIOS section.
31483
31484 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31485
31486 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31487 return value.
31488 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31489 KEYBOARD_ISREADY check.
31490 (grub_at_keyboard_checkkey): Rename to ...
31491 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31492 Remove gratuitous cast.
31493
31494 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
31495
31496 * configure.ac: Call AC_PROG_MKDIR_P.
31497 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31498 version.texi in $(builddir) rather than $(srcdir).
31499 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31500 to makeinfo's @include search path.
31501
31502 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
31503
31504 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31505
31506 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
31507
31508 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31509 for `*.dpkg-new'.
31510
31511 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
31512
31513 Build info documentation. Some code borrowed from Automake.
31514
31515 * configure.ac: Check for makeinfo.
31516 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31517 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31518 docs/version.texi.
31519 (MOSTLYCLEANFILES): Add vti.tmp.
31520 (docs/version.texi, docs/stamp-vti): Update automatically.
31521 (docs/grub.info): Build info documentation. Use --force and ignore
31522 errors for now.
31523 (all-local): Add $(INFOS).
31524 (install-local): Install info files.
31525 (uninstall): Uninstall info files.
31526 * docs/version.texi: Remove from revision control. This file is
31527 automatically generated on build now.
31528 * gendistlist.sh: Add `*.info'.
31529
31530 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
31531
31532 * kern/term.c: Fix indentation.
31533
31534 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
31535
31536 * util/hostdisk.c: Fix a comment.
31537
31538 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31539
31540 Fix regression introduced in r2539.
31541
31542 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31543 to 0xA1.
31544
31545 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
31546
31547 * util/grub.d/30_os-prober.in: Don't throw away stderr from
31548 os-prober. Under normal operation, it does not print anything to
31549 stderr; if it does, we need to debug it, and throwing away stderr
31550 makes that excessively difficult.
31551
31552 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31553
31554 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31555
31556 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31557
31558 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31559 AC_LANG_PROGRAM from autoconf.
31560 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31561 prototypes (fixes warning).
31562
31563 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31564 `--disable-werror' was used.
31565
31566 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31567
31568 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31569 uninitialized `lastaddr'.
31570
31571 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31572
31573 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
31574
31575 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
31576
31577 * commands/test.c (get_fileinfo): Return immediately if
31578 grub_fs_probe fails.
31579
31580 2009-09-14 José Martínez <xosemp@gmail.com>
31581
31582 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31583
31584 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
31585
31586 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31587 output.
31588
31589 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31590
31591 * configure.ac: Remove --enable-grub-pe2elf. Only build
31592 grub-pe2elf when needed by the build system itself.
31593 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31594
31595 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31596
31597 * configure.ac: Bump version to 1.97~beta3.
31598 * docs/version.texi: Likewise.
31599
31600 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31601
31602 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31603 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31604 from here ...
31605 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31606 (grub_linux_setup_video): ... to here (with some adjustments).
31607
31608 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31609
31610 Fix memory corruption issue (spotted by Colin Watson).
31611
31612 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31613 causing returned size to be stored in an incorrect memory location.
31614 Fix use of uninitialized value when storing the returned size.
31615
31616 2009-09-12 Yves Blusseau <blusseau@zetam.org>
31617
31618 Change clean rules to properly remove files
31619
31620 * genmk.rb: add new clean rules
31621 * Makefile.in (clean): add the new targets
31622 (mostlyclean): likewise
31623
31624 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
31625
31626 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31627 to grub_uint64_t.
31628 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31629 non-resident files.
31630
31631 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
31632
31633 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31634 part of bug #27349.
31635
31636 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
31637
31638 * util/grub-mkconfig.in: Make the created config mode 400 and
31639 print a warning if it fails.
31640
31641 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31642
31643 * util/grub.d/40_custom.in: Ask user to type custom entries below
31644 comment, rather than below 'exec tail' line.
31645
31646 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
31647
31648 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31649 visible in grub.cfg.
31650
31651 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
31652
31653 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31654 file.
31655
31656 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
31657
31658 * docs/grub.cfg: Add an example menu entry for memtest86+.
31659
31660 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
31661
31662 * config.guess: Update to latest version from config git.
31663 * config.sub: Likewise.
31664
31665 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
31666
31667 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31668 unknown-command case. Fixes bug #27320.
31669
31670 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
31671
31672 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31673 `help' if the command exists.
31674
31675 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31676
31677 * INSTALL: Require GCC 4.1.3 or later.
31678
31679 2009-09-06 Yves Blusseau <blusseau@zetam.org>
31680
31681 * Makefile.in (RMKFILES): add i386-qemu.rmk
31682 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31683 $(srcdir)/stamp-h.in
31684
31685 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31686
31687 * util/grub-probe.c (probe): Comment out buggy codepath, which
31688 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31689 should be re-enabled after 1.97.
31690
31691 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
31692
31693 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31694 find searches for.
31695
31696 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31697
31698 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31699 unnecessary calls to grub_error.
31700
31701 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
31702
31703 * NEWS: Mention `keystatus' and Unicode fonts.
31704
31705 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31706
31707 * configure.ac: Bump version to 1.97~beta2.
31708 * docs/version.texi: Likewise.
31709
31710 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
31711
31712 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31713 containing unwind information in some cases where it previously did
31714 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31715 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31716 discussion.
31717
31718 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31719
31720 Embedding loadenv module into grub-emu
31721
31722 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31723 commands/loadenv.c
31724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31725 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31726 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31730
31731 2009-09-03 Magnus Granberg <zorry@ume.nu>
31732
31733 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31734 include -fPIE in the default specs.
31735 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31736 to TARGET_CFLAGS.
31737
31738 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
31739
31740 * INSTALL: Note that GNU Bison 2.3 or later is required.
31741
31742 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
31743
31744 * kern/i386/pc/startup.S: Fix typo.
31745
31746 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31747
31748 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31749 according to GCS.
31750
31751 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
31752
31753 * docs/grub.texi (Naming convention): Describe one-based partition
31754 numbering.
31755 (Device syntax): Likewise.
31756 (File name syntax): Likewise.
31757 (Block list syntax): Likewise.
31758 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31759 menu.lst.
31760 (File name syntax): Likewise.
31761 (Command-line and menu entry commands): Document acpi, blocklist,
31762 crc, export, insmod, keystatus, ls, set, and unset commands.
31763
31764 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
31765
31766 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31767 to avoid implying that only one of --shift, --ctrl, or --alt may be
31768 used.
31769
31770 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
31771
31772 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31773 rather than comparing against S_IFREG, which will almost never work.
31774
31775 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31776
31777 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31778 (write_blocklists): Likewise.
31779
31780 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
31781
31782 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31783 argument to grub_printf.
31784
31785 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
31786
31787 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
31788 non GNU test.
31789
31790 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31791
31792 * kern/file.c (grub_file_read): Spelling fix
31793
31794 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31795
31796 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31797 loading of headers in some cases.
31798
31799 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31800
31801 * configure.ac: Bump version to 1.97~beta1.
31802 * docs/version.texi: Likewise.
31803
31804 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
31805
31806 * include/grub/i386/xnu.h: Add license header.
31807 include grub/err.h explicitly.
31808
31809 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31810
31811 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31812 to `ufs' in the vfs.root.mountfrom kernel parameter.
31813
31814 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31815
31816 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31817
31818 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31819 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31820
31821 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31822 `ARRAY_SIZE' macro.
31823
31824 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31825
31826 * kern/file.c (grub_file_read): Check offset.
31827 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31828 * fs/jfs.c (grub_jfs_read_file): Likewise.
31829 * fs/ntfs.c (grub_ntfs_read): Likewise.
31830 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31831 * fs/minix.c (grub_minix_read_file): Correct offset check.
31832 * fs/ufs.c (grub_ufs_read_file): Likewise.
31833
31834 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
31835
31836 * term/i386/pc/console.c (bios_data_area): Cast
31837 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31838
31839 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31840
31841 1-bit optimised blitters.
31842
31843 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31844 prototype.
31845 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31846 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31847 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31848 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31849 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31850 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31851 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31852 function.
31853 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31854 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31855 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31856 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31857 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31858 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31859 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31860 when possible.
31861 * video/video.c (grub_video_get_blit_format): Return
31862 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31863
31864 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
31865
31866 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31867 the first argument to grub_printf.
31868
31869 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
31870 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31871
31872 Add `getkeystatus' terminal method. Add a new `keystatus' command
31873 to query it.
31874
31875 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31876 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31877 modifier key bitmasks.
31878 (struct grub_term_input): Add `getkeystatus' member.
31879 (grub_getkeystatus): Add prototype.
31880 * kern/term.c (grub_getkeystatus): New function.
31881
31882 * include/grub/i386/pc/memory.h
31883 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31884 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31885 Data Area layout.
31886 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31887 (grub_console_term_input): Set `getkeystatus' member.
31888 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31889 constants.
31890 (grub_usb_keyboard_getreport): Likewise.
31891 (grub_usb_keyboard_checkkey): Likewise.
31892 (grub_usb_keyboard_getkeystatus): New function.
31893 (grub_usb_keyboard_term): Set `getkeystatus' member.
31894
31895 * commands/keystatus.c: New file.
31896 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31897 (keystatus_mod_SOURCES): New variable.
31898 (keystatus_mod_CFLAGS): Likewise.
31899 (keystatus_mod_LDFLAGS): Likewise.
31900 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31901 commands/keystatus.c.
31902 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31908
31909 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31910
31911 Split befs.mod and afs.mod into *_be.mod and *.mod
31912
31913 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31914 (grub_fstest_SOURCES): Likewise.
31915 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31916 (afs_be_mod_SOURCES): New variable.
31917 (afs_be_mod_CFLAGS): Likewise.
31918 (afs_be_mod_LDFLAGS): Likewise.
31919 (befs_be_mod_SOURCES): Likewise.
31920 (befs_be_mod_CFLAGS): Likewise.
31921 (befs_be_mod_LDFLAGS): Likewise.
31922 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31923 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31925 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31926 (grub_emu_SOURCES): Likewise.
31927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31929 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31930 * fs/afs_be.c: New file.
31931 * fs/befs_be.c: New file.
31932 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31933 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31934 (U16): Replaced with ...
31935 (grub_afs_to_cpu16): ...this. All users updated.
31936 (U32): Replaced with ...
31937 (grub_afs_to_cpu32): ...this. All users updated.
31938 (U64): Replaced with ...
31939 (grub_afs_to_cpu64): ...this. All users updated.
31940 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31941 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
31942 (grub_afs_validate_sblock): Check only one endianness.
31943 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31944 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31945 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31946 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31947 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31948 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31949 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31950 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31951
31952 2009-08-26 Bean <bean123ch@gmail.com>
31953
31954 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31955 64-bit number.
31956 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31957 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31958 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31959
31960 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31961
31962 NetBSD memory map support.
31963
31964 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31965 (grub_netbsd_btinfo_mmap_header): New structure.
31966 (grub_netbsd_btinfo_mmap_entry): Likewise.
31967 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31968
31969 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31970
31971 Enable bsd.mod on coreboot.
31972
31973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31974 (bsd_mod_SOURCES): New variable.
31975 (bsd_mod_CFLAGS): Likewise.
31976 (bsd_mod_LDFLAGS): Likewise.
31977 (bsd_mod_ASFLAGS): Likewise.
31978 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31979 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31980
31981 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31982
31983 Cleanup NetBSD root support.
31984
31985 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31986 grub_bsd_get_device.
31987 Fix typo.
31988
31989 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
31990
31991 * util/grub.d/00_header.in: Move check for the video backend of
31992 gfxterm from here ...
31993 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31994 a suitable video backend.
31995
31996 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31997
31998 Fix breakage in grub-setup.
31999
32000 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
32001 "msdos_partition_map".
32002
32003 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32004
32005 Fix breakage in normal/auth.c.
32006
32007 * normal/auth.c (grub_iswordseparator): New function.
32008
32009 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
32010
32011 Authentication support.
32012
32013 * commands/password.c: New file.
32014 * conf/common.rmk (pkglib_MODULES): Add password.mod.
32015 (password_mod_SOURCES): New variable.
32016 (password_mod_CFLAGS): Likewise.
32017 (password_mod_LDFLAGS): Likewise.
32018 (normal_mod_SOURCES): Add normal/auth.c.
32019 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
32020 normal/auth.c.
32021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32023 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32025 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32026 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32027 * include/grub/auth.h: New file.
32028 * include/grub/err.h (grub_err_t): New enum value
32029 GRUB_ERR_ACCESS_DENIED.
32030 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
32031 'users'.
32032 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
32033 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
32034 users updated.
32035 * normal/auth.c: New file.
32036 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
32037 (grub_cmdline_run): Don't allow to go to command line without
32038 authentication.
32039 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
32040 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
32041 menuentry without superuser rights.
32042 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
32043 user isn't a superuser.
32044
32045 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32046
32047 Save space by inlining misc.c functions.
32048
32049 * kern/misc.c (grub_iswordseparator): Made static.
32050 * kern/misc.c (grub_strcat): Moved from here ...
32051 * include/grub/misc.h (grub_strcat): ... here. Inlined.
32052 * kern/misc.c (grub_strncat): Moved from here ...
32053 * include/grub/misc.h (grub_strncat): ... here. Inlined.
32054 * kern/misc.c (grub_strcasecmp): Moved from here ...
32055 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
32056 * kern/misc.c (grub_strncasecmp): Moved from here ...
32057 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
32058 * kern/misc.c (grub_isalpha): Moved from here ...
32059 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
32060 * kern/misc.c (grub_isdigit): Moved from here ...
32061 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
32062 * kern/misc.c (grub_isgraph): Moved from here ...
32063 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
32064 * kern/misc.c (grub_tolower): Moved from here ...
32065 * include/grub/misc.h (grub_tolower): ... here. Inlined.
32066
32067 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32068
32069 * script/sh/function.c (grub_script_function_find): Cut error message
32070 not to flood terminal.
32071 * script/sh/lexer.c (grub_script_yylex): Remove command line length
32072 limit.
32073 * script/sh/script.c (grub_script_arg_add): Duplicate string.
32074
32075 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
32076
32077 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
32078 `report' grub_uint8_t *.
32079 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
32080 Use a 50-millisecond timeout rather than just repeating
32081 grub_usb_keyboard_getreport 50 times.
32082 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
32083
32084 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32085
32086 Rename *_partition_map to part_*
32087
32088 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
32089 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
32090 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
32091 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
32092 All users updated.
32093 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
32094 All users updated.
32095 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
32096 * util/grub-probe.c (probe_partmap): Don't transform partition name
32097 to get module name.
32098
32099 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32100
32101 Fix OpenBSD and NetBSD support.
32102
32103 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
32104 memory address conflict.
32105 (OPENBSD_MMAP_ACPI): New definition.
32106 (OPENBSD_MMAP_NVS): Likewise.
32107 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
32108 and OPENBSD_MMAP_NVS.
32109 Add memory map terminator
32110 Explicit cast when calling grub_unix_real_boot.
32111 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
32112
32113 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32114
32115 Let user specify NetBSD root device.
32116
32117 * loader/i386/bsd.c (netbsd_root): New variable.
32118 (netbsd_opts): New option 'root'.
32119 (NETBSD_ROOT_ARG): New macro.
32120 (grub_netbsd_boot): Use 'netbsd_root'.
32121 (grub_bsd_unload): Free 'netbsd_root'.
32122 (grub_cmd_netbsd): Fill 'netbsd_root'.
32123
32124 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32125
32126 Support for 64-bit NetBSD.
32127
32128 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
32129 point when booting non-FreeBSD.
32130
32131 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
32132
32133 Support --no-smp and --no-acpi for NetBSD.
32134
32135 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
32136 (NETBSD_AB_NOACPI): Likewise.
32137 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
32138 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
32139
32140 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32141
32142 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
32143 errors.
32144 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
32145 errors. Call grub_error when needed.
32146
32147 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32148
32149 * commands/search.c (search_fs): Try searching without autoload first.
32150 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
32151 filesystem module explicitly for faster booting.
32152
32153 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
32154
32155 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
32156
32157 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
32158
32159 * util/grub.d/30_os-prober.in: Disable os-prober if
32160 `GRUB_DISABLE_OS_PROBER' was set to true.
32161
32162 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
32163
32164 * partmap/pc.c: Rename to ...
32165 * partmap/msdos.c: ... this. Update all users.
32166 (grub_pc_partition_map): Rename to ...
32167 (grub_msdos_partition_map): ... this. Update all users.
32168
32169 * parttool/pcpart.c: Rename to ...
32170 * parttool/msdospart.c: ... this. Update all users.
32171
32172 * include/grub/pc_partition.h: Rename to ...
32173 * include/grub/msdos_partition.h: ... this. Update all users.
32174 (grub_pc_partition_bsd_entry): Rename to ...
32175 (grub_msdos_partition_bsd_entry): ... this. Update all users.
32176 (grub_pc_partition_disk_label): Rename to ...
32177 (grub_msdos_partition_disk_label): ... this. Update all users.
32178 (grub_pc_partition_entry): Rename to ...
32179 (grub_msdos_partition_entry): ... this. Update all users.
32180 (grub_pc_partition_mbr): Rename to ...
32181 (grub_msdos_partition_mbr): ... this. Update all users.
32182 (grub_pc_partition): Rename to ...
32183 (grub_msdos_partition): ... this. Update all users.
32184 (grub_pc_partition_is_empty): Rename to ...
32185 (grub_msdos_partition_is_empty): ... this. Update all users.
32186 (grub_pc_partition_is_extended): Rename to ...
32187 (grub_msdos_partition_is_extended): ... this. Update all users.
32188 (grub_pc_partition_is_bsd): Rename to ...
32189 (grub_msdos_partition_is_bsd): ... this. Update all users.
32190
32191 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
32192 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
32193 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
32194 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
32195 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
32196 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
32197 (gpt_mod_LDFLAGS): Rename to ...
32198 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
32199 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
32200 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
32201 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
32202 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
32203 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
32204 (part_gpt_mod_LDFLAGS): ... this.
32205 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
32206 `pcpart.mod' to `msdospart.mod'.
32207 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
32208 to ...
32209 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
32210 (msdospart_mod_LDFLAGS): ... this.
32211
32212 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
32213
32214 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
32215 (openbsd_opts): Likewise.
32216 (netbsd_opts): Likewise.
32217 (freebsd_flags): Added 0 terminator.
32218 (openbsd_flags): Likewise.
32219 (netbsd_flags): Likewise.
32220 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
32221 (grub_cmd_freebsd): Transformed into extended command.
32222 (grub_cmd_openbsd): Likewise.
32223 (grub_cmd_netbsd): Likewise.
32224 (cmd_freebsd): Changed type to grub_extcmd_t.
32225 (cmd_openbsd): Likewise.
32226 (cmd_netbsd): Likewise.
32227 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
32228 grub_cmd_openbsd as extended commands.
32229 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
32230 cmd_netbsd and cmd_openbsd
32231
32232 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
32233
32234 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
32235
32236 2009-08-21 Pavel Roskin <proski@gnu.org>
32237
32238 * Makefile.in (install-local): When checking if a file is in the
32239 build directory, use "test -e" to detect symlinks.
32240
32241 * Makefile.in (install-local): Remove all files in
32242 $(DESTDIR)$(pkglibdir) before installing new files there.
32243
32244 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
32245
32246 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
32247 grub-mkelfimage.
32248
32249 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
32250
32251 * util/grub-mkconfig.in: Don't use gfxterm by default if not
32252 explicitly specified by the user.
32253
32254 2009-08-18 Pavel Roskin <proski@gnu.org>
32255
32256 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
32257 grub_uint8_t pointer for data.
32258 * include/grub/fbutil.h (struct grub_video_fbblit_info):
32259 Likewise.
32260 * video/fb/fbutil.c: Remove unnecessary casts.
32261
32262 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
32263
32264 VBE cleanup.
32265
32266 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
32267 (grub_vbe_set_video_mode): Save active mode info
32268 only after setting the mode.
32269 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
32270 second argument.
32271
32272 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
32273
32274 Rename variables for clarity.
32275
32276 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
32277 (active_vbe_mode_info): ... this. All users updated.
32278 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
32279 All users updated.
32280 (initial_mode): Rename to ...
32281 (initial_vbe_mode): ... this. All users updated.
32282 (mode_in_use): Rename to ..
32283 (vbe_mode_in_use): ... this. All users updated.
32284 (mode_list): Rename to ..
32285 (vbe_mode_list): ... this. All users updated.
32286 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
32287 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
32288 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
32289 'mode_list_size' to 'vbe_mode_list_size'.
32290 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
32291 'best_mode_info' to 'best_vbe_mode_info' and
32292 'best_mode' to 'best_vbe_mode'
32293
32294 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
32295
32296 Remove duplicate grub_video_fb_get_video_ptr.
32297
32298 * include/grub/fbutil.h (get_data_ptr): Rename to ...
32299 (grub_video_fb_get_video_ptr): ... this.
32300 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
32301 * video/fb/fbutil.c: Add comment about addressing.
32302 (get_data_ptr): Rename to ...
32303 (grub_video_fb_get_video_ptr): ... this. All users updated.
32304 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
32305
32306 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32307
32308 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
32309 grub_dprintf() that was just added.
32310
32311 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
32312
32313 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
32314 (DEFAULT_VIDEO_MODE): Remove macros.
32315 (grub_linux_boot): Remove assumption that Linux has FB support,
32316 and use "text" as default video mode.
32317
32318 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
32319
32320 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
32321 grub_dprintf.
32322 * fs/fat.c (grub_fat_read_data): Likewise.
32323
32324 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32325
32326 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
32327 payload.
32328 (grub_module): Likewise.
32329
32330 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32331
32332 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32333 mbi->cmdline but free playground.
32334
32335 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32336
32337 Handle group offset on UFS1.
32338
32339 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32340 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32341
32342 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32343
32344 Split ufs.mod into ufs1.mod and ufs2.mod.
32345
32346 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32347 (grub_fstest_SOURCES): Likewise.
32348 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32349 (ufs_mod_SOURCES): Remove.
32350 (ufs_mod_CFLAGS): Likewise.
32351 (ufs_mod_LDFLAGS): Likewise.
32352 (ufs1_mod_SOURCES): New variable.
32353 (ufs1_mod_CFLAGS): Likewise.
32354 (ufs1_mod_LDFLAGS): Likewise.
32355 (ufs2_mod_SOURCES): New variable.
32356 (ufs2_mod_CFLAGS): Likewise.
32357 (ufs2_mod_LDFLAGS): Likewise.
32358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32359 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32360 Likewise.
32361 (grub_emu_SOURCES): Likewise.
32362 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32363 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32364 (grub_setup_SOURCES): Likewise.
32365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32366 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32367 (grub_setup_SOURCES): Likewise.
32368 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32369 Likewise.
32370 * fs/ufs2.c: New file.
32371 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32372
32373 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32374
32375 Framebuffer split.
32376
32377 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32378 subsystem at the end.
32379 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32380 (video_fb_mod_SOURCES): New variable.
32381 (video_fb_mod_CFLAGS): Likewise.
32382 (video_fb_mod_LDFLAGS): Likewise.
32383 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32384 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32385 * video/i386/pc/vbeblit.c: Moved from here ...
32386 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32387 * video/i386/pc/vbefill.c: Moved from here ...
32388 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32389 * video/i386/pc/vbeutil.c: Moved from here ...
32390 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32391 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32392 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32393 * include/grub/i386/pc/vbefill.h: Moved from here ...
32394 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32395 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32396 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32397 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32398 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32399 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32400 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32401 (grub_video_adapter): Added 'get_info_and_fini'.
32402 (grub_video_get_info_and_fini): New prototype.
32403 (grub_video_set_mode): make modestring const char *.
32404 * loader/i386/linux.c (grub_linux_setup_video): Use
32405 grub_video_get_info_and_fini.
32406 (grub_linux_boot): Move modesetting just before booting.
32407 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32408 grub_video_get_info_and_fini.
32409 * video/i386/pc/vbe.c: Moved framebuffer part ...
32410 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32411 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32412 grub_video_fbstd_colors and grub_video_fb_set_palette.
32413 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32414 grub_video_fb_init.
32415 (grub_video_vbe_fini): Use grub_video_fb_fini.
32416 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32417 render_target and use grub_video_fb_set_active_render_target and
32418 grub_video_fb_set_palette.
32419 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32420 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32421 (grub_video_vbe_adapter): Use framebuffer.
32422 * video/video.c (grub_video_get_info_and_fini): New function.
32423 (grub_video_set_mode): Make modestring const char *.
32424 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32425 values are already initialised.
32426
32427 2009-08-14 Pavel Roskin <proski@gnu.org>
32428
32429 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32430 ABS and APPLE_CC.
32431 * boot/i386/pc/diskboot.S: Likewise.
32432 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32433 sectors allow compilation on MacOSX.
32434 * conf/i386-pc.rmk: Enable unconditional compilation of
32435 lnxboot.img.
32436
32437 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
32438
32439 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32440 * util/grub.d/00_header.in: Enter interruptible sleep if
32441 GRUB_HIDDEN_TIMEOUT is set.
32442
32443 2009-08-13 Yves Blusseau <blusseau@zetam.org>
32444
32445 * include/grub/symbol.h: Add the LOCAL macro.
32446 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32447 starting with "L_".
32448
32449 2009-08-13 Pavel Roskin <proski@gnu.org>
32450
32451 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32452 any modern compilers we support.
32453
32454 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32455 Use local labels starting with "L_" so that Apple assembler
32456 knows they are local.
32457
32458 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32459
32460 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32461 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32462 (bsd_kernel_types): ... this enum.
32463
32464 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32465 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32466 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32467
32468 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32469 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32470 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32471 messages.
32472
32473 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32474
32475 * util/grub-dumpdevtree: Moved from here ...
32476 * util/i386/efi/grub-dumpdevtree: ... to here.
32477 (hexify): New function. Converts a string to its hex version.
32478 Generate hex versions of "efi" and "device-properties" by calling
32479 hexify() on the ASCII strings rather than by hardcoding numbers.
32480
32481 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32482
32483 * fs/jfs.c: Update copyright year.
32484
32485 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
32486
32487 * util/grub.d/00_header.in: Fix a comment.
32488 * util/grub.d/10_linux.in: Likewise.
32489 * util/grub.d/10_windows.in: Likewise.
32490 * util/grub.d/10_hurd.in: Likewise.
32491
32492 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
32493
32494 * util/grub-mkconfig.in: Allow the user to specify the used font
32495 with GRUB_FONT.
32496
32497 2009-08-08 Pavel Roskin <proski@gnu.org>
32498
32499 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32500 available, xfs.mod needs it now.
32501
32502 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32503 the "g" modifier in sed when the intention is to strip something
32504 once. This fixes comparison of kernels with multiple dashes.
32505
32506 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32507 on it. Add missing space before closing bracket. Fix
32508 misleading formatting.
32509
32510 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32511
32512 * docs/grub.texi: Major overhaul. Remove all sections that are
32513 specific to GRUB Legacy, or mostly composed of Legacy-specific
32514 information.
32515
32516 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32517
32518 * docs/version.texi: New file. Provides version information for
32519 grub.texi.
32520
32521 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32522
32523 * docs/grub.texi: Update CVS information to SVN.
32524 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32525
32526 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
32527
32528 * util/grub-mkconfig.in: Remove a wrong `fi'.
32529
32530 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
32531
32532 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32533 (grub_jfs_uuid): New function.
32534 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32535
32536 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
32537
32538 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32539 of it to ...
32540 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32541 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32542
32543 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32544
32545 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32546 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32547 Update all users.
32548
32549 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32550 not just "vmlinu[zx]".
32551 Moved from here ...
32552 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32553 all users.
32554
32555 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32556 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32557 all users.
32558
32559 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32560
32561 * util/grub.d/10_freebsd.in: Use an absolute device path for
32562 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32563
32564 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
32565
32566 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32567 handling of multiple abstraction modules.
32568
32569 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32570
32571 Fix a bug resulting in black screen when loading Linux using a
32572 packed video mode.
32573
32574 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32575 function.
32576
32577 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32578 (grub_vbe_bios_getset_dac_palette_width): New function.
32579 (grub_vbe_bios_get_dac_palette_width)
32580 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32581 grub_vbe_bios_getset_dac_palette_width()).
32582
32583 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32584 check for return status.
32585 (grub_vbe_get_video_mode_info): When getting information for a packed
32586 mode (<= 8 bpp), obtain DAC palette width using
32587 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32588 {red,green,blue}_mark_size.
32589
32590 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
32591
32592 * commands/search.c (options): Fix help output to match actual code.
32593
32594 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32595
32596 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32597 of homegrown code.
32598
32599 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32600
32601 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32602 on XFS or ReiserFS.
32603
32604 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32605
32606 Support Apple partition map with sector size different from 512 bytes.
32607
32608 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32609 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32610 and 'apart.partmap_size'.
32611
32612 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32613 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32614
32615 Fix cpuid command.
32616
32617 * commands/i386/cpuid.c (options): New variable.
32618 (grub_cmd_cpuid): Return real error.
32619 (GRUB_MOD_INIT(cpuid)): Declare options.
32620
32621 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32622
32623 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32624 valid.
32625
32626 2009-07-31 Bean <bean123ch@gmail.com>
32627
32628 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32629 log2_inode.
32630 (grub_fshelp_node): Move inode field to the end.
32631 (grub_xfs_data): Remove inode field.
32632 (grub_xfs_inode_block): Calculate inode size using sblock.
32633 (grub_xfs_inode_offset): Likewise.
32634 (grub_xfs_read_inode): Calculate inode size using sblock.
32635 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32636 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32637 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32638 to match inode size.
32639 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32640 not accessible when data is null.
32641 (grub_xfs_open): Likewise.
32642
32643 2009-07-31 Bean <bean123ch@gmail.com>
32644
32645 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32646 Don't change pv->disk if it's already set.
32647
32648 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32649 (grub_raid_register): ... here.
32650 (grub_raid_rescan): Removed.
32651
32652 * include/grub/raid.h (grub_raid_rescan): Removed.
32653
32654 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32655 (fstest): Replace grub_raid_rescan with module fini function followed
32656 by init function.
32657
32658 * util/grub-probe.c: Add include file <grub/raid.h>.
32659 (probe_raid_level): New function.
32660 (probe): Detect abstraction by walking the disk device, support two
32661 level of abstraction (LVM on RAID) when detecting partition map.
32662
32663 2009-07-31 Pavel Roskin <proski@gnu.org>
32664
32665 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32666 to grub_zalloc(), it was erroneous.
32667 Reported by Bean <bean123ch@gmail.com>
32668
32669 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32670
32671 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
32672 embedding zone, not only the first one.
32673
32674 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
32675
32676 * term/gfxterm.c (clear_char): New function.
32677 (grub_virtual_screen_setup): Use clear_char.
32678 (scroll_up): Likewise.
32679 (grub_virtual_screen_cls): Likewise.
32680
32681 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
32682
32683 * util/deviceiter.c (get_acceleraid_disk_name): New static
32684 function.
32685 (grub_util_iterate_devices): Handle Accelraid devices.
32686 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32687
32688 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32689
32690 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32691 separator for the suggested gfxpayload string (';' collides with the
32692 parser and needs escaping).
32693
32694 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32695
32696 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32697 Clear direction flag before jumping to OS.
32698 (grub_multiboot2_real_boot): Likewise.
32699
32700 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
32701
32702 * util/i386/pc/grub-install: Fix parsing of --disk-module
32703 option.
32704
32705 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
32706
32707 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32708 when embedding.
32709
32710 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
32711
32712 * util/grub-mkconfig.in (package_version): New variable.
32713 Use it do display the version.
32714
32715 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
32716
32717 * kern/file.c (grub_file_open): Revert to previous check with
32718 grub_errno.
32719
32720 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32721
32722 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32723 from help line. It's out of sync with code.
32724
32725 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32726
32727 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32728 entries on failed boot.
32729
32730 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
32731
32732 * kern/file.c (grub_file_open): Fix an error check.
32733
32734 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32735
32736 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32737 partition map couldn't be identified.
32738
32739 2009-07-23 Pavel Roskin <proski@gnu.org>
32740
32741 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32742 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32743 case of little endian words becomes just an optimization.
32744 Respect const modifier.
32745 (md5_final): Use code that doesn't depend on endianness.
32746
32747 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32748 to avoid loss of upper bits if align is unsigned and shorter
32749 than addr.
32750
32751 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32752
32753 UUID support for UFS
32754
32755 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32756 (grub_ufs_uuid): New function.
32757 (grub_ufs_fs): add .uuid
32758
32759 2009-07-21 Pavel Roskin <proski@gnu.org>
32760
32761 * kern/dl.c (grub_dl_check_header): Make static.
32762
32763 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
32764
32765 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32766 add drivemap for Vista. It breaks Windows 7.
32767
32768 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32769
32770 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32771 128 bytes
32772
32773 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32774
32775 Add BFS support
32776
32777 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32778 (grub_fstest_SOURCES): Likewise.
32779 (pkglib_MODULES): Add befs.mod.
32780 (befs_mod_SOURCES): New variable.
32781 (befs_mod_CFLAGS): Likewise.
32782 (befs_mod_LDFLAGS): Likewise.
32783 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32784 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32786 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32787 (grub_setup_SOURCES): Likewise.
32788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32789 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32790 (grub_setup_SOURCES): Likewise.
32791 * fs/befs.c: New file.
32792 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32793 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32794 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32795 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32796 (B_KEY_INDEX_ALIGN): New declaration.
32797 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32798 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32799 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32800 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32801 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32802 (grub_afs_mount) [MODE_BFS]: Likewise.
32803 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32804 (grub_afs_fs): Use GRUB_AFS_FSNAME
32805 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32806 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32807 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32808 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32809
32810 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32811
32812 * util/getroot.c (find_root_device): Add support for MacOSX.
32813 * util/hostdisk.c: Likewise.
32814
32815 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32816
32817 * font/font.c (find_glyph): Check whether a font is present to avoid
32818 segmentation fault.
32819
32820 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
32821
32822 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32823
32824 2009-07-20 Pavel Roskin <proski@gnu.org>
32825
32826 * configure.ac: Trim excessively wordy excuses.
32827
32828 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32829
32830 Add symlink, mtime and label support to AtheFS.
32831
32832 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32833 (grub_afs_iterate_dir): Handle symlinks.
32834 (grub_afs_open): Use grub_afs_read_symlink.
32835 (grub_afs_dir): Likewise.
32836 Pass mtime.
32837 (grub_afs_label): New function.
32838 (grub_afs_fs): Add grub_afs_label.
32839 (grub_afs_read_symlink): New function.
32840
32841 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32842
32843 Fix AtheFS support.
32844
32845 * fs/afs.c: Fix comments style.
32846 (grub_afs_blockrun): Declare as packed.
32847 (grub_afs_datastream): Likewise.
32848 (grub_afs_bnode): Likewise.
32849 (grub_afs_btree): Likewise.
32850 (grub_afs_sblock): Likewise.
32851 Declare `name' as char.
32852 (grub_afs_inode): Declare as packed.
32853 Change void *vnode to grub_uint32_t unused.
32854 (grub_afs_iterate_dir): Check that key_size is positive.
32855 (grub_afs_mount): Don't read superblock twice.
32856 (grub_afs_dir): Don't free node in case of error,
32857 grub_fshelp_find_file already handles this.
32858 (grub_afs_open): Likewise.
32859
32860 2009-07-19 Pavel Roskin <proski@gnu.org>
32861
32862 * Makefile.in: Remove LIBLZO and enable_lzo.
32863 * conf/i386-pc.rmk: Remove lzo support.
32864 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32865 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32866 support.
32867 * kern/i386/pc/lzo1x.S: Remove.
32868 * kern/i386/pc/startup.S: Remove lzo support.
32869 * util/i386/pc/grub-mkimage.c: Likewise.
32870
32871 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32872
32873 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32874 * fs/xfs.c (grub_xfs_dir): Likewise.
32875 * fs/afs.c (grub_afs_dir): Likewise.
32876 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32877 (grub_iso9660_open): Likewise.
32878 * fs/jfs.c (grub_jfs_open): Likewise.
32879 * fs/ext2.c (grub_ext2_dir): Likewise.
32880 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32881 * script/sh/lexer.c (grub_script_yylex): Likewise.
32882
32883 2009-07-16 Pavel Roskin <proski@gnu.org>
32884
32885 * configure.ac: Never add "-c" to CFLAGS.
32886
32887 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32888
32889 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32890 grub_cv_cc_efiemu should be used.
32891
32892 * configure.ac: Typo fixes.
32893
32894 * kern/mm.c (grub_zalloc): New function.
32895 (grub_debug_zalloc): Likewise.
32896 * include/grub/mm.h: Declare grub_zalloc() and
32897 grub_debug_zalloc().
32898 * util/misc.c (grub_zalloc): New function.
32899 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32900 instead of grub_malloc(), remove unneeded initializations.
32901 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32902 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32903 * commands/parttool.c (grub_cmd_parttool): Likewise.
32904 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32905 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32906 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32907 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32908 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32909 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32910 (grub_cmd_efiemu_pnvram): Likewise.
32911 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32912 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32913 (grub_iso9660_iterate_dir): Likewise.
32914 * fs/jfs.c (grub_jfs_opendir): Likewise.
32915 * fs/ntfs.c (list_file): Likewise.
32916 (grub_ntfs_mount): Likewise.
32917 * kern/disk.c (grub_disk_open): Likewise.
32918 * kern/dl.c (grub_dl_load_core): Likewise.
32919 * kern/elf.c (grub_elf_file): Likewise.
32920 * kern/env.c (grub_env_context_open): Likewise.
32921 (grub_env_set): Likewise.
32922 (grub_env_set_data_slot): Likewise.
32923 * kern/file.c (grub_file_open): Likewise.
32924 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32925 * loader/i386/multiboot.c (grub_module): Likewise.
32926 * loader/xnu.c (grub_xnu_create_key): Likewise.
32927 (grub_xnu_create_value): Likewise.
32928 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32929 (read_config_file): Likewise.
32930 * normal/menu_entry.c (make_screen): Likewise.
32931 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32932 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32933 * script/sh/script.c (grub_script_parse): Likewise.
32934 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32935 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32936 * video/readers/png.c (grub_png_output_byte): Likewise.
32937 (grub_video_reader_png): Likewise.
32938
32939 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32940
32941 Enable all targets that can be built by default
32942
32943 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
32944 grub-mkfont and grub-fstest if they can be built
32945
32946 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32947
32948 Fix hang and segmentation fault in grub-emu-usb
32949
32950 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32951 * util/usb.c (grub_libusb_devices): likewise
32952 (grub_libusb_init): rename to ...
32953 (GRUB_MOD_INIT (libusb)):...this
32954 (grub_libusb_fini): rename to ..
32955 (GRUB_MOD_FINI (libusb)):...this
32956 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32957 * include/grub/disk.h (grub_raid_init): removed, it's useless
32958 (grub_raid_fini): likewise
32959 (grub_lvm_init): likewise
32960 (grub_lvm_fini): likewise
32961 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32962 by grub_init_all
32963
32964 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32965
32966 Fix libusb
32967
32968 * Makefile.in (LIBUSB): new macro
32969 * genmk.rb (Utility/print_tail): new method
32970 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32971 (top level): call util.print_tail at the end.
32972
32973 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32974
32975 Make FreeBSD accept zpool.cache
32976
32977 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32978 type is /boot/zfs/zpool.cache
32979
32980 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32981
32982 Fix 64-bit efiemu
32983
32984 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32985 correct wrong typedef
32986 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32987
32988 2009-07-15 Pavel Roskin <proski@gnu.org>
32989
32990 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32991 * kern/disk.c (struct grub_disk_cache): Likewise.
32992
32993 * commands/probe.c (options): Typo fix.
32994
32995 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32996 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32997 accordingly.
32998 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32999
33000 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
33001 the end of "Error" to make the message more readable.
33002
33003 * boot/i386/pc/boot.S (kernel_segment): Remove.
33004 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
33005 for destination.
33006
33007 * boot/i386/pc/boot.S (boot_version): Remove.
33008 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
33009 Remove.
33010
33011 * include/grub/i386/pc/boot.h: Sort all offsets.
33012 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
33013 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
33014 * boot/i386/pc/boot.S: Assert location of every offset listed in
33015 include/grub/i386/pc/boot.h.
33016
33017 2009-07-13 Pavel Roskin <proski@gnu.org>
33018
33019 * include/grub/i386/coreboot/machine.h: Rename
33020 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
33021 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
33022 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
33023
33024 * kern/dl.c: Force native word size to suppress warnings when
33025 compiling grub-emu.
33026
33027 * kern/device.c (grub_device_iterate): Change struct part_ent to
33028 hold the name, not a pointer to it. Use one grub_malloc() per
33029 partition, not two. Free partition_name if grub_malloc() fails.
33030 Set ents to NULL only before grub_partition_iterate() is called.
33031
33032 2009-07-11 Bean <bean123ch@gmail.com>
33033
33034 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
33035 childname.
33036
33037 2009-07-10 Bean <bean123ch@gmail.com>
33038 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 * kern/ieee1275/openfw.c (grub_children_iterate)
33041 (grub_devalias_iterate): Fix size evaluation for property or path
33042 strings, which was broken since r2132.
33043
33044 2009-07-07 Pavel Roskin <proski@gnu.org>
33045
33046 * commands/search.c (search_file): Merge into ...
33047 (search_fs): ... this. Accept search type as argument.
33048 (grub_cmd_search): Pass search type to search_fs().
33049
33050 * include/grub/util/console.h: New file.
33051 * util/console.c: Use it instead of grub/machine/console.h.
33052 * util/grub-emu.c: Likewise.
33053
33054 * lib/arg.c (find_long_option): Remove.
33055 (find_long): Add `len' argument, make `s' const char *.
33056 (grub_arg_parse): Parse long options in place, not in a
33057 temporary buffer.
33058
33059 2009-07-06 Pavel Roskin <proski@gnu.org>
33060
33061 * commands/search.c (search_fs): Fix potential NULL pointer
33062 dereference.
33063
33064 * commands/search.c (search_fs): Replace QUID macro with quid_fn
33065 function pointer.
33066
33067 2009-07-06 Daniel Mierswa <impulze@impulze.org>
33068
33069 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
33070 comparison.
33071
33072 2009-07-05 Pavel Roskin <proski@gnu.org>
33073
33074 * include/grub/i386/linux.h (struct linux_kernel_params):
33075 Restore padding3, it's still needed.
33076
33077 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
33078 FreeBSD.
33079 * util/osdetect.lua: Likewise.
33080
33081 2009-07-05 Bean <bean123ch@gmail.com>
33082
33083 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
33084
33085 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
33086 (grub_lua_getenv): Likewise.
33087 (grub_lua_setenv): Likewise.
33088 (save_errno): New function.
33089 (push_result): Likewise.
33090 (grub_lua_enum_device): Likewise.
33091 (grub_lua_enum_file): Likewise.
33092 (grub_lua_file_open): Likewise.
33093 (grub_lua_file_close): Likewise.
33094 (grub_lua_file_seek): Likewise.
33095 (grub_lua_file_read): Likewise.
33096 (grub_lua_file_getline): Likewise.
33097 (grub_lua_file_getsize): Likewise.
33098 (grub_lua_file_getpos): Likewise.
33099 (grub_lua_file_eof): Likewise.
33100 (grub_lua_file_exist): Likewise.
33101 (grub_lua_add_menu): Likewise.
33102
33103 * script/lua/grub_lua.h (isupper): New inline function.
33104 (islower): Likewise.
33105 (ispunct): Likewise.
33106 (isxdigit): Likewise.
33107 (strcspn): Change to normal function.
33108 (strpbkr): New function declaration.
33109 (memchr): Likewise.
33110
33111 * script/lua/grub_main.c (scan_str): New function.
33112 (strcspn): Likewise.
33113 (strpbrk): Likewise.
33114 (memchr): Likewise.
33115
33116 * script/lua/linit.c (lualibs): Enable the string library.
33117
33118 * util/osdetect.lua: New file.
33119
33120 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
33121
33122 * include/grub/i386/linux.h (struct linux_kernel_params): Add
33123 `capabilities' member.
33124
33125 2009-07-02 Pavel Roskin <proski@gnu.org>
33126
33127 * genparttoollist.sh: Add missing newline at the end.
33128
33129 2009-07-01 Pavel Roskin <proski@gnu.org>
33130
33131 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
33132
33133 * util/hostdisk.c (open_device): Remove `const' from
33134 `sysctl_size', as sysctlbyname() can change it (in this case it
33135 doesn't actually happen).
33136
33137 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
33138 using signed long int constants.
33139
33140 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
33141 constant to avoid a warning on FreeBSD.
33142
33143 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
33144 where it's needed.
33145
33146 * Makefile.in: Install include/grub/machine symlink.
33147
33148 * Makefile.in: When installing symlinks, use "cp -fR", which
33149 works on FreeBSD and MacOSX.
33150 From Yves Blusseau <cl7m42e02@sneakemail.com>
33151
33152 * kern/dl.c (grub_dl_resolve_symbol): Make static.
33153 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
33154
33155 * util/misc.c: Move grub_reboot() and grub_halt() ...
33156 * util/grub-emu.c: ... here. Make main_env static.
33157 * include/grub/util/misc.h: Remove main_env.
33158
33159 * kern/mm.c: Use correct format to print size_t.
33160
33161 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
33162 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
33163 * kern/powerpc/dl.c: Likewise.
33164 * kern/sparc64/dl.c: Likewise.
33165 * kern/x86_64/dl.c: Likewise.
33166
33167 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33168
33169 Fix grub-emu build on sparc64-ieee1275.
33170
33171 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
33172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
33173
33174 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33175
33176 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
33177 (grub_reboot, grub_halt): New functions.
33178
33179 * util/i386/pc/misc.c: Delete. Update all users.
33180 * util/sparc64/ieee1275/misc.c: Likewise.
33181 * util/powerpc/ieee1275/misc.c: Likewise.
33182
33183 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33184
33185 * conf/i386.rmk (setjmp_mod_SOURCES)
33186 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
33187 * conf/common.rmk (setjmp_mod_SOURCES)
33188 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
33189 to use $(target_cpu).
33190 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
33191 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
33192 * conf/powerpc-ieee1275.rmk: Likewise.
33193 * conf/sparc64-ieee1275.rmk: Likewise.
33194
33195 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
33196 $(target_cpu) for kern/$(target_cpu)/dl.c.
33197 * conf/i386-efi.rmk: Likewise.
33198 * conf/i386-ieee1275.rmk: Likewise.
33199 * conf/x86_64-efi.rmk: Likewise.
33200 * conf/i386-coreboot.rmk: Likewise.
33201 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
33202 $(target_cpu) for kern/$(target_cpu)/dl.c and for
33203 kern/$(target_cpu)/cache.S.
33204 * conf/sparc64-ieee1275.rmk: Likewise.
33205
33206 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
33207
33208 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
33209 type to `grub_uint8_t', and adjust `padding9' accordingly.
33210
33211 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33212
33213 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
33214
33215 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
33216 assembly in final jump, using register constraints.
33217
33218 (grub_linux_boot): For text mode, initialize `have_vga' using
33219 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
33220
33221 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
33222 right before the final jump.
33223
33224 Set `video_mode' to 0x3.
33225
33226 Document initialization of `video_page', `video_mode' and
33227 `video_ega_bx'.
33228
33229 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33230
33231 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
33232 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
33233 and set GRUB_LINUX_FLAG_QUIET appropriately.
33234
33235 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
33236
33237 Fix build on Debian / sparc.
33238
33239 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
33240
33241 2009-06-28 Pavel Roskin <proski@gnu.org>
33242
33243 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
33244 fix a warning.
33245
33246 * util/grub.d/10_linux.in: Match SUSE style initrd names.
33247
33248 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33249
33250 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
33251 `err'.
33252
33253 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33254
33255 Revert r2338.
33256
33257 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
33258 file can't be opened. grub_file_open() is already supposed to set
33259 grub_errno / grub_errmsg appropriately.
33260 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33261
33262 2009-06-27 Pavel Roskin <proski@gnu.org>
33263 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
33264
33265 * include/grub/dl.h: Include grub/elf.h.
33266 (struct grub_dl): Add symtab field.
33267 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
33268 GRUB_MODULES_MACHINE_READONLY.
33269 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
33270 of the header for read-only modules.
33271 (grub_dl_unload): Free mod->symtab for read-only modules.
33272 * kern/i386/dl.c: Use mod->symtab.
33273 * kern/powerpc/dl.c: Likewise.
33274 * kern/sparc64/dl.c: Likewise.
33275 * kern/x86_64/dl.c: Likewise.
33276
33277 * conf/i386-qemu.rmk: New file.
33278 * kern/i386/qemu/startup.S: Likewise.
33279 * kern/i386/qemu/mmap.c: Likewise.
33280 * boot/i386/qemu/boot.S: Likewise.
33281 * include/grub/i386/qemu/time.h: Likewise.
33282 * include/grub/i386/qemu/serial.h: Likewise.
33283 * include/grub/i386/qemu/kernel.h: Likewise.
33284 * include/grub/i386/qemu/console.h: Likewise.
33285 * include/grub/i386/qemu/boot.h: Likewise.
33286 * include/grub/i386/qemu/init.h: Likewise.
33287 * include/grub/i386/qemu/machine.h: Likewise.
33288 * include/grub/i386/qemu/loader.h: Likewise.
33289 * include/grub/i386/qemu/memory.h: Likewise.
33290
33291 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
33292 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
33293 [qemu] (pkglib_IMAGES): Add `boot.img'.
33294 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
33295 [qemu] (boot_img_FORMAT): New variables.
33296 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
33297 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
33298 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
33299 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
33300 [qemu] (kernel_img_FORMAT): New variables.
33301
33302 * configure.ac: Recognise `i386-qemu'.
33303
33304 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
33305 (for no compression).
33306 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
33307 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
33308 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
33309 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
33310 ifdefs).
33311
33312 2009-06-27 Pavel Roskin <proski@gnu.org>
33313
33314 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
33315 read.
33316 * efiemu/prepare32.c: Likewise.
33317 * efiemu/prepare64.c: Likewise.
33318
33319 2009-06-26 Pavel Roskin <proski@gnu.org>
33320
33321 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
33322 * include/grub/elf.h: Define symbols without "32" or "64" based
33323 on GRUB_TARGET_WORDSIZE.
33324 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
33325 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
33326 ELF definitions.
33327 * efiemu/loadcore64.c: Likewise.
33328 * loader/i386/bsd32.c: Likewise.
33329 * loader/i386/bsd64.c: Likewise.
33330 * kern/dl.c: Remove own ELF definitions.
33331 * util/i386/efi/grub-mkimage.c: Likewise.
33332
33333 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33334
33335 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33336 segment 0x0 unconditionally, because the reference generated by
33337 GAS is an absolute address.
33338
33339 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33340
33341 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33342 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33343
33344 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33345
33346 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33347 indexes. Check for -f explicitly.
33348 (search_file): Improve error message.
33349 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
33350
33351 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33352
33353 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33354 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33355
33356 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33357
33358 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33359 * conf/i386-ieee1275.rmk: Likewise.
33360 * conf/i386-coreboot.rmk: Likewise.
33361
33362 * kern/i386/pc/startup.S (grub_stop): Remove function.
33363 * kern/i386/ieee1275/startup.S: Likewise.
33364 * kern/i386/coreboot/startup.S: Likewise.
33365 * kern/i386/misc.S (grub_stop): New function.
33366
33367 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33370 * kern/i386/realmode.S (real_to_prot): ... to here.
33371
33372 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33375 with `kernel.img'.
33376 (kernel_elf_SOURCES): Rename to ...
33377 (kernel_img_SOURCES): ... this.
33378 (kernel_elf_HEADERS): Rename to ...
33379 (kernel_img_HEADERS): ... this. Update all users.
33380 (kernel_elf_ASFLAGS): Rename to ...
33381 (kernel_img_ASFLAGS): ... this.
33382 (kernel_elf_CFLAGS): Rename to ...
33383 (kernel_img_CFLAGS): ... this.
33384 (kernel_elf_LDFLAGS): Rename to ...
33385 (kernel_img_LDFLAGS): ... this.
33386 * conf/i386-coreboot.rmk: Likewise.
33387 * conf/powerpc-ieee1275.rmk: Likewise.
33388
33389 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33390 with "kernel.img".
33391
33392 2009-06-21 Pavel Roskin <proski@gnu.org>
33393
33394 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33395 to match nested functions.
33396 * loader/sparc64/ieee1275/linux.c: Likewise.
33397
33398 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33399
33400 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33401
33402 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33403 all i386 platforms.
33404
33405 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33406
33407 Fix asm file handling on ELF, and remove workarounds.
33408
33409 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
33410 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
33411 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33412 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33413
33414 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33415
33416 Load BSD ELF modules
33417
33418 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33419 and loader/i386/bsd64.c
33420 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33421 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33422 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33423 (grub_freebsd_load_elfmodule32): New declaration
33424 (grub_freebsd_load_elfmoduleobj64): Likewise
33425 (grub_freebsd_load_elf_meta32): Likewise
33426 (grub_freebsd_load_elf_meta64): Likewise
33427 (grub_freebsd_add_meta): Likewise
33428 (grub_freebsd_add_meta_module): Likewise
33429 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33430 (grub_freebsd_add_meta_module): Likewise and move module-specific
33431 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33432 (grub_cmd_freebsd): Add elf-kernel specific parts
33433 based on grub_freebsd_add_meta_module
33434 (grub_cmd_freebsd_module): Add type parsing moved from
33435 grub_freebsd_add_meta_module
33436 (grub_cmd_freebsd_module_elf): New function
33437 (cmd_freebsd_module_elf): New variable
33438 (GRUB_MOD_INIT): Register freebsd_module_elf
33439 * loader/i386/bsd32.c: New file
33440 * loader/i386/bsd64.c: Likewise
33441 * loader/i386/bsdXX.c: Likewise
33442 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33443 (grub_elf64_load): Likewise
33444 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33445 All users updated
33446 (grub_elf64_load_hook_t): Likewise
33447
33448 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
33449
33450 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33451 variable.
33452 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33453 don't write a menu entry for recovery mode.
33454
33455 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33456
33457 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33458 after it's no longer needed.
33459
33460 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33461
33462 * include/grub/i386/loader.h (grub_linux_prot_size)
33463 (grub_linux_tmp_addr, grub_linux_real_addr)
33464 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33465 GRUB_MACHINE_PCBIOS.
33466 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33467 common grub_util_info() call to ...
33468 (generate_image): ... here.
33469 Fix use of uninitialized memory, comparison of signed with
33470 unsigned integers and memory leak.
33471 Remove bogus module address message.
33472
33473 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33474
33475 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33476 grub_raid_register
33477 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33478
33479 2009-06-19 Pavel Roskin <proski@gnu.org>
33480
33481 * configure.ac: Remove stray AC_MSG_CHECKING.
33482
33483 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33484
33485 * disk/scsi.c (grub_scsi_open): use continue instead of big if
33486
33487 2009-06-18 Pavel Roskin <proski@gnu.org>
33488
33489 * conf/common.rmk: Add fs_file.mod.
33490 * disk/fs_file.c: New file.
33491 * include/grub/disk.h (enum grub_disk_dev_id): Add
33492 GRUB_DISK_DEVICE_FILE_ID.
33493
33494 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33495
33496 Fix build with Apple's toolchain. Part 2
33497
33498 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33499 a fake start
33500
33501 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33502
33503 Fix build with Apple's toolchain. Part 1
33504
33505 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33506 for long calls
33507 * configure.ac: remove a leftover AC_MSG_RESULT
33508 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
33509 Apple's toolchain
33510
33511 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33512
33513 Fix warnings
33514
33515 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33516 (decomp_block): initialize ch
33517 use grub_memcpy instead of memcpy
33518
33519 2009-06-17 Pavel Roskin <proski@gnu.org>
33520
33521 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33522 version, use declarations needed to use vga_text as the startup
33523 console.
33524
33525 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33526 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33527 the kernel.
33528 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33529 and grub_at_keyboard_fini(), it's done on module load and
33530 unload.
33531
33532 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
33533
33534 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33535 file can't be found.
33536 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33537
33538 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33539
33540 Fix newline handling
33541
33542 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
33543 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
33544 (grub_script_yylex): don't segfault on unterminated script
33545 newline terminates command and variable
33546
33547 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33548
33549 avoid double grub_adjust_range call. Bug reported by David Simner
33550
33551 * kern/disk.c (grub_disk_write): change to raw disk access before
33552 calling disk_read
33553
33554 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
33555
33556 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33557 spaces, for the benefit of help2man.
33558 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33559
33560 2009-06-16 Pavel Roskin <proski@gnu.org>
33561
33562 * kern/i386/halt.c: Include grub/machine/init.h.
33563 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33564
33565 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
33566
33567 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33568 drivemap menuentry.
33569
33570 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33571
33572 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33573 `echo' command.
33574
33575 2009-06-16 Pavel Roskin <proski@gnu.org>
33576
33577 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33578 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33579 save %dx, we only need %dl and we never change it.
33580 * boot/i386/pc/cdboot.S: Don't set the root drive.
33581 * boot/i386/pc/pxeboot.S: Likewise.
33582 * include/grub/i386/pc/boot.h: Remove
33583 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33584 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33585 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33586 * kern/i386/pc/init.c (make_install_device): Remove references
33587 to grub_root_drive.
33588 * kern/i386/pc/startup.S: Likewise.
33589 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33590
33591 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33592
33593 xnu_uuid command
33594
33595 * commands/xnu_uuid.c: new file
33596 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33597 (xnu_uuid_mod_SOURCES): new variable
33598 (xnu_uuid_mod_CFLAGS): likewise
33599 (xnu_uuid_mod_LDFLAGS): likewise
33600 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33601 * conf/i386-ieee1275.rmk: likewise
33602 * conf/i386-pc.rmk: likewise
33603 * conf/powerpc-ieee1275.rmk: likewise
33604 * conf/sparc64-ieee1275.rmk: likewise
33605 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33606
33607 2009-06-16 Pavel Roskin <proski@gnu.org>
33608
33609 * configure.ac: Avoid '==' in test command, it's not portable.
33610
33611 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33612
33613 Probe command
33614
33615 * commands/probe.c: new file
33616 * conf/common.rmk (pkglib_MODULES): add probe.mod
33617 (probe_mod_SOURCES): new variable
33618 (probe_mod_CFLAGS): likewise
33619 (probe_mod_LDFLAGS): likewise
33620 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33621 * conf/i386-ieee1275.rmk: likewise
33622 * conf/i386-pc.rmk: likewise
33623 * conf/powerpc-ieee1275.rmk: likewise
33624 * conf/sparc64-ieee1275.rmk: likewise
33625
33626 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33627
33628 Fix handling of string like \"hello\" and "a
33629 b"
33630
33631 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33632 (grub_script_yylex): fix parsing of quoting, escaping and newline
33633
33634 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33635
33636 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
33637 handling
33638
33639 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
33640
33641 * util/grub-mkconfig.in: Fix parsing of --output option.
33642
33643 2009-06-12 Pavel Roskin <proski@gnu.org>
33644
33645 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33646 genmk.rb don't need to be generated or installed.
33647
33648 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33649
33650 * commands/i386/pc/drivemap_int13h.S: add more comments
33651
33652 2009-06-11 Pavel Roskin <proski@gnu.org>
33653
33654 * Makefile.in (uninstall): Uninstall manuals.
33655
33656 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33657 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33658 and update-grub_lib in two places.
33659 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33660
33661 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33662 a compiler warning.
33663
33664 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33665 `entry_lo' to fix variable shadowing.
33666
33667 2009-06-11 Christian Franke <franke@computer.org>
33668
33669 * kern/misc.c (__enable_execute_stack): Add missing return type
33670 to prevent gcc warning.
33671
33672 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
33673
33674 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33675
33676 2009-06-11 Pavel Roskin <proski@gnu.org>
33677
33678 * Makefile.in: Don't rely on any scripts being executable.
33679 Always use $(SHELL) to run shell scripts.
33680
33681 * configure.ac: Always define ___main if using -nostdlib. This
33682 fixes tests on Cygwin.
33683
33684 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33685
33686 UDF fix
33687
33688 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
33689 is in bytes and not in blocks
33690
33691 2009-06-11 Pavel Roskin <proski@gnu.org>
33692
33693 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33694 warning.
33695
33696 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
33697
33698 * util/grub.d/30_os-prober.in: Fix a comment. Source
33699 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33700 to set the root device. Place drivemap command in the generated
33701 chain entry.
33702
33703 2009-06-11 Pavel Roskin <proski@gnu.org>
33704
33705 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33706 have long been resolved.
33707
33708 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
33709
33710 * util/grub.d/10_linux.in: Capitalise "Linux".
33711
33712 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33713
33714 2009-06-11 Pavel Roskin <proski@gnu.org>
33715
33716 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33717 fix a gcc warning and ensure that the function won't ever exit.
33718
33719 * kern/i386/ieee1275/init.c: Add missing prototype for
33720 grub_stop_floppy().
33721
33722 * loader/ieee1275/multiboot2.c [__i386__]: Include
33723 grub/cpu/multiboot.h.
33724
33725 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33726 casts to short - they are not portable and cause warnings. Fix
33727 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33728
33729 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33730
33731 Drivemap fixes
33732
33733 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33734 new function
33735 (grub_get_root_biosnumber_saved): new variable
33736 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33737 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
33738 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
33739 %dx after the call if necessary
33740 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33741 (boot_mod_SOURCES): remove
33742 (boot_mod_CFLAGS): remove
33743 (boot_mod_LDFLAGS): remove
33744 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33745 (boot_mod_SOURCES): new variable
33746 (boot_mod_CFLAGS): likewise
33747 (boot_mod_LDFLAGS): likewise
33748 * conf/i386-efi.rmk: likewise
33749 * conf/i386-ieee1275.rmk: likewise
33750 * conf/i386-pc.rmk: likewise
33751 * conf/powerpc-ieee1275.rmk: likewise
33752 * conf/sparc64-ieee1275.rmk: likewise
33753 * conf/x86_64-efi.rmk: likewise
33754 * include/grub/i386/pc/biosnum.h: new file
33755 * lib/i386/pc/biosnum.c: likewise
33756 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33757 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33758 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
33759
33760 2009-06-10 Pavel Roskin <proski@gnu.org>
33761
33762 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33763 Use separate variables. Read only the file size at the end, but
33764 not the checksum that we don't use.
33765
33766 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33767 Adjust all callers.
33768
33769 * kern/ieee1275/openfw.c: Remove libc includes.
33770 * kern/ieee1275/cmain.c: Likewise.
33771 * include/grub/ieee1275/ieee1275.h: Likewise.
33772
33773 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33774 compiler warnings.
33775
33776 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
33777
33778 * Makefile.in: Remove all trailing whitespace.
33779 * conf/i386-pc.rmk: Likewise.
33780 * conf/powerpc-ieee1275.rmk: Likewise.
33781 * conf/sparc64-ieee1275.rmk: Likewise.
33782 * docs/grub.texi: Likewise.
33783 * docs/texinfo.tex: Likewise.
33784 * disk/fs_uuid.c: Likewise.
33785 * disk/lvm.c: Likewise.
33786 * disk/scsi.c: Likewise.
33787 * disk/ata.c: Likewise.
33788 * disk/ieee1275/ofdisk.c: Likewise.
33789 * disk/i386/pc/biosdisk.c: Likewise.
33790 * disk/host.c: Likewise.
33791 * disk/raid.c: Likewise.
33792 * disk/efi/efidisk.c: Likewise.
33793 * disk/usbms.c: Likewise.
33794 * disk/memdisk.c: Likewise.
33795 * disk/loopback.c: Likewise.
33796 * kern/powerpc/dl.c: Likewise.
33797 * kern/device.c: Likewise.
33798 * kern/dl.c: Likewise.
33799 * kern/sparc64/dl.c: Likewise.
33800 * kern/ieee1275/ieee1275.c: Likewise.
33801 * kern/term.c: Likewise.
33802 * kern/fs.c: Likewise.
33803 * kern/i386/dl.c: Likewise.
33804 * kern/i386/pc/startup.S: Likewise.
33805 * kern/i386/pc/init.c: Likewise.
33806 * kern/i386/pc/mmap.c: Likewise.
33807 * kern/i386/pc/lzo1x.S: Likewise.
33808 * kern/i386/ieee1275/init.c: Likewise.
33809 * kern/i386/realmode.S: Likewise.
33810 * kern/i386/tsc.c: Likewise.
33811 * kern/partition.c: Likewise.
33812 * kern/corecmd.c: Likewise.
33813 * kern/file.c: Likewise.
33814 * kern/efi/efi.c: Likewise.
33815 * kern/efi/init.c: Likewise.
33816 * kern/efi/mm.c: Likewise.
33817 * kern/main.c: Likewise.
33818 * kern/err.c: Likewise.
33819 * kern/env.c: Likewise.
33820 * kern/disk.c: Likewise.
33821 * kern/generic/millisleep.c: Likewise.
33822 * kern/generic/rtc_get_time_ms.c: Likewise.
33823 * kern/misc.c: Likewise.
33824 * kern/parser.c: Likewise.
33825 * genmk.rb: Likewise.
33826 * configure.ac: Likewise.
33827 * boot/i386/pc/diskboot.S: Likewise.
33828 * boot/i386/pc/pxeboot.S: Likewise.
33829 * boot/i386/pc/boot.S: Likewise.
33830 * boot/i386/pc/lnxboot.S: Likewise.
33831 * boot/i386/pc/cdboot.S: Likewise.
33832 * parttool/pcpart.c: Likewise.
33833 * video/readers/tga.c: Likewise.
33834 * video/video.c: Likewise.
33835 * video/bitmap.c: Likewise.
33836 * lib/envblk.c: Likewise.
33837 * lib/i386/setjmp.S: Likewise.
33838 * fs/xfs.c: Likewise.
33839 * fs/afs.c: Likewise.
33840 * fs/fat.c: Likewise.
33841 * fs/ntfs.c: Likewise.
33842 * fs/udf.c: Likewise.
33843 * fs/affs.c: Likewise.
33844 * fs/iso9660.c: Likewise.
33845 * fs/hfs.c: Likewise.
33846 * fs/fshelp.c: Likewise.
33847 * fs/ext2.c: Likewise.
33848 * fs/jfs.c: Likewise.
33849 * fs/reiserfs.c: Likewise.
33850 * fs/hfsplus.c: Likewise.
33851 * fs/minix.c: Likewise.
33852 * fs/cpio.c: Likewise.
33853 * fs/sfs.c: Likewise.
33854 * fs/ufs.c: Likewise.
33855 * efiemu/prepare.c: Likewise.
33856 * efiemu/loadcore_common.c: Likewise.
33857 * efiemu/runtime/efiemu.sh: Likewise.
33858 * efiemu/runtime/efiemu.S: Likewise.
33859 * efiemu/runtime/efiemu.c: Likewise.
33860 * efiemu/pnvram.c: Likewise.
33861 * efiemu/main.c: Likewise.
33862 * efiemu/i386/pc/cfgtables.c: Likewise.
33863 * efiemu/i386/loadcore64.c: Likewise.
33864 * efiemu/i386/loadcore32.c: Likewise.
33865 * efiemu/loadcore.c: Likewise.
33866 * efiemu/symbols.c: Likewise.
33867 * efiemu/mm.c: Likewise.
33868 * include/grub/autoefi.h: Likewise.
33869 * include/grub/datetime.h: Likewise.
33870 * include/grub/term.h: Likewise.
33871 * include/grub/hfs.h: Likewise.
33872 * include/grub/lvm.h: Likewise.
33873 * include/grub/i386/tsc.h: Likewise.
33874 * include/grub/i386/linux.h: Likewise.
33875 * include/grub/i386/xnu.h: Likewise.
33876 * include/grub/i386/efiemu.h: Likewise.
33877 * include/grub/i386/pc/biosdisk.h: Likewise.
33878 * include/grub/i386/pc/memory.h: Likewise.
33879 * include/grub/i386/pc/vbe.h: Likewise.
33880 * include/grub/parttool.h: Likewise.
33881 * include/grub/video.h: Likewise.
33882 * include/grub/memory.h: Likewise.
33883 * include/grub/fs.h: Likewise.
33884 * include/grub/partition.h: Likewise.
33885 * include/grub/xnu.h: Likewise.
33886 * include/grub/efi/api.h: Likewise.
33887 * include/grub/efi/pe32.h: Likewise.
33888 * include/grub/efi/memory.h: Likewise.
33889 * include/grub/multiboot.h: Likewise.
33890 * include/grub/usbdesc.h: Likewise.
33891 * include/grub/multiboot2.h: Likewise.
33892 * include/grub/acpi.h: Likewise.
33893 * include/grub/efiemu/efiemu.h: Likewise.
33894 * include/grub/disk.h: Likewise.
33895 * include/grub/ieee1275/ieee1275.h: Likewise.
33896 * include/grub/net.h: Likewise.
33897 * include/grub/machoload.h: Likewise.
33898 * include/grub/macho.h: Likewise.
33899 * include/multiboot.h: Likewise.
33900 * genmoddep.awk: Likewise.
33901 * normal/main.c: Likewise.
33902 * normal/menu_entry.c: Likewise.
33903 * normal/menu_viewer.c: Likewise.
33904 * normal/completion.c: Likewise.
33905 * normal/cmdline.c: Likewise.
33906 * normal/misc.c: Likewise.
33907 * normal/datetime.c: Likewise.
33908 * bus/usb/usbtrans.c: Likewise.
33909 * bus/usb/ohci.c: Likewise.
33910 * bus/usb/uhci.c: Likewise.
33911 * bus/usb/usb.c: Likewise.
33912 * mmap/efi/mmap.c: Likewise.
33913 * mmap/i386/pc/mmap_helper.S: Likewise.
33914 * mmap/i386/pc/mmap.c: Likewise.
33915 * mmap/i386/mmap.c: Likewise.
33916 * mmap/i386/uppermem.c: Likewise.
33917 * mmap/mmap.c: Likewise.
33918 * commands/acpi.c: Likewise.
33919 * commands/echo.c: Likewise.
33920 * commands/blocklist.c: Likewise.
33921 * commands/loadenv.c: Likewise.
33922 * commands/usbtest.c: Likewise.
33923 * commands/boot.c: Likewise.
33924 * commands/parttool.c: Likewise.
33925 * commands/search.c: Likewise.
33926 * commands/cat.c: Likewise.
33927 * commands/i386/pc/play.c: Likewise.
33928 * commands/i386/pc/drivemap.c: Likewise.
33929 * commands/i386/pc/vbeinfo.c: Likewise.
33930 * commands/i386/pc/acpi.c: Likewise.
33931 * commands/i386/pc/vbetest.c: Likewise.
33932 * commands/ls.c: Likewise.
33933 * commands/cmp.c: Likewise.
33934 * commands/test.c: Likewise.
33935 * commands/efi/acpi.c: Likewise.
33936 * commands/gptsync.c: Likewise.
33937 * commands/help.c: Likewise.
33938 * partmap/amiga.c: Likewise.
33939 * partmap/apple.c: Likewise.
33940 * partmap/acorn.c: Likewise.
33941 * partmap/pc.c: Likewise.
33942 * partmap/sun.c: Likewise.
33943 * partmap/gpt.c: Likewise.
33944 * script/sh/lexer.c: Likewise.
33945 * script/sh/function.c: Likewise.
33946 * font/font.c: Likewise.
33947 * font/font_cmd.c: Likewise.
33948 * loader/powerpc/ieee1275/linux.c: Likewise.
33949 * loader/efi/chainloader.c: Likewise.
33950 * loader/multiboot_loader.c: Likewise.
33951 * loader/macho.c: Likewise.
33952 * loader/i386/multiboot.c: Likewise.
33953 * loader/i386/linux.c: Likewise.
33954 * loader/i386/pc/linux.c: Likewise.
33955 * loader/i386/pc/multiboot2.c: Likewise.
33956 * loader/i386/pc/chainloader.c: Likewise.
33957 * loader/i386/pc/xnu.c: Likewise.
33958 * loader/i386/bsd_trampoline.S: Likewise.
33959 * loader/i386/efi/linux.c: Likewise.
33960 * loader/i386/multiboot_elfxx.c: Likewise.
33961 * loader/i386/bsd_helper.S: Likewise.
33962 * loader/i386/bsd.c: Likewise.
33963 * loader/i386/linux_trampoline.S: Likewise.
33964 * loader/i386/xnu_helper.S: Likewise.
33965 * loader/i386/xnu.c: Likewise.
33966 * loader/i386/bsd_pagetable.c: Likewise.
33967 * loader/i386/multiboot_helper.S: Likewise.
33968 * loader/xnu.c: Likewise.
33969 * loader/xnu_resume.c: Likewise.
33970 * io/gzio.c: Likewise.
33971 * term/efi/console.c: Likewise.
33972 * term/terminfo.c: Likewise.
33973 * term/ieee1275/ofconsole.c: Likewise.
33974 * term/i386/pc/serial.c: Likewise.
33975 * term/i386/pc/vesafb.c: Likewise.
33976 * term/i386/pc/vga.c: Likewise.
33977 * term/usb_keyboard.c: Likewise.
33978 * term/gfxterm.c: Likewise.
33979 * aclocal.m4: Likewise.
33980 * util/lvm.c: Likewise.
33981 * util/grub.d/30_os-prober.in: Likewise.
33982 * util/grub.d/10_hurd.in: Likewise.
33983 * util/console.c: Likewise.
33984 * util/grub-macho2img.c: Likewise.
33985 * util/grub-probe.c: Likewise.
33986 * util/hostfs.c: Likewise.
33987 * util/i386/pc/grub-mkimage.c: Likewise.
33988 * util/i386/pc/grub-setup.c: Likewise.
33989 * util/i386/efi/grub-mkimage.c: Likewise.
33990 * util/grub-mkconfig.in: Likewise.
33991 * util/raid.c: Likewise.
33992 * util/resolve.c: Likewise.
33993 * util/grub-mkdevicemap.c: Likewise.
33994 * util/grub-emu.c: Likewise.
33995 * util/getroot.c: Likewise.
33996 * util/hostdisk.c: Likewise.
33997 * util/usb.c: Likewise.
33998 * util/grub-editenv.c: Likewise.
33999 * util/misc.c: Likewise.
34000
34001 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
34002
34003 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
34004 `genparttoollist.sh'.
34005 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
34006 Add `*.sh' to the list find searches for and change `mdate.sh'
34007 to `mdate-sh'.
34008
34009 2009-06-10 Pavel Roskin <proski@gnu.org>
34010
34011 * include/grub/multiboot2.h: Provide compatibility defines for
34012 multiboot2.h.
34013 * include/multiboot2.h: Include stdint.h only if needed, using
34014 angle brackets.
34015 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
34016 grub/multiboot2.h.
34017 * loader/ieee1275/multiboot2.c: Likewise.
34018 * loader/multiboot2.c: Likewise.
34019 * loader/multiboot_loader.c: Likewise.
34020
34021 * configure.ac: Use -nostdlib when probing for the target. It
34022 should not be required to have libc for the target.
34023
34024 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
34025 they fail without libc headers for the target.
34026 * include/grub/powerpc/libgcc.h: Use weak attribute for all
34027 exports.
34028 * include/grub/sparc64/libgcc.h: Likewise. Don't use
34029 preprocessor conditionals.
34030
34031 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
34032 build system doesn't need to be aware of the tar.c internals.
34033
34034 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
34035
34036 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
34037
34038 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
34039
34040 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
34041 disk limit to 26 for IDE, Virtio, Xen and SCSI.
34042
34043 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
34044
34045 * util/i386/pc/grub-install.in: Change the error message if UUIDs
34046 aren't available if ata.mod gets used.
34047
34048 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
34049
34050 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
34051 initialising controller.
34052 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34053
34054 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
34055
34056 * util/i386/pc/grub-install.in: Add a parameter --disk-module
34057 to choose between ata and biosdisk module on i386-pc.
34058
34059 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
34060
34061 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
34062 Subclass and Programming Interface fields in terms of the 3 byte
34063 Class Code register.
34064 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34065
34066 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
34067 interface is OHCI. Add grub_dprintf for symmetry with
34068 bus/usb/uhci.c.
34069 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
34070 interface is UHCI. Add interf variable for programming
34071 interface. Print interface with class/subclass.
34072
34073 * bus/usb/ohci.c: Set interf with correct field.
34074
34075 * bus/usb/uhci.c: Remove unneeded doubled lines.
34076 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
34077 Remove whitespace inside comment.
34078
34079 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
34080
34081 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
34082 as fallback an equivalent option without depth.
34083
34084 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34085
34086 Not fail if unable to retrieve C/H/S on LBA disks
34087
34088 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
34089 if unable to retrieve C/H/S on LBA disks
34090
34091 2009-06-08 Pavel Roskin <proski@gnu.org>
34092
34093 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
34094 about aliasing.
34095
34096 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
34097
34098 * Makefile.in (uninstall): Remove all $lib_DATA files.
34099
34100 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
34101
34102 Bugfix: install on partitionless device
34103
34104 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
34105 is a whole disk
34106
34107 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
34108
34109 * Makefile.in (uninstall): Remove all $include_DATA files.
34110
34111 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
34112
34113 * commands/true.c: New file. Implement the true and false commands.
34114 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
34115 (true_mod_SOURCES): New variable.
34116 (true_mod_CFLAGS): Likewise.
34117 (true_mod_LDFLAGS): Likewise.
34118
34119 2009-06-05 Colin D Bennett <colin@gibibit.com>
34120
34121 Optimized font character lookup using binary search instead of linear
34122 search. Fonts now are required to have the character index ordered by
34123 code point.
34124
34125 * font/font.c (load_font_index): Verify that fonts have ordered
34126 character indices.
34127 (find_glyph): Use binary search instead of linear search to find a
34128 character in a font.
34129
34130 2009-06-05 Michael Scherer <misc@mandriva.org>
34131
34132 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
34133 uses case sensitive btree.
34134 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
34135 only for case insensitive filesystems.
34136
34137 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
34138
34139 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
34140 * conf/common.rmk (search_mod_CFLAGS): likewise
34141
34142 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34143
34144 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
34145 compensate a compiler bug
34146
34147 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34148
34149 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
34150 instead of '\b'
34151
34152 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34153
34154 Definitions for creating asm symbols with Apple's CC
34155
34156 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
34157 [APPLE_CC] (VARIABLE): likewise
34158
34159 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34160
34161 Disable lnxboot.img when compiled
34162 with Apple's CC
34163
34164 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
34165 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
34166 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
34167 [! APPLE_CC] (CODE_LENG): skip
34168 [! APPLE_CC] (setup_sects): likewise
34169 [! APPLE_CC]: skip filling
34170
34171 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34172
34173 Address in trampolines based on 32-bit registers when compiled
34174 with Apple's CC
34175
34176 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
34177 for addresses
34178 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
34179
34180 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34181
34182 Avoid aliases when compiling with Apple's CC for PCBIOS machine
34183
34184 * kern/misc.c [APPLE_CC] (memcpy): new function
34185 [APPLE_CC] (memmove): likewise
34186 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
34187 (memcpy): define alias conditionally on !APPLE_CC
34188 (memset): likewise
34189 (abort): likewise
34190 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
34191 APPLE_CC are defined
34192 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
34193 (grub_assert_fail): make prototype conditional
34194
34195 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34196
34197 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
34198
34199 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
34200 grub-macho2img
34201 (CLEANFILES): add grub-macho2img
34202 (grub_macho2img_SOURCES): new variable
34203 * kern/i386/pc/startup.S (bss_start): new variable
34204 (bss_end): likewise
34205 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
34206 * util/grub-macho2img.c: new file
34207
34208 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34209
34210 Use objconv when compiling with Apple's CC
34211
34212 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
34213 (efiemu64.o): likewise
34214 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
34215 when compiling with Apple's CC
34216 (efiemu64_s.o): likewise
34217 * configure.ac: check for objconv when compiling with Apple's CC
34218 * genmk.rb: use objconv for modules when compiled with Apple's CC
34219
34220 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34221
34222 Define segment as well as section when compiling with
34223 Apple's CC
34224
34225 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
34226 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
34227 (efiemu_convert_pointer): likewise
34228 (efiemu_set_virtual_address_map): likewise
34229 (efiemu_convert_pointer): likewise
34230 (efiemu_getcrc32): likewise
34231 (init_crc32_table): likewise
34232 (reflect): likewise
34233 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
34234 (GRUB_MOD_DEP): likewise
34235
34236 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34237
34238 Allow a compilation without -mcmodel=large
34239
34240 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
34241 when compiled without -mcmodel=large
34242 (filter_memory_map): remove memory post 4 GiB when compiled
34243 without -mcmodel=large
34244 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
34245 TARGET_CFLAGS when -mcmodel=large isn't supported
34246
34247 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34248
34249 Remove nested functions in efiemu core
34250
34251 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
34252
34253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34254
34255 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
34256
34257 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
34258 temporary storage
34259 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
34260 using Apple's CC
34261 (grub_cpu_is_tsc_supported): likewise
34262 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
34263
34264 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34265
34266 Absolute addressing through constant with Apple's cc
34267
34268 * kern/i386/pc/startup.S: Define necessary constants
34269 and address through it when using ABS with Apple's CC
34270 * boot/i386/pc/diskboot.S: likewise
34271 * boot/i386/pc/boot.S: likewise
34272 * boot/i386/pc/lnxboot.S: likewise
34273 * boot/i386/pc/cdboot.S: likewise
34274 * mmap/i386/pc/mmap_helper.S: likewise
34275 * commands/i386/pc/drivemap_int13h.S: likewise
34276
34277 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34278
34279 Check if compiler is apple cc
34280
34281 * Makefile.in (ASFLAGS): new variable
34282 (TARGET_ASFLAGS): likewise
34283 (TARGET_MODULE_FORMAT): likewise
34284 (TARGET_APPLE_CC): likewise
34285 (OBJCONV): likewise
34286 (TARGET_IMG_CFLAGS): likewise
34287 (TARGET_CPPFLAGS): add includedir
34288 * configure.ac: call grub_apple_cc and grub_apple_target_cc
34289 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
34290 Check for linker script only if compiler isn't Apple's CC
34291 (TARGET_MODULE_FORMAT): set
34292 (TARGET_APPLE_CC): likewise
34293 (TARGET_ASFLAGS): likewise
34294 (ASFLAGS): likewise
34295 Check for objcopy only if compiler isn't Apple's CC
34296 Check for BSS symbol only if compiler isn't Apple's CC
34297 * genmk.rb: adapt nm options if we use Apple's utils
34298 * aclocal.m4 (grub_apple_cc): new test
34299 (grub_apple_target_cc): likewise
34300
34301 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34302
34303 Simplify sed expressions and improve awk
34304
34305 * Makefile.in (install-local): simplify sed expression
34306 * gencmdlist.sh: likewise
34307 * genmoddep.awk: avoid adding module as a dependency of itself
34308
34309 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34310
34311 Add missing start symbols
34312
34313 * boot/i386/pc/boot.S: add start
34314 * boot/i386/pc/pxeboot.S: likewise
34315
34316 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34317
34318 Fix wrong assumptions with grub-mkimage on EFI
34319
34320 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
34321 (relocate_addresses): consider both r_addend and value at offset
34322 (make_mods_section): zerofill modinfo and header
34323 (convert_elf): write prefix here
34324
34325 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34326
34327 Use .asciz instead of .string
34328
34329 * i386/pc/diskboot.S: use .asciz instead of .string
34330 * i386/pc/boot.S: likewise
34331 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34332 (GRUB_MOD_NAME): likewise
34333
34334 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34335
34336 gfxpayload support
34337
34338 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34339 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34340 (grub_video_setup): remove
34341 (grub_video_set_mode): new prototype
34342 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34343 (vid_mode): remove
34344 (linux_vesafb_res): compile only on PCBIOS
34345 (grub_linux_boot): support gfxpayload
34346 * loader/i386/pc/xnu.c (video_hook): new function
34347 (grub_xnu_set_video): support gfxpayload
34348 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34349 (DEFAULT_VIDEO_HEIGHT): likewise
34350 (DEFAULT_VIDEO_FLAGS): likewise
34351 (DEFAULT_VIDEO_MODE): new definition
34352 (video_hook): new function
34353 (grub_gfxterm_init): use grub_video_set_mode
34354 * util/grub.d/30_os-prober.in: remove explicit modesetting before
34355 loading xnu
34356 * video/video.c (grub_video_setup): removed
34357 (grub_video_set_mode): new function based on grub_gfxterm_init and
34358 grub_video_setup
34359
34360 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34361
34362 Avoid calling biosdisk in drivemap
34363
34364 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34365 (revparse_biosdisk): likewise
34366 (list_mappings): derive name from id directly
34367 (grub_cmd_drivemap): use tryparse_diskstring
34368
34369 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34370
34371 Script fixes
34372
34373 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34374 (grub_lexer_param): add tokenonhold
34375 (grub_script_create_cmdline): remove cmdline. All callers updated
34376 (grub_script_function_create): make functionname
34377 grub_script_arg. All callers updated
34378 (grub_script_execute_argument_to_string): new prototype
34379 * kern/parser.c (state_transitions): reorder
34380 (grub_parser_cmdline_state): fix a bug and make more compact
34381 * script/sh/execute.c (grub_script_execute_argument_to_string):
34382 make global
34383 (grub_script_execute_cmdline): use new format
34384 * script/sh/function.c (grub_script_function_create): make functionname
34385 grub_script_arg. All callers updated
34386 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
34387 (grub_script_yylex): remove
34388 (grub_script_yylex2): renamed to ...
34389 (grub_script_yylex): ...renamed
34390 parse the expressions like a${b}c
34391 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34392 (GRUB_PARSER_TOKEN_VAR): remove
34393 (GRUB_PARSER_TOKEN_NAME): likewise
34394 ("if"): declare as typeless
34395 ("while"): likewise
34396 ("function"): likewise
34397 ("else"): likewise
34398 ("then"): likewise
34399 ("fi"): likewise
34400 (text): remove
34401 (argument): likewise
34402 (script): accept empty scripts and make exit on error
34403 (arguments): use GRUB_PARSER_TOKEN_ARG
34404 (function): likewise
34405 (command): move error handling to script
34406 (menuentry): move grub_script_lexer_ref before
34407 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
34408 argument. All callers updated
34409
34410 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34411
34412 Prevent GRUB from probing floppies during boot.
34413
34414 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34415 * commands/search.c (options): Add --no-floppy.
34416 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34418 --no-floppy when searching for UUIDs.
34419
34420 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34421
34422 Simplify the code duplication in commands/search.c.
34423
34424 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34425 (search_fs): ... this. Update all users.
34426
34427 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
34428
34429 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34430
34431 2009-05-28 Pavel Roskin <proski@gnu.org>
34432
34433 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34434 Remove the original symlink explicitly.
34435
34436 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34437 just one slash. That's how grub_fshelp_find_file() does it.
34438
34439 2009-05-26 Pavel Roskin <proski@gnu.org>
34440
34441 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34442 to `str'.
34443
34444 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34445 possibly unused.
34446
34447 2009-05-25 Christian Franke <franke@computer.org>
34448
34449 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34450 register.
34451 (grub_atapi_identify): Add wait after drive select.
34452 (grub_ata_identify): Do more strict status register check before
34453 calling grub_atapi_identify (). Suppress error message if status
34454 register is 0x00 after command failure. Add status register
34455 check after PIO read to avoid bogus identify due to stuck DRQ.
34456 Thanks to Pavel Roskin for testing.
34457 (grub_device_initialize): Remove unsafe status register check.
34458 Thanks to 'phcoder' for problem report and patch.
34459 Prevent sign extension in debug message.
34460
34461 2009-05-23 Colin D Bennett <colin@gibibit.com>
34462
34463 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34464 definition file, and functions defined in `normal/menu.c' have had
34465 their prototypes moved to `include/grub/menu.h' for consistency.
34466
34467 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34468 from normal.h.
34469 (grub_menu_get_entry): Likewise.
34470 (grub_menu_get_timeout): Likewise.
34471 (grub_menu_set_timeout): Likewise.
34472 (grub_menu_execute_entry): Likewise.
34473 (grub_menu_execute_with_fallback): Likewise.
34474 (grub_menu_entry_run): Likewise.
34475
34476 * include/grub/normal.h: Re-ordered and grouped function
34477 prototypes by file that the function is defined in.
34478 (grub_menu_execute_callback): Removed; moved to menu.h.
34479 (grub_menu_get_entry): Likewise.
34480 (grub_menu_get_timeout): Likewise.
34481 (grub_menu_set_timeout): Likewise.
34482 (grub_menu_execute_entry): Likewise.
34483 (grub_menu_execute_with_fallback): Likewise.
34484 (grub_menu_entry_run): Likewise.
34485 (grub_menu_addentry): Renamed from this ...
34486 (grub_normal_add_menu_entry): ... to this.
34487
34488 * normal/main.c (grub_menu_addentry): Renamed from this ...
34489 (grub_normal_add_menu_entry): ... to this.
34490
34491 * script/sh/execute.c (grub_script_execute_menuentry): Update
34492 reference to renamed grub_menu_addentry function.
34493
34494 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
34495
34496 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34497
34498 2009-05-22 Pavel Roskin <proski@gnu.org>
34499
34500 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34501 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34502 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34503 compiling for the i386 targets, but not for the utilities.
34504
34505 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34506 to grub_uint8_t.
34507 (grub_root_drive): Likewise.
34508 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34509 remove alignment.
34510 (grub_root_drive): Change size to byte.
34511 (grub_start_addr): Remove.
34512 (grub_end_addr): Likewise.
34513 (grub_apm_bios_info): Likewise.
34514
34515 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
34516
34517 * normal/i386: Remove.
34518 * normal/powerpc: Likewise.
34519 * normal/sparc64: Likewise.
34520 * normal/x86_64: Likewise.
34521
34522 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34523
34524 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
34525 * loader/i386/linux_trampoline.S: Fix indentation
34526 * loader/i386/xnu_helper.S: Likewise
34527
34528 2009-05-18 Colin D Bennett <colin@gibibit.com>
34529
34530 Display error messages when parsing a Lua statement fails.
34531 Previously, executing a syntactically invalid statement like
34532 ")foo" or "bar;" would silently fail.
34533
34534 * script/lua/grub_main.c (handle_lua_error): New function.
34535 (grub_lua_parse_line): Improved reporting of Lua parser and
34536 execution errors.
34537
34538 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34539
34540 Remove -Werror which causes build to fail on some systems
34541
34542 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34543 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34544 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
34545
34546 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34547
34548 trampoline for linux on 64-bit platform
34549
34550 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34551 loader/i386/efi/linux_trampoline.S
34552 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
34553 declaration
34554 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34555 here
34556 * loader/i386/linux_trampoline.S: moved here
34557 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34558 trampoline
34559 (jumpvector): removed
34560 (grub_linux_trampoline_start): new declaration
34561 (grub_linux_trampoline_end): likewise
34562 (grub_linux_boot): use trampoline when on 64-bit platform
34563 * loader/i386/linux.c: likewise
34564
34565 2009-05-16 Pavel Roskin <proski@gnu.org>
34566
34567 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34568 const to avoid a warning.
34569 (grub_lua_setenv): Likewise.
34570 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34571 lmsg to fix a warning.
34572
34573 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
34574
34575 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
34576 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34577 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34578 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34579 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34580 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34581 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34582 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34583
34584 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
34585
34586 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34587
34588 2009-05-16 Bean <bean123ch@gmail.com>
34589
34590 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34591 (lua_mod_SOURCES): New variable.
34592 (lua_mod_CFLAGS): Likewise.
34593 (lua_mod_LDFLAGS): Likewise.
34594
34595 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34596 (setjmp_mod_SOURCES): New variable.
34597 (setjmp_mod_CFLAGS): Likewise.
34598 (setjmp_LDFLAGS): Likewise.
34599
34600 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34601 (setjmp_mod_SOURCES): New variable.
34602 (setjmp_mod_CFLAGS): Likewise.
34603 (setjmp_LDFLAGS): Likewise.
34604
34605 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34606 (setjmp_mod_SOURCES): New variable.
34607 (setjmp_mod_CFLAGS): Likewise.
34608 (setjmp_LDFLAGS): Likewise.
34609
34610 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34611 (setjmp_mod_SOURCES): New variable.
34612 (setjmp_mod_CFLAGS): Likewise.
34613 (setjmp_LDFLAGS): Likewise.
34614
34615 * normal/i386/setjmp.S: Moved from here ...
34616 * lib/i386/setjmp.S: ... Moved here
34617 * normal/x86_64/setjmp.S: Moved from here ...
34618 * lib/x86_64/setjmp.S: ... Moved here
34619 * normal/powerpc/setjmp.S: Moved from here ...
34620 * lib/powerpc/setjmp.S: ... Moved here
34621 * normal/sparc64/setjmp.S: Moved from here ...
34622 * lib/sparc64/setjmp.S: ... Moved here
34623
34624 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34625 returns_twice in mingw.
34626
34627 * script/lua/grub_lib.c: New file.
34628 * script/lua/grub_lib.h: Likewise.
34629 * script/lua/grub_lua.h: Likewise.
34630 * script/lua/grub_main.c: Likewise.
34631 * script/lua/lapi.c: Likewise.
34632 * script/lua/lapi.h: Likewise.
34633 * script/lua/lauxlib.c: Likewise.
34634 * script/lua/lauxlib.h: Likewise.
34635 * script/lua/lbaselib.c: Likewise.
34636 * script/lua/lcode.c: Likewise.
34637 * script/lua/lcode.h: Likewise.
34638 * script/lua/ldblib.c: Likewise.
34639 * script/lua/ldebug.c: Likewise.
34640 * script/lua/ldebug.h: Likewise.
34641 * script/lua/ldo.c: Likewise.
34642 * script/lua/ldo.h: Likewise.
34643 * script/lua/ldump.c: Likewise.
34644 * script/lua/lfunc.c: Likewise.
34645 * script/lua/lfunc.h: Likewise.
34646 * script/lua/lgc.c: Likewise.
34647 * script/lua/lgc.h: Likewise.
34648 * script/lua/linit.c: Likewise.
34649 * script/lua/liolib.c: Likewise.
34650 * script/lua/llex.c: Likewise.
34651 * script/lua/llex.h: Likewise.
34652 * script/lua/llimits.h: Likewise.
34653 * script/lua/lmathlib.c: Likewise.
34654 * script/lua/lmem.c: Likewise.
34655 * script/lua/lmem.h: Likewise.
34656 * script/lua/loadlib.c: Likewise.
34657 * script/lua/lobject.c: Likewise.
34658 * script/lua/lobject.h: Likewise.
34659 * script/lua/lopcodes.c: Likewise.
34660 * script/lua/lopcodes.h: Likewise.
34661 * script/lua/loslib.c: Likewise.
34662 * script/lua/lparser.c: Likewise.
34663 * script/lua/lparser.h: Likewise.
34664 * script/lua/lstate.c: Likewise.
34665 * script/lua/lstate.h: Likewise.
34666 * script/lua/lstring.c: Likewise.
34667 * script/lua/lstring.h: Likewise.
34668 * script/lua/lstrlib.c: Likewise.
34669 * script/lua/ltable.c: Likewise.
34670 * script/lua/ltable.h: Likewise.
34671 * script/lua/ltablib.c: Likewise.
34672 * script/lua/ltm.c: Likewise.
34673 * script/lua/ltm.h: Likewise.
34674 * script/lua/lua.h: Likewise.
34675 * script/lua/luaconf.h: Likewise.
34676 * script/lua/lualib.h: Likewise.
34677 * script/lua/lundump.c: Likewise.
34678 * script/lua/lundump.h: Likewise.
34679 * script/lua/lvm.c: Likewise.
34680 * script/lua/lvm.h: Likewise.
34681 * script/lua/lzio.c: Likewise.
34682 * script/lua/lzio.h: Likewise.
34683
34684 2009-05-16 Bean <bean123ch@gmail.com>
34685
34686 * include/grub/kernel.h (grub_module_header_types): Add type
34687 OBJ_TYPE_CONFIG.
34688
34689 * kern/main.c (grub_load_config): New function.
34690 (grub_main): Call grub_load_config to read boot config.
34691
34692 * grub-mkimage (generate_image): New parameter config_path.
34693 (options): New option --config.
34694 (main): Parse --config option, and pass it to generate_image.
34695
34696 2009-05-14 Christian Franke <franke@computer.org>
34697
34698 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34699 This fixes build on Cygwin.
34700
34701 2009-05-14 Pavel Roskin <proski@gnu.org>
34702
34703 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34704 jump. This saves two bytes, so the typical case of 2 swapped
34705 drives would fit 32 bytes.
34706
34707 2009-05-13 Pavel Roskin <proski@gnu.org>
34708
34709 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34710 grub_uint32_t to avoid a warning.
34711
34712 * loader/i386/linux.c (allocate_pages): When assigning
34713 real_mode_mem, cast through grub_size_t to fix a warning. The
34714 code already makes sure that the value would fit a pointer.
34715 (grub_linux_setup_video): Cast render_target->data to
34716 grub_size_t to fix a warning.
34717
34718 2009-05-13 Javier Martín <lordhabbit@gmail.com>
34719
34720 * commands/i386/pc/drivemap.c: New file - implement drivemap
34721 command.
34722 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34723 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34724
34725 2009-05-13 Pavel Roskin <proski@gnu.org>
34726
34727 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34728 embedding_area_exists.
34729
34730 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34731
34732 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34733 it easier to understand / work with.
34734 Improve warning messages for cases where there's no embedding area,
34735 or when it is too small (or core.img too large).
34736
34737 2009-05-13 Pavel Roskin <proski@gnu.org>
34738
34739 * loader/i386/pc/multiboot2.c: Add necessary includes for
34740 grub_multiboot2_real_boot().
34741
34742 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34743 PX record is always little-endian. We only need the lower 2
34744 bytes of the mode.
34745
34746 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34747 facilitate code reuse.
34748 (grub_cpio_mount): Use "struct head", not a char buffer. This
34749 fixes a warning reported by gcc 4.4.
34750
34751 * kernel/disk.c (grub_disk_read): Use void pointer for the
34752 buffer.
34753 (grub_disk_write): Use const void pointer for the buffer.
34754 Adjust all callers. Remove unnecessary casts.
34755
34756 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34757
34758 * util/i386/pc/grub-install.in: Update copyright year.
34759
34760 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34761
34762 gptsync
34763
34764 * commands/gptsync.c: new file
34765 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34766 (gptsync_mod_SOURCES): new variable
34767 (gptsync_mod_CFLAGS): likewise
34768 (gptsync_mod_LDFLAGS): likewise
34769 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
34770 new definition
34771 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34773 * conf/i386-ieee1275.rmk: likewise
34774 * conf/i386-pc.rmk: likewise
34775 * conf/powerpc-ieee1275.rmk: likewise
34776
34777 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34778
34779 Fixed grub-emu
34780
34781 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34782 (grub_dl_ref): likewise
34783
34784 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34785
34786 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34787 split in two functions (one for msdos and one for gpt).
34788
34789 2009-05-08 Pavel Roskin <proski@gnu.org>
34790
34791 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34792 not modified.
34793
34794 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34795 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34796 Initialize them with -1. Add sanity check for bad1. Eliminate
34797 nerr variable.
34798
34799 2009-05-08 David S. Miller <davem@davemloft.net>
34800
34801 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34802
34803 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34804
34805 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
34806 existence.
34807
34808 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
34809
34810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34811 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
34812
34813 2009-05-05 David S. Miller <davem@davemloft.net>
34814
34815 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34816
34817 2009-05-05 Pavel Roskin <proski@gnu.org>
34818
34819 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34820 of grub_dl_ref() and grub_dl_unref().
34821 * commands/parttool.c: Remove preprocessor conditionals around
34822 grub_dl_ref() and grub_dl_unref().
34823 * fs/affs.c: Likewise.
34824 * fs/afs.c: Likewise.
34825 * fs/cpio.c: Likewise.
34826 * fs/ext2.c: Likewise.
34827 * fs/fat.c: Likewise.
34828 * fs/hfs.c: Likewise.
34829 * fs/hfsplus.c: Likewise.
34830 * fs/iso9660.c: Likewise.
34831 * fs/jfs.c: Likewise.
34832 * fs/minix.c: Likewise.
34833 * fs/ntfs.c: Likewise.
34834 * fs/reiserfs.c: Likewise.
34835 * fs/sfs.c: Likewise.
34836 * fs/udf.c: Likewise.
34837 * fs/ufs.c: Likewise.
34838 * fs/xfs.c: Likewise.
34839 * include/grub/dl.h: Likewise.
34840 * loader/xnu.c: Likewise.
34841
34842 2009-05-04 Pavel Roskin <proski@gnu.org>
34843
34844 * commands/acpi.c: Remove unused variable my_mod.
34845 * partmap/amiga.c: Likewise.
34846 * partmap/apple.c: Likewise.
34847 * partmap/gpt.c: Likewise.
34848 * partmap/pc.c: Likewise.
34849 * partmap/sun.c: Likewise.
34850 * term/gfxterm.c: Likewise.
34851 * term/i386/pc/vesafb.c: Likewise.
34852 * term/i386/pc/vga.c: Likewise.
34853
34854 2009-05-04 David S. Miller <davem@davemloft.net>
34855
34856 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34857 pointer args to grub_ieee1275_get_property().
34858
34859 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34860
34861 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34862 devices, and do not traverse down under controller nodes.
34863
34864 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34865 (grub_ofdisk_open): Use it to un-escape "," characters.
34866 * kern/disk.c (find_part_sep): New.
34867 (grub_disk_open): Use it to find the first non-escaped ','
34868 character in the disk name.
34869 * util/ieee1275/devicemap.c (escape_of_path): New.
34870 (grub_util_emit_devicemap_entry): Use it.
34871 * util/sparc64/ieee1275/grub-install.in: Update script to
34872 strip partition specifiers properly by not triggering on
34873 '\' escaped ',' characters.
34874
34875 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34876
34877 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34878 to 0x300.
34879 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34880 resolutions.
34881 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34882 on documentation from Wikipedia).
34883
34884 2009-05-04 Pavel Roskin <proski@gnu.org>
34885
34886 * disk/ata.c: Spelling fixes.
34887 * disk/raid.c: Likewise.
34888 * disk/usbms.c: Likewise.
34889 * disk/dmraid_nvidia.c: Likewise.
34890 * kern/ieee1275/openfw.c: Likewise.
34891 * kern/ieee1275/init.c: Likewise.
34892 * kern/ieee1275/cmain.c: Likewise.
34893 * boot/i386/pc/cdboot.S: Likewise.
34894 * video/readers/png.c: Likewise.
34895 * video/i386/pc/vbe.c: Likewise.
34896 * fs/udf.c: Likewise.
34897 * fs/hfs.c: Likewise.
34898 * fs/reiserfs.c: Likewise.
34899 * efiemu/runtime/efiemu.c: Likewise.
34900 * efiemu/main.c: Likewise.
34901 * efiemu/mm.c: Likewise.
34902 * include/grub/elf.h: Likewise.
34903 * include/grub/xnu.h: Likewise.
34904 * include/grub/usbdesc.h: Likewise.
34905 * include/grub/usb.h: Likewise.
34906 * include/grub/script_sh.h: Likewise.
34907 * include/grub/lib/LzmaEnc.h: Likewise.
34908 * include/grub/efiemu/efiemu.h: Likewise.
34909 * include/grub/command.h: Likewise.
34910 * normal/menu.c: Likewise.
34911 * normal/main.c: Likewise.
34912 * normal/datetime.c: Likewise.
34913 * bus/usb/uhci.c: Likewise.
34914 * mmap/i386/uppermem.c: Likewise.
34915 * mmap/mmap.c: Likewise.
34916 * commands/acpi.c: Likewise.
34917 * commands/test.c: Likewise.
34918 * partmap/apple.c: Likewise.
34919 * font/font.c: Likewise.
34920 * loader/sparc64/ieee1275/linux.c: Likewise.
34921 * loader/macho.c: Likewise.
34922 * loader/i386/bsd_trampoline.S: Likewise.
34923 * loader/i386/bsd.c: Likewise.
34924 * loader/xnu.c: Likewise.
34925 * term/i386/pc/vesafb.c: Likewise.
34926 * term/usb_keyboard.c: Likewise.
34927 * util/resolve.c: Likewise.
34928 * util/getroot.c: Likewise.
34929
34930 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
34931
34932 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34933
34934 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34935
34936 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34937 build error.
34938
34939 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34940
34941 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34942 parameter only available on BIOS.
34943
34944 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34945
34946 Removed wrong semicolon in declaration
34947
34948 * grub/misc.h (grub_dprintf): remove semicolon
34949
34950 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34951
34952 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34953 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34954 is done by grub_cmd_linux() now).
34955 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34956 restore video to text mode.
34957 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34958 indicates lack of "vga=" parameter. "vga=0" is mapped to
34959 `GRUB_LINUX_VID_MODE_NORMAL'.
34960
34961 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
34962
34963 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34964 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34965 and `normal/script.c'. Add `kern/rescue_reader.c',
34966 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
34967 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34968 `grub_script.tab.c'.
34969
34970 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34971 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34974 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34975
34976 * Makefile.in: Remove duplicated 2008 in Copyright line.
34977
34978 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34979
34980 * util/misc.c (grub_util_warn): New function. Emits a warning
34981 unconditionally.
34982 * include/grub/util/misc.h (grub_util_warn): New declaration.
34983
34984 * util/i386/pc/grub-install.in: Understand --force and pass it down
34985 to grub-setup.
34986
34987 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34988 down to setup().
34989 (setup): Improve error messages and add warnings when requested to
34990 install in odd layouts. Refuse to install using blocklists unless
34991 --force was set.
34992
34993 2009-05-04 martin f. krafft <madduck@madduck.net>
34994
34995 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34996
34997 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34998
34999 Updated copyright year
35000
35001 * fs/hfsplus.c: updated copyright year
35002
35003 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
35004
35005 HFS+ UUID
35006
35007 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
35008 in the space previously used by unused3
35009 (grub_hfsplus_uuid): new function
35010 (grub_hfsplus_fs): added uuid field
35011
35012 2009-05-03 Pavel Roskin <proski@gnu.org>
35013
35014 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
35015 suppress warnings. It's no longer needed.
35016 * disk/host.c: Likewise.
35017 * disk/ata_pthru.c: Likewise.
35018 * disk/loopback.c: Likewise.
35019 * hook/datehook.c: Likewise.
35020 * parttool/pcpart.c: Likewise.
35021 * fs/i386/pc/pxe.c: Likewise.
35022 * fs/ntfscomp.c: Likewise.
35023 * efiemu/main.c: Likewise.
35024 * mmap/mmap.c: Likewise.
35025 * commands/crc.c: Likewise.
35026 * commands/hexdump.c: Likewise.
35027 * commands/hdparm.c: Likewise.
35028 * commands/acpi.c: Likewise.
35029 * commands/echo.c: Likewise.
35030 * commands/minicmd.c: Likewise.
35031 * commands/blocklist.c: Likewise.
35032 * commands/memrw.c: Likewise.
35033 * commands/loadenv.c: Likewise.
35034 * commands/usbtest.c: Likewise.
35035 * commands/lsmmap.c: Likewise.
35036 * commands/boot.c: Likewise.
35037 * commands/parttool.c: Likewise.
35038 * commands/configfile.c: Likewise.
35039 * commands/search.c: Likewise.
35040 * commands/ieee1275/suspend.c: Likewise.
35041 * commands/cat.c: Likewise.
35042 * commands/i386/pc/pxecmd.c: Likewise.
35043 * commands/i386/pc/play.c: Likewise.
35044 * commands/i386/pc/halt.c: Likewise.
35045 * commands/i386/pc/vbeinfo.c: Likewise.
35046 * commands/i386/pc/vbetest.c: Likewise.
35047 * commands/lspci.c: Likewise.
35048 * commands/date.c: Likewise.
35049 * commands/handler.c: Likewise.
35050 * commands/ls.c: Likewise.
35051 * commands/test.c: Likewise.
35052 * commands/cmp.c: Likewise.
35053 * commands/efi/loadbios.c: Likewise.
35054 * commands/efi/fixvideo.c: Likewise.
35055 * commands/halt.c: Likewise.
35056 * commands/help.c: Likewise.
35057 * commands/reboot.c: Likewise.
35058 * hello/hello.c: Likewise.
35059 * script/sh/main.c: Likewise.
35060 * loader/xnu.c: Likewise.
35061 * term/terminfo.c: Likewise.
35062 * term/i386/pc/serial.c: Likewise.
35063 * term/usb_keyboard.c: Likewise.
35064
35065 2009-05-03 David S. Miller <davem@davemloft.net>
35066
35067 * normal/menu.c: Include grub/parser.h
35068
35069 2009-05-03 Pavel Roskin <proski@gnu.org>
35070
35071 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
35072 not char*.
35073 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
35074 Suggested by Javier Martín <lordhabbit@gmail.com>
35075
35076 * util/i386/pc/grub-mkrescue.in: Allow for the case when
35077 efiemu??.o doesn't exist.
35078 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
35079 copying.
35080
35081 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
35082
35083 FreeBSD 64-bit support
35084
35085 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
35086 and loader/i386/bsd_trampoline.S
35087 (bsd_mod_ASFLAGS): new variable
35088 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
35089 (FREEBSD_MODTYPE_KERNEL64): likewise
35090 (grub_bsd64_trampoline_start): likewise
35091 (grub_bsd64_trampoline_end): likewise
35092 (grub_bsd64_trampoline_selfjump): likewise
35093 (grub_bsd64_trampoline_gdt): likewise
35094 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
35095 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
35096 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
35097 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
35098 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
35099 of "attrib" member
35100 * loader/i386/bsd_pagetable.c: new file
35101 * loader/i386/bsd_trampoline.S: likewise
35102 * loader/i386/bsd.c (ALIGN_QWORD): new macro
35103 (ALIGN_VAR): likewise
35104 (entry_hi): new variable
35105 (kern_end_mdofs): likewise
35106 (is_64bit): likewise
35107 (grub_freebsd_add_meta): use ALIGN_VAR
35108 (grub_e820_mmap): new declaration
35109 (grub_freebsd_add_mmap): new function
35110 (grub_freebsd_add_meta_module): support 64 bit kernels
35111 (grub_freebsd_list_modules): use ALIGN_VAR
35112 (gdt_descriptor): new declaration
35113 (grub_freebsd_boot): support 64 bit kernels
35114 (grub_bsd_elf64_hook): new function
35115 (grub_bsd_load_elf): support elf64
35116
35117 2009-05-03 Bean <bean123ch@gmail.com>
35118
35119 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
35120 after we get the result of if statement.
35121
35122 2009-05-03 Bean <bean123ch@gmail.com>
35123
35124 * Makefile.in (enable_efiemu): New variable.
35125
35126 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
35127 set.
35128 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
35129 path.
35130 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
35131 path, add -mno-red-zone option.
35132 (efiemu64_s.o): Likewise.
35133 (efiemu64.o): Use macro $^ for source file.
35134
35135 * configure.ac (--enable-efiemu): New option.
35136
35137 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
35138
35139 xnu support
35140
35141 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
35142 (pkglib_MODULES): add xnu.mod
35143 (xnu_mod_SOURCES): new variable
35144 (xnu_mod_CFLAGS): likewise
35145 (xnu_mod_LDFLAGS): likewise
35146 (xnu_mod_ASFLAGS): likewise
35147 * conf/i386-pc.rmk: likewise
35148 * conf/x86_64-efi.rmk: likewise
35149 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
35150 new declaration
35151 * include/grub/i386/macho.h: new file
35152 * include/grub/i386/xnu.h: likewise
35153 * include/grub/macho.h: likewise
35154 * include/grub/machoload.h: likewise
35155 * include/grub/x86_64/macho.h: likewise
35156 * include/grub/x86_64/xnu.h: likewise
35157 * include/grub/xnu.h: likewise
35158 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
35159 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
35160 * loader/i386/efi/xnu.c: new file
35161 * loader/i386/pc/xnu.c: likewise
35162 * loader/i386/xnu.c: likewise
35163 * loader/i386/xnu_helper.S: likewise
35164 * loader/macho.c: likewise
35165 * loader/xnu.c: likewise
35166 * loader/xnu_resume.c: likewise
35167 * util/grub-dumpdevtree: likewise
35168 * include/grub/i386/pit.h: include grub/err.h
35169 (grub_pit_wait): export
35170 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
35171
35172 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35173
35174 Efiemu
35175
35176 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
35177 _linux_efi, linux_efi.
35178 new files in grub-emu
35179 new targets efiemu32.o and efiemu64.o
35180 * loader/linux_normal_efiemu.c: likewise
35181 * loader/i386/efi/linux.c: added preliminary efiemu support
35182 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
35183 files to copy
35184 * include/grub/autoefi.h: new file
35185 * include/grub/i386/efiemu.h: likewise
35186 * include/grub/i386/pc/efiemu.h: likewise
35187 * include/grub/efi/api.h: add LL suffix when necessary
35188 new definitions relating to tables
35189 * include/grub/efiemu/efiemu.h: new file
35190 * include/grub/efiemu/runtime.h: likewise
35191 * efiemu/prepare.c: likewise
35192 * efiemu/loadcore_common.c: likewise
35193 * efiemu/loadcore64.c: likewise
35194 * efiemu/runtime/efiemu.sh: likewise
35195 * efiemu/runtime/efiemu.S: likewise
35196 * efiemu/runtime/efiemu.c: likewise
35197 * efiemu/runtime/config.h: likewise
35198 * efiemu/prepare32.c: likewise
35199 * efiemu/main.c: likewise
35200 * efiemu/modules/pnvram.c: likewise
35201 * efiemu/modules/i386: likewise
35202 * efiemu/modules/i386/pc: likewise
35203 * efiemu/modules/acpi.c: likewise
35204 * efiemu/i386/pc/cfgtables.c: likewise
35205 * efiemu/i386/loadcore64.c: likewise
35206 * efiemu/i386/loadcore32.c: likewise
35207 * efiemu/prepare64.c: likewise
35208 * efiemu/loadcore.c: likewise
35209 * efiemu/symbols.c: likewise
35210 * efiemu/mm.c: likewise
35211 * efiemu/loadcore32.c: likewise
35212
35213 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35214
35215 ACPI spoofing
35216
35217 * commands/acpi.c: new file
35218 * commands/i386/pc/acpi.c: likewise
35219 * commands/efi/acpi.c: likewise
35220 * include/grub/acpi.h: likewise
35221 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
35222 (acpi_mod_SOURCES): new variable
35223 (acpi_mod_CFLAGS): likewise
35224 (acpi_mod_LDFLAGS): likewise
35225 * conf/i386-efi.rmk: likewise
35226 * conf/x86_64-efi.rmk: likewise
35227
35228 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35229
35230 Missing part from mmap patch
35231
35232 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
35233 (grub_mmap_unregister)
35234 (grub_mmap_free_and_unregister): use grub_mmap_register
35235
35236 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35237
35238 Mmap services
35239
35240 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
35241 * loader/i386/linux.c (find_mmap_size): likewise
35242 (allocate_pages): likewise
35243 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
35244 (grub_fill_multiboot_mmap): likewise
35245 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
35246 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
35247 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
35248 (OPENBSD_MMAP_RESERVED): likewise
35249 * include/grub/i386/pc/memory.h: include grub/memory.h
35250 (grub_lower_mem): removed
35251 (grub_upper_mem): likewise
35252 (GRUB_MACHINE_MEMORY_ACPI): new definition
35253 (GRUB_MACHINE_MEMORY_NVS): likewise
35254 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
35255 (GRUB_MACHINE_MEMORY_HOLE): likewise
35256 (grub_machine_mmap_register): likewise
35257 (grub_machine_mmap_unregister): likewise
35258 (grub_machine_get_upper): likewise
35259 (grub_machine_get_lower): likewise
35260 (grub_machine_get_post64): likewise
35261 * include/grub/i386/efi/memory.h: new file
35262 * include/grub/x86_64/efi/memory.h: likewise
35263 * include/grub/efi/memory.h: likewise
35264 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
35265 (mmap_mod_SOURCES): new variable
35266 (mmap_mod_LDFLAGS): likewise
35267 (mmap_mod_ASFLAGS): likewise
35268 * conf/i386-coreboot.rmk: likewise
35269 * conf/i386-ieee1275.rmk: likewise
35270 * conf/i386-efi.rmk: likewise
35271 * conf/x86_64-efi.rmk: likewise
35272 * include/grub/types.h (UINT_TO_PTR): new macro
35273 (PTR_TO_UINT32): likewise
35274 (PTR_TO_UINT64): likewise
35275 * include/grub/memory.h: new file
35276 * mmap/i386/pc/mmap.c: likewise
35277 * mmap/i386/pc/mmap_helper.S: likewise
35278 * mmap/i386/uppermem.c: likewise
35279 * mmap/mmap.c: likewise
35280 * mmap/efi/mmap.c: likewise
35281 * kern/i386/coreboot/init.c (grub_machine_init): don't use
35282 grub_upper_mem
35283 * kern/i386/pc/init.c (grub_lower_mem): removed variable
35284 (grub_upper_mem): likewise
35285 (grub_machine_init): don't use grub_upper_mem,
35286 make grub_lower_mem local
35287 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
35288 grub_mmap_iterate and grub_mmap_get_upper
35289 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
35290
35291 2009-05-02 Bean <bean123ch@gmail.com>
35292
35293 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
35294 script/sh/parser.y.
35295 (pkglib_MODULES): Add normal.mod and sh.mod.
35296 (normal_SOURCES): New variable.
35297 (normal_mod_CFLAGS): Likewise.
35298 (normal_mod_LDFLAGS): Likewise.
35299 (sh_mod_SOURCES): Likewise.
35300 (sh_mod_CFLAGS): Likewise.
35301 (sh_mod_LDFLAGS): Likewise.
35302
35303 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
35304 script/sh/lexer.c_DEPENDENCIES.
35305 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
35306 kern/rescue_reader.c and kern/rescue_parser.c.
35307 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
35308 (grub_emu_SOURCES): Change source files.
35309 (pkglib_MODULES): Remove normal.mod.
35310 (normal_SOURCES): Removed.
35311 (normal_mod_CFLAGS): Likewise.
35312 (normal_mod_LDFLAGS): Likewise.
35313 * conf/i386-coreboot.rmk: Likewise.
35314 * conf/i386-efi.rmk: Likewise.
35315 * conf/i386-ieee1276.rmk: Likewise.
35316 * conf/powerpc-ieee1275.rmk: Likewise.
35317 * conf/sparc64-ieee1275.rmk: Likewise.
35318 * conf/x86_64-efi.rmk: Likewise.
35319
35320 * include/grub/command.h (grub_command_execute): New inline function.
35321
35322 * include/grub/menu.h (grub_menu_entry): Removed commands field.
35323
35324 * include/grub/normal.h: Remove <grub/setjmp.h>.
35325 (grub_fs_module_list): Moved to normal/autofs.c.
35326 (grub_exit_env): Removed.
35327 (grub_command_execute): Likewise.
35328 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
35329 parameter script.
35330 (read_command_list): New function declaration.
35331 (read_fs_list): Likewise.
35332
35333 * include/parser.h: Include <grub/reader.h>.
35334 (grub_parser_split_cmdline): Change type of getline parameter.
35335 (grub_parser): New structure.
35336 (grub_parser_class): New variable.
35337 (grub_parser_execute): New function declaration.
35338 (grub_register_rescue_parser): Likewise.
35339 (grub_parser_register): New inline function.
35340 (grub_parser_unregister): Likewise.
35341 (grub_parser_get_current): Likewise.
35342 (grub_parser_set_current): Likewise.
35343
35344 * include/grub/reader.h: New file.
35345 * kern/reader.c: Likewise.
35346 * kern/rescue_parser.c: Likewise.
35347 * kern/rescue_reader.c: Likewise.
35348 * normal/autofs.c: Likewise.
35349 * normal/dyncmd.c: Likewise.
35350
35351 * include/grub/rescue.h: Removed.
35352 * normal/command.h: Likewise.
35353
35354 * include/grub/script.h: Moved to ...
35355 * include/grub/script_sh.h: ... Moved here.
35356 * normal/execute.c: Moved to ...
35357 * script/sh/execute.c: ... Moved here.
35358 * normal/function.c: Moved to ...
35359 * script/sh/function.c: ... Moved here.
35360 * normal/lexer.c: Moved to ...
35361 * script/sh/lexer.c: ... Moved here.
35362 * normal/parser.y: Moved to ...
35363 * script/sh/parser.y: ... Moved here.
35364 * normal/script.c: Moved to ...
35365 * script/sh/script.c: ... Moved here.
35366
35367 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35368 <grub/reader.h>.
35369 (grub_exit_env): Removed.
35370 (fs_module_list): Moved to normal/autofs.c.
35371 (grub_file_getline): Don't handle comment here.
35372 (free_menu): Skip removed field entry->commands.
35373 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35374 script parameter.
35375 (read_config_file): Removed nested parameter, change getline function.
35376 (grub_enter_normal_mode): Removed.
35377 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35378 (read_command_list): Likewise.
35379 (autoload_fs_module): Moved to normal/autofs.c.
35380 (read_fs_list): Likewise.
35381 (reader_nested): New variable.
35382 (grub_normal_execute): Run parser.sh to switch to sh parser.
35383 (grub_cmd_rescue): Removed.
35384 (cmd_normal): Removed.
35385 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35386 rescue command.
35387 (grub_cmdline_run): New function.
35388 (grub_normal_reader_init): Likewise.
35389 (grub_normal_read_line): Likewise.
35390 (grub_env_write_pager): Likewise.
35391 (cmdline): New variable.
35392 (grub_normal_reader): Likewise.
35393 (GRUB_MOD_INIT): Register normal reader and set as current, register
35394 pager hook, register normal command with grub_register_command_prio,
35395 so that it won't show up in command.lst.
35396 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35397 grub_fs_autoload_hook.
35398
35399 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35400 (grub_menu_execute_entry): Replace grub_script_execute with
35401 grub_parser_execute, change parameter to grub_command_execute.
35402
35403 * normal/menu_text.c: Remove <grub/script.h>.
35404
35405 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35406 and <grub/parser.h>.
35407 (run): Change editor_getline to use new parser interface. Change
35408 parameter to grub_command_execute.
35409
35410 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35411 <grub/reader.h> and <grub/parser.h>.
35412 (grub_load_normal_mode): Execute normal command.
35413 (grub_main): Call grub_register_core_commands,
35414 grub_register_rescue_parser and grub_register_rescue_reader, use
35415 grub_reader_loop to enter input loop.
35416
35417 * kern/parser.c (grub_parser_split_cmdline): Change type of
35418 getline parameter.
35419 (grub_parser_class): New variable.
35420 (grub_parser_execute): New function.
35421
35422 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35423 * loader/multiboot2.c: Likewise.
35424 * loader/sparc64/ieee1275/linux.c: Likewise.
35425
35426 * util/grub-emu.c (read_command_list): New dummy function.
35427
35428 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35429
35430 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35431 count to 16 for CCISS and IDA.
35432
35433 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35434
35435 * normal/menu_text.c (grub_wait_after_message): Print a newline
35436 after waiting for user input.
35437
35438 * loader/i386/linux.c: Include `<grub/normal.h>'.
35439 (grub_cmd_linux): Improve the error message about `ask' mode, by
35440 waiting for user input so it's not missed (we can do this, since
35441 user requested interaction).
35442
35443 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35444
35445 Added missing lst to grub-mkrescue
35446
35447 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35448 and ${input_dir}/parttool.lst
35449
35450 2009-04-30 David S. Miller <davem@davemloft.net>
35451
35452 * util/hostdisk.c (device_is_wholedisk): New function.
35453 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35454 zero only if device_is_wholedisk() returns true.
35455
35456 * util/hostdisk.c (convert_system_partition_to_system_disk):
35457 Handle virtual disk devices named /dev/vdiskX as found on sparc
35458 and powerpc.
35459
35460 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35461 lettered partition specifier is found, convert to numbered.
35462
35463 2009-04-29 David S. Miller <davem@davemloft.net>
35464
35465 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35466 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35467
35468 * normal/command.c: Add missing newline at end of file.
35469
35470 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35471 warnings.
35472 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35473 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35474 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35475 ihandles have a 32-bit type but need to be stored in a "void *".
35476
35477 2009-04-28 Pavel Roskin <proski@gnu.org>
35478
35479 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35480 not disk. Adjust all dependencies.
35481 (grub_fs_uuid_close): Use grub_device_close(), not
35482 grub_disk_close().
35483
35484 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35485 parent's partition, don't copy it by reference, as it gets freed
35486 on close.
35487
35488 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35489
35490 Preboot hooks support
35491
35492 * commands/boot.c (struct grub_preboot_t): new declaration
35493 (preboots_head): new variable
35494 (preboots_tail): likewise
35495 (grub_loader_register_preboot_hook): new function
35496 (grub_loader_unregister_preboot_hook): likewise
35497 (grub_loader_set): launch preboot hooks
35498 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35499 (grub_loader_register_preboot_hook): new declaration
35500 (grub_loader_unregister_preboot_hook): likewise
35501
35502 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35503
35504 Warning fix
35505
35506 * disk/scsi.c (grub_scsi_open): added missing cast when
35507 calling grub_dprintf
35508
35509 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35510
35511 Bug and warning fixes
35512
35513 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
35514 declaration
35515 * commands/test.c (test_parse): fixed bug with file tests and corrected
35516 declaration of find_file
35517
35518 2009-04-26 Pavel Roskin <proski@gnu.org>
35519
35520 * Makefile.in: Don't install empty manual pages if help2man is
35521 missing. Use help2man option for output, not shell redirection.
35522
35523 2009-04-26 David S. Miller <davem@davemloft.net>
35524
35525 * util/grub-mkdevicemap.c (make_device_map): Add missing
35526 NESTED_FUNC_ATTR to process_device().
35527
35528 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35529
35530 Test command
35531
35532 * commands/test.c: rewritten to use bash-like test
35533
35534 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35535
35536 Parttool autoloading and improvements
35537
35538 * Makefile.in (pkglib_DATA): add parttool.lst
35539 (parttool.lst): new target
35540 * genmk.rb: generate parttool-*
35541 (CLEANFILES): add #{parttool}
35542 (PARTTOOLFILES): new variable
35543 * genparttoollist.sh: new file
35544 * parttool/pcpart.c (grub_pcpart_boot): more feedback
35545 (grub_pcpart_type): likewise
35546 * commands/parttool.c (helpmsg): new variable
35547 (grub_cmd_parttool): output help if not enough arguments are supplied
35548 autoload modules
35549 (GRUB_MOD_INIT(parttool)): use helpmsg
35550
35551 2009-04-24 David S. Miller <davem@davemloft.net>
35552
35553 Avoiding opening same device multiple times in device iterator.
35554
35555 * kern/device.c: (grub_device_iterate): Define struct part_ent,
35556 and use it to build a list of partitions in iterate_disk() and
35557 iterate_partition().
35558
35559 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35560 on disk->data.
35561
35562 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35563 grub_devalias_iterate() result instead of unconditional 0.
35564 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35565 Also, capture hook return value, either directly or via
35566 grub_children_iterate(), and propagate to caller.
35567 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35568 grub_children_iterate): Return value is now 'int' instead of
35569 'grub_err_t'.
35570 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35571 like a proper iterator, stopping when hooks return non-zero.
35572 (grub_devalias_iterate): Likewise.
35573
35574 2009-04-23 David S. Miller <davem@davemloft.net>
35575
35576 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35577
35578 2009-04-22 David S. Miller <davem@davemloft.net>
35579
35580 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35581 is larger than address_cells, use that value for address_cells too.
35582
35583 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35584 IEEE1275_MAX_PATH_LEN): Define.
35585 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35586 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35587 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35588 'devtype'. Explicitly NULL terminate devalias expansion.
35589
35590 * util/sparc64/ieee1275/misc.c: New file.
35591 * util/sparc64/ieee1275/grub-setup.c: New file.
35592 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35593 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35594 * util/sparc64/ieee1275/grub-install.in: New file.
35595 * util/ieee1275/ofpath.c: New file.
35596 * util/ieee1275/devicemap.c: New file.
35597 * util/devicemap.c: New file.
35598 * util/deviceiter.c: New file.
35599 * kern/sparc64/ieee1275/init.c: New file.
35600 * include/grub/util/ofpath.h: New file.
35601 * include/grub/util/deviceiter.h: New file.
35602 * util/grub-mkdevicemap.c: Include deviceiter.h.
35603 Implement using grub_util_emit_devicemap_entry and
35604 grub_util_iterate_devices.
35605 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35606 util/devicemap.c into grub-mkdevicemap
35607 * conf/i386-efi.rmk: Likewise.
35608 * conf/i386-ieee1275.rmk: Likewise.
35609 * conf/i386-pc.rmk: Likewise.
35610 * conf/powerpc-ieee1275.rmk: Likewise.
35611 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35612 images and installation utilities. Build kernel as image
35613 instead of as elf binary. Use common rules as much as possible.
35614
35615 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
35616
35617 Correct GPT definition
35618
35619 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
35620 of "attrib" member
35621
35622 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
35623
35624 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35625
35626 2009-04-19 David S. Miller <davem@davemloft.net>
35627
35628 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35629 (grub_rescue_cmd_linux): Rename to...
35630 (grub_cmd_linux): and fix prototype.
35631 (grub_rescue_cmd_initrd): Rename to...
35632 (grub_cmd_initrd): and fix prototype.
35633 (cmd_linux, cmd_initrd): New.
35634 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35635 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35636
35637 2009-04-17 Pavel Roskin <proski@gnu.org>
35638
35639 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35640 format.
35641 (grub_ohci_transfer): Likewise.
35642
35643 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35644
35645 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35646 return without a value. Fix inconsistent indentation.
35647
35648 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35649 match struct grub_fs.
35650
35651 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35652 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35653 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35654 * commands/lspci.c (grub_lspci_iter): Likewise.
35655
35656 2009-04-16 Bean <bean123ch@gmail.com>
35657
35658 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35659 value.
35660
35661 2009-04-15 Pavel Roskin <proski@gnu.org>
35662
35663 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35664 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35665 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35666 definitions.
35667
35668 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
35669
35670 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
35671 that no multiple data or metadata areas are supported and `Unknown
35672 metadata header'.
35673
35674 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
35675
35676 Move loader out of the kernel
35677
35678 * kern/loader.c: moved to ...
35679 * commands/boot.c: ... moved here
35680 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35681 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35682 * include/grub/kernel.h (grub_machine_fini): export
35683 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35684 (grub_loader_set): likewise
35685 (grub_loader_unset): likewise
35686 (grub_loader_boot): likewise
35687 * conf/common.rmk: new module boot.mod
35688 (pkglib_MODULES): add boot.mod
35689 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35690 (grub_emu_SOURCES): likewise
35691 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35692 (grub_emu_SOURCES): likewise
35693 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35694 (grub_emu_SOURCES): likewise
35695 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35696 (grub_emu_SOURCES): likewise
35697 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35698 (grub_emu_SOURCES): likewise
35699 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35700 (grub_emu_SOURCES): likewise
35701 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
35702 (grub_emu_SOURCES): likewise
35703
35704 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
35705
35706 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
35707
35708 * kern/misc.c (grub_itoa): Removed function
35709 (grub_ltoa): likewise
35710 (grub_vsprintf): use grub_lltoa
35711
35712 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
35713
35714 Restore grub-emu
35715
35716 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35717 * conf/i386-coreboot.rmk: likewise
35718 * conf/i386-ieee1275.rmk: likewise
35719 * conf/powerpc-ieee1275.rmk: likewise
35720
35721 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
35722
35723 * INSTALL: Add that `./autogen.sh' needs to be run before
35724 `./configure.'.
35725
35726 2009-04-14 Bean <bean123ch@gmail.com>
35727
35728 * Makefile.in (pkglib_DATA): Add handler.lst.
35729 (handler.lst): New rule.
35730
35731 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35732 * conf/i386-coreboot.rmk: Likewise.
35733 * conf/i386-ieee1275.rmk: Likewise.
35734 * conf/i386-efi.rmk: Likewise.
35735 * conf/x86_64-efi.rmk: Likewise.
35736 * conf/powerpc-ieee1275.rmk: Likewise.
35737 * conf/sparc64-ieee1275.rmk: Likewise.
35738
35739 * genhandlerlist.sh: New file.
35740
35741 * genmk.rb: Add rules to generate handler.lst.
35742
35743 * include/grub/normal.h (grub_file_getline): New function definition.
35744 (read_handler_list): Likewise.
35745 (free_handler_list): Likewise.
35746
35747 * include/grub/term.h (grub_term_register_input): Add name parameter
35748 for auto generation of handler.lst.
35749 (grub_term_register_output): Likewise.
35750
35751 * normal/handler.c: New file.
35752
35753 * normal/main.c (get_line): Renamed to grub_file_getline.
35754 (read_config_file): Use the newly renamed grub_file_getline.
35755 (read_command_list): Likewise.
35756 (read_fs_list): Likewise.
35757 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35758 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35759
35760 * term/efi/console.c (grub_console_init): Add name parameter for auto
35761 generation of handler.lst.
35762 * term/gfxterm.c: Likewise.
35763 * term/i386/pc/at_keyboard.c: Likewise.
35764 * term/i386/pc/console.c: Likewise.
35765 * term/i386/pc/serial.c: Likewise.
35766 * term/i386/pc/vesafb.c: Likewise.
35767 * term/i386/pc/vga.c: Likewise.
35768 * term/i386/pc/vga_text.c: Likewise.
35769 * term/ieee1275/ofconsole.c: Likewise.
35770 * term/usb_keyboard.c: Likewise.
35771
35772 2009-04-14 Bean <bean123ch@gmail.com>
35773
35774 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35775 properly with null character.
35776
35777 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
35778
35779 * configure: Remove.
35780 * config.h.in: Likewise.
35781 * stamp-h.in: Likewise.
35782 * DISTLIST: Likewise.
35783 * conf/common.mk: Likewise.
35784 * conf/i386-coreboot.mk: Likewise.
35785 * conf/i386-efi.mk: Likewise.
35786 * conf/i386-ieee1275.mk: Likewise.
35787 * conf/i386.mk: Likewise.
35788 * conf/i386-pc.mk: Likewise.
35789 * conf/powerpc-ieee1275.mk: Likewise.
35790 * conf/sparc64-ieee1275.mk: Likewise.
35791 * conf/x86_64-efi.mk: Likewise.
35792
35793 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35794 develop on GRUB.
35795
35796 2009-04-14 John Stanley <jpsinthemix@verizon.net>
35797 David S. Miller <davem@davemloft.net>
35798
35799 * util/hostdisk.c (make_device_name): Fix buffer length
35800 calculations.
35801
35802 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
35803
35804 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35805 <sys/param.h> and <sys/sysctl.h>.
35806 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35807 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35808 opening the device and reset them afterwards.
35809
35810 2009-04-13 Pavel Roskin <proski@gnu.org>
35811
35812 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35813 Reported by John Stanley <jpsinthemix@verizon.net>
35814
35815 2009-04-13 Robert Millan <rmh@aybabtu.com>
35816
35817 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
35818 that name for menuentries when appropriate.
35819
35820 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
35821
35822 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35823
35824 2009-04-13 Robert Millan <rmh@aybabtu.com>
35825
35826 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35827 to Linux, simply abort telling the user it's no longer supported.
35828
35829 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
35830
35831 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
35832 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
35833 `freebsd_loadenv' only when devices.hints exist.
35834
35835 2009-04-13 Pavel Roskin <proski@gnu.org>
35836
35837 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35838
35839 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
35840
35841 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35842 partition number.
35843 (grub_drive): Likewise.
35844
35845 2009-04-13 David S. Miller <davem@davemloft.net>
35846
35847 * kern/sparc64/ieee1275/ieee1275.c: New file.
35848 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35849 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35850 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35851 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35852 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35853 grub_ieee1275_alloc_physmem): Declare new exported functions.
35854
35855 * include/grub/sparc64/ieee1275/loader.h: New file.
35856 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35857 * include/grub/sparc64/kernel.h: Likewise.
35858 * loader/sparc64/ieee1275/linux.c: Likewise.
35859
35860 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35861 (grub_fstest_SOURCES): Likewise.
35862
35863 * util/hostdisk.c (make_device_name): Do not make any assumptions
35864 about the length of drive names.
35865
35866 * kern/dl.c (grub_dl_load_file): Close file immediately when
35867 we are done using it.
35868
35869 2009-04-12 David S. Miller <davem@davemloft.net>
35870
35871 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35872 values. Noticed by Pavel Roskin.
35873
35874 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35875 target compiler.
35876
35877 * genmk.rb: Add more flexible image type specification, also
35878 pass --strip-unneeded to objcopy.
35879 * conf/i386-pc.rmk: Use *_FORMAT.
35880 * conf/i386-pc.mk: Rebuilt.
35881
35882 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35883 (OFDISK_HASH_SZ): Define.
35884 (ofdisk_hash): New hash table.
35885 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35886 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35887 instead of device phandle which is not unique.
35888
35889 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35890 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35891 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35892 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35893 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35894 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35895 GRUB_KERNEL_MACHINE_DATA_END): Define.
35896 (grub_kernel_image_size, grub_total_module_size): Declare.
35897
35898 2009-04-12 Pavel Roskin <proski@gnu.org>
35899
35900 * configure.ac: Change the logic when we check for target tools.
35901 Do it when the target is specified and it's different from the
35902 specified value of the host.
35903
35904 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
35905
35906 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35907 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35908 GNU/kFreeBSD. Check if a device is a character device. Use
35909 DIOCGMEDIASIZE to get the size.
35910 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35911 support for GNU/kFreeBSD.
35912 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35913 is a character device instead of a block device. Add support for
35914 FreeBSD device names.
35915
35916 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35917 is a character device instead of a block device.
35918
35919 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35920 is a character device instead of a block device.
35921
35922 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35923
35924 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35925 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35926 FreeBSD. Check if a device is a character device. Use
35927 DIOCGMEDIASIZE to get the size.
35928 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35929 support for FreeBSD.
35930 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35931 is a character device instead of a block device. Add support for
35932 FreeBSD device names.
35933
35934 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35935 a character device instead of a block device.
35936 (grub_util_check_char_device): New function.
35937
35938 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35939 a character device instead of a block device.
35940
35941 * include/grub/util/getroot.h (grub_util_check_char_device): New
35942 prototype.
35943
35944 2009-04-11 David S. Miller <davem@davemloft.net>
35945
35946 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35947 static libgcc.
35948 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35949 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35950 function, if present.
35951 (__bswapdi2): Likewise.
35952
35953 * include/grub/sparc64/ieee1275/boot.h: New file.
35954 * boot/sparc64/ieee1275/boot.S: Likewise.
35955 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35956
35957 * kern/misc.c (grub_ltoa): New function.
35958 (grub_vsprintf): Use it to format 'long' integers.
35959
35960 2009-04-10 David S. Miller <davem@davemloft.net>
35961
35962 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35963 slots are of type grub_ieee1275_cell_t.
35964 (grub_nand_read): Likewise.
35965 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35966 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35967 macros are used to compare values in arg/ret block of the call.
35968 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35969 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35970 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35971 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35972 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35973 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35974 grub_ieee1275_close, grub_ieee1275_set_property,
35975 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35976 grub_ieee1275_cell_t.
35977 * kern/ieee1275/openfw.c (grub_map): Likewise.
35978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35979 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35980
35981 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35982 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35983 (grub_devalias_iterate): Likewise.
35984
35985 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
35986
35987 UFS improvements
35988
35989 * fs/ufs.c (INODE_NBLOCKS): new definition
35990 (struct grub_ufs_dirent): added fields for non-BSD dirents
35991 (grub_ufs_get_file_block): fixed double indirect handling
35992 (grub_ufs_lookup_symlink): use more robust way to determine whether
35993 symlink is inline
35994 (grub_ufs_find_file): support for non-BSD dirents
35995 (grub_ufs_dir): support for non-BSD dirents
35996
35997 2009-04-10 Bean <bean123ch@gnail.com>
35998
35999 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
36000 attribute, otherwise the size would be wrong for i386 platform.
36001
36002 * include/grub/pci.h (grub_pci_read_word): New inline function.
36003 (grub_pci_read_byte): Likewise.
36004 (grub_pci_write): Likewise.
36005 (grub_pci_write_word): Likewise.
36006 (grub_pci_write_byte): Likewise.
36007
36008 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
36009
36010 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
36011 (find_framebuf): Scan pci to locate the frame buffer address.
36012
36013 * commands/efi/fixvideo.c: New file.
36014
36015 * commands/efi/loadbios.c: Likewise.
36016
36017 * commands/memrw.c: Likewise.
36018
36019 * util/grub-dumpbios.in: Likewise.
36020
36021 * conf/common.rmk (grub-dumpbios): New utility.
36022 (pkglib_MODULES): New module memrw.mod.
36023 (memrw_mod_SOURCE): New macro.
36024 (memrw_mod_CFLAGS): Likewise.
36025 (memrw_mod_LDFLAGS): Likewise.
36026
36027 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
36028 fixvideo.mod.
36029 (loadbios_mod_SOURCE): New macro.
36030 (loadbios_mod_CFLAGS): Likewise.
36031 (loadbios_mod_LDFLAGS): Likewise.
36032 (fixvideo_mod_SOURCE): Likewise.
36033 (fixvideo_mod_CFLAGS): Likewise.
36034 (fixvideo_mod_LDFLAGS): Likewise.
36035
36036 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
36037 fixvideo.mod.
36038 (loadbios_mod_SOURCE): New macro.
36039 (loadbios_mod_CFLAGS): Likewise.
36040 (loadbios_mod_LDFLAGS): Likewise.
36041 (fixvideo_mod_SOURCE): Likewise.
36042 (fixvideo_mod_CFLAGS): Likewise.
36043 (fixvideo_mod_LDFLAGS): Likewise.
36044
36045 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
36046
36047 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
36048
36049 2009-04-07 David S. Miller <davem@davemloft.net>
36050
36051 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
36052 support for R_SPARC_OLO10 relocations. Fix compile warning for
36053 R_SPARC_WDISP30 case.
36054 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
36055
36056 2009-04-06 Pavel Roskin <proski@gnu.org>
36057
36058 * include/grub/misc.h (ARRAY_SIZE): New macro.
36059 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
36060 New macro.
36061 * loader/i386/linux.c (allocate_pages): Use free_pages().
36062 (grub_linux_unload): Don't use free_pages().
36063 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
36064 wrong index. Treat all other modes as text modes.
36065 (grub_cmd_linux): Initialize vid_mode unconditionally to
36066 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
36067
36068 * commands/help.c (print_command_help): Use cmd->prio, not
36069 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
36070
36071 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
36072
36073 Parttool
36074
36075 * parttool/pcpart.c: new file
36076 * commands/parttool.c: likewise
36077 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
36078 (parttool_mod_SOURCES): new variable
36079 (parttool_mod_CFLAGS): likewise
36080 (parttool_mod_LDFLAGS): likewise
36081 (pcpart_mod_SOURCES): likewise
36082 (pcpart_mod_CFLAGS): likewise
36083 (pcpart_mod_LDFLAGS): likewise
36084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
36085 and parttool/pcpart.c
36086 * conf/i386-efi.rmk: likewise
36087 * conf/i386-ieee1275.rmk: likewise
36088 * conf/i386-pc.rmk: likewise
36089 * conf/powerpc-ieee1275.rmk: likewise
36090 * conf/sparc64-ieee1275.rmk: likewise
36091 * conf/x86_64-ieee1275.rmk: likewise
36092
36093 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36094
36095 Support for mtime and further expandability of dir command
36096
36097 * include/grub/lib/datetime.h: moved to ...
36098 * include/grub/datetime.h: ... moved here and added
36099 declaration of grub_unixtime2datetime. All users updated
36100 * include/grub/fs.h: new syntax for dir and mtime functions in
36101 struct grub_fs
36102 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
36103 and GRUB_FSHELP_FLAGS_MASK
36104 * commands/ls.c (grub_ls_list_files): Write mtime in long format
36105 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
36106 (grub_ext2_mtime): new function
36107 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
36108 (grub_hfsplus_mtime): new function
36109 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
36110 (GRUB_UFS_ATTR_FILE): likewise
36111 (GRUB_UFS_ATTR_LNK): likewise
36112 (struct grub_ufs_sblock): new fields mtime
36113 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
36114 all users updated
36115 (grub_ufs_dir): mtime support
36116 (grub_ufs_mtime): new function
36117 * fs/affs.c (grub_affs_dir): use new dir syntax
36118 * fs/afs.c (grub_afs_dir): likewise
36119 * fs/cpio.c (grub_cpio_dir): likewise
36120 * fs/fat.c (grub_fat_find_dir): likewise
36121 * fs/hfs.c (grub_hfs_dir): likewise
36122 * fs/iso9660.c (grub_iso9660_dir): likewise
36123 * fs/jfs.c (grub_jfs_dir): likewise
36124 * fs/minix.c (grub_minix_dir): likewise
36125 * fs/ntfs.c (grub_ntfs_dir): likewise
36126 * fs/reiserfs.c (grub_reiserfs_dir): likewise
36127 * fs/sfs.c (grub_sfs_dir): likewise
36128 * fs/xfs.c (grub_xfs_dir): likewise
36129 * util/hostfs.c (grub_hostfs_dir): likewise
36130 * lib/datetime.c: moved to ...
36131 * normal/datetime.c: ... moved here
36132 (grub_unixtime2datetime): new function
36133 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
36134 * normal/completion.c (iterate_dir): use new dir syntax
36135 * normal/misc.c (grub_normal_print_device_info): tell the
36136 last modification time of a volume
36137 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
36138 * conf/common.rmk: added lib/datetime.c to ls.mod
36139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
36140 (normal_mod_SOURCES): likewise
36141 (datetime_mod_SOURCES): Removed lib/datetime.c
36142 * conf/i386-efi.rmk: likewise
36143 * conf/i386-ieee1275.rmk: likewise
36144 * conf/i386-pc.rmk: likewise
36145 * conf/powerpc-ieee1275.rmk: likewise
36146 * conf/sparc64-ieee1275.rmk: likewise
36147 * conf/x86_64-efi.rmk: likewise
36148
36149 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
36150
36151 Trim trailing spaces in FAT label and support mtools-like labels
36152
36153 * fs/fat.c (grub_fat_iterate_dir): New function based
36154 on grub_fat_find_dir
36155 (grub_fat_find_dir): use grub_fat_iterate_dir
36156 (grub_fat_label): likewise
36157
36158 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
36159
36160 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
36161 and command.h
36162 remove extraneous kernel_elf_HEADERS
36163
36164 2009-04-04 Bean <bean123ch@gnail.com>
36165
36166 * include/grub/util/misc.h: Add dummy function fsync for mingw.
36167
36168 * util/misc.c: Likewise.
36169
36170 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36171
36172 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
36173 instead of grub_printf.
36174
36175 2009-04-03 Robert Millan <rmh@aybabtu.com>
36176
36177 * loader/i386/linux.c (grub_linux_setup_video): Fill
36178 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
36179 values from `mode info' structure instead of hardcoded
36180 values.
36181
36182 2009-04-01 Pavel Roskin <proski@gnu.org>
36183
36184 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
36185 unused now.
36186 * genmk.rb: Likewise.
36187 * configure.ac: Likewise.
36188
36189 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
36190
36191 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
36192 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
36193
36194 2009-04-01 David S. Miller <davem@davemloft.net>
36195
36196 * normal/sparc64/setjmp.S: Fix setjmp implementation.
36197 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
36198 (grub_setjmp): Mark with 'returns_twice' attribute.
36199 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
36200 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
36201 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
36202
36203 2009-04-01 Robert Millan <rmh@aybabtu.com>
36204
36205 Reapply fix from 2008-07-28 which was accidentally reverted; also
36206 perform the same fix to a similar check in same function.
36207
36208 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36209 with the same number are found, just use issue a warning with
36210 grub_dprintf(), as this error has been reported to be non-fatal.
36211
36212 2009-03-31 Pavel Roskin <proski@gnu.org>
36213
36214 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
36215 for cross-compilation.
36216
36217 2009-03-30 Robert Millan <rmh@aybabtu.com>
36218
36219 Fix i386-ieee1275 build.
36220
36221 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
36222 Remove declaration.
36223
36224 2009-03-30 Pavel Roskin <proski@gnu.org>
36225
36226 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
36227 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
36228 zero-terminated, rely only on the strlen value. Fix comparison
36229 of strings differing in length.
36230
36231 2009-03-30 Robert Millan <rmh@aybabtu.com>
36232
36233 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
36234 checking for abi version. Improve error messages on BIOS to notify
36235 user about `linux16' command.
36236
36237 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
36238
36239 Leak fixes
36240
36241 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
36242 in case of collision
36243 * disk/scsi.c (grub_scsi_open): free scsi in case of error
36244
36245 2009-03-29 Robert Millan <rmh@aybabtu.com>
36246
36247 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
36248 set `vid_mode' accordingly.
36249 (grub_linux_boot): Process `vid_mode' and set video mode.
36250
36251 2009-03-29 Robert Millan <rmh@aybabtu.com>
36252
36253 * util/grub.d/10_linux.in (linux_entry): New function.
36254 Factorize generation of Linux boot entries.
36255
36256 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
36257
36258 Make the format of Environment Block plain text. The boot loader
36259 part is not tested well yet.
36260
36261 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
36262 (buffer): Removed.
36263 (envblk): Likewise.
36264 (usage): Remove "info" and "clear". Add "unset". Update the
36265 description of "set", as this does not delete variables any
36266 longer.
36267 (create_envblk_file): Complete rewrite.
36268 (open_envblk_file): Likewise.
36269 (cmd_info): Removed.
36270 (cmd_list): Likewise.
36271 (cmd_set): Likewise.
36272 (cmd_clear): Likewise.
36273 (list_variables): New function.
36274 (write_envblk): Likewise.
36275 (set_variables): Likewise.
36276 (unset_variables): Likewise.
36277 (main): Complete rewrite.
36278
36279 * commands/loadenv.c (buffer): Removed.
36280 (envblk): Likewise.
36281 (open_envblk_file): New function.
36282 (read_envblk_file): Complete rewrite.
36283 (grub_cmd_load_env): Likewise.
36284 (grub_cmd_list_env): Likewise.
36285 (struct blocklist): New struct.
36286 (free_blocklists): New function.
36287 (check_blocklists): Likewise.
36288 (write_blocklists): Likewise.
36289 (grub_cmd_save_env): Complete rewrite.
36290
36291 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
36292 a plain text signature.
36293 (GRUB_ENVBLK_MAXLEN): Removed.
36294 (struct grub_envblk): Complete rewrite.
36295 (grub_envblk_find): Removed.
36296 (grub_envblk_insert): Likewise.
36297 (grub_envblk_open): New prototype.
36298 (grub_envblk_set): Likewise.
36299 (grub_envblk_delete): Put const to VALUE.
36300 (grub_envblk_iterate): Put const to NAME and VALUE.
36301 (grub_envblk_close): New prototype.
36302 (grub_envblk_buffer): New inline function.
36303 (grub_envblk_size): Likewise.
36304
36305 * lib/envblk.c: Include grub/mm.h.
36306 (grub_env_find): Removed.
36307 (grub_envblk_open): New function.
36308 (grub_envblk_close): Likewise.
36309 (escaped_value_len): Likewise.
36310 (find_next_line): Likewise.
36311 (grub_envblk_insert): Removed.
36312 (grub_envblk_set): New function.
36313 (grub_envblk_delete): Complete rewrite.
36314 (grub_envblk_iterate): Likewise.
36315
36316 2009-03-28 Robert Millan <rmh@aybabtu.com>
36317
36318 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
36319 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
36320 variables. Use 16-bit loader.
36321 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
36322 loader.
36323 * kern/i386/loader.S (grub_linux_boot): Rename to ...
36324 (grub_linux16_boot): ... this. Update all users.
36325 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
36326 (grub_linux_boot): ... this. Update all users.
36327
36328 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
36329 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
36330 commands to `linux16' and `initrd16'.
36331 (GRUB_MOD_FINI(linux)): Rename to ...
36332 (GRUB_MOD_FINI(linux16)): ... this.
36333
36334 2009-03-24 Pavel Roskin <proski@gnu.org>
36335
36336 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36337 not just for compilation.
36338
36339 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36340
36341 Move multiboot helper out of kernel
36342
36343 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36344 `loader/i386/multiboot_helper.S'.
36345 * conf/i386-coreboot.rmk: Likewise
36346 * conf/i386-ieee1275.rmk: Likewise
36347
36348 * kern/i386/loader.S: Move multiboot helpers from here...
36349 * loader/i386/multiboot_helper.S: ...moved here
36350 * include/grub/i386/loader.h: Move declarations of multiboot
36351 helpers from here...
36352 * include/grub/i386/multiboot.h: ...moved here
36353 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36354
36355 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36356
36357 * kern/env.c (grub_env_context_open): Added an argument to specify
36358 whether a new context inherits exported variables from current
36359 one. This is useful when making a sandbox to interpret a config
36360 file.
36361 All callers updated.
36362
36363 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36364
36365 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36366
36367 * kern/env.c (grub_env_context_close): Fix memory leaks.
36368
36369 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36370
36371 * normal/main.c (grub_normal_execute): Added an argument
36372 BATCH to specify if an interactive interface should be provided
36373 after reading a config file.
36374 All callers updated.
36375 (read_command_list): Prevent being executed twice.
36376 (read_fs_list): Likewise.
36377
36378 * include/grub/normal.h (grub_normal_execute): Updated the
36379 prototype.
36380
36381 2009-03-22 Pavel Roskin <proski@gno.org>
36382
36383 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36384 _start.
36385 * kern/i386/pc/startup.S: Likewise.
36386 * kern/i386/efi/startup.S: Likewise.
36387 * kern/i386/ieee1275/startup.S: Likewise.
36388 * kern/i386/coreboot/startup.S: Likewise.
36389 * kern/x86_64/efi/startup.S: Likewise.
36390
36391 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36392 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36393 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36394
36395 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36396
36397 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36398
36399 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36400 limit detection.
36401 Use vaddr of correct segment for entry_point.
36402
36403 2009-03-21 Bean <bean123ch@gmail.com>
36404
36405 * commands/blocklist.c: Add include file <grub/command.h>, remove
36406 <grub/normal.h> and <grub/arg.h>.
36407 (grub_cmd_blocklist): Use the new command interface.
36408 (GRUB_MOD_INIT): Likewise.
36409 (GRUB_MOD_FINI): Likewise.
36410 * commands/boot.c: Likewise.
36411 * commands/cat.c: Likewise.
36412 * commands/cmp.c: Likewise.
36413 * commands/configfile.c: Likewise.
36414 * commands/crc.c: Likewise.
36415 * commands/echo.c: Likewise.
36416 * commands/halt.c: Likewise.
36417 * commands/handler.c: Likewise.
36418 * commands/hdparm.c: Likewise.
36419 * commands/help.c: Likewise.
36420 * commands/hexdump.c: Likewise.
36421 * commands/loadenv.c: Likewise.
36422 * commands/ls.c: Likewise.
36423 * commands/lsmmap.c: Likewise.
36424 * commands/lspci.c: Likewise.
36425 * commands/loadenv.c: Likewise.
36426 * commands/read.c: Likewise.
36427 * commands/reboot.c: Likewise.
36428 * commands/search.c: Likewise.
36429 * commands/sleep.c: Likewise.
36430 * commands/test.c: Likewise.
36431 * commands/usbtest.c: Likewise.
36432 * commands/videotest.c: Likewise.
36433 * commands/i386/cpuid.c: Likewise.
36434 * commands/i386/pc/halt.c: Likewise.
36435 * commands/i386/pc/play.c: Likewise.
36436 * commands/i386/pc/pxecmd.c: Likewise.
36437 * commands/i386/pc/vbeinfo.c: Likewise.
36438 * commands/i386/pc/vbetest.c: Likewise.
36439 * commands/ieee1275/suspend.c: Likewise.
36440 * disk/loopback.c: Likewise.
36441 * font/font_cmd.c: Likewise.
36442 * hello/hello.c: Likewise.
36443 * loader/efi/appleloader.c: Likewise.
36444 * loader/efi/chainloader.c: Likewise.
36445 * loader/i386/bsd.c: Likewise.
36446 * loader/i386/efi/linux.c: Likewise.
36447 * loader/i386/ieee1275/linux.c: Likewise.
36448 * loader/i386/linux.c: Likewise.
36449 * loader/i386/pc/chainloader.c: Likewise.
36450 * loader/i386/pc/linux.c: Likewise.
36451 * loader/powerpc/ieee1275/linux.c: Likewise.
36452 * loader/multiboot_loader.c: Likewise.
36453 * term/gfxterm.c: Likewise.
36454 * term/i386/pc/serial.c: Likewise.
36455 * term/terminfo.c: Likewise.
36456
36457 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36458 * term/i386/pc/vga.c: Likewise.
36459 * video/readers/jpeg.c: Likewise.
36460 * video/readers/png.c: Likewise.
36461 * video/readers/tga.c: Likewise.
36462
36463 * util/grub-fstest (cmd_loopback): Removed.
36464 (cmd_blocklist): Likewise.
36465 (cmd_ls): Likewise.
36466 (grub_register_command): Likewise.
36467 (grub_unregister_command): Likewise.
36468 (execute_command): Use grub_command_find to locate command and execute
36469 it.
36470
36471 * include/grub/efi/chainloader.h: Removed.
36472 * loader/efi/chainloader_normal.c: Likewise.
36473 * loader/i386/bsd_normal.c: Likewise.
36474 * loader/i386/pc/chainloader_normal.c: Likewise.
36475 * loader/i386/pc/multiboot_normal.c: Likewise.
36476 * loader/linux_normal.c: Likewise.
36477 * loader/multiboot_loader_normal.c: Likewise.
36478 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36479
36480 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36481 and grub_register_command_p1.
36482
36483 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36484 kern/command.c, lib/arg.c and commands/extcmd.c.
36485 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36486 (minicmd_mod_SOURCES): New variable.
36487 (minicmd_mod_CFLAGS): Likewise.
36488 (minicmd_mod_LDFLAGS): Likewise.
36489 (extcmd_mod_SOURCES): Likewise.
36490 (extcmd_mod_CFLAGS): Likewise.
36491 (extcmd_mod_LDFLAGS): Likewise.
36492 (boot_mod_SOURCES): Removed.
36493 (boot_mod_CFLAGS): Likewise.
36494 (boot_mod_LDFLAGS): Likewise.
36495
36496 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36497 kern/corecmd.c.
36498 (kernel_img_HEADERS): Add command.h.
36499 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36500 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36501 and lib/arg.c.
36502 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36503 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36504 remove the corresponding normal mode command.
36505 (normal_mod_SOURCES): Remove normal/arg.c.
36506 * conf/i386-coreboot.rmk: Likewise.
36507 * conf/i386-efi.rmk: Likewise.
36508 * conf/i386-ieee1275.rmk: Likewise.
36509 * conf/powerpc-ieee1275.rmk: Likewise.
36510 * conf/x86_64-efi.rmk: Likewise.
36511
36512 * include/grub/arg.h: Move from here ...
36513 * include/grub/lib/arg.h: ... to here.
36514
36515 * normal/arg.c: Move from here ...
36516 * lib/arg.c: ... to here.
36517
36518 * commands/extcmd.c: New file.
36519 * commands/minicmd.c: Likewise.
36520 * include/grub/command.h: Likewise.
36521 * include/grub/extcmd.h: Likewise.
36522 * kern/command.c: Likewise.
36523 * kern/corecmd.c: Likewise.
36524
36525 * kern/list.c (grub_list_iterate): Return int instead of void.
36526 (grub_list_insert): New function.
36527 (grub_prio_list_insert): Likewise.
36528
36529 * kern/rescue.c (grub_rescue_command): Removed.
36530 (grub_rescue_command_list): Likewise.
36531 (grub_rescue_register_command): Likewise.
36532 (grub_rescue_unregister_command): Likewise.
36533 (grub_rescue_cmd_boot): Move to minicmd.c
36534 (grub_rescue_cmd_help): Likewise.
36535 (grub_rescue_cmd_info): Likewise.
36536 (grub_rescue_cmd_boot): Likewise.
36537 (grub_rescue_cmd_testload): Likewise.
36538 (grub_rescue_cmd_dump): Likewise.
36539 (grub_rescue_cmd_rmmod): Likewise.
36540 (grub_rescue_cmd_lsmod): Likewise.
36541 (grub_rescue_cmd_exit): Likewise.
36542 (grub_rescue_print_devices): Moved to corecmd.c.
36543 (grub_rescue_print_files): Likewise.
36544 (grub_rescue_cmd_ls): Likewise.
36545 (grub_rescue_cmd_insmod): Likewise.
36546 (grub_rescue_cmd_set): Likewise.
36547 (grub_rescue_cmd_unset): Likewise.
36548 (attempt_normal_mode): Use grub_command_find to get normal module.
36549 (grub_enter_rescue_mode): Use grub_register_core_commands to register
36550 commands, remove grub_rescue_register_command calls.
36551
36552 * normal/command.c (grub_register_command): Removed.
36553 (grub_unregister_command): Likewise.
36554 (grub_command_find): Likewise.
36555 (grub_iterate_commands): Likewise.
36556 (rescue_command): Likewise.
36557 (export_command): Moved to corecmd.c.
36558 (set_command): Removed.
36559 (unset_command): Likewise.
36560 (insmod_command): Likewise.
36561 (rmmod_command): Likewise.
36562 (lsmod_command): Likewise.
36563 (grub_command_init): Likewise.
36564
36565 * normal/completion.c (iterate_command): Use cmd->prio to check for
36566 active command.
36567 (complete_arguments): Use grub_extcmd_t structure to find options.
36568 (grub_normal_do_completion): Change function grub_iterate_commands to
36569 grub_command_iterate.
36570
36571 * normal/execute.c (grub_script_execute_cmd): No need to parse
36572 argument here.
36573
36574 * normal/main.c (grub_dyncmd_dispatcher): New function.
36575 (read_command_list): Register unload commands as dyncmd.
36576 (grub_cmd_normal): Use new command interface, register rescue,
36577 unregister normal at entry, register normal, unregister rescue at exit.
36578
36579 * include/grub/list.h (grub_list_test_t): New type.
36580 (grub_list_iterate): Return int instead of void.
36581 (grub_list_insert): New function.
36582 (GRUB_AS_NAMED_LIST_P): New macro.
36583 (GRUB_AS_PRIO_LIST): Likewise.
36584 (GRUB_AS_PRIO_LIST_P): Likewise.
36585 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36586 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36587 (grub_prio_list): New structure.
36588 (grub_prio_list_insert): New function.
36589 (grub_prio_list_remove): New inline function.
36590
36591 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36592 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36593 (GRUB_COMMAND_FLAG_MENU): Likewise.
36594 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36595 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36596 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36597 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36598 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36599 (grub_command): Likewise.
36600 (grub_register_command): Likewise.
36601 (grub_command_find): Likewise.
36602 (grub_iterate_commands): Likewise.
36603 (grub_command_init): Likewise.
36604 (grub_arg_parse): Likewise.
36605 (grub_arg_show_help): Likewise.
36606
36607 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36608 (grub_rescue_unregister_command): Likewise.
36609
36610 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36611 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36612 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36613
36614 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36615 grub_rescue_cmd_initrd.
36616 * include/grub/i386/loader.h: Likewise.
36617 * include/grub/x86_64/loader.h: Likewise.
36618
36619 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36620
36621 2009-03-21 Bean <bean123ch@gmail.com>
36622
36623 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36624 instead of stat in mingw environment.
36625
36626 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36627
36628 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36629
36630 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36631 AC_CONFIG_LINKS.
36632
36633 2009-03-21 Bean <bean123ch@gmail.com>
36634
36635 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36636 out of range error.
36637
36638 2009-03-18 Michel Dänzer <michel@daenzer.net>
36639
36640 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36641 checking inode flags for EXT4_EXTENTS_FLAG.
36642
36643 2009-03-18 Robert Millan <rmh@aybabtu.com>
36644
36645 * loader/i386/linux.c: Include `<grub/video.h>' and
36646 `<grub/i386/pc/vbe.h>'..
36647 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36648 (grub_linux32_boot): Attempt to configure video settings with
36649 grub_linux_setup_video().
36650 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36651 to avoid grub_console_fini() which would step out of graphical mode
36652 unconditionally.
36653
36654 2009-03-14 Robert Millan <rmh@aybabtu.com>
36655
36656 Fix build on powerpc.
36657 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36658
36659 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36660
36661 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36662 background image command.
36663
36664 2009-03-12 Colin D Bennett <colin@gibibit.com>
36665
36666 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36667 (grub_gfxterm_putchar): Extract pairs of identical calls to
36668 draw_cursor out of conditional blocks.
36669
36670 2009-03-11 Pavel Roskin <proski@gnu.org>
36671
36672 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36673 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36674
36675 2009-03-11 Robert Millan <rmh@aybabtu.com>
36676
36677 * loader/i386/multiboot_elfxx.c
36678 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36679
36680 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
36681
36682 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36683 `kern/handler.c'.
36684
36685 2009-03-11 Robert Millan <rmh@aybabtu.com>
36686
36687 * loader/i386/multiboot.c (code_size): New variable.
36688 (grub_multiboot): Define offsets by adding to `code_size' rather
36689 than subtracting from `grub_multiboot_payload_size'. Provide
36690 4-byte alignment to MBI and others by increasing
36691 `boot_loader_name_length' appropriately.
36692
36693 * loader/i386/multiboot_elfxx.c
36694 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36695
36696 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
36697
36698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36699 `fs/ext2.c'.
36700
36701 2009-03-08 Robert Millan <rmh@aybabtu.com>
36702
36703 Make loader/i386/linux.c usable on i386-pc again.
36704
36705 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36706 memory to heap.
36707 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36708 `#error' stanza.
36709
36710 2009-03-07 Bean <bean123ch@gmail.com>
36711
36712 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36713 allocation.
36714
36715 2009-03-06 Robert Millan <rmh@aybabtu.com>
36716
36717 Fix display issue on terminals with screen size other than 80x25
36718 (e.g. gfxterm with resolution higher than 640x480).
36719
36720 * normal/main.c (grub_normal_init_page): Display title text in a
36721 position relative to the center of the terminal instead of relying
36722 on a hardcoded offset.
36723
36724 2009-03-04 Robert Millan <rmh@aybabtu.com>
36725
36726 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36727 installed.
36728
36729 * Makefile.in (host_kernel): New variable.
36730 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36731 scripts instead of just the windows one.
36732 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36733
36734 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
36735
36736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36737 `kern/handler.c'.
36738 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36739 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36744
36745 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
36746
36747 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36748 or if there's no space for the disk label and print the partition number on a
36749 invalid magic.
36750
36751 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
36752
36753 * util/misc.c: Include <time.h>.
36754 (grub_millisleep): New function.
36755
36756 2009-03-04 Bean <bean123ch@gmail.com>
36757
36758 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36759 another option -mno-red-zone.
36760
36761 * commands/handler.c: Change module description.
36762
36763 * kern/handler.c: Add missing space at the end of description line.
36764
36765 * kern/list.c: Likewise.
36766
36767 2009-03-03 Robert Millan <rmh@aybabtu.com>
36768
36769 Move more components to the relocation area, and fix mbi pointer
36770 handling to use the destination rather than the origin (thanks to
36771 Vladimir Serbinenko for spotting).
36772
36773 * loader/i386/multiboot.c (mbi_dest): New variable.
36774 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36775 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36776 relocation area.
36777
36778 2009-03-01 Bean <bean123ch@gmail.com>
36779
36780 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
36781 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36782 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36783 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36784
36785 * loader/i386/efi/linux.c (acpi_guid): New variable.
36786 (acpi_guid): Likewise.
36787 (EBDA_SEG_ADDR): New constant.
36788 (LOW_MEM_ADDR): Likewise.
36789 (FAKE_EBDA_SEG): Likewise.
36790 (fake_bios_data): New function.
36791 (grub_linux_boot): Call fake_bios_data.
36792
36793 2009-03-01 Bean <bean123ch@gmail.com>
36794
36795 * commands/terminal.c: Removed.
36796
36797 * commands/handler.c: New file.
36798
36799 * include/grub/list.h: Likewise.
36800
36801 * include/grub/handler.h: Likewise.
36802
36803 * kern/list.c: Likewise.
36804
36805 * kern/handler.c: Likewise.
36806
36807 * kern/term.h: Include header file <grub/handler.h>.
36808 (grub_term_input): Move next field to the beginning.
36809 (grub_term_output): Likewise.
36810 (grub_term_input_class): New variable.
36811 (grub_term_output_class): Likewise.
36812 (grub_term_register_input): Changed to inline function.
36813 (grub_term_register_output): Likewise.
36814 (grub_term_unregister_input): Likewise.
36815 (grub_term_unregister_output): Likewise.
36816 (grub_term_set_current_input): Likewise.
36817 (grub_term_set_current_output): Likewise.
36818 (grub_term_get_current_input): Likewise.
36819 (grub_term_get_current_output): Likewise.
36820 (grub_term_iterate_input): Removed.
36821 (grub_term_iterate_output): Likewise.
36822
36823 * kern/term.c (grub_term_list_input): Removed.
36824 (grub_term_list_output): Likewise.
36825 (grub_term_input_class): New variable.
36826 (grub_term_output_class): Likewise.
36827 (grub_cur_term_input): Change variable as macro.
36828 (grub_cur_term_output): Likewise.
36829 (grub_term_register_input): Removed.
36830 (grub_term_register_output): Likewise.
36831 (grub_term_unregister_input): Likewise.
36832 (grub_term_unregister_output): Likewise.
36833 (grub_term_set_current_input): Likewise.
36834 (grub_term_set_current_output): Likewise.
36835 (grub_term_iterate_input): Likewise.
36836 (grub_term_iterate_output): Likewise.
36837 (grub_term_get_current_input): Likewise.
36838 (grub_term_get_current_output): Likewise.
36839
36840 * util/grub-editenv.c: Include header file <grub/handler.h>.
36841 (grub_term_get_current_input): Removed.
36842 (grub_term_get_current_output): Likewise.
36843 (grub_term_input_class): New variable.
36844 (grub_term_output_class): Likewise.
36845
36846 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36847 (grub_term_get_current_output): Likewise.
36848 (grub_term_input_class): New variable.
36849 (grub_term_output_class): Likewise.
36850
36851 * util/grub-probe.c (grub_term_get_current_input): Removed.
36852 (grub_term_get_current_output): Likewise.
36853 (grub_term_input_class): New variable.
36854 (grub_term_output_class): Likewise.
36855
36856 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36857 (grub_term_get_current_output): Likewise.
36858 (grub_term_input_class): New variable.
36859 (grub_term_output_class): Likewise.
36860
36861 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36862 (terminal_mod_SOURCES): Likewise.
36863 (terminal_mod_CFLAGS): Likewise.
36864 (terminal_mod_LDFLAGS): Likewise.
36865
36866 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36867 handler.c.
36868 (kernel_img_SOURCES): Add list.c and handler.c.
36869 (kernel_img_HEADERS): Add list.h and handler.h.
36870
36871 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36872 handler.c.
36873 (kernel_mod_SOURCES): Add list.c and handler.c.
36874 (kernel_mod_HEADERS): Add list.h and handler.h.
36875
36876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36877 handler.c.
36878 (kernel_elf_SOURCES): Add list.c and handler.c.
36879 (kernel_elf_HEADERS): Add list.h and handler.h.
36880
36881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36882 handler.c.
36883 (kernel_elf_SOURCES): Add list.c and handler.c.
36884 (kernel_elf_HEADERS): Add list.h and handler.h.
36885
36886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36887 handler.c.
36888 (kernel_mod_SOURCES): Add list.c and handler.c.
36889 (kernel_mod_HEADERS): Add list.h and handler.h.
36890
36891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36892 handler.c.
36893 (kernel_elf_SOURCES): Add list.c and handler.c.
36894 (kernel_elf_HEADERS): Add list.h and handler.h.
36895
36896 2009-02-27 Robert Millan <rmh@aybabtu.com>
36897
36898 Factorize elf32 / elf64 code in Multiboot loader. This will
36899 prevent it from getting out of sync again.
36900
36901 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36902 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36903 grub_multiboot_load_elf64): Move from here ...
36904 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36905 grub_multiboot_load_elf): ... to here (new file).
36906
36907 2009-02-27 Robert Millan <rmh@aybabtu.com>
36908
36909 * util/grub.d/10_linux.in: Rename "single-user mode" to
36910 "recovery mode".
36911
36912 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36913
36914 Don't leak in SCSI code.
36915 * disk/scsi.c (grub_scsi_close): free `scsi'.
36916
36917 2009-02-27 Robert Millan <rmh@aybabtu.com>
36918
36919 * loader/i386/pc/multiboot.c: Move from here ...
36920 * loader/i386/multiboot.c: ... to here. Update all users.
36921
36922 2009-02-27 Robert Millan <rmh@aybabtu.com>
36923
36924 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36925 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36926
36927 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
36928
36929 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36930 b-tree.
36931
36932 2009-02-27 Robert Millan <rmh@aybabtu.com>
36933
36934 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36935 `0x' qualifier as 0 when base is specified as parameter).
36936
36937 2009-02-24 Bean <bean123ch@gmail.com>
36938
36939 * configure.ac: Check for -mcmodel=large in x86_64 target.
36940
36941 * include/grub/efi/api.h (efi_call_10): New macro.
36942 (efi_wrap_10): New function.
36943
36944 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36945 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36946 (GRUB_PE32_REL_BASED_LOW): Likewise.
36947 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36948 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36949 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36950 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36951 (GRUB_PE32_REL_BASED_REL): Likewise.
36952 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36953 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36954 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36955
36956 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36957 issue.
36958
36959 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36960 (efi_wrap_10): New function.
36961
36962 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36963
36964 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36965 MB/MBP model (NV chipset).
36966 (devdata_devs): Add devpath_5 to the list.
36967
36968 * load/i386/efi/linux.c (video_base): Remove variable.
36969 (RGB_MASK): New macro.
36970 (RGB_MAGIC): Likewise.
36971 (LINE_MIN): Likewise.
36972 (LINE_MAX): Likewise.
36973 (FBTEST_STEP): Likewise.
36974 (FBTEST_COUNT): Likewise.
36975 (fb_list): New variable.
36976 (grub_find_video_card): Remove function.
36977 (find_framebuf): New function.
36978 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36979 line length.
36980
36981 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36982 problem for x86_64.
36983
36984 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36985
36986 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36987
36988 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36989 coding tool name.
36990
36991 2009-02-22 Robert Millan <rmh@aybabtu.com>
36992
36993 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36994 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36995 in our relocation, instead of using it directly from heap. Also
36996 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36997
36998 2009-02-21 Robert Millan <rmh@aybabtu.com>
36999
37000 Implement USB keyboard support (based on patch by Marco Gerards)
37001
37002 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
37003 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
37004 (usb_keyboard_mod_LDFLAGS): New variables.
37005
37006 * term/usb_keyboard.c: New file.
37007
37008 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
37009
37010 Corrected wrong declaration
37011
37012 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
37013
37014 2009-02-14 Christian Franke <franke@computer.org>
37015
37016 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
37017 (grub_lspci_iter): Print class code and programming interface byte.
37018
37019 2009-02-14 Christian Franke <franke@computer.org>
37020
37021 * gendistlist.sh: Ignore `.svn' directories.
37022
37023 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
37024
37025 * fs/fat.c: Add 2009 to Copyright line.
37026
37027 2009-02-14 Christian Franke <franke@computer.org>
37028
37029 * commands/hdparm.c: New file. Provides `hdparm' command
37030 which sends ATA commands via grub_disk_ata_pass_through ().
37031
37032 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
37033
37034 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
37035 and <grub/cpu/io.h> to include/grub/ata.h.
37036 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
37037 (GRUB_CDROM_SECTOR_SIZE): Remove.
37038 (GRUB_ATA_*): Move to include/grub/ata.h.
37039 (GRUB_ATAPI_*): Likewise.
37040 (enum grub_ata_commands): Likewise.
37041 (enum grub_ata_timeout_milliseconds): Likewise.
37042 (struct grub_ata_device): Likewise.
37043 (grub_ata_regset): Likewise.
37044 (grub_ata_regget): Likewise.
37045 (grub_ata_regset2): Likewise.
37046 (grub_ata_regget2): Likewise.
37047 (grub_ata_check_ready): Likewise.
37048 (grub_ata_wait_not_busy): Remove static, exported in
37049 include/grub/ata.h.
37050 (grub_ata_wait_drq): Likewise.
37051 (grub_ata_pio_read): Likewise.
37052
37053 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
37054 function for hdparm.mod.
37055
37056 * include/grub/ata.h: New file, contains declarations from
37057 disk/ata.c.
37058 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
37059
37060 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
37061 (grub_disk_ata_pass_through): New exported variable.
37062
37063 * kern/disk.c (grub_disk_ata_pass_through): New variable.
37064
37065 2009-02-13 Colin D Bennett <colin@gibibit.com>
37066
37067 Support multiple fallback entries, and provide an API to support
37068 executing default+fallback menu entries. Renamed the `terminal' menu
37069 viewer to `text'.
37070
37071 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
37072 variable declaration.
37073 (grub_menu_execute_callback): New structure declaration.
37074 (grub_menu_execute_callback_t): New typedef.
37075 (grub_menu_execute_with_fallback): New function declaration.
37076 (grub_menu_get_entry): Likewise.
37077 (grub_menu_get_timeout): Likewise.
37078 (grub_menu_set_timeout): Likewise.
37079
37080 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
37081
37082 * normal/menu.c (grub_wait_after_message): Moved to
37083 `normal/menu_text.c'.
37084 (draw_border): Likewise.
37085 (print_message): Likewise.
37086 (print_entry): Likewise.
37087 (print_entries): Likewise.
37088 (grub_menu_init_page): Likewise.
37089 (get_entry_number): Likewise.
37090 (print_timeout): Likewise.
37091 (run_menu): Likewise.
37092 (grub_menu_execute_entry): Likewise.
37093 (show_text_menu): Likewise.
37094 (get_and_remove_first_entry_number): New function.
37095 (grub_menu_execute_with_fallback): Likewise.
37096 (get_entry): Renamed to ...
37097 (grub_menu_get_entry): .. this and made it global.
37098 (get_timeout): Renamed to ...
37099 (grub_menu_get_timeout): ... this and made it global.
37100 (set_timeout): Renamed to ...
37101 (grub_menu_set_timeout): ... this and made it global.
37102 (grub_normal_terminal_menu_viewer): Renamed to ...
37103 (grub_normal_text_menu_viewer): ... this.
37104
37105 * normal/menu_text.c: New file. Extracted text-menu-specific code
37106 from normal/menu.c.
37107
37108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
37109 (normal_mod_SOURCES): Likewise.
37110
37111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37112 (normal_mod_SOURCES): Likewise.
37113
37114 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37115 (normal_mod_SOURCES): Likewise.
37116
37117 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
37118 (normal_mod_SOURCES): Likewise.
37119
37120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37121 (normal_mod_SOURCES): Likewise.
37122
37123 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37124 (normal_mod_SOURCES): Likewise.
37125
37126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37127 (normal_mod_SOURCES): Likewise.
37128
37129 2009-02-11 Robert Millan <rmh@aybabtu.com>
37130
37131 * util/grub.d/00_header.in: Update old reference to `font' command.
37132
37133 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
37134
37135 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
37136
37137 Based on patch from Javier Martín.
37138
37139 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
37140
37141 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
37142 to avoid false positives with FAT.
37143 (grub_fstest_SOURCES): Likewise.
37144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37145 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37147 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37150
37151 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
37152
37153 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
37154 bpb.version_specific.fat12_or_fat16.fstype and
37155 bpb.version_specific.fat32.fstype.
37156
37157 2009-02-08 Robert Millan <rmh@aybabtu.com>
37158
37159 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
37160
37161 2009-02-08 Robert Millan <rmh@aybabtu.com>
37162
37163 * Makefile.in (host_os, host_cpu): New variables.
37164 (target_os): Remove. Update all users.
37165
37166 2009-02-08 Marco Gerards <marco@gnu.org>
37167
37168 * Makefile.in (enable_grub_emu_usb): New variable.
37169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
37170 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
37171 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
37172 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
37173 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
37174 `usbtest.mod' and `usbms.mod'.
37175 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
37176 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
37177 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
37178 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
37179 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
37180 variables.
37181
37182 * disk/usbms.c: New file.
37183
37184 * include/grub/usb.h: Likewise.
37185
37186 * include/grub/usbtrans.h: Likewise.
37187
37188 * include/grub/usbdesc.h: Likewise.
37189
37190 * bus/usb/usbtrans.c: Likewise.
37191
37192 * bus/usb/ohci.c: Likewise.
37193
37194 * bus/usb/uhci.c: Likewise.
37195
37196 * bus/usb/usbhub.c: Likewise.
37197
37198 * bus/usb/usb.c: Likewise.
37199
37200 * commands/usbtest.c: Likewise.
37201
37202 * util/usb.c: Likewise.
37203
37204 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
37205
37206 * configure.ac: Test for libusb presence.
37207
37208 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
37209
37210 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
37211
37212 * kern/mm.c: Add more comments.
37213
37214 2009-02-08 Robert Millan <rmh@aybabtu.com>
37215
37216 Patch from Javier Martín.
37217 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
37218 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
37219
37220 2009-02-08 Robert Millan <rmh@aybabtu.com>
37221
37222 * fs/cpio.c: Split tar functionality to ...
37223 * fs/tar.c: ... here (new file). Update all users.
37224
37225 2009-02-07 Robert Millan <rmh@aybabtu.com>
37226
37227 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
37228 backward-incompatible features.
37229
37230 Based on patch from Javier Martín, with some adjustments.
37231
37232 2009-02-07 Michael Scherer <misc@mandriva.org>
37233
37234 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
37235
37236 2009-02-07 Robert Millan <rmh@aybabtu.com>
37237
37238 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
37239 position of `disk/lvm.c' to ensure grub_init_all() always picks it
37240 after the RAID stuff.
37241
37242 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
37243
37244 Fixes problem when running vbetest command as reported by
37245 Vladimir Serbinenko <phcoder@gmail.com>.
37246
37247 * (grub_vbe_set_video_mode): Fixed problem with text modes.
37248
37249 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
37250
37251 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
37252 /dev/md/NpN style mdraid devices.
37253
37254 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
37255
37256 * util/unifont2pff.rb: Remove.
37257
37258 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
37259
37260 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
37261 `#'.
37262
37263 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
37264
37265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
37266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
37269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37271 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37272
37273 2009-02-02 Christian Franke <franke@computer.org>
37274
37275 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
37276
37277 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
37278
37279 * INSTALL: Note that we now require at least autoconf 2.59 and
37280 that LZO is optional.
37281
37282 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37283
37284 Base on patch on bug #24154 created by Tomas Tintera
37285 <trosos@seznam.cz>.
37286
37287 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
37288
37289 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
37290
37291 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
37292 <bero@arklinux.org>.
37293
37294 * normal/parser.y (script_init): Add missing semicolon.
37295
37296 2009-01-31 Colin D Bennett <colin@gibibit.com>
37297
37298 * normal/main.c: Add include to grub/menu_viewer.h.
37299 (free_menu_entry_classes): Added.
37300 (grub_normal_menu_addentry): Added class property handling.
37301 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
37302 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
37303
37304 * normal/menu_viewer.c: New file.
37305
37306 * normal/menu.c (run_menu_entry): Renamed to ...
37307 (grub_menu_execute_entry): ... this and made it as global.
37308 (grub_menu_run): Renamed to ...
37309 (show_text_menu): ... this and made it local.
37310 (show_text_menu): Adapt to new function names.
37311 (grub_normal_terminal_menu_viewer): New global variable.
37312
37313 * include/grub/menu.h: New file.
37314
37315 * include/grub/menu_viewer.h: New file.
37316
37317 * include/grub/normal.h: Added include to grub/menu.h.
37318 (grub_menu_entry): Moved to include/grub/menu.h.
37319 (grub_menu_entry_t): Likewise.
37320 (grub_menu): Likewise.
37321 (grub_menu_t): Likewise.
37322 (grub_normal_terminal_menu_viewer): Added.
37323 (grub_menu_execute_entry): Likewise.
37324 (grub_menu_run): Removed.
37325
37326 * DISTLIST: Added include/grub/menu.h.
37327 Added include/grub/menu_viewer.h.
37328 Added normal/menu_viewer.c.
37329
37330 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
37331
37332 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37333 arglist for menutitle arguments.
37334
37335 * normal/main.c (grub_normal_menu_addentry): Likewise.
37336
37337 * normal/parser.y (menuentry): Likewise.
37338
37339 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37340
37341 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37342 (grub_script_create_cmdmenu): Likewise.
37343
37344 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37345
37346 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37347 changes.
37348
37349 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37350
37351 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37352
37353 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37354
37355 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37356
37357 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37358
37359 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37360
37361 2009-01-30 Christian Franke <franke@computer.org>
37362
37363 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37364 in option help text.
37365
37366 2009-01-27 Pavel Roskin <proski@gnu.org>
37367
37368 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37369
37370 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37371
37372 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37373
37374 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37375
37376 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37377 unregister function.
37378
37379 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37380
37381 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37382
37383 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37384
37385 * util/grub-mkfont.c (usage): Fix typo.
37386
37387 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37388
37389 2009-01-26 Daniel Mierswa <impulze@impulze.org>
37390
37391 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37392
37393 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37394
37395 * kern/misc.c (grub_strcasecmp): New function.
37396 (grub_strcasecmp): Use grub_size_t instead of int for length.
37397 Fix return value.
37398 * include/grub/misc.h: Update function prototypes.
37399
37400 2009-01-26 Robert Millan <rmh@aybabtu.com>
37401
37402 * configure.ac: Fix cross-compilation check.
37403
37404 2009-01-22 Christian Franke <franke@computer.org>
37405
37406 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37407 (precision) digit string. Allow `.format2' without `format1' (width).
37408 Limit input chars for `%s' output to `format2' if specified. This is
37409 compatible with standard printf ().
37410
37411 2009-01-22 Christian Franke <franke@computer.org>
37412
37413 * disk/ata.c (grub_ata_wait_status): Replace by ...
37414 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37415 other status bits may be invalid while BSY is asserted.
37416 (grub_ata_check_ready): New function.
37417 (grub_ata_cmd): Removed.
37418 (grub_ata_wait_drq): New function.
37419 (grub_ata_strncpy): Remove inline.
37420 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37421 and error check now done by grub_ata_wait_drq ().
37422 (grub_ata_pio_write): Likewise.
37423 (grub_atapi_identify): Set DEV before check for !BSY. Use
37424 grub_ata_wait_drq () to wait for data.
37425 (grub_ata_device_initialize): Add status register check to
37426 detect missing SATA slave devices. Add debug messages.
37427 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37428 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37429 transfer loop by grub_ata_pio_write ().
37430 (grub_ata_identify): Set DEV before check for !BSY. Use
37431 grub_ata_wait_drq () to wait for data.
37432 (grub_ata_setaddress): Set DEV before check for !BSY.
37433 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37434 read/write in one loop. Fix invalid command on write. Fix incomplete
37435 command on (size % batch) == 0. Add missing error check after write of
37436 last block. Add debug messages.
37437 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37438
37439 2009-01-19 Christian Franke <franke@computer.org>
37440
37441 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37442 (GRUB_ATAPI_IREASON_*): Likewise.
37443 (grub_ata_pio_write): Fix timeout error return.
37444 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37445 (grub_atapi_wait_drq): New function.
37446 (grub_atapi_packet): New parameter `size'.
37447 Use grub_atapi_wait_drq () and direct write instead of
37448 grub_ata_pio_write ().
37449 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37450 reads the number of bytes requested by the device for each DRQ
37451 assertion.
37452 (grub_atapi_write): Remove old implementation, return not
37453 implemented instead.
37454
37455 2009-01-19 Christian Franke <franke@computer.org>
37456
37457 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37458 of 512 to calculate data size.
37459 (grub_scsi_read12): Likewise.
37460 (grub_scsi_write10): Likewise.
37461 (grub_scsi_write12): Likewise.
37462 (grub_scsi_read): Adjust size according to blocksize.
37463 Add checks for invalid blocksize and unaligned transfer.
37464
37465 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37466
37467 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37468
37469 * term/gfxterm.c (write_char): Fix background rendering for wide
37470 width glyphs.
37471
37472 2009-01-19 Robert Millan <rmh@aybabtu.com>
37473
37474 * config.guess: Update to latest version from config git.
37475 * config.sub: Likewise.
37476
37477 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
37478
37479 * Makefile.in: Change font compilation to use new grub-mkfont instead
37480 of java version.
37481
37482 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37483 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37484 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37485 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37486 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37487 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37488 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37490 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37491
37492 2009-01-16 Christian Franke <franke@computer.org>
37493
37494 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37495 (enum grub_ata_timeout_milliseconds): New enum.
37496 (grub_ata_wait_status): Add parameter milliseconds.
37497 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37498 recovery from timed-out commands.
37499 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37500 return grub_errno instead of REG_ERROR.
37501 (grub_ata_pio_write): Add parameter milliseconds.
37502 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37503 Pass milliseconds to grub_ata_wait_status () and
37504 grub_ata_pio_read ().
37505 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37506 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37507 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37508 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37509 It is not suitable for device detection, because DEV bit is ignored,
37510 the command may run too long, and not all devices set the signature
37511 properly.
37512 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37513 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37514 Fix device selection, DEV bit must be set first to address the registers
37515 of the correct device.
37516 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37517 grub_ata_pio_read/write ().
37518 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37519 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37520
37521 2009-01-13 Carles Pina i Estany <carles@pina.cat>
37522
37523 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37524
37525 2009-01-13 Bean <bean123ch@gmail.com>
37526
37527 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37528
37529 2009-01-13 Bean <bean123ch@gmail.com>
37530
37531 * Makefile.in: (enable_grub_mkfont): New variable.
37532 (freetype_cflags): Likewise.
37533 (freetype_libs): Likewise.
37534
37535 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37536 (grub_mkfont_SOURCES): New variable.
37537 (grub_mkfont_CFLAGS): Likewise.
37538 (grub_mkfont_LDFLAGS): Likewise.
37539
37540 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37541 library if `--enable-grub-mkfont' is requested.
37542 (enable_grub_mkfont): New variable.
37543 (freetype_cflags): Likewise.
37544 (freetype_libs): Likewise.
37545
37546 * util/grub-mkfont.c: New file.
37547
37548 2009-01-12 Christian Franke <franke@computer.org>
37549
37550 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37551 mode check. Fix setting of compat_use[].
37552
37553 2009-01-10 Robert Millan <rmh@aybabtu.com>
37554
37555 Update a few copyright years which we forgot to do in 2008 (only for
37556 files whose changes made in 2008 were copyright-significant)
37557
37558 * Makefile.in: Add 2008 to Copyright line.
37559 * disk/ieee1275/ofdisk.c: Likewise.
37560 * disk/efi/efidisk.c: Likewise.
37561 * kern/dl.c: Likewise.
37562 * kern/sparc64/ieee1275/init.c: Likewise.
37563 * kern/mm.c: Likewise.
37564 * kern/efi/mm.c: Likewise.
37565 * boot/i386/pc/boot.S: Likewise.
37566 * genfslist.sh: Likewise.
37567 * fs/iso9660.c: Likewise.
37568 * fs/hfs.c: Likewise.
37569 * fs/jfs.c: Likewise.
37570 * fs/minix.c: Likewise.
37571 * fs/ufs.c: Likewise.
37572 * gensymlist.sh.in: Likewise.
37573 * genkernsyms.sh.in: Likewise.
37574 * include/grub/misc.h: Likewise.
37575 * include/grub/types.h: Likewise.
37576 * include/grub/symbol.h: Likewise.
37577 * include/grub/elf.h: Likewise.
37578 * include/grub/kernel.h: Likewise.
37579 * include/grub/disk.h: Likewise.
37580 * include/grub/dl.h: Likewise.
37581 * include/grub/i386/linux.h: Likewise.
37582 * include/grub/i386/pc/biosdisk.h: Likewise.
37583 * include/grub/efi/api.h: Likewise.
37584 * include/grub/efi/pe32.h: Likewise.
37585 * include/grub/util/misc.h: Likewise.
37586 * normal/execute.c: Likewise.
37587 * normal/arg.c: Likewise.
37588 * normal/completion.c: Likewise.
37589 * normal/lexer.c: Likewise.
37590 * normal/parser.y: Likewise.
37591 * normal/misc.c: Likewise.
37592 * commands/i386/pc/vbeinfo.c: Likewise.
37593 * commands/hexdump.c: Likewise.
37594 * commands/terminal.c: Likewise.
37595 * commands/ls.c: Likewise.
37596 * commands/help.c: Likewise.
37597 * partmap/pc.c: Likewise.
37598 * loader/efi/chainloader.c: Likewise.
37599 * loader/multiboot_loader.c: Likewise.
37600 * loader/i386/pc/multiboot2.c: Likewise.
37601 * term/efi/console.c: Likewise.
37602 * term/i386/pc/serial.c: Likewise.
37603 * util/lvm.c: Likewise.
37604 * util/console.c: Likewise.
37605 * util/i386/efi/grub-mkimage.c: Likewise.
37606 * util/raid.c: Likewise.
37607
37608 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37609
37610 * commands/videotest.c: Removed include to grub/machine/memory.h.
37611
37612 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37613 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37614 (video_mod_SOURCES): Removed.
37615 (video_mod_CFLAGS): Likewise.
37616 (video_mod_LDFLAGS): Likewise.
37617 (gfxterm_mod_SOURCES): Likewise.
37618 (gfxterm_mod_CFLAGS): Likewise.
37619 (gfxterm_mod_LDFLAGS): Likewise.
37620 (videotest_mod_SOURCES): Likewise.
37621 (videotest_mod_CFLAGS): Likewise.
37622 (videotest_mod_LDFLAGS): Likewise.
37623 (bitmap_mod_SOURCES): Likewise.
37624 (bitmap_mod_CFLAGS): Likewise.
37625 (bitmap_mod_LDFLAGS): Likewise.
37626 (tga_mod_SOURCES): Likewise.
37627 (tga_mod_CFLAGS): Likewise.
37628 (tga_mod_LDFLAGS): Likewise.
37629 (jpeg_mod_SOURCES): Likewise.
37630 (jpeg_mod_CFLAGS): Likewise.
37631 (jpeg_mod_LDFLAGS): Likewise.
37632 (png_mod_SOURCES): Likewise.
37633 (png_mod_CFLAGS): Likewise.
37634 (png_mod_LDFLAGS): Likewise.
37635
37636 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37637 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37638 (video_mod_SOURCES): Added.
37639 (video_mod_CFLAGS): Likewise.
37640 (video_mod_LDFLAGS): Likewise.
37641 (videotest_mod_SOURCES): Likewise.
37642 (videotest_mod_CFLAGS): Likewise.
37643 (videotest_mod_LDFLAGS): Likewise.
37644 (bitmap_mod_SOURCES): Likewise.
37645 (bitmap_mod_CFLAGS): Likewise.
37646 (bitmap_mod_LDFLAGS): Likewise.
37647 (tga_mod_SOURCES): Likewise.
37648 (tga_mod_CFLAGS): Likewise.
37649 (tga_mod_LDFLAGS): Likewise.
37650 (jpeg_mod_SOURCES): Likewise.
37651 (jpeg_mod_CFLAGS): Likewise.
37652 (jpeg_mod_LDFLAGS): Likewise.
37653 (png_mod_SOURCES): Likewise.
37654 (png_mod_CFLAGS): Likewise.
37655 (png_mod_LDFLAGS): Likewise.
37656 (gfxterm_mod_SOURCES): Likewise.
37657 (gfxterm_mod_CFLAGS): Likewise.
37658 (gfxterm_mod_LDFLAGS): Likewise.
37659
37660 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37661 grub/machine/console.h.
37662
37663 2009-01-04 Jerone Young <jerone@gmail.com>
37664
37665 Make on screen instructions clearer
37666
37667 Based on patch created by Jidanni <jidanni@jidanni.org>
37668
37669 * normal/menu.c: print clearer instructions on the screen
37670
37671 2009-01-02 Colin D Bennett <colin@gibibit.com>
37672
37673 New font engine.
37674
37675 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37676 build system and fixed gfxterm.c to work with different sized fonts.
37677
37678 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
37679
37680 * configure: Re-generated.
37681
37682 * DISTLIST: Removed font/manager.c.
37683 Added font/font.c.
37684 Added font/font_cmd.c.
37685
37686 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37687 compilation.
37688
37689 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
37690
37691 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
37692
37693 * kern/term.c: Changed users of grub_utf8_to_ucs4.
37694
37695 * normal/menu.c: Likewise.
37696
37697 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37698 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
37699
37700 * include/grub/font.h: Replaced with new file.
37701
37702 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37703 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37704 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37705 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37706 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
37707 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
37708 fg_red, fg_green, fg_blue, fg_alpha.
37709 (grub_video_adapter): Removed blit_glyph.
37710 (grub_video_blit_glyph): Removed.
37711
37712 * font/manager.c: Removed file.
37713
37714 * font/font.c: New file.
37715
37716 * font/font_cmd.c: Likewise.
37717
37718 * video/video.c (grub_video_blit_glyph): Removed.
37719
37720 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37721 (grub_video_vbe_map_rgba): Likewise.
37722 (grub_video_vbe_unmap_color_int): Likewise.
37723 (grub_video_vbe_blit_glyph): Removed.
37724 (grub_video_vbe_adapter): Removed blit_glyph.
37725
37726 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37727 (get_pixel): Likewise.
37728 (set_pixel): Likewise.
37729
37730 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
37731
37732 * term/gfxterm.c: Adapted to new font engine.
37733
37734 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
37735
37736 * term/i386/pc/vga.c: Likewise.
37737
37738 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
37739
37740 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37741
37742 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37743
37744 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37745
37746 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37747
37748 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37749
37750 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37751
37752 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37753
37754 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37755
37756 * util/grub.d/00_header.in: Changed to use new loadfont command.
37757
37758 * util/grub-mkconfig_lib.in: Changed font extension.
37759
37760 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
37761
37762 * util/getroot.c (grub_util_get_grub_dev): Add support for
37763 /dev/md/dNNpNN style partitionable mdraid devices.
37764
37765 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
37766
37767 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37768 at a time limit of the PXE TFTP API correctly.
37769 (grub_pxefs_close): Likewise.
37770
37771 2008-11-29 Robert Millan <rmh@aybabtu.com>
37772
37773 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
37774 grub_ata_device_initialize() calls.
37775
37776 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
37777
37778 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37779 iteration failed.
37780 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37781
37782 2008-11-28 Robert Millan <rmh@aybabtu.com>
37783
37784 Fix build on powerpc-ieee1275. Based on patch created by
37785 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37786 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37787 `kern/ieee1275/mmap.c'.
37788 * include/grub/powerpc/ieee1275/memory.h: New file.
37789
37790 Provide grub-install on coreboot.
37791 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37792 (grub_install_SOURCES): New variable.
37793 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37794 usable on coreboot.
37795
37796 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
37797
37798 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37799 to `grub_term_input_t'.
37800 (grub_term_get_current_output): Change return type to
37801 `grub_term_output_t'.
37802
37803 2008-11-22 Robert Millan <rmh@aybabtu.com>
37804
37805 Fix breakage on coreboot due to declaration mismatch.
37806 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37807 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37808 grub_vga_text_cls().
37809
37810 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
37811 comments. Avoid copying one more byte than necessary (just in case).
37812
37813 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37814 to 0x200000 (avoids trouble with some OFW implementations, and matches
37815 with the one in Yaboot).
37816 Reported by Manoel Abranches
37817
37818 2008-11-20 Robert Millan <rmh@aybabtu.com>
37819
37820 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37821 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37822
37823 * util/grub-mkconfig_lib.in (grub_warn): New function.
37824 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37825 warnings, to obtain consistent formatting.
37826 * util/grub.d/00_header.in: Likewise.
37827 * util/update-grub_lib.in: Likewise.
37828
37829 * loader/i386/linux.c (allocate_pages): Fix a warning.
37830 Move comment text to `#error' stanza.
37831
37832 Harmonize ieee1275's grub_available_iterate() with the generic
37833 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37834 build problem on i386-ieee1275):
37835 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37836 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37837 parameter `type'. Update all users of this function.
37838 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37839 `kern/ieee1275/mmap.c'.
37840 * kern/ieee1275/init.c
37841 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37842 with ...
37843 (grub_machine_mmap_iterate): ... this.
37844 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37845 return type to `grub_err_t'. Update all implementations of this
37846 function prototype.
37847 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37848 Likewise.
37849
37850 Add `lsmmap' command (lists firmware-provided memory map):
37851 * commands/lsmmap.c: New file.
37852 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37853 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37854 variables.
37855 * conf/powerpc-ieee1275.rmk: Likewise.
37856 * conf/i386-coreboot.rmk: Likewise.
37857 * conf/i386-ieee1275.rmk: Likewise.
37858
37859 2008-11-19 Robert Millan <rmh@aybabtu.com>
37860
37861 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
37862 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37863 constraints to initrd allocation (based on code from
37864 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37865 for Linux to find it.
37866
37867 2008-11-14 Robert Millan <rmh@aybabtu.com>
37868
37869 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37870 order to cope with duplicate slashes.
37871
37872 2008-11-14 Robert Millan <rmh@aybabtu.com>
37873
37874 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37875 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37876 don't want to mess with lower memory, because it is used in the Linux
37877 loader.
37878
37879 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
37880 an appropriate place in lower memory, between 0x10000 and 0x90000,
37881 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37882 is in our heap (probably as a result of it being corrupted during
37883 decompression). Add #error instance with comment to explain why this
37884 loader isn't currently usable on PC/BIOS.
37885
37886 2008-11-14 Robert Millan <rmh@aybabtu.com>
37887
37888 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
37889 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
37890
37891 2008-11-12 Robert Millan <rmh@aybabtu.com>
37892
37893 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37894
37895 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37896 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37897 from here ...
37898 * include/grub/i386/pc/memory.h: ... to here.
37899
37900 2008-11-12 Robert Millan <rmh@aybabtu.com>
37901
37902 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37903 split).
37904
37905 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37906 (grub_console_cur_color, grub_console_real_putchar)
37907 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37908 (grub_console_setcolorstate, grub_console_setcolor)
37909 (grub_console_getcolor): Move from here ...
37910 * include/grub/i386/vga_common.h: ... to here (new file).
37911
37912 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37913 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37914 `<grub/i386/io.h>'.
37915 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37916 `<grub/i386/vga_common.h>'.
37917
37918 2008-11-12 Robert Millan <rmh@aybabtu.com>
37919
37920 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37921 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37922 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37923 variables.
37924 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37925 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37926
37927 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37928 grub_console_init() with call to grub_vga_text_init().
37929 (grub_machine_fini): Replace call to
37930 grub_console_fini() with call to grub_vga_text_fini() and
37931 grub_at_keyboard_fini().
37932
37933 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37934 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37935 (grub_console_setcolorstate, grub_console_setcolor)
37936 (grub_console_getcolor): New function prototypes.
37937
37938 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37939 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37940 (grub_vga_text_setcursor): Static-ize.
37941 (grub_vga_text_term): New structure.
37942 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37943
37944 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37945 (grub_console_cur_color, grub_console_standard_color)
37946 (grub_console_normal_color, grub_console_highlight_color)
37947 (map_char, grub_console_putchar, grub_console_getcharwidth)
37948 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37949 (grub_console_getcolor): Move from here ...
37950 * term/i386/vga_common.c: ... to here (same function names).
37951
37952 2008-11-12 Robert Millan <rmh@aybabtu.com>
37953
37954 Use newly-added Multiboot support in coreboot.
37955
37956 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37957 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37958
37959 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37960 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37961 (codestart): Store the MBI in `startup_multiboot_info' when we're
37962 being loaded using Multiboot.
37963
37964 * kern/i386/coreboot/init.c (grub_machine_init): Move
37965 grub_at_keyboard_init() call to beginning of function (useful for
37966 debugging). Call grub_machine_mmap_init() before attempting to use
37967 grub_machine_mmap_iterate().
37968 (grub_lower_mem, grub_upper_mem): Move from here ...
37969 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37970 here (new file).
37971
37972 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37973 function prototype.
37974
37975 2008-11-12 Robert Millan <rmh@aybabtu.com>
37976
37977 Fix a regression introduced by the at_keyboard.mod split. Because
37978 some terminals are default on some platforms and non-default on
37979 others, the first terminal being registered determines which is
37980 going to be default.
37981
37982 * kern/term.c (grub_term_register_input): If this is the first
37983 terminal being registered, set it as the current one.
37984 (grub_term_register_output): Likewise.
37985
37986 * term/efi/console.c (grub_console_init): Do not call
37987 grub_term_set_current_output() or grub_term_set_current_input().
37988 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37989 * term/i386/pc/console.c (grub_console_init): Likewise.
37990 (grub_console_fini): Do not call grub_term_set_current_input()
37991 (but leave grub_term_set_current_output() to restore text mode).
37992
37993 2008-11-10 Robert Millan <rmh@aybabtu.com>
37994
37995 * util/grub.d/00_header.in: Add backward compatibility check for
37996 versions of terminal.mod that don't understand `terminal_input' or
37997 `terminal_output'.
37998
37999 2008-11-09 Robert Millan <rmh@aybabtu.com>
38000
38001 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
38002 `terminal_input' / `terminal_output', not `terminal'.
38003
38004 2008-11-08 Robert Millan <rmh@aybabtu.com>
38005
38006 * Makefile.in (include_DATA): Fix srcdir=. assumption.
38007 (DISTCLEANFILES): Add `build_env.mk'.
38008
38009 2008-11-08 Robert Millan <rmh@aybabtu.com>
38010
38011 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
38012 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38013 members. Update all users.
38014 * util/console.c (grub_ncurses_term): Split in ...
38015 (grub_ncurses_term_input): ... this, and ...
38016 (grub_ncurses_term_output): ... this. Update all users.
38017 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
38018
38019 2008-11-08 Robert Millan <rmh@aybabtu.com>
38020
38021 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
38022 (PKGDATA): Add $(pkgdata_SRCDIR).
38023 (pkglib_BUILDDIR): New variable.
38024 (pkgdata_SRCDIR): New variable.
38025 (build_env.mk): New target.
38026 (include_DATA): New variable.
38027 (install-local): Install $(include_DATA) files in $(includedir).
38028
38029 2008-11-07 Pavel Roskin <proski@gnu.org>
38030
38031 * gendistlist.sh: Use C locale for sorting to ensure consistent
38032 output on all systems.
38033
38034 * util/grub.d/00_header.in: Remove incorrect space before
38035 "serial".
38036
38037 2008-11-07 Robert Millan <rmh@aybabtu.com>
38038
38039 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
38040 per specification.
38041 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
38042 * loader/multiboot_loader.c (find_multi_boot2_header): New function
38043 (based on find_multi_boot1_header).
38044 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
38045 using find_multi_boot2_header(), and abort if neither Multiboot or
38046 Multiboot headers were found.
38047
38048 2008-11-07 Robert Millan <rmh@aybabtu.com>
38049
38050 Modularize at_keyboard.mod:
38051
38052 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
38053 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
38054 (at_keyboard_mod_LDFLAGS): New variables.
38055
38056 Actual terminal split:
38057
38058 * include/grub/term.h (struct grub_term): Split in ...
38059 (struct grub_term_input): ... this, and ...
38060 (struct grub_term_output): ... this. Update all users.
38061 (grub_term_set_current): Split in ...
38062 (grub_term_set_current_input): ... this, and ...
38063 (grub_term_set_current_output): ... this.
38064 (grub_term_get_current): Split in ...
38065 (grub_term_get_current_input): ... this, and ...
38066 (grub_term_get_current_output): ... this.
38067 (grub_term_register): Split in ...
38068 (grub_term_register_input): ... this, and ...
38069 (grub_term_register_output): ... this.
38070 (grub_term_unregister): Split in ...
38071 (grub_term_unregister_input): ... this, and ...
38072 (grub_term_unregister_output): ... this.
38073 (grub_term_iterate): Split in ...
38074 (grub_term_iterate_input): ... this, and ...
38075 (grub_term_iterate_output): ... this.
38076
38077 * kern/term.c (grub_term_list): Split in ...
38078 (grub_term_list_input): ... this, and ...
38079 (grub_term_list_output): ... this. Update all users.
38080 (grub_cur_term): Split in ...
38081 (grub_cur_term_input): ... this, and ...
38082 (grub_cur_term_output): ... this. Update all users.
38083 (grub_term_set_current): Split in ...
38084 (grub_term_set_current_input): ... this, and ...
38085 (grub_term_set_current_output): ... this.
38086 (grub_term_get_current): Split in ...
38087 (grub_term_get_current_input): ... this, and ...
38088 (grub_term_get_current_output): ... this.
38089 (grub_term_register): Split in ...
38090 (grub_term_register_input): ... this, and ...
38091 (grub_term_register_output): ... this.
38092 (grub_term_unregister): Split in ...
38093 (grub_term_unregister_input): ... this, and ...
38094 (grub_term_unregister_output): ... this.
38095 (grub_term_iterate): Split in ...
38096 (grub_term_iterate_input): ... this, and ...
38097 (grub_term_iterate_output): ... this.
38098
38099 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
38100 a check for input and one for output (and only attempt to get keys
38101 from user when input works).
38102
38103 * util/grub-probe.c (grub_term_get_current): Split in ...
38104 (grub_term_get_current_input): ... this, and ...
38105 (grub_term_get_current_output): ... this.
38106 * util/grub-fstest.c: Likewise.
38107 * util/i386/pc/grub-setup.c: Likewise.
38108 * util/grub-editenv.c: Likewise.
38109
38110 Portability adjustments:
38111
38112 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
38113 `term/i386/pc/at_keyboard.c'.
38114 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
38115 grub_keyboard_controller_init() (now handled by terminal .init).
38116 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
38117 grub_at_keyboard_init().
38118 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
38119 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
38120 at_keyboard.mod via input terminal interface).
38121 * include/grub/i386/coreboot/console.h: Convert into a stub for
38122 `<grub/i386/pc/console.h>'.
38123
38124 Migrate full terminals to new API:
38125
38126 * term/efi/console.c (grub_console_term): Split into ...
38127 (grub_console_term_input): ... this, and ...
38128 (grub_console_term_output): ... this. Update all users.
38129 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
38130 (grub_ofconsole_init): Split into ...
38131 (grub_ofconsole_init_input): ... this, and ...
38132 (grub_ofconsole_init_output): ... this.
38133 (grub_ofconsole_term): Split into ...
38134 (grub_ofconsole_term_input): ... this, and ...
38135 (grub_ofconsole_term_output): ... this. Update all users.
38136 * term/i386/pc/serial.c (grub_serial_term): Split into ...
38137 (grub_serial_term_input): ... this, and ...
38138 (grub_serial_term_output): ... this. Update all users.
38139 * term/i386/pc/console.c (grub_console_term): Split into ...
38140 (grub_console_term_input): ... this, and ...
38141 (grub_console_term_output): ... this. Update all users.
38142 (grub_console_term_input): Only enable it on PC/BIOS platform.
38143 (grub_console_init): Remove grub_keyboard_controller_init() call.
38144
38145 Migrate input terminals to new API:
38146
38147 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
38148 `i386' and `i386/pc' to enable build on x86_64 (this driver is
38149 i386-specific anyway).
38150 (grub_console_checkkey): Rename to ...
38151 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
38152 users.
38153 (grub_keyboard_controller_orig): New variable.
38154 (grub_console_getkey): Rename to ...
38155 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
38156 users.
38157 (grub_keyboard_controller_init): Static-ize. Save original
38158 controller value so that it can be restored ...
38159 (grub_keyboard_controller_fini): ... here (new function).
38160 (grub_at_keyboard_term): New structure.
38161 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
38162 functions.
38163
38164 Migrate output terminals to new API:
38165
38166 * term/i386/pc/vga.c (grub_vga_term): Change type to
38167 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38168 members. Update all users.
38169 * term/gfxterm.c (grub_video_term): Change type to
38170 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
38171 members. Update all users.
38172 * include/grub/i386/pc/console.h (grub_console_checkkey)
38173 (grub_console_getkey): Do not export (no longer needed by gfxterm,
38174 etc).
38175
38176 Migrate `terminal' command and userland tools to new API:
38177
38178 * commands/terminal.c (grub_cmd_terminal): Split into ...
38179 (grub_cmd_terminal_input): ... this, and ...
38180 (grub_cmd_terminal_output): ... this.
38181 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
38182 `terminal_input' and `terminal_output'.
38183 * util/grub.d/00_header.in: Adjust `terminal' calls to new
38184 `terminal_input' / `terminal_output' API.
38185 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
38186 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
38187 provided ${GRUB_TERMINAL}, convert it).
38188
38189 2008-11-04 Robert Millan <rmh@aybabtu.com>
38190
38191 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
38192 for FreeBSD.
38193 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
38194
38195 2008-11-03 Bean <bean123ch@gmail.com>
38196
38197 * kern/elf.c (grub_elf32_load): Revert to previous code.
38198 (grub_elf64_load): Likewise.
38199
38200 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
38201
38202 2008-11-01 Robert Millan <rmh@aybabtu.com>
38203
38204 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
38205 (TARGET_CPPFLAGS): Likewise.
38206 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
38207
38208 2008-11-01 Carles Pina i Estany <carles@pina.cat>
38209
38210 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
38211
38212 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
38213
38214 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
38215 addition of objects until the code is not going to be able to fail.
38216
38217 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
38218
38219 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
38220 (add a missing NULL check, and correct them by moving the pointer
38221 operations after the actual check).
38222
38223 2008-10-29 Robert Millan <rmh@aybabtu.com>
38224
38225 * util/i386/pc/grub-install.in: Handle empty string as output from
38226 make_system_path_relative_to_its_root().
38227
38228 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
38229
38230 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
38231 circular metadata worst case scenario. If the metadata is circular
38232 then copy the wrap in place.
38233 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
38234 project lib/format_text/layout.h
38235 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
38236
38237 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
38238
38239 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
38240
38241 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
38242
38243 * util/update-grub_lib.in: Mention filename in warning message.
38244
38245 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
38246
38247 * NEWS: Update for rename of update-grub to grub-mkconfig.
38248
38249 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
38250
38251 * util/update-grub_lib.in: Copy to ...
38252 * util/grub-mkconfig_lib.in: ... this. Update all users.
38253 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
38254 * util/update-grub.in: Rename to ...
38255 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
38256 option. Add `--output' option to allow users to specify the generated
38257 configuration file. Default to stdout.
38258 (update_grub_dir): Rename to ...
38259 (grub_mkconfig_dir): ... this.
38260 (grub_cfg): Default to an empty string.
38261 * conf/common.rmk (update-grub): Rename to ...
38262 (grub-mkconfig): ... this.
38263 (update-grub_lib): Copy to ...
38264 (grub-mkconfig_lib): ... this.
38265 (update-grub_SCRIPTS): Copy to ...
38266 (grub-mkconfig_SCRIPTS): ... this. Update all users.
38267 (update-grub_DATA): Rename to ...
38268 (grub-mkconfig_DATA): ... this.
38269
38270 2008-09-28 Robert Millan <rmh@aybabtu.com>
38271
38272 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
38273 to `modified'. Add the real `created' field.
38274 (grub_iso9660_uuid): Use `modified' rather than `created' for
38275 constructing the UUID.
38276
38277 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
38278
38279 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
38280 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
38281
38282 2008-09-28 Bean <bean123ch@gmail.com>
38283
38284 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
38285 Thanks to Christian Franke for finding this bug.
38286
38287 2008-09-25 Robert Millan <rmh@aybabtu.com>
38288
38289 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
38290 instances of grub_util_get_disk_name() (see previous commit).
38291
38292 2008-09-25 Robert Millan <rmh@aybabtu.com>
38293
38294 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
38295 `util/i386/get_disk_name.c'.
38296 * conf/i386-efi.rmk: Likewise.
38297 * conf/x86_64-efi.rmk: Likewise.
38298 * conf/i386-coreboot.rmk: Likewise.
38299 * conf/i386-ieee1275.rmk: Likewise.
38300 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
38301 `util/ieee1275/get_disk_name.c'.
38302 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
38303 * util/ieee1275/get_disk_name.c: Remove file.
38304 * util/i386/get_disk_name.c: Remove file.
38305 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
38306 "hd%d" for device.map entries, rather than using
38307 grub_util_get_disk_name().
38308
38309 2008-09-24 Carles Pina i Estany <carles@pina.cat>
38310
38311 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
38312 warning.
38313 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
38314
38315 2008-09-24 Carles Pina i Estany <carles@pina.cat>
38316
38317 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
38318 Changed to 0x5100.
38319 (GRUB_TERM_PPAGE): Changed to 0x4900.
38320
38321 2008-09-24 Robert Millan <rmh@aybabtu.com>
38322
38323 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
38324 macros (they were i386-pc specific).
38325 * include/grub/sparc64/ieee1275/console.h: Likewise.
38326 * include/grub/efi/console.h: Likewise.
38327
38328 2008-09-22 Bean <bean123ch@gmail.com>
38329
38330 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
38331 resident and in attribute list.
38332
38333 * include/grub/ntfs.h (BMP_LEN): Removed.
38334
38335 2008-09-22 Bean <bean123ch@gmail.com>
38336
38337 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
38338 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38339
38340 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38341 error occurs, as grub_disk_open will call grub_disk_close, which will
38342 call p->close (scsi).
38343
38344 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
38345
38346 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38347 (AC_PREREQ): Bumped to 2.59.
38348 (AC_TRY_COMPILE): Replace obsolete macro with ...
38349 (AC_COMPILE_IFELSE): ... this.
38350 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38351 (AC_LINK_IFELSE): ... this.
38352
38353 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
38354
38355 * autogen.sh: Add a call to `gendistlist.sh'.
38356
38357 2008-09-19 Christian Franke <franke@computer.org>
38358
38359 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38360 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38361 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38362 Export __enable_execute_stack() to modules.
38363 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38364 New function.
38365
38366 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
38367
38368 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38369 Sort the list.
38370
38371 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
38372
38373 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
38374 #include <grub/util/hostdisk.h>.
38375
38376 2008-09-08 Robert Millan <rmh@aybabtu.com>
38377
38378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38379 segments when their filesz is zero (grub_file_read() interprets
38380 zero-size as "read until EOF", which results in memory corruption).
38381 Use `lowest_segment' rather than 0 for calculating the current
38382 segment load address.
38383
38384 2008-09-08 Robert Millan <rmh@aybabtu.com>
38385
38386 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38387 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38388 clobbered useful information.
38389
38390 2008-09-08 Robert Millan <rmh@aybabtu.com>
38391
38392 * include/grub/util/biosdisk.h: Move to ...
38393 * include/grub/util/hostdisk.h: ... here. Update all users.
38394 * util/biosdisk.c: Move to ...
38395 * util/hostdisk.c: ... here. Update all users.
38396
38397 2008-09-07 Robert Millan <rmh@aybabtu.com>
38398
38399 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38400 variables.
38401 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38402 and length can be stored directly in the `mbi->mmap_addr' and
38403 `mbi->mmap_length' struct fields.
38404
38405 2008-09-07 Robert Millan <rmh@aybabtu.com>
38406
38407 * conf/i386.rmk: New file. Provides declaration for building
38408 `cpuid.mod'.
38409 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38410 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38411 variables.
38412 Include `conf/i386.mk'.
38413 * conf/i386-efi.rmk: Likewise.
38414 * conf/x86_64-efi.rmk: Likewise.
38415 * conf/i386-coreboot.rmk: Likewise.
38416 * conf/i386-ieee1275.rmk: Likewise.
38417
38418 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38419
38420 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38421 Adds optimization support for BGR based modes.
38422
38423 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38424 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38425 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38426 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38427 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38428 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38429 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38431 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38432 (grub_video_i386_vbeblit_index_index): Likewise.
38433 (grub_video_i386_vbeblit_replace_directN): Added.
38434 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38435 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38436 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38437 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38438 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38439 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38440 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38441 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38442 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38443 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38444 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38445 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38446 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38447
38448 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38449 (grub_video_i386_vbefill_R8G8B8): Likewise.
38450 (grub_video_i386_vbefill_index): Likewise.
38451 (grub_video_i386_vbefill_direct32): Added.
38452 (grub_video_i386_vbefill_direct24): Likewise.
38453 (grub_video_i386_vbefill_direct16): Likewise.
38454 (grub_video_i386_vbefill_direct8): Likewise.
38455
38456 * include/grub/video.h (grub_video_blit_format): Removed
38457 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38458 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38459 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38460 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38461 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
38462
38463 * video/video.c (grub_video_get_blit_format): Updated to use new
38464 blit formats. Added handling for 16 bit color modes.
38465
38466 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
38467 fillers.
38468 (common_blitter): Updated to use new blitters.
38469
38470 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38471 Removed.
38472 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38475 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38476 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38477 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38478 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38479 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38480 (grub_video_i386_vbeblit_index_index): Likewise.
38481 (grub_video_i386_vbeblit_replace_directN): Added.
38482 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38483 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38484 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38485 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38486 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38487 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38488 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38489 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38490 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38491 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38492 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38493 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38494 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38495
38496 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38497 (grub_video_i386_vbefill_R8G8B8): Likewise.
38498 (grub_video_i386_vbefill_index): Likewise.
38499 (grub_video_i386_vbefill_direct32): Added.
38500 (grub_video_i386_vbefill_direct24): Likewise.
38501 (grub_video_i386_vbefill_direct16): Likewise.
38502 (grub_video_i386_vbefill_direct8): Likewise.
38503
38504 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38505 types.
38506
38507 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38508 types.
38509
38510 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38511 blitter types.
38512
38513 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38514 types.
38515
38516 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
38517
38518 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38519 RAID level 1.
38520
38521 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
38522
38523 * fs/iso9660.c (grub_iso9660_date): New structure.
38524 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38525 (grub_iso9660_uuid): New function.
38526
38527 2008-09-05 Bean <bean123ch@gmail.com>
38528
38529 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38530
38531 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38532 insensitive bit for names in Win32 and Win32 & DOS namespace.
38533
38534 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38535
38536 * include/grub/types.h (LONG_MAX): Likewise.
38537
38538 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
38539
38540 * util/getroot.c: Include <config.h>.
38541 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38542 add support for /dev/md/N devices and handle LVM double dash escaping.
38543
38544 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
38545
38546 * config.guess: Update to latest version from config git.
38547 * config.sub: Likewise.
38548
38549 2008-09-03 Robert Millan <rmh@aybabtu.com>
38550
38551 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38552 `disk->total_sectors'.
38553
38554 2008-09-01 Colin D Bennett <colin@gibibit.com>
38555
38556 * include/grub/normal.h: Fixed incorrect comment for
38557 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38558
38559 2008-09-01 Colin D Bennett <colin@gibibit.com>
38560
38561 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38562 values with defines.
38563
38564 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38565 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38566 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38567 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38568 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38569 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38570 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38571 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38572 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38573 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38574 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38575 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38576 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38577 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38578 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38579 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38580 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38581 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38582 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38583
38584 2008-08-31 Robert Millan <rmh@aybabtu.com>
38585
38586 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38587 declaration.
38588 (grub_multiboot): Fix a few warnings.
38589
38590 2008-08-31 Robert Millan <rmh@aybabtu.com>
38591
38592 * loader/i386/pc/multiboot.c: Update comment not to say that
38593 boot_device support is unimplemented.
38594
38595 2008-08-31 Robert Millan <rmh@aybabtu.com>
38596
38597 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38598 or memory map support are unimplemented.
38599
38600 2008-08-31 Colin D Bennett <colin@gibibit.com>
38601
38602 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38603
38604 2008-08-31 Colin D Bennett <colin@gibibit.com>
38605
38606 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38607 total video memory in 'vbeinfo' output; show color format details for
38608 each video mode.
38609
38610 2008-08-30 Pavel Roskin <proski@gnu.org>
38611
38612 * util/genmoddep.c: Remove for real this time.
38613 * DISTLIST: Remove util/genmoddep.c.
38614
38615 2008-08-30 Robert Millan <rmh@aybabtu.com>
38616
38617 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38618 as required by Multiboot spec (it was already 4-byte aligned, but
38619 only by chance).
38620
38621 2008-08-29 Pavel Roskin <proski@gnu.org>
38622
38623 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38624 * kern/powerpc/ieee1275/startup.S: ... this.
38625 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38626 * DISTLIST: Likewise.
38627
38628 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38629 grub/cpu/kernel.h. Add start label for consistency with other
38630 platforms. Add grub_prefix immediately after start. Add jump
38631 to the code after grub_prefix.
38632 * include/grub/powerpc/kernel.h: Provide valid values for
38633 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38634
38635 2008-08-29 Bean <bean123ch@gmail.com>
38636
38637 * configure.ac: Change host_os to cygwin for mingw.
38638 (asprintf): New check for function.
38639
38640 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38641 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38642
38643 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
38644 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
38645 sync, sleep and grub_util_get_disk_size for mingw.
38646
38647 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38648 to get size in mingw.
38649 (open_device): Use flag O_BINARY if it's defined.
38650 (find_root_device): Add dummy code for mingw.
38651
38652 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38653 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38654 (get_scsi_disk_name): Return 0 for mingw.
38655
38656 * util/hostfs.c: #include <grub/util/misc.h>.
38657 (grub_hostfs_open): Use "rb" flag to open file, use
38658 grub_util_get_disk_size to get disk size for mingw.
38659
38660 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38661 (asprintf): New function if HAVE_ASPRINTF is not set.
38662 (sync): New function for mingw.
38663 (sleep): Likewise.
38664 (grub_util_get_disk_size): Likewise.
38665
38666 2008-08-28 Pavel Roskin <proski@gnu.org>
38667
38668 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38669 kern/time.c.
38670
38671 2008-08-28 Robert Millan <rmh@aybabtu.com>
38672
38673 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38674
38675 2008-08-28 Robert Millan <rmh@aybabtu.com>
38676
38677 Change find_grub_drive() syntax so it doesn't prevent it from
38678 detecting NULL names as errors.
38679
38680 * util/biosdisk.c (find_grub_drive): Move free slot search code
38681 from here ...
38682 (find_free_slot): ... to here.
38683 (read_device_map): Use find_free_slot() to search for free slots.
38684
38685 2008-08-27 Marco Gerards <marco@gnu.org>
38686
38687 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38688 (scsi_mod_SOURCES): New variable.
38689 (scsi_mod_CFLAGS): Likewise
38690 (scsi_mod_LDFLAGS): Likewise.
38691
38692 * disk/scsi.c: New file.
38693
38694 * include/grub/scsi.h: Likewise.
38695
38696 * include/grub/scsicmd.h: Likewise.
38697
38698 * disk/ata.c: Include <grub/scsi.h>.
38699 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38700 instead.
38701 (grub_ata_iterate): Skip ATAPI devices.
38702 (grub_ata_open): Only handle ATAPI devices.
38703 (struct grub_atapi_read): Removed.
38704 (grub_atapi_readsector): Likewise.
38705 (grub_ata_read): No longer handle ATAPI devices.
38706 (grub_ata_write): Likewise.
38707 (grub_atapi_iterate): New function.
38708 (grub_atapi_read): Likewise.
38709 (grub_atapi_write): Likewise.
38710 (grub_atapi_open): Likewise.
38711 (grub_atapi_close): Likewise.
38712 (grub_atapi_dev): New variable.
38713 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38714 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38715
38716 * include/grub/disk.h (enum grub_disk_dev_id): Add
38717 `GRUB_DISK_DEVICE_SCSI_ID'.
38718
38719 2008-08-26 Robert Millan <rmh@aybabtu.com>
38720
38721 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38722 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38723 descriptive.
38724
38725 2008-08-23 Bean <bean123ch@gmail.com>
38726
38727 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38728 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38729 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38730 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38731 dm_nv.mod.
38732 (raid5rec_mod_SOURCES): New macro.
38733 (raid5rec_mod_CFLAGS): Likewise.
38734 (raid5rec_mod_LDFLAGS): Likewise.
38735 (raid6rec_mod_SOURCES): Likewise.
38736 (raid6rec_mod_CFLAGS): Likewise.
38737 (raid6rec_mod_LDFLAGS): Likewise.
38738 (mdraid_mod_SOURCES): Likewise.
38739 (mdraid_mod_CFLAGS): Likewise.
38740 (mdraid_mod_LDFLAGS): Likewise.
38741 (dm_nv_mod_SOURCES): Likewise.
38742 (dm_nv_mod_CFLAGS): Likewise.
38743 (dm_nv_mod_LDFLAGS): Likewise.
38744
38745 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38746 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38747 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38748
38749 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38750 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38751
38752 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38753
38754 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38755
38756 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38757
38758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38759
38760 * disk/raid5_recover.c: New file.
38761
38762 * disk/raid6_recover.c: Likewise.
38763
38764 * disk/mdraid_linux.c: Likewise.
38765
38766 * disk/dmraid_nvidia.c: Likewise.
38767
38768 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38769 ULONG_MAX.
38770
38771 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38772 calculate the size of raid device.
38773 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38774 different layout of raid5.
38775 (grub_raid_scan_device): Remove code specific to mdraid.
38776 (grub_raid_list): New variable.
38777 (free_array): New function.
38778 (grub_raid_register): Likewise.
38779 (grub_raid_unregister): Likewise.
38780 (grub_raid_rescan): Likewise.
38781 (GRUB_MOD_INIT): Don't iterate device here.
38782 (GRUB_MOD_FINI): Use free_array to release resource.
38783
38784 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38785 (grub_raid5_recover_func_t): New function variable type.
38786 (grub_raid6_recover_func_t): Likewise.
38787 (grub_raid5_recover_func): New variable.
38788 (grub_raid6_recover_func): Likewise.
38789 (grub_raid_register): New function.
38790 (grub_raid_unregister): Likewise.
38791 (grub_raid_rescan): Likewise.
38792 (grub_raid_block_xor): Likewise.
38793
38794 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38795 (CMD_CRC): New macro.
38796 (part): Removed.
38797 (read_file): Handle device as well as file.
38798 (cmd_crc): New function.
38799 (fstest): Handle multiple disks.
38800 (options): Remove part, raw and long, add root and diskcount.
38801 (usage): Add crc, remove -p, -r, -l, add -r and -c.
38802 (main): Find the first non option entry and ignore subsequent options,
38803 add handling for the new options, support multiple disks.
38804
38805 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38806
38807 2008-08-23 Bean <bean123ch@gmail.com>
38808
38809 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38810
38811 * genfslist.sh: Ignore kernel.mod.
38812
38813 * genpartmaplist.sh: Likewise.
38814
38815 2008-08-23 Robert Millan <rmh@aybabtu.com>
38816
38817 * util/getroot.c (find_root_device): Skip anything that starts with
38818 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38819
38820 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
38821
38822 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38823 * util/grub.d/00_header.in: Allow the administrator to change default
38824 gfxmode via ${GRUB_GFXMODE}.
38825
38826 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
38827
38828 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38829
38830 2008-08-21 Robert Millan <rmh@aybabtu.com>
38831
38832 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38833 loader.
38834 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38835 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38836
38837 2008-08-20 Carles Pina i Estany <carles@pina.cat>
38838
38839 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38840 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38841
38842 2008-08-19 Robert Millan <rmh@aybabtu.com>
38843
38844 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38845 (struct grub_virtual_screen): Remove `cursor_color'.
38846 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38847 initialization.
38848 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38849
38850 2008-08-18 Robert Millan <rmh@aybabtu.com>
38851
38852 Unify (identical) linux_normal.c files.
38853 * loader/i386/efi/linux_normal.c: Move from here ...
38854 * loader/linux_normal.c: ... to here. Update all users.
38855 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38856 * loader/i386/ieee1275/linux_normal.c: Likewise.
38857
38858 2008-08-18 Robert Millan <rmh@aybabtu.com>
38859
38860 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38861 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38862 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38863 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38864 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38865 New macros.
38866 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38867 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38868 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38869 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38870 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38871 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38872 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38873 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38874 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38875 portably using grub_getxy().
38876 Replace `-EFI' with `-bzImage' in boot message.
38877
38878 2008-08-17 Robert Millan <rmh@aybabtu.com>
38879
38880 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38881
38882 2008-08-17 Robert Millan <rmh@aybabtu.com>
38883
38884 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38885
38886 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38887 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38888 (grub_machine_mmap_iterate): New function declaration.
38889 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38890 structure.
38891 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38892 macros.
38893
38894 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38895 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38896 Move e820 parsing from here ...
38897 * kern/i386/pc/mmap.c: New file.
38898 (grub_machine_mmap_iterate): ... to here.
38899
38900 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38901 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38902 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38903 (grub_available_iterate): Redeclare to return `void', and redeclare
38904 its hook to use grub_uint64_t as addr and size parameters, and rename
38905 to ...
38906 (grub_machine_mmap_iterate): ... this. Update all users.
38907
38908 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38909 to make it more readable. Rename to ...
38910 (grub_machine_mmap_iterate): ... this.
38911
38912 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38913 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38914 (grub_multiboot): Allocate an extra region after the payload, and fill
38915 it with a Multiboot memory map. Adjust a.out loader to calculate size
38916 with the extra space.
38917 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38918 with the extra space.
38919
38920 2008-08-17 Carles Pina i Estany <carles@pina.cat>
38921
38922 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
38923
38924 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
38925
38926 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38927 mdate-sh to the list `find' searches for.
38928 * DISTLIST: Regenerated.
38929
38930 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
38931
38932 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38933 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
38934 genmoddep.awk, gensymlist.sh.in.
38935 (DISTDIRS): Add bus, docs, hook, lib.
38936 * DISTLIST: Regenerated.
38937 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
38938
38939 2008-08-16 Robert Millan <rmh@aybabtu.com>
38940
38941 * disk/raid.c (grub_raid_init): Handle/report errors set by
38942 grub_device_iterate().
38943 * disk/lvm.c (grub_lvm_init): Likewise.
38944
38945 2008-08-15 Bean <bean123ch@gmail.com>
38946
38947 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38948 and datehook.mod.
38949 (datetime_mod_SOURCES): New macro.
38950 (datetime_mod_CFLAGS): Likewise.
38951 (datetime_mod_LDFLAGS): Likewise.
38952 (date_mod_SOURCES): Likewise.
38953 (date_mod_CFLAGS): Likewise.
38954 (date_mod_LDFLAGS): Likewise.
38955 (datehook_mod_SOURCES): Likewise.
38956 (datehook_mod_CFLAGS): Likewise.
38957 (datehook_mod_LDFLAGS): Likewise.
38958
38959 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38960 and datehook.mod.
38961 (datetime_mod_SOURCES): New macro.
38962 (datetime_mod_CFLAGS): Likewise.
38963 (datetime_mod_LDFLAGS): Likewise.
38964 (date_mod_SOURCES): Likewise.
38965 (date_mod_CFLAGS): Likewise.
38966 (date_mod_LDFLAGS): Likewise.
38967 (datehook_mod_SOURCES): Likewise.
38968 (datehook_mod_CFLAGS): Likewise.
38969 (datehook_mod_LDFLAGS): Likewise.
38970
38971 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38972 and datehook.mod.
38973 (datetime_mod_SOURCES): New macro.
38974 (datetime_mod_CFLAGS): Likewise.
38975 (datetime_mod_LDFLAGS): Likewise.
38976 (date_mod_SOURCES): Likewise.
38977 (date_mod_CFLAGS): Likewise.
38978 (date_mod_LDFLAGS): Likewise.
38979 (datehook_mod_SOURCES): Likewise.
38980 (datehook_mod_CFLAGS): Likewise.
38981 (datehook_mod_LDFLAGS): Likewise.
38982
38983 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38984 and datehook.mod.
38985 (datetime_mod_SOURCES): New macro.
38986 (datetime_mod_CFLAGS): Likewise.
38987 (datetime_mod_LDFLAGS): Likewise.
38988 (date_mod_SOURCES): Likewise.
38989 (date_mod_CFLAGS): Likewise.
38990 (date_mod_LDFLAGS): Likewise.
38991 (datehook_mod_SOURCES): Likewise.
38992 (datehook_mod_CFLAGS): Likewise.
38993 (datehook_mod_LDFLAGS): Likewise.
38994
38995 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38996 and datehook.mod.
38997 (datetime_mod_SOURCES): New macro.
38998 (datetime_mod_CFLAGS): Likewise.
38999 (datetime_mod_LDFLAGS): Likewise.
39000 (date_mod_SOURCES): Likewise.
39001 (date_mod_CFLAGS): Likewise.
39002 (date_mod_LDFLAGS): Likewise.
39003 (datehook_mod_SOURCES): Likewise.
39004 (datehook_mod_CFLAGS): Likewise.
39005 (datehook_mod_LDFLAGS): Likewise.
39006
39007 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
39008
39009 * commands/date.c: New file.
39010
39011 * hook/datehook.c: Likewise.
39012
39013 * include/grub/lib/datetime.h: Likewise.
39014
39015 * include/grub/i386/cmos.h: Likewise.
39016
39017 * lib/datetime.c: Likewise.
39018
39019 * lib/i386/datetime.c: Likewise.
39020
39021 * lib/efi/datetime.c: Likewise.
39022
39023 2008-08-14 Robert Millan <rmh@aybabtu.com>
39024
39025 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
39026 (grub_mkelfimage_SOURCES): New variable.
39027 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
39028
39029 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
39030 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
39031 * conf/powerpc-ieee1275.rmk: Likewise.
39032 * conf/i386-ieee1275.rmk: Likewise.
39033
39034 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
39035 * kern/i386/coreboot/init.c: Likewise.
39036
39037 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
39038 with `<grub/cpu/kernel.h>'.
39039 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
39040 to ...
39041 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
39042 * kern/i386/coreboot/startup.S: Likewise.
39043
39044 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
39045 (GRUB_MOD_GAP): Remove.
39046 * include/grub/powerpc/kernel.h: New file.
39047 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
39048 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39049 * include/grub/i386/kernel.h: New file.
39050 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
39051 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
39052 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
39053
39054 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
39055 `grub-mkelfimage'.
39056 Use --directory when invoking grub_mkimage.
39057
39058 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
39059 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
39060 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
39061 and GRUB_KERNEL_CPU_PREFIX.
39062
39063 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
39064
39065 * include/grub/err.h (grub_err_printf): New function prototype.
39066 * util/misc.c (grub_err_printf): New function.
39067 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
39068 grub_printf.
39069 * kern/err.c (grub_print_error): Use grub_err_printf.
39070
39071 2008-08-13 Robert Millan <rmh@aybabtu.com>
39072
39073 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
39074
39075 2008-08-13 Robert Millan <rmh@aybabtu.com>
39076
39077 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
39078 boot entry.
39079
39080 2008-08-12 Robert Millan <rmh@aybabtu.com>
39081
39082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
39083 of the relocation code from here ...
39084 (grub_multiboot): ... to here.
39085 (forward_relocator, backward_relocator): Move from here ...
39086 * kern/i386/loader.S (grub_multiboot_forward_relocator)
39087 (grub_multiboot_backward_relocator): ... to here.
39088 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
39089 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
39090 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
39091 (grub_multiboot_forward_relocator_end)
39092 (grub_multiboot_backward_relocator)
39093 (grub_multiboot_backward_relocator_end): New variables.
39094
39095 2008-08-12 Bean <bean123ch@gmail.com>
39096
39097 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
39098
39099 2008-08-11 Robert Millan <rmh@aybabtu.com>
39100
39101 * kern/i386/linuxbios/startup.S: Move from here ...
39102 * kern/i386/coreboot/startup.S: ... to here.
39103
39104 * kern/i386/linuxbios/init.c: Move from here ...
39105 * kern/i386/coreboot/init.c: ... to here.
39106
39107 * kern/i386/linuxbios/table.c: Move from here ...
39108 * kern/i386/coreboot/mmap.c: ... to here.
39109
39110 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
39111
39112 2008-08-11 Robert Millan <rmh@aybabtu.com>
39113
39114 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
39115 errors. Leave it to the upper layer to handle them.
39116
39117 2008-08-09 Christian Franke <franke@computer.org>
39118
39119 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
39120 * conf/common.rmk: Install `grub-pe2elf' only if requested.
39121 Install `grub.d/10_windows' only on Cygwin.
39122 * configure.ac: Add subst of `target_os'.
39123 Check `target_os' also before setting TARGET_OBJ2ELF.
39124 Add `--enable-grub-pe2elf'.
39125
39126 2008-08-08 Robert Millan <rmh@aybabtu.com>
39127
39128 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39129 (grub_last_time): Change type to grub_uint64_t.
39130 (grub_disk_open): Migrate code from to using grub_get_time_ms().
39131 (grub_disk_close): Likewise.
39132
39133 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
39134 (run_menu): Migrate code from to using grub_get_time_ms().
39135
39136 * util/misc.c (grub_get_time_ms): New function.
39137
39138 2008-08-08 Marco Gerards <marco@gnu.org>
39139
39140 * disk/ata.c (grub_ata_regget): Change return type to
39141 `grub_uint8_t'.
39142 (grub_ata_regget2): Likewise.
39143 (grub_ata_wait_status): New function.
39144 (grub_ata_wait_busy): Removed function, updated all users to use
39145 `grub_ata_wait_status'.
39146 (grub_ata_wait_drq): Likewise.
39147 (grub_ata_cmd): New function.
39148 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
39149 error handling.
39150 (grub_ata_pio_write): Add error handling.
39151 (grub_atapi_identify): Likewise.
39152 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
39153 handling.
39154 (grub_ata_identify): Use `grub_ata_cmd' and improve error
39155 handling. Actually use the detected registers. Reorder the
39156 detection logic such that it is easier to read.
39157 (grub_ata_pciinit): Do not assign the same ID to each controller.
39158 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
39159 handling.
39160 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
39161
39162 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
39163
39164 2008-08-08 Marco Gerards <marco@gnu.org>
39165
39166 * NEWS: Update.
39167
39168 2008-08-07 Bean <bean123ch@gmail.com>
39169
39170 * include/grub/x86_64/pci.h: New file.
39171
39172 2008-08-07 Christian Franke <franke@computer.org>
39173
39174 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
39175 (TIMER2_GATE): Likewise.
39176 (grub_pit_wait): Add enable/disable of the timer2 gate
39177 bit of port 0x61. This fixes a possible infinite loop.
39178
39179 2008-08-07 Bean <bean123ch@gmail.com>
39180
39181 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
39182 kern/i386/tsc.c and kern/i386/pit.c.
39183
39184 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
39185 x86_64 platform.
39186
39187 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
39188 <grub/i386/tsc.h>.
39189
39190 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
39191
39192 2008-08-07 Bean <bean123ch@gmail.com>
39193
39194 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
39195
39196 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
39197
39198 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
39199 multiple inclusion. Add #include <grub/types.h>.
39200
39201 2008-08-06 Christian Franke <franke@computer.org>
39202
39203 * conf/common.rmk: Build and install `10_windows'.
39204 * util/grub.d/10_windows.in: New script.
39205
39206 2008-08-06 Pavel Roskin <proski@gnu.org>
39207
39208 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
39209
39210 2008-08-06 Robert Millan <rmh@aybabtu.com>
39211
39212 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
39213 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
39214
39215 2008-08-06 Bean <bean123ch@gmail.com>
39216
39217 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
39218 (grub_pxefs_fs_int): Remove dummy definition.
39219 (grub_pxefs_open): Use data->block_size to store the current block
39220 size setting.
39221 (grub_pxefs_read): Use block size stored in data->block_size. As the
39222 value of grub_pxe_blksize can be changed after the file is opened.
39223
39224 2008-08-06 Bean <bean123ch@gmail.com>
39225
39226 * fs/i386/pc/pxe.c (curr_file): new variable.
39227 (grub_pxefs_open): Simply the handling of pxe file system. Don't
39228 require the dummy internal file system anymore.
39229 (grub_pxefs_read): Removed.
39230 (grub_pxefs_close): Likewise.
39231 (grub_pxefs_fs_int): Likewise.
39232 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
39233 connection when we switch file.
39234 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
39235
39236 2008-08-06 Robert Millan <rmh@aybabtu.com>
39237
39238 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
39239 `halt.mod'.
39240 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
39241 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
39242
39243 * kern/i386/halt.c: New file.
39244 * kern/i386/reboot.c: Likewise.
39245 * include/grub/i386/reboot.h: Likewise.
39246 * include/grub/i386/halt.h: Likewise.
39247
39248 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
39249 Include `<grub/cpu/halt.h>'.
39250 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
39251 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
39252
39253 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
39254 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
39255 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
39256 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
39257 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
39258 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
39259 from here ...
39260 * include/grub/i386/at_keyboard.h: ... to here.
39261
39262 2008-08-05 Robert Millan <rmh@aybabtu.com>
39263
39264 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
39265 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
39266 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
39267 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39268 `kern/generic/millisleep.c'.
39269
39270 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
39271 instead of grub_get_rtc().
39272 (grub_tsc_init): Initialize `tsc_boot_time'.
39273
39274 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
39275 (grub_machine_init): Use grub_tsc_init() rather than
39276 installing an RTC-based handler via grub_install_get_time_ms().
39277
39278 * kern/i386/pit.c: New file.
39279 * include/grub/i386/pit.h: Likewise.
39280
39281 2008-08-05 Bean <bean123ch@gmail.com>
39282
39283 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
39284
39285 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
39286 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
39287 (pxe_mod_SOURCES): New macro.
39288 (pxe_mod_CFLAGS): Likewise.
39289 (pxe_mod_LDFLAGS): Likewise.
39290 (pxecmd_mod_SOURCES): Likewise.
39291 (pxecmd_mod_CFLAGS): Likewise.
39292 (pxecmd_mod_LDFLAGS): Likewise.
39293
39294 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
39295 (grub_pxe_call): Likewise.
39296
39297 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
39298
39299 * commands/i386/pc/pxecmd.c: New file.
39300
39301 * fs/i386/pc/pxe.c: Likewise.
39302
39303 * include/grub/i386/pc/pxe.h: Likewise.
39304
39305 2008-08-05 Bean <bean123ch@gmail.com>
39306
39307 * util/console.c (grub_console_cur_color): New variable.
39308 (grub_console_standard_color): Likewise.
39309 (grub_console_normal_color): Likewise.
39310 (grub_console_highlight_color): Likewise.
39311 (color_map): Likewise.
39312 (use_color): Likewise.
39313 (NUM_COLORS): New macro.
39314 (grub_ncurses_setcolorstate): Handle color properly.
39315 (grub_ncurses_setcolor): Don't change color here, just remember the
39316 settings, color will be set in grub_ncurses_setcolorstate.
39317 (grub_ncurses_getcolor): New function.
39318 (grub_ncurses_init): Initialize color pairs.
39319 (grub_ncurses_term): New member grub_ncurses_getcolor.
39320
39321 2008-08-05 Colin D Bennett <colin@gibibit.com>
39322
39323 High resolution timer support. Implemented for x86 CPUs using TSC.
39324 Extracted generic grub_millisleep() so it's linked in only as needed.
39325 This requires a Pentium compatible CPU; if the RDTSC instruction is
39326 not supported, then it falls back on the generic grub_get_time_ms()
39327 implementation that uses the machine's RTC.
39328
39329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
39330 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
39331 `kern/generic/millisleep.c'.
39332
39333 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39334 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39335
39336 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39337 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39338
39339 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39340
39341 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39342 `kern/generic/millisleep.c'.
39343
39344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39345
39346 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39347
39348 * kern/generic/rtc_get_time_ms.c: New file.
39349
39350 * kern/generic/millisleep.c: New file.
39351
39352 * kern/misc.c: Don't include
39353 <kern/time.h> anymore.
39354 (grub_millisleep_generic): Removed.
39355
39356 * commands/sleep.c (grub_interruptible_millisleep): Uses
39357 grub_get_time_ms() instead of grub_get_rtc().
39358
39359 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39360 function.
39361 (grub_cpu_is_cpuid_supported): New inline function.
39362 (grub_cpu_is_tsc_supported): New inline function.
39363 (grub_tsc_init): New function prototype.
39364 (grub_tsc_get_time_ms): New function prototype.
39365
39366 * kern/i386/tsc.c (grub_get_time_ms): New file.
39367
39368 * include/grub/time.h: Include <grub/types.h.
39369 (grub_millisleep_generic): Removed.
39370 (grub_get_time_ms): New prototype.
39371 (grub_install_get_time_ms): New prototype.
39372 (grub_rtc_get_time_ms): New prototype.
39373
39374 * kern/time.c (grub_get_time_ms): New function.
39375 (grub_install_get_time_ms): New function.
39376
39377 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39378 <grub/time.h> anymore.
39379 (grub_millisleep): Removed.
39380 (grub_machine_init): Call grub_tsc_init.
39381
39382 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39383 get_time_ms() implementation.
39384
39385 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39386 (ieee1275_get_time_ms): New function.
39387 (grub_machine_init): Install get_time_ms() implementation.
39388
39389 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39390 (grub_machine_init): Call grub_tsc_init().
39391 (grub_millisleep): Removed.
39392
39393 * kern/ieee1275/init.c (grub_millisleep): Removed.
39394 (grub_machine_init): Install ieee1275_get_time_ms()
39395 implementation.
39396 (ieee1275_get_time_ms): New function.
39397 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39398 real work.
39399
39400 2008-08-05 Marco Gerards <marco@gnu.org>
39401
39402 * disk/ata.c: Include <grub/pci.h>.
39403 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39404 (grub_ata_initialize): Rewritten.
39405 (grub_ata_device_initialize): New function.
39406
39407 2008-08-04 Pavel Roskin <proski@gnu.org>
39408
39409 * kern/main.c: Include grub/mm.h.
39410
39411 2008-08-04 Robert Millan <rmh@aybabtu.com>
39412
39413 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39414 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39415 corruption problem).
39416
39417 2008-08-04 Robert Millan <rmh@aybabtu.com>
39418
39419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39420 warnings introduced in my last commit.
39421
39422 2008-08-03 Robert Millan <rmh@aybabtu.com>
39423
39424 Make PCI available on all i386 architectures.
39425
39426 * include/grub/i386/pc/pci.h: Move from here ...
39427 * include/grub/i386/pci.h: ... to here.
39428
39429 * include/grub/i386/pc/pci.h: Remove.
39430 * include/grub/i386/efi/pci.h: Remove.
39431 * include/grub/x86_64/efi/pci.h: Remove.
39432
39433 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39434 `<grub/cpu/pci.h>'.
39435
39436 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39437 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39438 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39439
39440 * conf/i386-ieee1275.rmk: Likewise.
39441
39442 2008-08-03 Robert Millan <rmh@aybabtu.com>
39443
39444 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39445 (grub_console_setcursor): Make it possible to set cursor off.
39446
39447 2008-08-03 Robert Millan <rmh@aybabtu.com>
39448
39449 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39450 of modules instead of assuming which platform provides what.
39451 * util/update-grub.in: Likewise.
39452
39453 2008-08-03 Robert Millan <rmh@aybabtu.com>
39454
39455 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39456 instead of `grub_install_dos_part' to determine whether a drive needs
39457 to be prepended to prefix (`grub_install_dos_part' is not reliable,
39458 because it can be overridden when loading GRUB via Multiboot).
39459
39460 2008-08-02 Robert Millan <rmh@aybabtu.com>
39461
39462 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39463
39464 2008-08-02 Robert Millan <rmh@aybabtu.com>
39465
39466 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39467 of informational grub_dprintf() calls.
39468
39469 2008-08-02 Robert Millan <rmh@aybabtu.com>
39470
39471 * disk/memdisk.c (memdisk_size): Don't initialize.
39472 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39473
39474 * include/grub/i386/pc/kernel.h
39475 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39476 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39477 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39478 (grub_arch_memdisk_size): Remove.
39479
39480 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39481 field (was only used to transfer a constant). Add `type' field to
39482 support multiple module types.
39483 (grub_module_iterate): New function.
39484
39485 * kern/device.c (grub_device_open): Do not hide error messages
39486 when grub_disk_open() fails. Use grub_print_error() instead.
39487
39488 * kern/i386/pc/init.c (grub_arch_modules_addr)
39489 (grub_arch_memdisk_size): Remove functions.
39490 (grub_arch_modules_addr): Return the module address in high memory
39491 (now that it isn't copied anymore).
39492
39493 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39494 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39495 decompression routine (grub_total_module_size already includes that
39496 now). Don't copy modules back to low memory.
39497
39498 * kern/main.c: Include `<grub/mm.h>'.
39499 (grub_load_modules): Split out (and use) ...
39500 (grub_module_iterate): ... this function, which iterates through
39501 module objects and runs a hook.
39502 Comment out grub_mm_init_region() call, as it would cause non-ELF
39503 modules to be overwritten.
39504
39505 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39506 the memdisk image in its own region, make it part of the module list.
39507 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39508 (main): Parse --memdisk|-m option, and pass user-provided path as
39509 parameter to generate_image().
39510 (add_segments): Pass `memdisk_path' down to load_modules().
39511 (load_modules): Embed memdisk image in module section when requested.
39512 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39513 `header.type' instead of `header.offset'.
39514
39515 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39516 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39517 (memdisk_mod_LDFLAGS): New variables.
39518 * conf/i386-coreboot.rmk: Likewise.
39519 * conf/i386-ieee1275.rmk: Likewise.
39520
39521 2008-08-02 Robert Millan <rmh@aybabtu.com>
39522
39523 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39524 (backward_relocator): New variables. Used to allocate and relocate
39525 the payload, respectively.
39526 (grub_multiboot_load_elf32): Load into heap instead of requested
39527 address, install the appropriate relocator code in each bound of
39528 the payload, and set the entry point such that
39529 grub_multiboot_real_boot() will jump to one of them.
39530
39531 * kern/i386/loader.S (grub_multiboot_payload_size)
39532 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39533 (grub_multiboot_payload_entry_offset): New variables.
39534 (grub_multiboot_real_boot): Set cpu context to what the relocator
39535 expects, and jump to the relocator instead of the payload.
39536
39537 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39538 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39539 (grub_multiboot_payload_entry_offset): Export.
39540
39541 2008-08-01 Bean <bean123ch@gmail.com>
39542
39543 * normal/menu_entry.c (editor_getline): Don't return the original
39544 string as result, as it will be released by lexer once it has done
39545 using it.
39546
39547 2008-08-01 Robert Millan <rmh@aybabtu.com>
39548
39549 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39550 within menuentries, not before them.
39551 util/grub.d/10_hurd.in: Likewise.
39552
39553 2008-08-01 Bean <bean123ch@gmail.com>
39554
39555 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39556 (bufio_mod_SOURCES): New macro.
39557 (bufio_mod_CFLAGS): Likewise.
39558 (bufio_mod_LDFLAGS): Likewise.
39559
39560 * include/grub/bufio.h: New file.
39561
39562 * io/bufio.c: Likewise.
39563
39564 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39565 (grub_video_reader_png): Use grub_buffile_open to open file.
39566
39567 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39568 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39569
39570 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39571 (grub_video_reader_tga): Use grub_buffile_open to open file.
39572
39573 * font/manager.c: Include <grub/bufio.h>.
39574 (add_font): Use grub_buffile_open to open file.
39575
39576 2008-07-31 Robert Millan <rmh@aybabtu.com>
39577
39578 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39579 ELF segments, use a macro for arbitrarily accessing any of them instead
39580 of preparing a pointer that allows access to one at a time.
39581 (grub_multiboot_load_elf64): Likewise.
39582
39583 2008-07-31 Bean <bean123ch@gmail.com>
39584
39585 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39586 GRUB_KERNEL_MACHINE_DATA_END.
39587
39588 2008-07-30 Robert Millan <rmh@aybabtu.com>
39589
39590 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39591 Increase from 0x50 to 0x60.
39592 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39593 use UUIDs to identify the root drive for them. If that's not
39594 possible, abort.
39595 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39596 check, for cross-disk installs.
39597
39598 2008-07-30 Robert Millan <rmh@aybabtu.com>
39599
39600 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39601 is non-empty, use it to set the `prefix' environment variable instead
39602 of the usual approach.
39603 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39604 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39605 environment variable instead of dummy make_install_device().
39606
39607 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39608 (start): Insert a data section, with `grub_prefix' variable.
39609 * kern/i386/linuxbios/startup.S: Likewise.
39610
39611 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39612 New variable reference.
39613 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39614 New macro. Defines offset of `grub_prefix' within startup.S (relative
39615 to `start').
39616 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39617 section within startup.S (relative to `start').
39618 * include/grub/i386/coreboot/kernel.h: Likewise.
39619
39620 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39621 Overwrite grub_prefix with its contents, at the beginning of the
39622 first segment.
39623 (main): Understand -p|--prefix.
39624
39625 2008-07-30 Robert Millan <rmh@aybabtu.com>
39626
39627 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39628
39629 2008-07-30 Robert Millan <rmh@aybabtu.com>
39630
39631 * term/i386/pc/vga_text.c (grub_console_cls): Use
39632 grub_console_gotoxy() to go back to beginning of the screen.
39633 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39634
39635 2008-07-29 Christian Franke <franke@computer.org>
39636
39637 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39638 Add conversion of emulated mount points on Cygwin.
39639
39640 2008-07-29 Christian Franke <franke@computer.org>
39641
39642 * util/update-grub.in: Add a check for admin
39643 group on Cygwin.
39644 Remove old `grub.cfg.new' before creation.
39645 Add `-f' to `mv' to handle the different filesystem
39646 semantics of Windows.
39647
39648 2008-07-29 Bean <bean123ch@gmail.com>
39649
39650 * normal/main.c (get_line): Fix buffer overflow bug.
39651
39652 2008-07-28 Robert Millan <rmh@aybabtu.com>
39653
39654 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39655 (struct grub_apple_header): New struct. Describes the layout of
39656 the partmap header.
39657 (apple_partition_map_iterate): Check the header magic as well as the
39658 partition magic (which was already being checked).
39659
39660 2008-07-28 Pavel Roskin <proski@gnu.org>
39661
39662 * genmk.rb: Add a warning to the beginning of the output that
39663 it's a generated file and should not be edited.
39664
39665 2008-07-28 Robert Millan <rmh@aybabtu.com>
39666
39667 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39668 with the same number are found, just use issue a warning with
39669 grub_dprintf(), as this error has been reported to be non-fatal.
39670
39671 2008-07-27 Robert Millan <rmh@aybabtu.com>
39672
39673 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39674 information.
39675
39676 2008-07-27 Bean <bean123ch@gmail.com>
39677
39678 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39679 (grub_fat_find_dir): Ignore case when comparing filename.
39680
39681 2008-07-27 Bean <bean123ch@gmail.com>
39682
39683 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39684 smallino, as it's more descriptive, and i8count can be confused with
39685 the other field count.
39686 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39687 inode type.
39688
39689 2008-07-27 Bean <bean123ch@gmail.com>
39690
39691 * commands/crc.c: New file.
39692
39693 * lib/crc.c: Likewise.
39694
39695 * include/grub/lib/crc.h: Likewise.
39696
39697 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39698
39699 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39700 (hexdump): Move this function to ...
39701
39702 * lib/hexdump.c: ... here.
39703
39704 * include/grub/hexdump.h: Renamed to ...
39705
39706 * include/grub/lib/hexdump.h: ... this.
39707
39708 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39709
39710 * util/grub-editenv.c: Likewise.
39711
39712 * include/envblk.h: Renamed to ...
39713
39714 * include/lib/envblk.h: ... this.
39715
39716 * util/envblk.c: Renamed to ...
39717
39718 * lib/envblk.c: ... this.
39719
39720 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39721 lib/hexdump.c.
39722 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39723 (pkglib_MODULES): Add crc.mod.
39724 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39725 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39726 (crc_mod_SOURCES): New macro.
39727 (crc_mod_CFLAGS): Likewise.
39728 (crc_mod_LDFLAGS): Likewise.
39729
39730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39731
39732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39733
39734 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39735
39736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39737
39738 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39739
39740 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
39741
39742 * commands/help.c: Include <grub/term.h>.
39743 (TERM_WIDTH): Removed. Updated all users.
39744
39745 2008-07-27 Pavel Roskin <proski@gnu.org>
39746
39747 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39748 spurious warnings about a comment within a comment.
39749
39750 2008-07-25 Robert Millan <rmh@aybabtu.com>
39751
39752 * util/getroot.c (find_root_device): Skip devices that match
39753 /dev/dm-[0-9]. This lets the real device be found for any type of
39754 abstraction (LVM, EVMS, RAID..).
39755 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39756 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39757 device is found first, find_root_device() will now skip it.
39758
39759 2008-07-24 Pavel Roskin <proski@gnu.org>
39760
39761 * include/grub/types.h: Use __builtin_bswap32() and
39762 __builtin_bswap64() with gcc 4.3 and newer.
39763
39764 2008-07-24 Christian Franke <franke@computer.org>
39765
39766 * util/i386/pc/grub-install.in: If `--debug' is specified,
39767 pass `--verbose' to grub-setup.
39768 Abort script if make_system_path_relative_to_its_root() fails.
39769
39770 2008-07-24 Bean <bean123ch@gmail.com>
39771
39772 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39773 variable `target_platform' should be `platform'.
39774
39775 2008-07-24 Bean <bean123ch@gmail.com>
39776
39777 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
39778 (grub_png_init_fixed_block): New function.
39779 (grub_png_decode_image_data): Handle fixed huffman code compression.
39780
39781 2008-07-24 Bean <bean123ch@gmail.com>
39782
39783 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39784 (grub_pe2elf_SOURCES): New macro.
39785 (CLEANFILES): Add grub-pe2elf.
39786
39787 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39788 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39789 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39790 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39791 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39792 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39793 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39794 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39795 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39796 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39797 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39798 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39799 (GRUB_PE32_DT_FUNCTION): Likewise.
39800 (GRUB_PE32_REL_I386_DIR32): Likewise.
39801 (GRUB_PE32_REL_I386_REL32): Likewise.
39802 (grub_pe32_symbol): New structure.
39803 (grub_pe32_reloc): Likewise.
39804
39805 * util/grub-pe2elf.c: New file.
39806
39807 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39808 start symbol in non pc platform.
39809
39810 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39811
39812 The following patches are from Christian Franke.
39813
39814 * include/grub/dl.h: Remove .previous, gas supports this only
39815 for ELF format.
39816
39817 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39818 Remove .type, gas supports this only for ELF format.
39819
39820 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39821 nullbytes in symbol table. This fixes an infinite loop if table is
39822 zero filled.
39823
39824 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39825 TARGET_IMG_LDFLAGS and EXEEXT.
39826
39827 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39828 TARGET_IMG_LDFLAGS_AC.
39829 (grub_CHECK_STACK_ARG_PROBE): New function.
39830
39831 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39832
39833 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39834
39835 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39836 to set TARGET_IMG_LD* accordingly.
39837 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39838 Add call to grub_CHECK_STACK_ARG_PROBE.
39839 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39840
39841 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39842
39843 * genmk.rb: Add EXEEXT to CLEANFILES.
39844
39845 2008-07-23 Robert Millan <rmh@aybabtu.com>
39846
39847 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39848 define the codes for arrows and lines used for the menu).
39849 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39850 as well.
39851
39852 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39853 fonts, because the latter are too slow.
39854
39855 2008-07-21 Bean <bean123ch@gmail.com>
39856
39857 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39858 a20. Run keyboard test last, as it will cause macbook to halt.
39859
39860 2008-07-18 Pavel Roskin <proski@gnu.org>
39861
39862 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39863 load foreign architecture modules correctly anyway. Keep
39864 support for loading host architecture modules, whether we
39865 compile them or not.
39866
39867 2008-07-17 Pavel Roskin <proski@gnu.org>
39868
39869 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39870 change target_cpu. The compiler default can mismatch target_cpu
39871 in any case.
39872
39873 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39874 * kern/efi/efi.c: Likewise.
39875
39876 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39877 target compiler is functional.
39878 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39879 are set up.
39880
39881 * configure.ac: Default to efi platform for x86_64-apple. Allow
39882 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39883 adjustments from the rest, only do them if target is not
39884 explicitly given. Merge other adjustments with the final sanity
39885 check. Remove an extraneous check for supported CPU. Be
39886 specific which CPU and which platform is not supported.
39887
39888 * configure.ac: Default to pc platform for x86_64.
39889
39890 2008-07-17 Robert Millan <rmh@aybabtu.com>
39891
39892 Partial LinuxBIOS -> Coreboot rename.
39893
39894 * conf/i386-linuxbios.rmk: Renamed to ...
39895 * conf/i386-coreboot.rmk: ... this.
39896 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39897 * configure.ac: Accept "coreboot" as input platform (but maintain
39898 compatibility with "linuxbios").
39899 * include/grub/i386/linuxbios: Renamed to ...
39900 * include/grub/i386/coreboot: ... this.
39901
39902 2008-07-17 Bean <bean123ch@gmail.com>
39903
39904 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
39905 (appleldr_mod_SOURCE): New variable.
39906 (appleldr_mod_CFLAGS): Likewise.
39907 (appleldr_mod_LDFLAGS): Likewise.
39908 (pci_mod_SOURCES): Likewise.
39909 (pci_mod_CFLAGS): Likewise.
39910 (pci_mod_LDFLAGS): Likewise.
39911 (lspci_mod_SOURCES): Likewise.
39912 (lspci_mod_CFLAGS): Likewise.
39913 (lspci_mod_LDFLAGS): Likewise.
39914
39915 * conf/x86_64-efi.rmk: New file.
39916
39917 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39918 macro.
39919 (grub_efidisk_write): Likewise.
39920
39921 * include/efi/api.h (efi_call_0): New macro.
39922 (efi_call_1): Likewise.
39923 (efi_call_2): Likewise.
39924 (efi_call_3): Likewise.
39925 (efi_call_4): Likewise.
39926 (efi_call_5): Likewise.
39927 (efi_call_6): Likewise.
39928
39929 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39930 grub_rescue_cmd_chainloader.
39931
39932 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39933 (grub_pe32_optional_header): Change some fields based on i386 or
39934 x86_64 platform.
39935 (GRUB_PE32_PE32_MAGIC): Likewise.
39936
39937 * include/grub/efi/uga_draw.h: New file.
39938
39939 * include/grub/elf.h (STN_ABS): New constant.
39940 (R_X86_64_NONE): Relocation constant for x86_64.
39941 (R_X86_64_64): Likewise.
39942 (R_X86_64_PC32): Likewise.
39943 (R_X86_64_GOT32): Likewise.
39944 (R_X86_64_PLT32): Likewise.
39945 (R_X86_64_COPY): Likewise.
39946 (R_X86_64_GLOB_DAT): Likewise.
39947 (R_X86_64_JUMP_SLOT): Likewise.
39948 (R_X86_64_RELATIVE): Likewise.
39949 (R_X86_64_GOTPCREL): Likewise.
39950 (R_X86_64_32): Likewise.
39951 (R_X86_64_32S): Likewise.
39952 (R_X86_64_16): Likewise.
39953 (R_X86_64_PC16): Likewise.
39954 (R_X86_64_8): Likewise.
39955 (R_X86_64_PC8): Likewise.
39956
39957 * include/grub/i386/efi/pci.h: New file.
39958
39959 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39960 Change it value based on platform.
39961 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39962 (GRUB_E820_RAM): Likewise.
39963 (GRUB_E820_RESERVED): Likewise.
39964 (GRUB_E820_ACPI): Likewise.
39965 (GRUB_E820_NVS): Likewise.
39966 (GRUB_E820_EXEC_CODE): Likewise.
39967 (GRUB_E820_MAX_ENTRY): Likewise.
39968 (grub_e820_mmap): New structure.
39969 (linux_kernel_header): Change the efi field according to different
39970 kernel version, also field from linux_kernel_header.
39971
39972 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39973
39974 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39975 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39976 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39977 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39978 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39979 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39980 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39981 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39982 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39983 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39984
39985 * include/grub/x86_64/efi/kernel.h: New file.
39986
39987 * include/grub/x86_64/efi/loader.h: Likewise.
39988
39989 * include/grub/x86_64/efi/machine.h: Likewise.
39990
39991 * include/grub/x86_64/efi/pci.h: Likewise.
39992
39993 * include/grub/x86_64/efi/time.h: Likewise.
39994
39995 * include/grub/x86_64/linux.h: Likewise.
39996
39997 * include/grub/x86_64/setjmp.h: Likewise.
39998
39999 * include/grub/x86_64/time.h: Likewise.
40000
40001 * include/grub/x86_64/types.h: Likewise.
40002
40003 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
40004 GRUB_TARGET_SIZEOF_VOID_P.
40005
40006 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
40007 (grub_efi_locate_handle): Likewise.
40008 (grub_efi_open_protocol): Likewise.
40009 (grub_efi_set_text_mode): Likewise.
40010 (grub_efi_stall): Likewise.
40011 (grub_exit): Likewise.
40012 (grub_reboot): Likewise.
40013 (grub_halt): Likewise.
40014 (grub_efi_exit_boot_services): Likewise.
40015 (grub_get_rtc): Likewise.
40016
40017 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
40018 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
40019 (grub_efi_allocate_pages): Wrap efi calls.
40020 (grub_efi_free_pages): Wrap efi calls.
40021 (grub_efi_get_memory_map): Wrap efi calls.
40022
40023 * kern/x86_64/dl.c: New file.
40024
40025 * kern/x86_64/efi/callwrap.S: Likewise.
40026
40027 * kern/x86_64/efi/startup.S: Likewise.
40028
40029 * loader/efi/appleloader.c: Likewise.
40030
40031 * loader/efi/chainloader.c (cmdline): New variable.
40032 (grub_chainloader_unload): Wrap efi calls.
40033 (grub_chainloader_boot): Likewise.
40034 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
40035 command line.
40036
40037 * loader/efi/chainloader_normal.c (chainloader_command):
40038 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
40039 command line.
40040
40041 * loader/i386/efi/linux.c (allocate_pages): Change allocation
40042 method.
40043 (grub_e820_add_region): New function.
40044 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
40045 booting.
40046 (grub_find_video_card): New function.
40047 (grub_linux_setup_video): New function.
40048 (grub_rescue_cmd_linux): Probe for video information.
40049
40050 * normal/x86_64/setjmp.S: New file.
40051
40052 * term/efi/console.c (map_char): New function.
40053 (grub_console_putchar): Map unicode char.
40054 (grub_console_checkkey): Wrap efi calls.
40055 (grub_console_getkey): Likewise.
40056 (grub_console_getwh): Likewise.
40057 (grub_console_gotoxy): Likewise.
40058 (grub_console_cls): Likewise.
40059 (grub_console_setcolorstate): Likewise.
40060 (grub_console_setcursor): Likewise.
40061
40062 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
40063
40064 2008-07-16 Pavel Roskin <proski@gnu.org>
40065
40066 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
40067 format strings.
40068
40069 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
40070 pointer, not an integer. This fixes a warning and prevents
40071 precision loss on 64-bit systems.
40072 (relocate_addresses): Remove unneeded cast.
40073
40074 2008-07-15 Pavel Roskin <proski@gnu.org>
40075
40076 * kern/i386/ieee1275/init.c: Include grub/cache.h.
40077
40078 * term/ieee1275/ofconsole.c: Disable code unused on i386.
40079
40080 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
40081 Fix comparison between signed and unsigned.
40082
40083 * include/grub/i386/ieee1275/console.h: Declare
40084 grub_console_init() and grub_console_fini().
40085
40086 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
40087 It's empty and unused.
40088
40089 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
40090 beginning to avoid warnings with some compilers.
40091
40092 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
40093 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
40094
40095 2008-07-14 Pavel Roskin <proski@gnu.org>
40096
40097 * kern/env.c (grub_register_variable_hook): Don't copy empty
40098 string, it leaks memory. Pass "" to grub_env_set(), it should
40099 handle constant strings.
40100
40101 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
40102 * commands/cmp.c (grub_cmd_cmp): Likewise.
40103 * kern/dl.c (grub_dl_flush_cache): Likewise.
40104 (grub_dl_load_core): Likewise.
40105 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
40106 (grub_elf64_load_phdrs): Likewise.
40107
40108 2008-07-13 Pavel Roskin <proski@gnu.org>
40109
40110 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
40111 between signed and unsigned.
40112 (LzmaEnc_Finish): Fix warning about an unused parameter.
40113
40114 2008-07-13 Bean <bean123ch@gmail.com>
40115
40116 * Makefile.in (enable_lzo): New rule.
40117
40118 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
40119
40120 * configure.ac (ENABLE_LZO): New option --enable-lzo.
40121
40122 * boot/i386/pc/lnxboot.S: #include <config.h>.
40123
40124 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
40125 its value according to the compression algorithm used, lzo or lzma.
40126
40127 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
40128 compression algorithm according to configure macro.
40129
40130 * kern/i386/pc/startup.S (codestart): Likewise.
40131
40132 * kern/i386/pc/lzma_decode.S: New file.
40133
40134 * include/grub/lib/LzFind.h: Likewise.
40135
40136 * include/grub/lib/LzHash.h: Likewise.
40137
40138 * include/grub/lib/LzmaDec.h: Likewise.
40139
40140 * include/grub/lib/LzmaEnc.h: Likewise.
40141
40142 * include/grub/lib/LzmaTypes.h: Likewise.
40143
40144 * lib/LzFind.c: Likewise.
40145
40146 * lib/LzmaDec.c: Likewise.
40147
40148 * lib/LzmaEnc.c: Likewise.
40149
40150 2008-07-13 Bean <bean123ch@gmail.com>
40151
40152 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
40153 (grub_ext4_extent_header): New structure.
40154 (grub_ext4_extent): Likewise.
40155 (grub_ext4_extent_idx): Likewise.
40156 (grub_ext4_find_leaf): New function.
40157 (grub_ext2_read_block): Handle extents.
40158
40159 2008-07-12 Robert Millan <rmh@aybabtu.com>
40160
40161 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
40162
40163 2008-07-11 Robert Millan <rmh@aybabtu.com>
40164
40165 * util/grub.d/40_custom.in: New file. Example on how to add custom
40166 entries to /etc/grub.d.
40167 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
40168 40_custom (implicitly, by merging all the grub.d rules).
40169
40170 2008-07-11 Pavel Roskin <proski@gnu.org>
40171
40172 * commands/read.c (grub_getline): Fix invalid memory access.
40173 Don't add newline to the variable value.
40174
40175 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
40176 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
40177 (serial_hw_get_port): Check validity of the port number.
40178 (grub_cmd_serial): Check return value of serial_hw_get_port().
40179
40180 2008-07-07 Pavel Roskin <proski@gnu.org>
40181
40182 * boot/i386/pc/diskboot.S (notification_string): Replace
40183 "Loading kernel" with just "loading". This is shorter, less
40184 confusing and saves a few bytes for possible future changes.
40185
40186 2008-07-05 Pavel Roskin <proski@gnu.org>
40187
40188 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
40189 size for ATAPI devices, they are undefined. Output sector
40190 number in decimal form.
40191
40192 * disk/ata.c: Use named constants for status bits.
40193
40194 2008-07-04 Pavel Roskin <proski@gnu.org>
40195
40196 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
40197 grub_addr_t before casting it to the void pointer to fix a
40198 warning. Non-addressable regions are discarded earlier.
40199 (grub_arch_modules_addr): Cast _end to grub_addr_t.
40200 * kern/i386/linuxbios/table.c: Include grub/misc.h.
40201 (check_signature): Don't shadow table_header.
40202 (grub_linuxbios_table_iterate): Cast numeric constants to
40203 grub_linuxbios_table_header_t.
40204 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
40205 grub_stop().
40206
40207 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
40208 prevent warnings.
40209
40210 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
40211 pointer, which can cause warnings. Support 64-bit addresses.
40212
40213 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
40214 of sizeof(long). This fixes PowerPC image generation on x86_64.
40215
40216 2008-07-04 Robert Millan <rmh@aybabtu.com>
40217
40218 This fixes a performance issue when pc & gpt partmap iterators
40219 didn't abort iteration even after our hook found what it was
40220 looking for (often causing expensive probes of non-existent drives).
40221
40222 Some callers relied on previous buggy behaviour, since they would
40223 raise an error when their own hooks caused early abortion of its
40224 iteration.
40225
40226 * kern/device.c (grub_device_open): Improve error message.
40227 * disk/lvm.c (grub_lvm_open): Likewise.
40228 * disk/raid.c (grub_raid_open): Likewise.
40229
40230 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
40231 when hook requests it, independently of grub_errno.
40232 (pc_partition_map_probe): Do not fail when find_func() caused
40233 early abortion of pc_partition_map_iterate().
40234
40235 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
40236 when hook requests it, independently of grub_errno.
40237 (gpt_partition_map_probe): Do not fail when find_func() caused
40238 early abortion of gpt_partition_map_iterate().
40239
40240 * kern/partition.c (grub_partition_iterate): Abort parent iteration
40241 when hook requests it, independently of grub_errno. Do not fail when
40242 part_map_iterate_hook() caused early abortion of p->iterate().
40243
40244 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
40245 when grub_partition_iterate() returned with non-zero.
40246
40247 2008-07-03 Pavel Roskin <proski@gnu.org>
40248
40249 * disk/ata.c (grub_ata_pio_write): Check status before writing,
40250 like we do in grub_ata_pio_read().
40251 (grub_ata_readwrite): Always write individual sectors. Fix the
40252 sector count for the remainder.
40253 (grub_ata_write): Enable writing to ATA devices. Correctly
40254 report error for ATAPI devices.
40255
40256 2008-07-02 Pavel Roskin <proski@gnu.org>
40257
40258 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
40259 warning.
40260
40261 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
40262 for every read sector, we already increment it for the whole
40263 batch. This fixes reading more than 256 sectors at once.
40264
40265 * util/grub-editenv.c (cmd_info): Cast argument to long
40266 explicitly. ptrdiff_t reduces to int on i386.
40267
40268 * util/grub-editenv.c (main): Be specific which parameter is
40269 missing.
40270
40271 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
40272 (memdisk): Make memdisk_orig_addr a pointer.
40273
40274 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
40275 for file offsets, use grub_off_t instead. Fix printf format
40276 warnings.
40277
40278 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
40279 there. Real unexpected warnings should not drown in the noise
40280 about known problems.
40281
40282 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
40283 grub_disk_addr_t for memory addresses.
40284
40285 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
40286 explicitly to fix a warning.
40287
40288 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
40289
40290 * Makefile.in (MODULE_LDFLAGS): New variable.
40291 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
40292 the linker accepts --build-id=none.
40293 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
40294 MODULE_LDFLAGS.
40295 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
40296
40297 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
40298 those in Linux XFS code. Provide a way to access 64-bit parent
40299 inode.
40300 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
40301 the end of struct grub_xfs_dir_header.
40302
40303 2008-07-02 Bean <bean123ch@gmail.com>
40304
40305 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
40306 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40307 and GRUB_IEEE1275_FLAG_NO_ANSI.
40308
40309 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
40310 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
40311 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
40312
40313 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
40314 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
40315
40316 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
40317 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
40318
40319 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
40320 esc sequence on non ANSI terminal.
40321 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
40322
40323 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
40324 beginning of file.
40325
40326 2008-07-02 Bean <bean123ch@gmail.com>
40327
40328 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
40329 (grub_editenv_SOURCES): New variable.
40330 (pkglib_MODULES): Add loadenv.mod.
40331 (loadenv_mod_SOURCES): New variable.
40332 (loadenv_mod_CFLAGS): Likewise.
40333 (loadenv_mod_LDFLAGS): Likewise.
40334
40335 * include/grub/envblk.h: New file.
40336
40337 * util/envblk.c: New file.
40338
40339 * util/grub-editenv.c: New file.
40340
40341 * commands/loadenv.c: New file.
40342
40343 2008-07-01 Pavel Roskin <proski@gnu.org>
40344
40345 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40346 not unsigned char. This fixes warnings and is consistent with
40347 other tags.
40348
40349 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40350
40351 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40352
40353 * term/tparm.c (analyze): Always set *popcount.
40354
40355 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40356 cast to fix a warning.
40357
40358 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40359 cast to suppress a warning.
40360
40361 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40362 grub_fshelp_read_file() expects.
40363
40364 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40365 write uuid as a 32-bit value in CPU byte order, so declare and
40366 use it as such.
40367
40368 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40369 long if the format specifier expects it.
40370 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40371 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40372 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40373 long to fix a warning.
40374 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40375 grub_dprintf() arguments to fix warnings.
40376
40377 2008-06-30 Pavel Roskin <proski@gnu.org>
40378
40379 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40380 install_bsd_part immediately before core.img is embedded or
40381 modified on disk. This fixes core.img verification if core.img
40382 cannot be embedded.
40383
40384 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40385 core_path to calculate the blocklist.
40386 Patch from Javier Martín <lordhabbit@gmail.com>
40387
40388 2008-06-29 Robert Millan <rmh@aybabtu.com>
40389
40390 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40391 block to disk block.
40392 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40393 Patch from Niels Böhm <bitbucket@arcor.de>
40394
40395 2008-06-29 Robert Millan <rmh@aybabtu.com>
40396
40397 * util/update-grub_lib.in (font_path): Search for fonts in
40398 /boot/grub first, which is more likely to be readable (we aren't
40399 deciding where fonts live, just looking for them).
40400
40401 2008-06-26 Pavel Roskin <proski@gnu.org>
40402
40403 * util/biosdisk.c (read_device_map): Don't leave dead map
40404 entries for devices failing stat() check.
40405
40406 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40407 core_path_dev for the core.img path on the target device.
40408
40409 2008-06-26 Robert Millan <rmh@aybabtu.com>
40410
40411 * disk/fs_uuid.c: New file.
40412 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40413 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40414 (fs_uuid_mod_LDFLAGS): New variables.
40415 * include/grub/disk.h (grub_disk_dev_id): Add
40416 `GRUB_DISK_DEVICE_UUID_ID'.
40417 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40418 implement iterate().
40419
40420 2008-06-26 Robert Millan <rmh@aybabtu.com>
40421
40422 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40423 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40424 Linux image includes no initrd.
40425
40426 2008-06-21 Javier Martín <lordhabbit@gmail.com>
40427
40428 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40429 call to resolve the core image location that effectively appended the
40430 name twice.
40431
40432 2008-06-21 Robert Millan <rmh@aybabtu.com>
40433
40434 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40435 call from here ...
40436
40437 * util/grub.d/10_hurd.in: ... to here ...
40438 * util/grub.d/10_linux.in: ... and here.
40439
40440 2008-06-19 Robert Millan <rmh@aybabtu.com>
40441
40442 * kern/main.c (grub_main): Export `prefix' variable immediately
40443 after it has been set by grub_machine_set_prefix().
40444
40445 2008-06-19 Robert Millan <rmh@aybabtu.com>
40446
40447 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40448 search result when not saving to variable, not the other way around.
40449 When saving to variable, abort iteration as soon as a match is found.
40450
40451 2008-06-19 Robert Millan <rmh@aybabtu.com>
40452
40453 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40454 check for partition that provides /boot/grub. Its logic is flawed,
40455 as it prevents prepare_grub_to_access_device() from being called
40456 multiple times.
40457
40458 2008-06-19 Robert Millan <rmh@aybabtu.com>
40459
40460 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40461 "insmod" command directly when abstraction modules are needed,
40462 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
40463 since it had already been processed).
40464
40465 2008-06-19 Pavel Roskin <proski@gnu.org>
40466
40467 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40468 changed. This is needed in case GRUB_LIBDIR changes.
40469 * conf/i386-ieee1275.rmk: Likewise.
40470 * conf/i386-linuxbios.rmk: Likewise.
40471 * conf/i386-pc.rmk: Likewise.
40472 * conf/powerpc-ieee1275.rmk: Likewise.
40473
40474 2008-06-18 Pavel Roskin <proski@gnu.org>
40475
40476 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40477 kernel_elf_symlist.c to symlist.c for consistency with other
40478 architectures. Update all users.
40479 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40480
40481 2008-06-18 Robert Millan <rmh@aybabtu.com>
40482
40483 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40484 it in prefix.
40485
40486 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40487 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40488 a RAID device, run setup() for all members independently on whether
40489 LVM abstraction is being used.
40490 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40491 If grub-mkimage has set `*install_dos_part == -2', don't override this
40492 value.
40493 Perform *install_dos_part adjustments independently on whether
40494 we're embedding or not.
40495 Clarify error message when image is too big for embedding.
40496 Remove duplicate *install_dos_part stanza.
40497
40498 2008-06-17 Robert Millan <rmh@aybabtu.com>
40499
40500 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40501 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40502 variables.
40503 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40504 values in grub_ofconsole_normal_color and
40505 grub_ofconsole_highlight_color (they're not directly related to
40506 background and foreground).
40507 (grub_ofconsole_setcolorstate): Extract background and foreground
40508 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40509
40510 2008-06-17 Robert Millan <rmh@aybabtu.com>
40511
40512 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40513 /boot/grub for the check in last commit, not /boot (they could be
40514 different partitions).
40515
40516 2008-06-16 Robert Millan <rmh@aybabtu.com>
40517
40518 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40519 asked to setup access for the same partition that provides /boot,
40520 don't bother using UUIDs since our root already has the value we
40521 want.
40522
40523 2008-06-16 Robert Millan <rmh@aybabtu.com>
40524
40525 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40526 I2O devices.
40527 Patch from Sven Mueller <sven@debian.org>.
40528
40529 2008-06-16 Robert Millan <rmh@aybabtu.com>
40530
40531 * util/update-grub.in: Check for $EUID instead of $UID.
40532 Reported by Vincent Zweije.
40533
40534 2008-06-16 Bean <bean123ch@gmail.com>
40535
40536 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
40537 (grub_ext2_read_block): Likewise.
40538 (grub_ext2_read_inode): Likewise.
40539 (grub_ext2_mount): Likewise.
40540 (grub_ext2_close): Likewise.
40541 (grub_ext3_get_journal): Removed.
40542
40543 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
40544 (grub_reiserfs_read_symlink): Likewise.
40545 (grub_reiserfs_mount): Likewise.
40546 (grub_reiserfs_open): Likewise.
40547 (grub_reiserfs_read): Likewise.
40548 (grub_reiserfs_close): Likewise.
40549 (grub_reiserfs_get_journal): Removed.
40550
40551 * fs/fshelp.c (grub_fshelp_read): Removed.
40552 (grub_fshelp_map_block): Likewise.
40553
40554 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40555 (grub_fshelp_journal): Likewise.
40556 (grub_fshelp_read): Likewise.
40557 (grub_fshelp_map_block): Likewise.
40558
40559 2008-06-16 Pavel Roskin <proski@gnu.org>
40560
40561 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40562 floating point anymore.
40563 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40564
40565 2008-06-15 Pavel Roskin <proski@gnu.org>
40566
40567 * commands/ls.c (grub_ls_list_files): Use integer calculations
40568 for human readable format, avoid floating point use.
40569 * kern/misc.c (grub_ftoa): Remove.
40570 (grub_vsprintf): Remove floating point support.
40571
40572 2008-06-15 Robert Millan <rmh@aybabtu.com>
40573
40574 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
40575 devices.
40576 Reported by Max Vozeler.
40577
40578 2008-06-15 Robert Millan <rmh@aybabtu.com>
40579
40580 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40581 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40582 skipped later.
40583 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40584 the beginning of the prefix.
40585
40586 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40587 It is assumed that if we have a memdisk, grub-mkimage has set
40588 grub_prefix to include the "(memdisk)" drive in it.
40589
40590 2008-06-15 Robert Millan <rmh@aybabtu.com>
40591
40592 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40593 Initialize keyboard controller after registering the terminal, so that
40594 grub_printf() can be called from grub_keyboard_controller_init().
40595
40596 2008-06-15 Robert Millan <rmh@aybabtu.com>
40597
40598 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40599 extent-btree which is written as big endian on disk.
40600 Reported by Alain Greppin <al@chilibi.org>.
40601
40602 2008-06-14 Robert Millan <rmh@aybabtu.com>
40603
40604 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40605 * util/i386/pc/grub-install.in (modules): Likewise.
40606
40607 2008-06-13 Pavel Roskin <proski@gnu.org>
40608
40609 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40610
40611 2008-06-13 Bean <bean123ch@gmail.com>
40612
40613 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40614
40615 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40616
40617 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40618 to indicate sparse block.
40619
40620 2008-06-12 Pavel Roskin <proski@gnu.org>
40621
40622 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40623 number, grub_fshelp_read() does it for us.
40624
40625 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40626 linear disk read with journal translation.
40627 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40628 * include/grub/fshelp.h: Declare grub_fshelp_read().
40629
40630 2008-06-09 Pavel Roskin <proski@gnu.org>
40631
40632 * fs/minix.c (grub_minix_mount): Handle error reading
40633 superblock.
40634
40635 2008-06-08 Robert Millan <rmh@aybabtu.com>
40636
40637 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40638 don't append the RAID prefix afterwards.
40639 Reported by Clint Adams.
40640
40641 2008-06-08 Robert Millan <rmh@aybabtu.com>
40642
40643 Based on description from Pavel:
40644 * kern/disk.c (grub_disk_check_range): Rename to ...
40645 (grub_disk_adjust_range): ... this. Add a comment explaining the
40646 tasks performed by this function.
40647
40648 2008-06-08 Robert Millan <rmh@aybabtu.com>
40649
40650 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40651 `num_serial' (for consistency with other variables).
40652 (struct grub_ntfs_data): Add `uuid' member.
40653 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40654 (grub_ntfs_uuid): New function.
40655 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40656
40657 2008-06-07 Pavel Roskin <proski@gnu.org>
40658
40659 * util/biosdisk.c (open_device): Revert last change to the
40660 function, it broke installation. The sector needs to be
40661 different dependent on which device is opened.
40662
40663 2008-06-06 Robert Millan <rmh@aybabtu.com>
40664
40665 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40666 rest of GRUB, and breakage doesn't happen if its value were modified.
40667
40668 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40669 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40670 a constant (same value).
40671 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40672 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40673
40674 2008-06-06 Robert Millan <rmh@aybabtu.com>
40675
40676 * util/biosdisk.c (open_device): Do not modify sector offset when
40677 accessing a partition. kern/disk.c already handles this for us.
40678
40679 2008-06-06 Robert Millan <rmh@aybabtu.com>
40680
40681 * util/grub-emu.c (grub_machine_init): Move code in this function from
40682 here ...
40683 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40684 segfault in case grub_printf() is called).
40685
40686 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40687 grub_probe. Update all users not to explicitly add it again.
40688 (grub_device): New variable; contains corresponding device for grubdir.
40689 (fs_module, partmap_module, devabstraction_module): Pass
40690 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40691 every time.
40692
40693 2008-06-05 Robert Millan <rmh@aybabtu.com>
40694
40695 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40696 is found, print it (same layout as with labels).
40697
40698 2008-06-04 Robert Millan <rmh@aybabtu.com>
40699
40700 * util/biosdisk.c (get_drive): Rename to ...
40701 (find_grub_drive): ... this. Update all users.
40702
40703 (get_os_disk): Rename to ...
40704 (convert_system_partition_to_system_disk): ... this. Update all users.
40705
40706 (find_drive): Rename to ...
40707 (find_system_device): ... this. Update all users.
40708
40709 2008-06-04 Robert Millan <rmh@aybabtu.com>
40710
40711 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40712 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40713 (make_device_map): Likewise.
40714
40715 2008-06-01 Robert Millan <rmh@aybabtu.com>
40716
40717 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40718 before dereferencing it.
40719
40720 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40721 union with fat12/fat16-specific ones. Add some new fields, including
40722 `num_serial' for both versions.
40723 (struct grub_fat_data): Add `uuid' member.
40724 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40725 names. Initialize `data->uuid' using `num_serial'.
40726 (grub_fat_uuid): New function.
40727 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40728
40729 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40730 (grub_reiserfs_uuid): New function.
40731 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40732 member.
40733
40734 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40735 (grub_xfs_uuid): New function.
40736 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40737
40738 2008-06-01 Robert Millan <rmh@aybabtu.com>
40739
40740 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40741 code that is backward compatible with pre-uuid search command.
40742
40743 2008-05-31 Robert Millan <rmh@aybabtu.com>
40744
40745 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40746 floppies after everything else, to ensure floppy drive isn't accessed
40747 unnecessarily (patch from Bean).
40748
40749 2008-05-31 Robert Millan <rmh@aybabtu.com>
40750
40751 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40752 not print device names when we were asked to set a variable.
40753
40754 2008-05-31 Robert Millan <rmh@aybabtu.com>
40755
40756 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40757 using "cursor-on" and "cursor-off" commands (understood at least by
40758 the Open Firmware flavour on OLPC).
40759
40760 2008-05-31 Michael Gorven <michael@gorven.za.net>
40761
40762 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40763 on and off sequences.
40764
40765 2008-05-31 Robert Millan <rmh@aybabtu.com>
40766
40767 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40768 * util/update-grub.in: Likewise.
40769
40770 2008-05-30 Pavel Roskin <proski@gnu.org>
40771
40772 * util/biosdisk.c (linux_find_partition): Simplify logic and
40773 make the code more universal. Keep special processing for
40774 devfs, but use a simple rule for all other devices. If the
40775 device ends with a number, append 'p' and the partition number.
40776 Otherwise, append only the partition number.
40777
40778 2008-05-30 Robert Millan <rmh@aybabtu.com>
40779
40780 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40781 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40782 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40783 the `root' parameter to Linux.
40784
40785 2008-05-30 Robert Millan <rmh@aybabtu.com>
40786
40787 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40788 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40789 --fs_uuid with --fs-uuid.
40790 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40791 all filesystems support them).
40792
40793 2008-05-30 Robert Millan <rmh@aybabtu.com>
40794
40795 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
40796 grub_printf() flags, since we're printing in units of 2 bytes.
40797
40798 2008-05-30 Robert Millan <rmh@aybabtu.com>
40799
40800 * util/grub.d/00_header.in: Remove obsolete comment referencing
40801 convert_system_path_to_grub_path().
40802 * util/update-grub.in: Likewise.
40803 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40804 (convert_system_path_to_grub_path): Add a warning message explaining
40805 that this function is deprecated. Rely on is_path_readable_by_grub()
40806 for the readability checks.
40807 (font_path): Use is_path_readable_by_grub() for the readability
40808 check rather than convert_system_path_to_grub_path().
40809
40810 2008-05-30 Robert Millan <rmh@aybabtu.com>
40811
40812 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40813 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40814 converting it first.
40815 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40816 grub.cfg for access to font file, and afterwards call it again to set
40817 the root device.
40818
40819 2008-05-30 Robert Millan <rmh@aybabtu.com>
40820
40821 * commands/search.c (options): Add --fs_uuid option.
40822 (search_fs_uuid): New function.
40823 (grub_cmd_search): Fix --set argument passing.
40824 Use search_fs_uuid() when requested via --fs_uuid.
40825 (grub_search_init): Update help message.
40826 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40827 and redeclare it as an array of 16-bit words.
40828 (grub_ext2_uuid): New function.
40829 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40830 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40831 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40832 (GRUB_DEVICE_BOOT_UUID): New variables.
40833 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40834 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40835 whenever possible.
40836 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40837 just assume `root' variable has the right value.
40838 * util/grub.d/10_linux.in: Likewise.
40839 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40840 via PRINT_FS_UUID.
40841 (main): Recognise `-t fs_uuid' argument.
40842
40843 2008-05-30 Robert Millan <rmh@aybabtu.com>
40844
40845 * util/biosdisk.c (map): Redefine structure to hold information
40846 about GRUB drive name.
40847 (get_drive): Reimplement without assuming (and verifying) BIOS-like
40848 drive names.
40849 (call_hook): Remove.
40850 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40851 member. Assume drive has partitions.
40852 (grub_util_biosdisk_open): Access device names via `.device' struct
40853 member.
40854 (open_device): Likewise.
40855 (find_drive): Likewise.
40856 (read_device_map): Adjust map[] usage to match the new struct
40857 definition. Don't check for duplicates (still possible, but not cheap
40858 anymore).
40859 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40860 (make_device_name): Remove assumption of BIOS-like drive names.
40861
40862 2008-05-30 Pavel Roskin <proski@gnu.org>
40863
40864 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40865 compiling execute.c doesn't need grub_script.tab.h anymore.
40866 (normal/command.c_DEPENDENCIES): Likewise.
40867 (normal/function.c_DEPENDENCIES): Likewise.
40868 * conf/i386-ieee1275.rmk: Likewise.
40869 * conf/i386-linuxbios.rmk: Likewise.
40870 * conf/i386-pc.rmk: Likewise.
40871 * conf/powerpc-ieee1275.rmk: Likewise.
40872 * conf/sparc64-ieee1275.rmk: Likewise.
40873
40874 2008-05-29 Pavel Roskin <proski@gnu.org>
40875
40876 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40877 when scanning metadata for volume group name.
40878
40879 * include/grub/script.h: Don't include grub_script.tab.h. It's
40880 a generated file, which may only be included from the files with
40881 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40882 use union YYSTYPE, as the later allows forward declaration.
40883 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40884
40885 2008-05-29 Robert Millan <rmh@aybabtu.com>
40886
40887 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40888 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40889 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40890 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40891 scan codes.
40892
40893 2008-05-29 Robert Millan <rmh@aybabtu.com>
40894
40895 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40896 control key combinations.
40897
40898 2008-05-29 Robert Millan <rmh@aybabtu.com>
40899
40900 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40901 * util/ieee1275/grub-install.in: ... to here.
40902 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40903 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40904 (grub_install_SOURCES): Likewise.
40905
40906 2008-05-29 Robert Millan <rmh@aybabtu.com>
40907
40908 * fs/affs.c: Update copyright year.
40909 * fs/ext2.c: Likewise.
40910 * fs/fshelp.c: Likewise.
40911 * fs/hfsplus.c: Likewise.
40912 * fs/ntfs.c: Likewise.
40913 * fs/xfs.c: Likewise.
40914 * include/grub/fshelp.h: Likewise.
40915 * util/grub-mkdevicemap.c: Likewise.
40916
40917 2008-05-28 Robert Millan <rmh@aybabtu.com>
40918
40919 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40920 might need to be fatfs to support some firmware implementations
40921 (e.g. OFW or EFI).
40922
40923 2008-05-28 Robert Millan <rmh@aybabtu.com>
40924
40925 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40926 devices.
40927 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40928 (make_device_map): Likewise.
40929
40930 2008-05-20 Bean <bean123ch@gmail.com>
40931
40932 * fs/fshelp.c (grub_fshelp_map_block): New function.
40933 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40934 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40935
40936 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40937 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40938 (grub_fshelp_journal): New structure.
40939 (grub_fshelp_map_block): New function prototype.
40940 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40941 (grub_fshelp_map_block): Likewise.
40942
40943 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40944 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40945 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40946 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40947 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40948 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40949 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40950 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40951 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40952 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40953 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40954 (grub_ext2_sblock): New members for journal support.
40955 (grub_ext3_journal_header): New structure.
40956 (grub_ext3_journal_revoke_header): Likewise.
40957 (grub_ext3_journal_block_tag): Likewise.
40958 (grub_ext3_journal_sblock): Likewise.
40959 (grub_fshelp_node): New members logfile and journal.
40960 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40961 grub_fshelp_map_block to get real block number.
40962 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40963 number.
40964 (grub_ext2_read_inode): Likewise.
40965 (grub_ext3_get_journal): New function.
40966 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40967 (grub_ext2_close): Release memory used by journal.
40968
40969 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40970 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40971 (grub_reiserfs_transaction_header): Renamed to
40972 grub_reiserfs_description_block, replace field data with real_blocks.
40973 (grub_reiserfs_commit_block): New structure.
40974 (grub_reiserfs_data): New member journal.
40975 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40976 number.
40977 (grub_reiserfs_read_symlink): Likewise.
40978 (grub_reiserfs_iterate_dir): Likewise.
40979 (grub_reiserfs_open): Likewise.
40980 (grub_reiserfs_read): Likewise.
40981 (grub_reiserfs_get_journal): New function.
40982 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40983 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40984 using grub_reiserfs_get_journal.
40985 (grub_reiserfs_close): Release memory used by journal.
40986
40987 * fs/affs.c (grub_affs_read_block): Change block type to
40988 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40989
40990 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40991
40992 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40993
40994 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40995
40996 * fs/udf.c (grub_udf_read_block): Change block type to
40997 grub_disk_addr_t. Use type cast to avoid warning.
40998
40999 * fs/xfs.c (grub_xfs_read_block): Likewise.
41000
41001 2008-05-16 Christian Franke <franke@computer.org>
41002
41003 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
41004 to ensure that break with ESC will always work.
41005 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
41006 Remove ESC from keyboard queue.
41007
41008 2008-05-16 Christian Franke <franke@computer.org>
41009
41010 * util/biosdisk.c: [__CYGWIN__] Add includes.
41011 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
41012 (get_os_disk): Move variable declarations to OS specific
41013 parts to avoid warning.
41014 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
41015 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
41016 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
41017 Cygwin.
41018 * util/getroot.c: [__CYGWIN__] Add includes.
41019 (strip_extra_slashes): Fix "/" case.
41020 [__CYGWIN__] (get_win32_path): New function.
41021 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
41022 [__CYGWIN__] (find_root_device): Disable.
41023 [__CYGWIN__] (get_bootsec_serial): New function.
41024 [__CYGWIN__] (find_cygwin_root_device): Likewise.
41025 [__linux__] (grub_guess_root_device): Add early returns to simplify
41026 structure.
41027 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
41028 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
41029 check for Linux only.
41030
41031 2008-05-15 Bean <bean123ch@gmail.com>
41032
41033 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
41034 keyboard hang problem in apple's intel mac.
41035
41036 2008-05-09 Robert Millan <rmh@aybabtu.com>
41037
41038 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
41039 devices.
41040 * util/grub-mkdevicemap.c (get_virtio_disk_name)
41041 (make_device_map): Likewise.
41042 Reported by Aurelien Jarno <aurel32@debian.org>
41043
41044 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
41045
41046 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
41047 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
41048 (make_device_map): Output entries for xvd type disks.
41049
41050 2008-05-07 Robert Millan <rmh@aybabtu.com>
41051
41052 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
41053 devices.
41054 * util/grub-mkdevicemap.c (get_cciss_disk_name)
41055 (make_device_map): Likewise.
41056 Reported by Roland Dreier <rdreier@cisco.com>
41057
41058 2008-05-07 Robert Millan <rmh@aybabtu.com>
41059
41060 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
41061 grub_strstr() call. Correct a few mistakes in failure path handling.
41062
41063 2008-05-06 Robert Millan <rmh@aybabtu.com>
41064
41065 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41066 Do not print a trailing slash (therefore, the root directory is an
41067 empty string).
41068 (convert_system_path_to_grub_path): Do not remove trailing slash
41069 from make_system_path_relative_to_its_root() output.
41070
41071 * util/i386/pc/grub-install.in: Add trailing slash to output from
41072 make_system_path_relative_to_its_root().
41073
41074 2008-05-06 Robert Millan <rmh@aybabtu.com>
41075
41076 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
41077 ensures that output lines aren't intermangled with those sent to
41078 stderr (via grub_util_info()).
41079 * util/grub-probe.c (grub_refresh): Likewise.
41080 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
41081
41082 2008-05-05 Christian Franke <franke@computer.org>
41083
41084 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
41085 Add Cygwin device names.
41086 (get_ide_disk_name) [__CYGWIN__]: Likewise.
41087 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
41088 (check_device): Return error instead of success on empty name.
41089 (make_device_map): Move label inside linux specific code to
41090 prevent compiler warning.
41091
41092 2008-04-30 Robert Millan <rmh@aybabtu.com>
41093
41094 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
41095 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
41096 first boot option.
41097 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
41098
41099 2008-04-29 Robert Millan <rmh@aybabtu.com>
41100
41101 * docs/grub.cfg: New file (example GRUB configuration).
41102
41103 2008-04-26 Robert Millan <rmh@aybabtu.com>
41104
41105 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
41106 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
41107 and `disk/ieee1275/nand.c'.
41108
41109 2008-04-25 Bean <bean123ch@gmail.com>
41110
41111 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
41112 i386-linuxbios.
41113
41114 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
41115 change the buffer size to 4096 for cdrom device.
41116
41117 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
41118 and nand.mod.
41119 (_linux_mod_SOURCES): New variable.
41120 (_linux_mod_CFLAGS): Likewise.
41121 (_linux_mod_LDFLAGS): Likewise.
41122 (linux_mod_SOURCES): Likewise.
41123 (linux_mod_CFLAGS): Likewise.
41124 (linux_mod_LDFLAGS): Likewise.
41125 (nand_mod_SOURCES): Likewise.
41126 (nand_mod_CFLAGS): Likewise.
41127 (nand_mod_LDFLAGS): Likewise.
41128
41129 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
41130 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
41131 type property. (nand device in olpc don't have this property)
41132
41133 * include/grub/disk.h (grub_disk_dev_id): New macro
41134 GRUB_DISK_DEVICE_NAND_ID.
41135
41136 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
41137 function prototype.
41138 (grub_rescue_cmd_initrd): Likewise.
41139
41140 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
41141 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
41142 ofw_cif_handler and ofw_idt, adjust padding number.
41143
41144 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
41145 GRUB_MACHINE_IEEE1275 is defined.
41146
41147 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
41148 Use NESTED_FUNC_ATTR attribute on the hook parameter.
41149
41150 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
41151 on nested function heap_init.
41152 (grub_upper_mem): New variable for i386-ieee1275.
41153 (grub_get_extended_memory): New function for i386-ieee1275.
41154 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
41155
41156 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
41157 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
41158 property.
41159
41160 * loader/i386/ieee1275/linux.c: New file.
41161
41162 * loader/i386/ieee1275/linux_normal.c: New file.
41163
41164 * disk/ieee1275/nand.c: New file.
41165
41166 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
41167
41168 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
41169 value.
41170 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
41171
41172 2008-04-18 Robert Millan <rmh@aybabtu.com>
41173
41174 Restructures early code path on ieee1275 to unify grub_main() as
41175 the first C function that is executed in every platform.
41176
41177 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
41178 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
41179 cmain().
41180 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
41181 * kern/ieee1275/cmain.c (cmain): Rename to ...
41182 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
41183 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
41184 at the beginning.
41185
41186 2008-04-18 Robert Millan <rmh@aybabtu.com>
41187
41188 * util/update-grub.in: Fix syntax error when setting
41189 `GRUB_PRELOAD_MODULES'.
41190 Reported by Stephane Chazelas <stephane@artesyncp.com>
41191
41192 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
41193
41194 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
41195 section into account, newer toolchains generate unique build ids
41196 * configure.ac: remove the test for --build-id=none acceptance,
41197 we want build ids to be preserved
41198 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
41199 far from other sections don't cause the raw binary images grow
41200 size
41201
41202 2008-04-15 Robert Millan <rmh@aybabtu.com>
41203
41204 * disk/lvm.c: Update copyright year.
41205 * kern/misc.c: Likewise.
41206
41207 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41208
41209 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
41210 there is no memory left for physical volume name.
41211
41212 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
41213
41214 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
41215 volume name mapping to support bigger than 9 character names properly.
41216
41217 2008-04-13 Robert Millan <rmh@aybabtu.com>
41218
41219 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
41220 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
41221
41222 2008-04-13 Christian Franke <franke@computer.org>
41223
41224 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
41225 to create a floppy emulation boot CD when non emulation mode
41226 does not work.
41227 Enable Joliet CD filesystem extension.
41228
41229 2008-04-13 Robert Millan <rmh@aybabtu.com>
41230
41231 * kern/misc.c (grub_strncat): Fix off-by-one error.
41232 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
41233
41234 * kern/env.c (grub_env_context_close): Clear current context, not
41235 previous one.
41236 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
41237
41238 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
41239
41240 2008-04-13 Robert Millan <rmh@aybabtu.com>
41241
41242 Improve robustness when handling LVM.
41243
41244 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
41245 (and leave `*p' unmodified).
41246 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
41247 through it.
41248 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
41249 iterating through it.
41250 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
41251 through it.
41252 (grub_lvm_scan_device): Check the return value (and fail gracefully
41253 when due) on each grub_lvm_getvalue() or grub_strstr() call.
41254 Don't assume `vg->pvs != NULL' when iterating through it.
41255
41256 2008-04-13 Robert Millan <rmh@aybabtu.com>
41257
41258 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
41259 * genmk.rb (partmap): New variable.
41260 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
41261 (#{partmap}): New target rule.
41262 * genpartmaplist.sh: New file.
41263 * Makefile.in (pkglib_DATA): Add partmap.lst.
41264 (partmap.lst): New target rule.
41265 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
41266 modules (including all partition maps), instead of preloading them.
41267
41268 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
41269
41270 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
41271 `linux-boot-prober' (if installed) to detect other operating
41272 systems which are installed on the computer and add them to
41273 the boot menu.
41274 * conf/common.rmk: Build and install 30_os-prober.
41275
41276 2008-04-12 Robert Millan <rmh@aybabtu.com>
41277
41278 * kern/powerpc/ieee1275/init.c: Move from here ...
41279 * kern/ieee1275/init.c: ... to here. Update all users.
41280
41281 * kern/powerpc/ieee1275/cmain.c: Move from here ...
41282 * kern/ieee1275/cmain.c: ... to here. Update all users.
41283
41284 * kern/powerpc/ieee1275/openfw.c: Move from here ...
41285 * kern/ieee1275/openfw.c: ... to here. Update all users.
41286
41287 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
41288 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
41289
41290 2008-04-10 Pavel Roskin <proski@gnu.org>
41291
41292 * configure.ac: Always use "_cv_" in cache variables for
41293 compatibility with Autoconf 2.62.
41294
41295 2008-04-07 Robert Millan <rmh@aybabtu.com>
41296
41297 Revert grub/machine/init.h addition by Pavel (since it breaks on
41298 i386-ieee1275 and others):
41299 * util/i386/pc/misc.c: Remove grub/machine/init.h.
41300 * util/powerpc/ieee1275/misc.c: Likewise.
41301
41302 2008-04-07 Robert Millan <rmh@aybabtu.com>
41303
41304 * util/grub-probe.c (probe): Improve error message.
41305
41306 2008-04-07 Robert Millan <rmh@aybabtu.com>
41307
41308 * util/biosdisk.c (read_device_map): Skip devices that don't exist
41309 (this prevents the presence of a bogus entry from ruining the whole
41310 thing).
41311
41312 2008-04-06 Pavel Roskin <proski@gnu.org>
41313
41314 * util/biosdisk.c: Include grub/util/biosdisk.h.
41315 * util/grub-fstest.c (execute_command): Make static.
41316 * util/grub-mkdevicemap.c (check_device): Likewise.
41317 * util/i386/pc/misc.c: Include grub/machine/init.h.
41318 * util/powerpc/ieee1275/misc.c: Likewise.
41319 * util/lvm.c: Include grub/util/lvm.h.
41320 * util/misc.c: Include grub/kernel.h, grub/misc.h and
41321 grub/cache.h.
41322 * util/raid.c: Include grub/util/raid.h.
41323 (grub_util_getdiskname): Make static.
41324
41325 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
41326 grub_hostfs_fini(), as they are called from grub_init_all() and
41327 grub_fini_all() respectively. This fixes an infinite loop in
41328 grub-fstest due to double registration of hostfs.
41329 Reported by Christian Franke <Christian.Franke@t-online.de>
41330
41331 2008-04-05 Pavel Roskin <proski@gnu.org>
41332
41333 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41334 all 8 functions. Otherwise, probe function 0 only.
41335
41336 2008-04-04 Pavel Roskin <proski@gnu.org>
41337
41338 * commands/lspci.c (grub_lspci_iter): Print the bus number
41339 correctly.
41340
41341 * commands/lspci.c (grub_pci_classes): Fix typos.
41342 (grub_lspci_iter): Don't print func twice. Print vendor ID
41343 before device ID, as it's normally done.
41344
41345 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41346 Fix signedness warnings.
41347 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41348 Likewise.
41349 * util/ieee1275/get_disk_name.c: Include config.h so that
41350 _GNU_SOURCE is defined and getline() is declared. Mark an
41351 unused argument as such. Fix a signedness warning.
41352
41353 2008-04-02 Pavel Roskin <proski@gnu.org>
41354
41355 * genkernsyms.sh.in: Use more robust assignments for CC and
41356 srcdir. Quote srcdir.
41357 * gensymlist.sh.in: Likewise. Assert at the compile time that
41358 the symbol table is not empty.
41359
41360 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41361 * fs/cpio.c (grub_cpio_read): Likewise.
41362
41363 2008-04-01 Pavel Roskin <proski@gnu.org>
41364
41365 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41366 * disk/host.c (grub_host_open): Likewise.
41367 * disk/loopback.c (grub_loopback_open): Likewise.
41368 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41369 disk->id as in disk/host.c, not a multi-character constant.
41370
41371 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41372 later is obsolete, potentially dangerous and sets a bad example.
41373 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41374 * util/misc.c (grub_util_get_image_size): Likewise.
41375
41376 * disk/loopback.c (options): Improve help for "--partitions".
41377
41378 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41379 options to align them with the short options, e.g. "echo -e".
41380
41381 2008-03-31 Bean <bean123ch@gmail.com>
41382
41383 * video/reader/png.c (grub_png_data): New member is_16bit and
41384 image_data.
41385 (grub_png_decode_image_header): Detect 16 bit png image.
41386 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41387 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41388 (grub_video_reader_png): Release memory occupied by image_data.
41389
41390 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41391 4096 bytes.
41392 (grub_nfs_mount): Skip the test for sector per cluster.
41393
41394 * include/grub/ntfs.h (MAX_SPC): Removed.
41395
41396 2008-03-31 Bean <bean123ch@gmail.com>
41397
41398 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41399 (grub_probe_SOURCES): Add fs/afs.c.
41400 (grub_fstest_SOURCES): Likewise.
41401 (afs_mod_SOURCES): New variable.
41402 (afs_mod_CFLAGS): Likewise.
41403 (afs_mod_LDFLAGS): Likewise.
41404
41405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41406 (grub_emu_SOURCES): Likewise.
41407
41408 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41409
41410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41411
41412 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41413
41414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41415
41416 * fs/afs.c: New file.
41417
41418 2008-03-30 Pavel Roskin <proski@gnu.org>
41419
41420 * disk/host.c: Include grub/misc.h to fix a warning.
41421 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41422 warnings about implicit declarations.
41423
41424 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41425 variable.
41426 * include/grub/i386/loader.h: Change declaration of
41427 grub_linux_boot() to match what grub_loader_set() expects.
41428 * util/getroot.c (grub_guess_root_device): Return const char* to
41429 fix a warning.
41430 * util/grub-probe.c (probe): Fix a warning about uninitialized
41431 abstraction_name variable.
41432 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41433 second argument as unused to fix a warning.
41434
41435 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41436 missing grub_error() call.
41437
41438 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41439 2.60 and newer uses it to define datadir.
41440
41441 * commands/sleep.c: Fix warning about implicit declaration.
41442 * disk/memdisk.c: Likewise.
41443 * loader/aout.c: Likewise.
41444 * loader/i386/bsd_normal.c: Likewise.
41445 * util/grub-probe.c: Likewise.
41446
41447 * commands/i386/cpuid.c (has_longmode): Make static.
41448 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41449 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41450
41451 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41452 GDT. This is more robust, as %ds can change.
41453 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41454 calling real_to_prot().
41455 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41456
41457 2008-03-28 Pavel Roskin <proski@gnu.org>
41458
41459 * kern/i386/pc/startup.S: Assert that uncompressed functions
41460 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41461 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41462 code, as they push parts of the code (error handlers) beyond
41463 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41464 code as correctness and size.
41465
41466 2008-03-28 Pavel Roskin <proski@gnu.org>
41467
41468 * kern/i386/pc/startup.S
41469 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41470 data block address to the real mode, keep offset minimal. This
41471 works around a bug in AWARD BIOS on old Athlon systems, which
41472 makes CD detection hang.
41473
41474 2008-03-26 Pavel Roskin <proski@gnu.org>
41475
41476 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41477 const.
41478 * include/grub/normal.h: Add grub_parse_color_name_pair()
41479 declaration.
41480
41481 2008-03-24 Bean <bean123ch@gmail.com>
41482
41483 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41484 (cd_count): Removed.
41485 (cd_drive): New variable.
41486 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41487 (grub_biosdisk_call_hook): Likewise.
41488 (grub_biosdisk_iterate): Change cdrom detection method.
41489 (grub_biosdisk_open): Replace cd_start with cd_drive.
41490 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41491 detect cdrom device.
41492
41493 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41494 Removed.
41495 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41496 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41497 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41498 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41499 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41500 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41501 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41502 (grub_biosdisk_cdrp): New structure.
41503 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41504
41505 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41506
41507 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41508 device.
41509
41510 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41511 New function.
41512
41513 2008-03-20 Robert Millan <rmh@aybabtu.com>
41514
41515 Remove 2 TiB limit in ata.mod.
41516 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41517 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41518 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41519 grub_uint64_t instead of grub_uint32_t.
41520
41521 2008-03-05 Bean <bean123ch@gmail.com>
41522
41523 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41524 (grub_multiboot): Set boot device.
41525
41526 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41527
41528 2008-03-02 Bean <bean123ch@gmail.com>
41529
41530 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41531 symlink_buffer.
41532
41533 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41534
41535 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41536 texinfo.tex.
41537
41538 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41539 modified.
41540
41541 * docs/fdl.texi: New file.
41542
41543 * docs/mdate-sh: New file. Copied from gnulib.
41544 * docs/texinfo.tex: Likewise.
41545
41546 * config.guess: Updated from gnulib.
41547 * install-sh: Likewise.
41548
41549 2008-02-28 Robert Millan <rmh@aybabtu.com>
41550
41551 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41552 (aout_mod_SOURCES): New variable.
41553 (aout_mod_CFLAGS): Likewise.
41554 (aout_mod_LDFLAGS): Likewise.
41555
41556 * conf/i386-ieee1275.rmk: Likewise.
41557
41558 2008-02-28 Robert Millan <rmh@aybabtu.com>
41559
41560 * util/update-grub.in: Reorganise terminal validity check. Accept
41561 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41562 Based on suggestion by Franklin PIAT.
41563
41564 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41565
41566 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41567 function.
41568 * util/getroot.c (grub_util_check_block_device): New function that
41569 returns the given argument if it is a block device and returns NULL else.
41570 * util/grub-probe.c (argument_is_device): New variable.
41571 (probe): Promote device_name from a variable to an argument. Receive
41572 device_name from grub_util_check_block_device() if path is NULL and from
41573 grub_guess_root_device() else. Do not free() device_name anymore.
41574 (options): Introduce new parameter '-d, --device'.
41575 (main): Add description of the new parameter to the help screen.
41576 Rename path variable to argument. Set argument_is_device if the '-d'
41577 option is given. Pass argument to probe() depending on
41578 argument_is_device.
41579
41580 2008-02-24 Bean <bean123ch@gmail.com>
41581
41582 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41583 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41584 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41585 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41586 (GRUB_ISO9660_VOLDESC_END): Likewise.
41587 (grub_iso9660_primary_voldesc): New member escape.
41588 (grub_iso9660_data): New member joliet.
41589 (grub_iso9660_convert_string): New function.
41590 (grub_iso9660_mount): Detect joliet extension.
41591 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41592 (grub_iso9660_iso9660_label): Likewise.
41593
41594 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41595 (grub_setup_SOURCES): Add fs/udf.c.
41596 (grub_fstest_SOURCES): Likewise.
41597 (udf_mod_SOURCES): New variable.
41598 (udf_mod_CFLAGS): Likewise.
41599 (udf_mod_LDFLAGS): Likewise.
41600
41601 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41602 (grub_emu_SOURCES): Likewise.
41603
41604 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41605
41606 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41607
41608 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41609
41610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41611
41612 * fs/udf.c: New file.
41613
41614 2008-02-24 Robert Millan <rmh@aybabtu.com>
41615
41616 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41617 (normal/lexer.c_DEPENDENCIES): New variables.
41618 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41619 (normal/lexer.c_DEPENDENCIES): Likewise.
41620 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41621 (normal/lexer.c_DEPENDENCIES): Likewise.
41622 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41623 (normal/lexer.c_DEPENDENCIES): Likewise.
41624 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41625 (normal/lexer.c_DEPENDENCIES): Likewise.
41626 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41627 (normal/lexer.c_DEPENDENCIES): Likewise.
41628
41629 2008-02-23 Robert Millan <rmh@aybabtu.com>
41630
41631 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41632 since they were intended to be in hex. This didn't break previously
41633 because of a bug in gpt_partition_map_iterate() (see below).
41634
41635 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41636 when checking the validity of GPT header.
41637 Remove `partno', since it always provides the same information as `i'.
41638
41639 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41640
41641 * include/grub/efi/time.h: Fix a wrong comment.
41642
41643 2008-02-19 Pavel Roskin <proski@gnu.org>
41644
41645 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41646 message.
41647
41648 2008-02-19 Bean <bean123ch@gmail.com>
41649
41650 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41651 (aout_mod_SOURCES): New variable.
41652 (aout_mod_CFLAGS): Likewise.
41653 (aout_mod_LDFLAGS): Likewise.
41654 (_bsd_mod_SOURCES): New variable.
41655 (_bsd_mod_CFLAGS): Likewise.
41656 (_bsd_mod_LDFLAGS): Likewise.
41657 (bsd_mod_SOURCES): New variable.
41658 (bsd_mod_CFLAGS): Likewise.
41659 (bsd_mod_LDFLAGS): Likewise.
41660
41661 * include/grub/aout.h: New file.
41662
41663 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41664
41665 * include/grub/i386/bsd.h: New file.
41666
41667 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41668 to make it public.
41669
41670 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41671 function is called, so that it's possible to change it inside the hook.
41672 (grub_elf64_load): Likewise.
41673 (grub_elf_file): Don't close the file if elf header is not found.
41674 (grub_elf_close): Close the file if grub_elf_file fails (The new
41675 grub_elf_file won't close it).
41676 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41677 (grub_elf64_size): Likewise.
41678
41679 * kern/i386/loader.S (grub_unix_real_boot): New function.
41680
41681 * loader/aout.c: New file.
41682
41683 * loader/i386/bsd.c: New file.
41684
41685 * loader/i386/bsd_normal.c: New file.
41686
41687 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41688
41689 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
41690 can test other formats.
41691
41692 2008-02-19 Robert Millan <rmh@aybabtu.com>
41693
41694 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41695 (grub_gpt_partition_type_empty): Redefine with macro from
41696 `<grub/gpt_partition.h>'.
41697 (gpt_partition_map_iterate): Adjust partition type comparison.
41698
41699 Export `entry' as partmap-specific `part.data' struct.
41700 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41701
41702 * include/grub/gpt_partition.h (grub_gpt_header)
41703 (grub_gpt_partentry): ... to here (new file).
41704
41705 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41706
41707 (grub_gpt_partition_type_bios_boot): New const variable, defined
41708 with macro from `<grub/gpt_partition.h>'.
41709
41710 (setup): Replace `first_start' with `embed_region', which keeps
41711 track of the embed region (and is partmap-agnostic).
41712
41713 Replace find_first_partition_start() with find_usable_region(),
41714 which finds a usable region for embedding using partmap-specific
41715 knowledge (supports PC/MSDOS and GPT).
41716
41717 Fix all assumptions that the embed region start at sector 1, using
41718 `embed_region.start' from now on. Similarly, use `embed_region.end'
41719 rather than `first_start' to calculate available size.
41720
41721 In grub_util_info() message, replace "into after the MBR" with an
41722 indication of the specific sector our embed region starts at.
41723
41724 2008-02-19 Robert Millan <rmh@aybabtu.com>
41725
41726 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41727 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41728 `commands/reboot.c'.
41729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41730 (halt_mod_SOURCES): Likewise.
41731 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41732 (halt_mod_SOURCES): Likewise.
41733
41734 2008-02-17 Christian Franke <franke@computer.org>
41735
41736 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41737
41738 2008-02-17 Robert Millan <rmh@aybabtu.com>
41739
41740 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41741 set `first_start' to 0 for non-PC/MSDOS partition maps.
41742
41743 2008-02-16 Robert Millan <rmh@aybabtu.com>
41744
41745 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41746 do not assume partition map is PC/MSDOS before performing checks that
41747 are specific to that layout.
41748
41749 2008-02-13 Robert Millan <rmh@aybabtu.com>
41750
41751 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41752 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41753 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41754
41755 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41756
41757 * configure.ac: Only a cosmetic change on the handling of
41758 -fno-stack-protector.
41759
41760 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
41761
41762 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41763 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41764 reboot.c.
41765 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41766 (halt_mod_SOURCES): New variable.
41767 (halt_mod_CFLAGS): Likewise.
41768 (halt_mod_LDFLAGS): Likewise.
41769 (reboot_mod_SOURCES): Likewise.
41770 (reboot_mod_CFLAGS): Likewise.
41771 (reboot_mod_LDFLAGS): Likewise.
41772
41773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41774 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41775 reboot.c.
41776 (halt_mod_SOURCES): Likewise.
41777 (reboot_mod_SOURCES): Likewise.
41778
41779 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41780 commands/i386/pc/reboot.c by commands/reboot.c.
41781 (reboot_mod_SOURCES): Likewise.
41782
41783 * commands/i386/pc/reboot.c: merge this file ...
41784
41785 * commands/ieee1275/reboot.c: ... and this file ...
41786
41787 * commands/reboot.c: ... to this file.
41788 Add some precompiler directive to include the correct header for
41789 each machine.
41790
41791 * commands/ieee1275/halt.c: move this file ...
41792
41793 * commands/halt.c: ... to here.
41794 Add some precompiler directive to include the correct header for
41795 each machine.
41796
41797 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41798 (grub_halt): Likewise.
41799
41800 * kern/efi/efi.c (grub_reboot): New function.
41801 (grub_halt): Likewise.
41802
41803 2008-02-12 Robert Millan <rmh@aybabtu.com>
41804
41805 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41806 /dev (like it is done for /dev/mapper). This doesn't provide support
41807 for EVMS, but at least it is now easy to identify the problem when it
41808 arises.
41809
41810 2008-02-11 Robert Millan <rmh@aybabtu.com>
41811
41812 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41813 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41814 comparing it with -1, not 0.
41815
41816 2008-02-10 Robert Millan <rmh@aybabtu.com>
41817
41818 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41819 `disk/lvm.c'.
41820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41821 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41822
41823 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41824 `disk/lvm.c' to the end of the list.
41825 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41826 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41827
41828 2008-02-10 Robert Millan <rmh@aybabtu.com>
41829
41830 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41831 grub_print_error() instead. This will let user know why we're entering
41832 rescue mode.
41833 Based on suggestions from Sam Morris.
41834
41835 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
41836
41837 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41838 on remaining N args, instead of "--" arg N times.
41839
41840 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41841
41842 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41843 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41844 pattern for unknown glyphs.
41845
41846 2008-02-09 Robert Millan <rmh@aybabtu.com>
41847
41848 * configure.ac: Probe for `help2man'.
41849 * Makefile.in (builddir): New variable.
41850 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41851 or otherwise add a few flags/options to it.
41852 (install-local): For every executable utility or script that is
41853 installed, invoke $(HELP2MAN) to install a manpage based on --help
41854 output.
41855
41856 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41857 that it doesn't prevent --help from working in build tree.
41858
41859 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41860 with `bug-grub@gnu.org'.
41861 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41862 * util/update-grub.in (usage): New function.
41863 Implement proper argument check, with support for --help and --version
41864 (as well as existing -y).
41865
41866 2008-02-09 Christian Franke <franke@computer.org>
41867
41868 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41869 avoid overwriting previous output.
41870 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41871
41872 2008-02-09 Robert Millan <rmh@aybabtu.com>
41873
41874 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41875 drawing the menu.
41876
41877 2008-02-09 Robert Millan <rmh@aybabtu.com>
41878
41879 * commands/sleep.c: New file.
41880 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41881 (sleep_mod_SOURCES): New variable.
41882 (sleep_mod_CFLAGS): Likewise.
41883 (sleep_mod_LDFLAGS): Likewise.
41884
41885 2008-02-09 Robert Millan <rmh@aybabtu.com>
41886
41887 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41888 situations in which we can deduce the RAID size and the superblock
41889 doesn't match it.
41890
41891 2008-02-09 Robert Millan <rmh@aybabtu.com>
41892
41893 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41894 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41895 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41896
41897 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41898 and return a grub_diskmemberlist_t composed of physical array members.
41899 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41900
41901 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41902 prototype.
41903 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41904 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41905 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41906
41907 * util/grub-probe.c (probe): Move partmap probing code from here ...
41908 (probe_partmap): ... to here.
41909 (probe): Use probe_partmap() once for the disk we're probing, and
41910 additionally, when such disk contains a memberlist() struct member,
41911 once for each disk that is contained in the structure returned by
41912 memberlist().
41913
41914 2008-02-09 Robert Millan <rmh@aybabtu.com>
41915
41916 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41917 environment variable to 'all' in order to obtain debug output from
41918 non-util/ code.
41919 * util/i386/pc/grub-setup.c (main): Likewise.
41920
41921 2008-02-08 Robert Millan <rmh@aybabtu.com>
41922
41923 * disk/raid.c (grub_raid_scan_device): Check for
41924 `array->device[sb.this_disk.number]' rather than for
41925 `array->device[sb.this_disk.number]->name', since the latter is not
41926 guaranteed to be accessible.
41927
41928 2008-02-08 Robert Millan <rmh@aybabtu.com>
41929
41930 * disk/raid.c: Update copyright.
41931 * fs/cpio.c: Likewise.
41932 * include/grub/raid.h: Likewise.
41933 * loader/i386/pc/multiboot.c: Likewise.
41934 * util/hostfs.c: Likewise.
41935
41936 2008-02-08 Robert Millan <rmh@aybabtu.com>
41937
41938 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41939 to a grub_disk_t array.
41940 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41941 `device[x]'.
41942 (grub_raid_scan_device): Replace `device[x].name' accesses with
41943 `device[x]->name'. Simplify initialization of `array->device[x]'.
41944
41945 2008-02-08 Robert Millan <rmh@aybabtu.com>
41946
41947 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41948 grub_dprintf() calls.
41949 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41950 error message.
41951
41952 2008-02-07 Christian Franke <franke@computer.org>
41953
41954 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41955 instead of fseek and ftell to support large files.
41956 (grub_hostfs_read): Likewise.
41957
41958 2008-02-07 Robert Millan <rmh@aybabtu.com>
41959
41960 Patch from Jeroen Dekkers.
41961 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
41962 failure, since successfully reading all array members might not be
41963 required.
41964
41965 2008-02-06 Robert Millan <rmh@aybabtu.com>
41966
41967 * util/grub-probe.c (probe): Simplify partmap probing (with the
41968 assumption that the first word up to the underscore equals to
41969 the module name).
41970
41971 2008-02-06 Christian Franke <franke@computer.org>
41972
41973 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41974 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41975 last block of a cpio or tar stream.
41976 Check for "TRAILER!!!" instead of any empty data
41977 block to detect last block of a cpio stream.
41978 (grub_cpio_dir): Fix constness of variable np.
41979 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41980 cpio or tar trailer is detected. This fixes a crash
41981 on open of a non existing file.
41982
41983 2008-02-05 Bean <bean123ch@gmail.com>
41984
41985 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41986 address of entry.
41987 (grub_multiboot_load_elf64): Likewise.
41988 (grub_multiboot): Initialize mbi structure.
41989
41990 * util/grub-fstest.c: Don't include unused header file script.h.
41991
41992 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
41993 of file.
41994 (grub_fstest_SOURCES): Likewise.
41995
41996 2008-02-05 Robert Millan <rmh@aybabtu.com>
41997
41998 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41999 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
42000 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
42001 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
42002
42003 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
42004 (translation_table): Replace hardcoded values with macros
42005 provided by `<grub/term.h>'.
42006
42007 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
42008 (keyboard_map): Correct/add a few values, with macros provided
42009 by `<grub/term.h>'.
42010 (keyboard_map_shift): Zero values that don't differ from their
42011 `keyboard_map' equivalents.
42012 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
42013 Discard the second scan code that is always sent by Caps lock.
42014 Only use `keyboard_map_shift' when it provides a non-zero value,
42015 otherwise fallback to `keyboard_map'.
42016
42017 2008-02-04 Bean <bean123ch@gmail.com>
42018
42019 * Makefile.in (enable_grub_fstest): New variable.
42020
42021 * conf/common.rmk (grub_fstest_init.lst): New rule.
42022 (grub_fstest_init.h): Likewise.
42023 (grub_fstest_init.c): Likewise.
42024 (util/grub-fstest.c_DEPENDENCIES): New variable.
42025 (grub_fstest_SOURCES): Likewise.
42026
42027 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
42028
42029 * util/grub-fstest.c: New file.
42030
42031 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42032
42033 Make grub-setup handle a separate root device.
42034
42035 * util/i386/pc/grub-setup.c (setup): Always open the root device,
42036 so that the root device can be compared with the destination
42037 device.
42038 When embedding the core image, if the root and destination devices
42039 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
42040 0xFF.
42041 When not embedding, set ROOT_DRIVE to 0xFF.
42042
42043 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42044
42045 Add support for having a grub directory in a different drive. This
42046 is still only the data handling part.
42047
42048 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
42049 (codestart): Save %dh in GRUB_ROOT_DRIVE.
42050 (grub_root_drive): New variable.
42051
42052 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
42053 instead of GRUB_BOOT_DRIVE to construct a device name. Set
42054 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
42055 as it was.
42056
42057 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
42058
42059 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
42060 macro.
42061 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
42062
42063 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
42064 is bogus, because PXE booting does not specify any drive
42065 correctly.
42066
42067 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
42068 am not sure if this is really correct.
42069
42070 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
42071 is always identical to the boot drive when booting from a CD.
42072
42073 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
42074 longer.
42075 (root_drive): New variable.
42076 (real_start): Unconditionally set %dh to ROOT_DRIVE.
42077 (setup_sectors): Push %dx right after popping it, because %dh will
42078 be modified later.
42079 (copy_buffer): Restore %dx.
42080
42081 2008-02-03 Robert Millan <rmh@aybabtu.com>
42082
42083 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
42084 use `cdboot.img' for cdrom images.
42085
42086 2008-02-03 Robert Millan <rmh@aybabtu.com>
42087
42088 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
42089 only setup gfxterm when `font' command has succeeded.
42090
42091 2008-02-03 Robert Millan <rmh@aybabtu.com>
42092
42093 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
42094 (grub_rescue_cmd_multiboot_loader)
42095 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
42096
42097 2008-02-03 Pavel Roskin <proski@gnu.org>
42098
42099 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
42100 %edx and %esi from stack only after grub_gate_a20() is called.
42101 grub_gate_a20() clobbers %edx.
42102
42103 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
42104
42105 * configure.ac (AC_INIT): Bumped to 1.96.
42106
42107 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
42108 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
42109 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
42110 video/readers/png.c.
42111
42112 2008-02-03 Bean <bean123ch@gmail.com>
42113
42114 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
42115 (cdboot_img_SOURCES): New variable.
42116 (cdboot_img_ASFLAGS): New variable.
42117 (cdboot_img_LDFLAGS): New variable.
42118
42119 * boot/i386/pc/cdboot.S: New file.
42120
42121 * disk/i386/pc/biosdisk.c (cd_start): New variable.
42122 (cd_count): Likewise.
42123 (grub_biosdisk_get_drive): Add support for cd device.
42124 (grub_biosdisk_call_hook): Likewise.
42125 (grub_biosdisk_iterate): Likewise.
42126 (grub_biosdisk_open): Likewise.
42127 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
42128 (grub_biosdisk_rw): Support reading from cd device.
42129 (GRUB_MOD_INIT): Iterate cd devices.
42130
42131 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
42132 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
42133 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
42134
42135 * kern/i386/pc/init.c (make_install_device): Check for cd device.
42136
42137 2008-02-02 Robert Millan <rmh@aybabtu.com>
42138
42139 * commands/read.c: New file.
42140 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
42141 (read_mod_SOURCES): New variable.
42142 (read_mod_CFLAGS): Likewise.
42143 (read_mod_LDFLAGS): Likewise.
42144
42145 2008-02-02 Robert Millan <rmh@aybabtu.com>
42146
42147 * normal/main.c (grub_normal_execute): Check for `menu->size' when
42148 determining whether menu has to be displayed.
42149
42150 2008-02-02 Marco Gerards <marco@gnu.org>
42151
42152 * bus/pci.c: New file.
42153
42154 * include/grub/pci.h: Likewise.
42155
42156 * include/grub/i386/pc/pci.h: Likewise.
42157
42158 * commands/lspci.c: Likewise.
42159
42160 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
42161 `lspci.mod'.
42162 (pci_mod_SOURCES): New variable.
42163 (pci_mod_CFLAGS): Likewise.
42164 (pci_mod_LDFLAGS): Likewise.
42165 (lspci_mod_SOURCES): Likewise.
42166 (lspci_mod_CFLAGS): Likewise.
42167 (lspci_mod_LDFLAGS): Likewise.
42168
42169 2008-02-02 Bean <bean123ch@gmail.com>
42170
42171 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
42172 (grub_ufs_get_file_block): Fix indirect block calculation problem.
42173
42174 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
42175 (grub_xfs_btree_node): New structure.
42176 (grub_xfs_btree_root): New structure.
42177 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
42178 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
42179 (GRUB_XFS_EXTENT_BLOCK): Likewise.
42180 (GRUB_XFS_EXTENT_SIZE): Likewise.
42181 (grub_xfs_read_block): Support btree format type.
42182 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
42183 Use directory block as basic unit.
42184
42185 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
42186
42187 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
42188 __attribute__ ((__regparm__ (1))).
42189
42190 2008-02-01 Robert Millan <rmh@aybabtu.com>
42191
42192 Correct a mistake in previous commit.
42193
42194 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
42195 top.
42196 (normal/command.c_DEPENDENCIES): New variable.
42197
42198 2008-02-01 Robert Millan <rmh@aybabtu.com>
42199
42200 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
42201 top.
42202 (normal/command.c_DEPENDENCIES): New variable.
42203 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
42204 * conf/i386-ieee1275.rmk: Likewise.
42205 * conf/i386-linuxbios.rmk: Likewise.
42206 * conf/i386-pc.rmk: Likewise.
42207 * conf/sparc64-ieee1275.rmk: Likewise.
42208 * conf/powerpc-ieee1275.rmk: Likewise.
42209 (grub_emu_SOURCES): Add `fs/fshelp.c'.
42210
42211 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
42212
42213 2008-02-01 Robert Millan <rmh@aybabtu.com>
42214
42215 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
42216 call at beginning of function.
42217
42218 2008-01-31 Pavel Roskin <proski@gnu.org>
42219
42220 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
42221 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
42222 (grub_mkrescue_SOURCES): Likewise.
42223 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
42224
42225 2008-01-30 Robert Millan <rmh@aybabtu.com>
42226
42227 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
42228 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
42229 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
42230 (grub_probe_SOURCES): ... to here.
42231
42232 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
42233 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
42234 * conf/i386-ieee1275.rmk: Likewise.
42235 * conf/i386-linuxbios.rmk: Likewise.
42236 * conf/powerpc-ieee1275.rmk: Likewise.
42237
42238 2008-01-30 Tristan Gingold <gingold@free.fr>
42239
42240 * kern/rescue.c: Silently accept empty lines.
42241
42242 2008-01-29 Bean <bean123ch@gmail.com>
42243
42244 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
42245 (real_code_2): Code cleanup and change comment style.
42246 (move_memory): Avoid using 32-bit address mode.
42247
42248 2008-01-29 Bean <bean123ch@gmail.com>
42249
42250 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
42251 (png_mod_SOURCES): New variable.
42252 (png_mod_CFLAGS): Likewise.
42253 (png_mod_LDFLAGS): Likewise.
42254
42255 * video/readers/png.c: New file.
42256
42257 2008-01-28 Robert Millan <rmh@aybabtu.com>
42258
42259 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
42260 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
42261 `ifndef GRUB_MOD_GAP' hack.
42262 * util/elf/grub-mkimage.c (add_segments): Likewise.
42263
42264 2008-01-27 Robert Millan <rmh@aybabtu.com>
42265
42266 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
42267 `GRUB_MOD_GAP' for platforms in which it's not defined.
42268 * util/elf/grub-mkimage.c (add_segments): Likewise.
42269
42270 2008-01-27 Robert Millan <rmh@aybabtu.com>
42271
42272 Get grub-emu to build again (including parallel builds).
42273
42274 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
42275 Split into ...
42276 (util/grub-emu.c_DEPENDENCIES): ... this, ...
42277 (normal/execute.c_DEPENDENCIES): ... this, ...
42278 (grub-emu_DEPENDENCIES): ... and this.
42279
42280 * conf/i386-efi.rmk: Likewise.
42281 * conf/i386-linuxbios.rmk: Likewise.
42282 * conf/i386-ieee1275.rmk: Likewise.
42283 * conf/powerpc-ieee1275.rmk: Likewise.
42284 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
42285
42286 2008-01-27 Robert Millan <rmh@aybabtu.com>
42287
42288 * NEWS: Add a few items.
42289
42290 2008-01-27 Robert Millan <rmh@aybabtu.com>
42291
42292 Fix parallel builds with grub-emu. Based on earlier commit for
42293 grub-probe and grub-setup.
42294
42295 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42296 (util/grub-emu.c_DEPENDENCIES): ... this.
42297 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42298 (util/grub-emu.c_DEPENDENCIES): ... this.
42299 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42300 (util/grub-emu.c_DEPENDENCIES): ... this.
42301 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42302 (util/grub-emu.c_DEPENDENCIES): ... this.
42303 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
42304 (util/grub-emu.c_DEPENDENCIES): ... this.
42305
42306 2008-01-27 Pavel Roskin <proski@gnu.org>
42307
42308 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
42309 to create a gap between _end and the modules added to the image
42310 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
42311 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
42312 * util/elf/grub-mkimage.c (add_segments): Likewise.
42313
42314 2008-01-26 Pavel Roskin <proski@gnu.org>
42315
42316 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
42317 just return an error.
42318
42319 2008-01-26 Bean <bean123ch@gmail.com>
42320
42321 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
42322 (grub_reiserfs_get_item): Save offset of the next item.
42323 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
42324
42325 2008-01-25 Robert Millan <rmh@aybabtu.com>
42326
42327 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
42328 make all filesystem sources appear together (possibly fixing omissions
42329 while at it).
42330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42332 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42334
42335 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42336 add `kern/file.c'.
42337 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42338 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42339 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42340 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42341
42342 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42343 (probe): Add a sanity check to make sure of our ability to read
42344 requested files when probing for filesystem type.
42345
42346 * genmk.rb: Update copyright year (2007).
42347
42348 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42349 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42350 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42351 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42352 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42353 : Remove function prototypes.
42354
42355 2008-01-25 Robert Millan <rmh@aybabtu.com>
42356
42357 Revert my previous commits (based on wrong assumption of how grub_errno
42358 works).
42359
42360 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
42361 * kern/file.c (grub_file_open): Likewise.
42362
42363 2008-01-24 Pavel Roskin <proski@gnu.org>
42364
42365 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42366 that hang if GRUB tries to setup colors.
42367 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42368 colors for firmwares that don't support it.
42369 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42370 Recognize Open Hack'Ware, set flags to work around its
42371 limitations.
42372
42373 2008-01-24 Robert Millan <rmh@aybabtu.com>
42374
42375 * kern/file.c (grub_file_open): Do not account previous failures of
42376 unrelated functions when grub_errno is checked for.
42377 Reported by Oleg Strikov.
42378
42379 2008-01-24 Bean <bean123ch@gmail.com>
42380
42381 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42382 (grub_ufs_sblock): New member volume name.
42383 (grub_ufs_find_file): Fix string copy bug.
42384 (grub_ufs_label): Implement this function properly.
42385
42386 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42387 (grub_hfs_iterate_records): Use the correct file number for extents
42388 and catalog file. Fix problem in next index calculation.
42389 (grub_hfs_find_node): Replace recursive function call with loop.
42390 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42391
42392 2008-01-23 Robert Millan <rmh@aybabtu.com>
42393
42394 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42395 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42396 (grub_multiboot2_real_boot): New function prototype.
42397
42398 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42399 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42400
42401 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42402 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42403
42404 2008-01-23 Robert Millan <rmh@aybabtu.com>
42405
42406 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42407 #ifdef'ed out grub_printf().
42408
42409 2008-01-23 Robert Millan <rmh@aybabtu.com>
42410
42411 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42412 grub_dprintf calls, since they make "debug=all" mode unusable.
42413 (grub_console_checkkey): Likewise.
42414
42415 2008-01-23 Robert Millan <rmh@aybabtu.com>
42416
42417 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42418 `term/i386/pc/at_keyboard.c'.
42419 (pkglib_MODULES): Add `serial.mod'.
42420 (serial_mod_SOURCES): New variable.
42421 (serial_mod_CFLAGS): Likewise.
42422 (serial_mod_LDFLAGS): Likewise.
42423
42424 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42425 `<grub/powerpc/ieee1275/console.h>'.
42426 (grub_keyboard_controller_init): New function prototype.
42427 (grub_console_checkkey): Likewise.
42428 (grub_console_getkey): Likewise.
42429
42430 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42431 keyboard on i386.
42432
42433 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42434 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42435
42436 2008-01-23 Robert Millan <rmh@aybabtu.com>
42437
42438 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42439 present, "(memdisk)/boot/grub" becomes the default prefix.
42440
42441 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42442 a memdisk tarball with all the modules. Add --overlay=DIR option that
42443 allows users to overlay additional files into the image.
42444
42445 2008-01-23 Robert Millan <rmh@aybabtu.com>
42446
42447 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42448 and `machine/memory.h'.
42449 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42450 (_multiboot_mod_SOURCES): New variable.
42451 (_multiboot_mod_CFLAGS): Likewise.
42452 (_multiboot_mod_LDFLAGS): Likewise.
42453 (multiboot_mod_SOURCES): Likewise.
42454 (multiboot_mod_CFLAGS): Likewise.
42455 (multiboot_mod_LDFLAGS): Likewise.
42456
42457 * include/grub/i386/ieee1275/loader.h: New file.
42458
42459 * include/grub/i386/ieee1275/machine.h: Likewise.
42460
42461 * include/grub/i386/ieee1275/memory.h: Likewise.
42462
42463 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42464 variable declaration.
42465 (grub_os_area_size): Likewise.
42466
42467 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42468 (grub_lower_mem, grub_upper_mem): New variables.
42469 (grub_stop_floppy): New function (just to make
42470 grub_multiboot2_real_boot() happy).
42471
42472 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42473 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42474 (grub_stop): New function.
42475 Include `"../realmode.S"' and `"../loader.S"'.
42476
42477 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42478 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42479
42480 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42481 rely on grub_multiboot2_real_boot() for final boot.
42482
42483 2008-01-22 Robert Millan <rmh@aybabtu.com>
42484
42485 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42486 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42487 device that doesn't look like an SD card.
42488 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42489 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42491 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42492 found.
42493
42494 2008-01-22 Robert Millan <rmh@aybabtu.com>
42495
42496 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42497 avoid claiming over our own code.
42498
42499 2008-01-22 Bean <bean123ch@gmail.com>
42500
42501 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42502 (jpeg_mod_SOURCES): New variable.
42503 (jpeg_mod_CFLAGS): Likewise.
42504 (jpeg_mod_LDFLAGS): Likewise.
42505
42506 * video/readers/jpeg.c : New file.
42507
42508 2008-01-22 Bean <bean123ch@gmail.com>
42509
42510 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42511 there are no more items.
42512
42513 2008-01-21 Robert Millan <rmh@aybabtu.com>
42514
42515 * kern/mm.c (grub_mm_init_region): Improve debug message.
42516
42517 2008-01-21 Robert Millan <rmh@aybabtu.com>
42518
42519 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42520 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42521 address.
42522 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42523 a C macro.
42524 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42525 Indicates start of upper memory.
42526 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42527 (generate_image): Abort when image size is big enough to corrupt
42528 upper memory.
42529
42530 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42531 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42532 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42533 instead of hardcoding 0xA0000.
42534 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42535 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42536 instead of hardcoding 0xA0000.
42537
42538 2008-01-21 Robert Millan <rmh@aybabtu.com>
42539
42540 * disk/memdisk.c (memdisk_size): New variable.
42541 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42542 `memdisk_size'.
42543 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42544 image to dynamic memory.
42545 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42546 `memdisk_size'. Free memdisk block.
42547
42548 2008-01-21 Robert Millan <rmh@aybabtu.com>
42549
42550 Fix detection of very small filesystems (like tar).
42551
42552 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42553 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42554 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42555 a problem with this disk).
42556
42557 2008-01-21 Robert Millan <rmh@aybabtu.com>
42558
42559 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42560 on grub_biosdisk_rw_standard() error.
42561
42562 2008-01-21 Robert Millan <rmh@aybabtu.com>
42563
42564 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42565 recent changes.
42566 * kern/elf.c: Likewise.
42567 * kern/ieee1275/ieee1275.c: Likewise.
42568 * kern/powerpc/ieee1275/openfw.c: Likewise.
42569 * term/ieee1275/ofconsole.c: Likewise.
42570
42571 2008-01-21 Robert Millan <rmh@aybabtu.com>
42572
42573 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42574
42575 * include/grub/kernel.h (grub_arch_memdisk_addr)
42576 (grub_arch_memdisk_size): Moved from here ...
42577
42578 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42579 (grub_arch_memdisk_size): ... to here.
42580
42581 2008-01-21 Robert Millan <rmh@aybabtu.com>
42582
42583 Mostly based on bugfix from Bean.
42584
42585 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42586 attribute with hook() parameter.
42587 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42588 declaration.
42589 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42590 attribute with hook() parameter.
42591 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42592 declaration.
42593
42594 2008-01-21 Robert Millan <rmh@aybabtu.com>
42595
42596 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42597 (pkglib_MODULES): Add `memdisk.mod'.
42598 (memdisk_mod_SOURCES): New variable.
42599 (memdisk_mod_CFLAGS): Likewise.
42600 (memdisk_mod_LDFLAGS): Likewise.
42601
42602 * disk/memdisk.c: New file.
42603
42604 * include/grub/disk.h (grub_disk_dev_id): Add
42605 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42606
42607 * include/grub/i386/pc/kernel.h
42608 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42609 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42610 (grub_kernel_image_size): New variable declaration.
42611 (grub_total_module_size): Likewise.
42612 (grub_memdisk_image_size): Likewise.
42613
42614 * include/grub/i386/pc/memory.h
42615 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42616
42617 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42618 (grub_arch_memdisk_addr): New variable declaration.
42619 (grub_arch_memdisk_size): Likewise.
42620
42621 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42622 (grub_arch_memdisk_size): Likewise.
42623
42624 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42625 (codestart): Replace hardcoded `0x100000' with
42626 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42627
42628 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42629 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42630 not NULL, append the contents of the file it refers to, at the end of
42631 the compressed kernel image. Initialize `grub_memdisk_image_size'
42632 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42633 (options): Add "memdisk"|'m' option.
42634 (main): Parse --memdisk|-m option, and pass user-provided path as
42635 parameter to generate_image().
42636
42637 2008-01-20 Robert Millan <rmh@aybabtu.com>
42638
42639 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42640 grub_dprintf() calls from here ...
42641 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42642
42643 2008-01-20 Robert Millan <rmh@aybabtu.com>
42644
42645 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42646
42647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42648 declaration.
42649 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42650 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42651 `GRUB_IEEE1275_FLAG_REAL_MODE'.
42652 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
42653 property).
42654 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42655 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42656
42657 2008-01-19 Robert Millan <rmh@aybabtu.com>
42658
42659 Get rid of confusing function (superseded by
42660 `grub_ieee1275_get_integer_property')
42661 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42662 prototype.
42663 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42664 function.
42665 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42666 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
42667 in native endianness from grub_ieee1275_get_integer_property().
42668
42669 2008-01-19 Robert Millan <rmh@aybabtu.com>
42670
42671 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42672 command after "shut-down", since implementations differ on which
42673 the command for halt is.
42674
42675 2008-01-19 Robert Millan <rmh@aybabtu.com>
42676
42677 * include/grub/i386/linuxbios/console.h: Add header protection.
42678 (grub_keyboard_controller_init): New function prototype.
42679 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42680 (KEYBOARD_COMMAND_READ): Likewise.
42681 (KEYBOARD_COMMAND_WRITE): Likewise.
42682 (KEYBOARD_SCANCODE_SET1): Likewise.
42683 (grub_keyboard_controller_write): New function.
42684 (grub_keyboard_controller_read): Likewise.
42685 (grub_keyboard_controller_init): Likewise.
42686
42687 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42688 (grub_console_init): On coreboot/LinuxBIOS, call
42689 grub_keyboard_controller_init().
42690
42691 2008-01-19 Robert Millan <rmh@aybabtu.com>
42692
42693 PowerPC changes provided by Pavel Roskin.
42694
42695 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42696 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42697 don't rely on cmain() doing it.
42698 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42699 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42700
42701 2008-01-16 Robert Millan <rmh@aybabtu.com>
42702
42703 * include/grub/i386/linuxbios/memory.h
42704 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42705 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42706 receive `table_header' as argument. Instead, probe for it in the
42707 known memory ranges where it can be present.
42708 (grub_available_iterate): Do not pass a fixed `table_header' address
42709 to grub_linuxbios_table_iterate().
42710
42711 2008-01-15 Robert Millan <rmh@aybabtu.com>
42712
42713 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42714 * conf/i386-ieee1275.rmk: New file.
42715 * include/grub/i386/ieee1275/console.h: Likewise.
42716 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42717 * include/grub/i386/ieee1275/kernel.h: Likewise.
42718 * include/grub/i386/ieee1275/time.h: Likewise.
42719 * kern/i386/ieee1275/init.c: Likewise.
42720 * kern/i386/ieee1275/startup.S: Likewise.
42721
42722 2008-01-15 Robert Millan <rmh@aybabtu.com>
42723
42724 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42725 when pointers are 32-bit (but still do set it to one when they are
42726 64-bit).
42727
42728 2008-01-15 Robert Millan <rmh@aybabtu.com>
42729
42730 * include/grub/ieee1275/ieee1275.h
42731 (grub_ieee1275_get_integer_property): New function prototype.
42732
42733 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42734 (grub_ieee1275_get_integer_property): New function. Wraps around
42735 grub_ieee1275_get_property() to handle endianness.
42736
42737 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42738 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
42739 where appropriate.
42740 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42741 (grub_map): Likewise.
42742 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42743
42744 2008-01-15 Bean <bean123ch@gmail.com>
42745
42746 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42747 (grub_script_execute_cmdline): Reset grub_errno.
42748
42749 * normal/main.c (read_config_file): Reset grub_errno.
42750
42751 * normal/parse.y (script_init): New.
42752 (script): Move function and menuentry here.
42753 (delimiter): New.
42754 (command): Add delimiter at the end of command.
42755 (commands): Adjust to match the new command.
42756 (commandblock): Remove grub_script_lexer_record_start.
42757 (menuentry): Add grub_script_lexer_record_start, use the new commands.
42758 (if): Use the new commands.
42759
42760 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42761
42762 2008-01-15 Robert Millan <rmh@aybabtu.com>
42763
42764 * normal/menu.c (run_menu): Move timeout message from here ...
42765 (print_timeout): ... to here.
42766 (run_menu): Use print_timeout() once during initial draw to print
42767 the whole message, and again in every clock tick to update only
42768 the number of seconds.
42769
42770 2008-01-15 Robert Millan <rmh@aybabtu.com>
42771
42772 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42773 actual size of `available' from grub_ieee1275_get_property(), and
42774 restrict parsing to that bound.
42775
42776 2008-01-15 Christian Franke <franke@computer.org>
42777
42778 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42779 (argp_program_version): Remove variable.
42780 (argp_program_bug_address): Likewise.
42781 (options): Convert from struct argp_option to struct option.
42782 (struct arguments): Remove.
42783 (parse_opt): Remove.
42784 (usage): New function.
42785 (main): Replace struct args members by simple variables.
42786 Replace argp_parse() by getopt_long().
42787 Add switch to evaluate options.
42788 Add missing "(...)" around root_dev in prefix string.
42789
42790 2008-01-14 Robert Millan <rmh@aybabtu.com>
42791
42792 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42793 for grub_ieee1275_exit(), in order to improve portability.
42794
42795 2008-01-14 Robert Millan <rmh@aybabtu.com>
42796
42797 * util/grub.d/10_linux.in (prefix): Define.
42798 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42799
42800 2008-01-13 Pavel Roskin <proski@gnu.org>
42801
42802 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42803 grub_errno if no errors have been detected.
42804
42805 2008-01-12 Robert Millan <rmh@aybabtu.com>
42806
42807 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42808 (grub_util_get_dev_abstraction): New function prototype.
42809
42810 * util/getroot.c: Include `<grub/util/getroot.h>'
42811 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42812 (grub_util_get_dev_abstraction): ... here (new function).
42813
42814 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42815 `PRINT_ABSTRACTION'.
42816 (probe): Probe for abstraction type when requested.
42817 (main): Understand `--target=abstraction'.
42818
42819 * util/i386/efi/grub-install.in: Add abstraction module to core
42820 image when it is found to be necessary.
42821 * util/i386/pc/grub-install.in: Likewise.
42822 * util/powerpc/ieee1275/grub-install.in: Likewise.
42823
42824 * util/update-grub_lib.in (font_path): Return system path without
42825 converting to GRUB path.
42826 * util/update-grub.in: Convert system path returned by font_path()
42827 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42828 abstraction module is needed for loading fonts (if any). Export
42829 that as `GRUB_PRELOAD_MODULES'.
42830 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42831 insmod commands).
42832
42833 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42834
42835 Remove some unused code from reiserfs.
42836
42837 * fs/reiserfs.c (struct grub_reiserfs_key)
42838 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42839 (struct grub_reiserfs_node_body): Removed.
42840 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42841 Likewise.
42842 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42843 Likewise.
42844 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42845 Likewise.
42846 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42847 Likewise.
42848 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42849 Likewise.
42850 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42851 Likewise.
42852 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42853 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42854 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42855
42856 2008-01-10 Robert Millan <rmh@aybabtu.com>
42857
42858 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42859 Determines if a file is garbage left by packaging systems, etc.
42860 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42861 for processing /etc/grub.d scripts.
42862 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42863 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42864 as a condition for processing Linux images.
42865
42866 2008-01-10 Pavel Roskin <proski@gnu.org>
42867
42868 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42869 to compile reiserfs.c on PowerPC.
42870
42871 2008-01-10 Robert Millan <rmh@aybabtu.com>
42872
42873 * kern/device.c (grub_device_iterate): Do not abort device iteration
42874 when one of the devices cannot be opened.
42875 * kern/disk.c (grub_disk_open): Do not account previous failures of
42876 unrelated functions when grub_errno is checked for.
42877
42878 2008-01-08 Robert Millan <rmh@aybabtu.com>
42879
42880 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42881 `! grub_linux_is_bzimage', change order of address comparison to make
42882 it more intuitive, and improve "too big zImage" error message.
42883
42884 2008-01-08 Robert Millan <rmh@aybabtu.com>
42885
42886 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42887 `$(update-grub_DATA)'.
42888 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42889 targets.
42890
42891 2008-01-07 Robert Millan <rmh@aybabtu.com>
42892
42893 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42894 which instruction is modified by grub-setup during installation
42895 (since it wasn't obvious by only looking at this file).
42896
42897 2008-01-07 Robert Millan <rmh@aybabtu.com>
42898
42899 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42900 listing actual TODO items.
42901
42902 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42903
42904 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42905 correctly.
42906 (grub_reiserfs_get_key_offset): Likewise.
42907 (grub_reiserfs_set_key_offset): Likewise.
42908 (grub_reiserfs_set_key_type): Likewise.
42909 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
42910
42911 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42912 better to remove the bitfield version completely.
42913
42914 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42915
42916 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42917 allocated from the heap, due to the fshelp implementation.
42918 (grub_reiserfs_dir): Free NODE, due to the same reason.
42919
42920 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42921
42922 Mostly from Vincent Pelletier:
42923
42924 * fs/reiserfs.c: New file.
42925
42926 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42927 (reiserfs_mod_SOURCES): New variable.
42928 (reiserfs_mod_CFLAGS): Likewise.
42929 (reiserfs_mod_LDFLAGS): Likewise.
42930
42931 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42932 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42933 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42934 normal/color.c.
42935
42936 2008-01-06 Robert Millan <rmh@aybabtu.com>
42937
42938 * normal/color.c: Remove `<grub/env.h>'.
42939
42940 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42941
42942 * include/grub/normal.h: Include <grub/env.h>.
42943
42944 2008-01-05 Robert Millan <rmh@aybabtu.com>
42945
42946 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42947 usage example with `(hd0,1)'.
42948 Reported by Samuel Thibault.
42949
42950 2008-01-05 Robert Millan <rmh@aybabtu.com>
42951
42952 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42953 (grub_linux_boot_zimage): Rename to ...
42954 (grub_linux_boot): ... this.
42955 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42956 (grub_linux_boot_zimage): Conditionalize zImage copy.
42957
42958 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42959 (grub_linux_boot_bzimage): Remove prototype.
42960 (grub_linux_boot_zimage): Rename to ...
42961 (grub_linux_boot): ... this.
42962
42963 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42964 (grub_linux_boot): Remove function.
42965
42966 2008-01-05 Robert Millan <rmh@aybabtu.com>
42967
42968 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42969 (grub_env_write_color_highlight): Likewise.
42970 (grub_wait_after_message): Likewise.
42971
42972 * normal/color.c: New file.
42973
42974 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42975 (normal_mod_DEPENDENCIES): Likewise.
42976
42977 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42978 (normal_mod_DEPENDENCIES): Likewise.
42979
42980 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42981 (normal_mod_DEPENDENCIES): Likewise.
42982
42983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42984 (normal_mod_DEPENDENCIES): Likewise.
42985
42986 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42987 for waiting after a message is printed.
42988 * normal/main.c (read_config_file): Likewise.
42989 (grub_normal_init): Register grub_env_write_color_normal() and
42990 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42991 `color_highlight' variables as global.
42992
42993 * normal/menu.c (grub_wait_after_message): New function.
42994 (grub_color_menu_normal): New variable. Replaces ...
42995 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42996 (grub_color_menu_highlight): New variable. Replaces ...
42997 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42998 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42999 `GRUB_TERM_COLOR_STANDARD'.
43000 (print_message): Use `grub_setcolorstate' to reload colors. Rename
43001 `normal_code' and `highlight_code' to `old_color_normal' and
43002 `old_color_highlight', respectively.
43003 (grub_menu_init_page): Update colors when drawing the menu, based on
43004 `menu_color_normal' and `menu_color_highlight' variables.
43005 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
43006 a message is printed.
43007
43008 2008-01-05 Robert Millan <rmh@aybabtu.com>
43009
43010 * kern/env.c (grub_env_context_open): Propagate hooks for global
43011 variables to new context.
43012
43013 * kern/main.c (grub_set_root_dev): Export `root' variable.
43014
43015 2008-01-05 Robert Millan <rmh@aybabtu.com>
43016
43017 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
43018 discs unconditionally, since udev and others have options to provide
43019 them.
43020
43021 2008-01-05 Robert Millan <rmh@aybabtu.com>
43022
43023 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
43024
43025 2008-01-04 Christian Franke <franke@computer.org>
43026
43027 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
43028 of eisa_mmap.
43029
43030 2008-01-03 Pavel Roskin <proski@gnu.org>
43031
43032 * kern/i386/linuxbios/init.c: Put "void" to all function
43033 declarations with no arguments.
43034 * kern/powerpc/ieee1275/init.c: Likewise.
43035 * term/i386/pc/at_keyboard.c: Likewise.
43036 * term/i386/pc/vga_text.c: Likewise.
43037 * util/grub-mkdevicemap.c: Likewise.
43038
43039 2008-01-02 Robert Millan <rmh@aybabtu.com>
43040
43041 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
43042 message when loaded image is out of bounds.
43043 (grub_multiboot_load_elf64): Likewise.
43044
43045 2008-01-02 Pavel Roskin <proski@gnu.org>
43046
43047 * util/grub.d/10_linux.in: Try version without ".old" when
43048 looking for initrd. It's better to use initrd from the newer
43049 kernel of the same version than no initrd at all.
43050
43051 2008-01-01 Robert Millan <rmh@aybabtu.com>
43052
43053 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
43054
43055 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
43056
43057 * include/grub/video.h: Added grub_video_unmap_color and
43058 grub_video_get_active_render_target.
43059 (grub_video_adapter): Added unmap_color and get_active_render_target.
43060
43061 * video/video.c: Added grub_video_unmap_color and
43062 grub_video_get_active_render_target.
43063 (grub_video_get_info): Changed method to accept NULL pointer as an
43064 argument to allow detection of active video adapter.
43065
43066 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
43067 grub_video_vbe_unmap_color_int.
43068 Added grub_video_vbe_unmap_color and
43069 grub_video_vbe_get_active_render_target.
43070 (grub_video_vbe_adapter): Added unmap_color and
43071 get_active_render_target.
43072
43073 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
43074 with grub_video_vbe_unmap_color_int.
43075
43076 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
43077 (DEFAULT_NORMAL_COLOR): Likewise.
43078 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
43079 (DEFAULT_FG_COLOR): Removed.
43080 (DEFAULT_BG_COLOR): Likewise.
43081 (DEFAULT_CURSOR_COLOR): Changed value.
43082 (grub_virtual_screen): Added standard_color_setting,
43083 normal_color_setting, highlight_color_setting and term_color.
43084 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
43085 (bitmap_width): Added.
43086 (bitmap_height): Likewise.
43087 (bitmap): Likewise.
43088 (set_term_color): Likewise.
43089 (grub_virtual_screen_setup): Changed to use new terminal coloring
43090 settings.
43091 (grub_gfxterm_init): Added init for bitmap.
43092 (grub_gfxterm_fini): Added destroy for bitmap.
43093 (redraw_screen_rect): Updated to use background bitmap and new
43094 terminal coloring.
43095 (scroll_up): Added optimization for case when there is no bitmap.
43096 (grub_gfxterm_cls): Fixed to use correct background color.
43097 (grub_virtual_screen_setcolorstate): Changed to use new terminal
43098 coloring.
43099 (grub_virtual_screen_setcolor): Likewise.
43100 (grub_virtual_screen_getcolor): Added.
43101 (grub_gfxterm_background_image_cmd): Likewise.
43102 (grub_video_term): Added setcolor and getcolor.
43103 (MOD_INIT): Added registration of background_image command.
43104 (MOD_TERM): Added unregistration for background_image command.
43105
43106 2007-12-30 Pavel Roskin <proski@gnu.org>
43107
43108 * loader/multiboot_loader.c: Fix multiboot command
43109 unregistration. Fix all typos in the word "multiboot".
43110
43111 2007-12-29 Pavel Roskin <proski@gnu.org>
43112
43113 * util/grub.d/10_linux.in: Refactor search for initrd. Add
43114 support for initrd names used in Fedora.
43115
43116 2007-12-26 Bean <bean123ch@gmail.com>
43117
43118 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
43119 (cpio_mod_SOURCES): New variable.
43120 (cpio_mod_CFLAGS): Likewise.
43121 (cpio_mod_LDFLAGS): Likewise.
43122
43123 * fs/cpio.c: New file.
43124
43125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
43126
43127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43128
43129 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43130
43131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43132
43133 2007-12-25 Robert Millan <rmh@aybabtu.com>
43134
43135 * include/grub/term.h (struct grub_term): Add `getcolor' function.
43136 (grub_getcolor): New function.
43137
43138 * kern/term.c (grub_getcolor): New function.
43139 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
43140 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
43141 (print_entry): Set normal and highlight colors to
43142 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
43143 respectively, before printing and restore them to old
43144 values afterwards.
43145 (grub_menu_init_page): Likewise. Fill an additional colored space
43146 that would otherwise be left blank.
43147
43148 * term/efi/console.c (grub_console_getcolor): New function.
43149 (struct grub_console_term.getcolor): New variable.
43150 * term/i386/pc/console.c (grub_console_getcolor): New function.
43151 (struct grub_console_term.getcolor): New variable.
43152 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
43153 (struct grub_console_term.getcolor): New variable.
43154
43155 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
43156 (struct grub_console_term.setcolor): Remove variable.
43157 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
43158 (struct grub_console_term.setcolor): Remove variable.
43159 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
43160 (struct grub_console_term.setcolor): Remove variable.
43161 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
43162 (struct grub_console_term.setcolor): Remove variable.
43163
43164 2007-12-25 Robert Millan <rmh@aybabtu.com>
43165
43166 * configure.ac: Search for possible unifont.hex locations, and
43167 define UNIFONT_HEX if found.
43168
43169 * Makefile.in (UNIFONT_HEX): Define variable.
43170 (DATA): Rename to ...
43171 (PKGLIB): ... this. Update all users.
43172 (PKGDATA): New variable.
43173 (pkgdata_IMAGES): Rename to ...
43174 (pkglib_IMAGES): ... this. Update all users.
43175 (pkgdata_MODULES): Rename to ...
43176 (pkglib_MODULES): ... this. Update all users.
43177 (pkgdata_PROGRAMS): Rename to ...
43178 (pkglib_PROGRAMS): ... this. Update all users.
43179 (pkgdata_DATA): Rename to ...
43180 (pkglib_DATA): ... this. Update all users.
43181 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
43182 (unicode.pff, ascii.pff): New rules.
43183 (all-local): Add `$(PKGDATA)' dependency.
43184 (install-local): Process `$(PKGDATA)'.
43185
43186 * util/update-grub_lib.in (font_path): Search for *.pff files in
43187 a few more locations, including `${pkgdata}'.
43188
43189 2007-12-23 Robert Millan <rmh@aybabtu.com>
43190
43191 Patch from Bean <bean123ch@gmail.com>:
43192 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
43193 `size'.
43194
43195 2007-12-21 Bean <bean123ch@gmail.com>
43196
43197 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
43198 (ntfscomp_mod_SOURCES): New variable.
43199 (ntfscomp_mod_CFLAGS): Likewise.
43200 (ntfscomp_mod_LDFLAGS): Likewise.
43201
43202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
43203 (grub_probe_SOURCES): Likewise.
43204 (grub_emu_SOURCES): Likewise.
43205
43206 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43207 (grub_emu_SOURCES): Likewise.
43208
43209 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43210 (grub_emu_SOURCES): Likewise.
43211
43212 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
43213 (grub_emu_SOURCES): Likewise.
43214
43215 * fs/ntfs.c (grub_ntfscomp_func): New variable.
43216 (read_run_list): Renamed to grub_ntfs_read_run_list.
43217 (decomp_nextvcn): Moved to ntfscomp.c.
43218 (decomp_getch): Likewise.
43219 (decomp_get16): Likewise.
43220 (decomp_block): Likewise.
43221 (read_block): Likewise.
43222 (read_data): Partially moved to ntfscomp.c.
43223 (fixup): Change unsigned to grub_uint16_t.
43224 (read_mft): Change unsigned long to grub_uint32_t.
43225 (read_attr): Likewise.
43226 (read_data): Likewise.
43227 (read_run_data): Likewise.
43228 (read_run_list): Likewise.
43229 (read_mft): Likewise.
43230
43231 * fs/ntfscomp.c: New file.
43232
43233 * include/grub/ntfs.h: New file.
43234
43235 2007-12-16 Robert Millan <rmh@aybabtu.com>
43236
43237 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
43238 IDE disk check, since Linux is known to support 20 IDE disks.
43239 Reported by Colin Watson.
43240
43241 2007-12-15 Bean <bean123ch@gmail.com>
43242
43243 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
43244 (lnxboot_img_SOURCES): New variable.
43245 (lnxboot_img_ASFLAGS): Likewise.
43246 (lnxboot_img_LDFLAGS): Likewise.
43247
43248 * boot/i386/pc/lnxboot.S: New file.
43249
43250 2007-11-24 Pavel Roskin <proski@gnu.org>
43251
43252 * configure.ac: Test if '--build-id=none' is supported by the
43253 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
43254 objcopy to generate incorrect binary files (binutils
43255 2.17.50.0.18-1 as shipped by Fedora 8).
43256 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
43257 linking, so that build ID doesn't break the test.
43258
43259 2007-11-24 Pavel Roskin <proski@gnu.org>
43260
43261 * include/grub/i386/time.h: use "void" in the argument list
43262 of grub_cpu_idle().
43263 * include/grub/powerpc/time.h: Likewise.
43264 * include/grub/sparc64/time.h: Likewise.
43265
43266 2007-11-18 Christian Franke <franke@computer.org>
43267
43268 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
43269 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
43270 This fixes the problem that function keys did not work in grub-emu.
43271
43272 2007-11-18 Christian Franke <franke@computer.org>
43273
43274 * disk/host.c (grub_host_open): Remove attribute unused from
43275 name parameter. Add check for "host". This fixes the problem
43276 that grub-emu does not find partitions.
43277
43278 2007-11-18 Christian Franke <franke@computer.org>
43279
43280 * util/hostfs.c (is_dir): New function.
43281 (grub_hostfs_dir): Handle missing dirent.d_type case.
43282 (grub_hostfs_read): Add missing fseek().
43283 (grub_hostfs_label): Clear label pointer. This fixes a crash
43284 of grub-emu on "ls (host)".
43285
43286 2007-11-18 Christian Franke <franke@computer.org>
43287
43288 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
43289 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
43290 to 64 bit boundary by default.
43291
43292 2007-11-18 Bean <bean123ch@gmail.com>
43293
43294 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
43295 (hexdump_mod_SOURCES): New variable.
43296 (hexdump_mod_CFLAGS): Likewise.
43297 (hexdump_mod_LDFLAGS): Likewise.
43298
43299 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43300
43301 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43302
43303 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43304
43305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
43306
43307 * include/grub/hexdump.h: New file.
43308
43309 * commands/hexdump.c: New file.
43310
43311 2007-11-10 Robert Millan <rmh@aybabtu.com>
43312
43313 * commands/i386/pc/play.c (beep_off): Switch order of arguments
43314 in grub_outb() calls.
43315 (beep_on): Likewise.
43316
43317 2007-11-10 Christian Franke <franke@computer.org>
43318
43319 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
43320 (grub_menu_run): Likewise.
43321
43322 2007-11-10 Robert Millan <rmh@aybabtu.com>
43323
43324 * include/grub/i386/efi/machine.h: New file.
43325 * include/grub/i386/linuxbios/machine.h: Likewise.
43326 * include/grub/i386/pc/machine.h: Likewise.
43327 * include/grub/powerpc/ieee1275/machine.h: Likewise.
43328 * include/grub/sparc64/ieee1275/machine.h: Likewise.
43329
43330 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
43331 (serial_hw_io_addr): New variable.
43332 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43333 instead of `(unsigned short *) 0x400'.
43334
43335 2007-11-10 Bean <bean123ch@gmail.com>
43336
43337 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43338
43339 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43340
43341 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43342 (vga_mod_SOURCES): Added.
43343 (vga_mod_CFLAGS): Likewise.
43344 (vga_mod_LDFLAGS): Likewise.
43345
43346 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43347 grub_outb() calls.
43348 (set_map_mask): Likewise.
43349 (set_read_map): Likewise.
43350 (set_read_address): Likewise.
43351 (vga_font): Removed variable.
43352 (get_vga_glyph): Removed function.
43353 (invalidate_char): Likewise.
43354 (write_char): Changed to use grub_font_get_glyph() for font
43355 information.
43356 (grub_vga_putchar): Likewise.
43357 (grub_vga_getcharwidth): Likewise.
43358
43359 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43360
43361 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43362 flags.
43363 (pxeboot_img_LDFLAGS): Likewise.
43364 (diskboot_img_LDFLAGS): Likewise.
43365 (kernel_img_LDFLAGS): Likewise.
43366
43367 2007-11-06 Robert Millan <rmh@aybabtu.com>
43368
43369 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43370 in grub_outb() calls.
43371 (serial_hw_init): Likewise.
43372
43373 2007-11-05 Robert Millan <rmh@aybabtu.com>
43374
43375 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43376 spaces. Skip non-regular files.
43377
43378 2007-11-05 Robert Millan <rmh@aybabtu.com>
43379
43380 * kern/disk.c (grub_disk_firmware_fini)
43381 (grub_disk_firmware_is_tainted): New variables.
43382
43383 * include/grub/disk.h (grub_disk_firmware_fini)
43384 (grub_disk_firmware_is_tainted): Likewise.
43385
43386 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43387 (grub_disk_biosdisk_fini): ... to here.
43388 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43389 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43390 is set. Register grub_disk_biosdisk_fini() in
43391 `grub_disk_firmware_fini'.
43392
43393 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43394 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43395 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43396 to finish existing firmware disk interface.
43397
43398 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43399 (ata_mod_SOURCES): New variable.
43400 (ata_mod_CFLAGS): Likewise.
43401 (ata_mod_LDFLAGS): Likewise.
43402
43403 2007-11-05 Robert Millan <rmh@aybabtu.com>
43404
43405 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43406 (grub_ata_wait): Reimplement using grub_millisleep().
43407
43408 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43409 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43410
43411 2007-11-03 Marco Gerards <marco@gnu.org>
43412
43413 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43414 (CRTC_ADDR_PORT): New macro.
43415 (CRTC_DATA_PORT): Likewise.
43416 (CRTC_CURSOR): Likewise.
43417 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43418 (CRTC_CURSOR_ADDR_LOW): Likewise.
43419 (update_cursor): New function.
43420 (grub_console_real_putchar): Call `update_cursor'.
43421 (grub_console_gotoxy): Likewise.
43422 (grub_console_cls): Set the default color when clearing the
43423 screen.
43424 (grub_console_setcursor): Implemented.
43425
43426 2007-11-03 Marco Gerards <marco@gnu.org>
43427
43428 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43429 become activate.
43430 (grub_ata_pio_write): Likewise.
43431
43432 (grub_atapi_identify): Wait after issuing an ATA command.
43433 (grub_atapi_packet): Likewise.
43434 (grub_ata_identify): Likewise.
43435 (grub_ata_readwrite): Likewise.
43436
43437 2007-11-03 Marco Gerards <marco@gnu.org>
43438
43439 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43440 (grub_ata_pio_write): Likewise.
43441 (grub_ata_readwrite): Use `grub_error', instead of
43442 returning `grub_errno'.
43443
43444 2007-11-03 Marco Gerards <marco@gnu.org>
43445
43446 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43447 grub_ata_pio_write once for every single sector, instead of for
43448 multiple sectors.
43449
43450 2007-10-31 Robert Millan <rmh@aybabtu.com>
43451
43452 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43453
43454 * conf/i386-linuxbios.rmk: New file.
43455
43456 * kern/i386/pc/hardware.c: Likewise.
43457 * term/i386/pc/at_keyboard.c: Likewise.
43458 * term/i386/pc/vga_text.c: Likewise.
43459
43460 * include/grub/i386/linuxbios/boot.h: Likewise.
43461 * include/grub/i386/linuxbios/console.h: Likewise.
43462 * include/grub/i386/linuxbios/init.h: Likewise.
43463 * include/grub/i386/linuxbios/kernel.h: Likewise.
43464 * include/grub/i386/linuxbios/loader.h: Likewise.
43465 * include/grub/i386/linuxbios/memory.h: Likewise.
43466 * include/grub/i386/linuxbios/serial.h: Likewise.
43467 * include/grub/i386/linuxbios/time.h: Likewise.
43468
43469 * kern/i386/linuxbios/init.c: Likewise.
43470 * kern/i386/linuxbios/startup.S: Likewise.
43471 * kern/i386/linuxbios/table.c: Likewise.
43472
43473 2007-10-31 Marco Gerards <marco@gnu.org>
43474
43475 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43476 (ata_mod_SOURCES): New variable.
43477 (ata_mod_CFLAGS): Likewise.
43478 (ata_mod_LDFLAGS): Likewise.
43479
43480 * disk/ata.c: New file.
43481
43482 * include/grub/disk.h (grub_disk_dev_id): Add
43483 `GRUB_DISK_DEV_ATA_ID'.
43484
43485 2007-10-31 Robert Millan <rmh@aybabtu.com>
43486
43487 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43488 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43489
43490 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43491 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43492
43493 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43494 `<grub/types.h>'.
43495
43496 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43497
43498 2007-10-27 Robert Millan <rmh@aybabtu.com>
43499
43500 * include/grub/types.h (ULONG_MAX): Define macro.
43501
43502 2007-10-22 Robert Millan <rmh@aybabtu.com>
43503
43504 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43505 `"../realmode.S"'.
43506 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43507
43508 2007-10-22 Robert Millan <rmh@aybabtu.com>
43509
43510 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43511 (pkgdata_MODULES): Add `biosdisk.mod'.
43512 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43513 variables.
43514
43515 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43516 (grub_biosdisk_init): Replace with ...
43517 (GRUB_MOD_INIT(biosdisk)): ... this.
43518 (grub_biosdisk_fini): Replace with ...
43519 (GRUB_MOD_FINI(biosdisk)): ... this.
43520
43521 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43522 (grub_machine_init): Remove call to grub_biosdisk_init().
43523 (grub_machine_fini): Remove call to grub_machine_fini().
43524
43525 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43526
43527 2007-10-22 Robert Millan <rmh@aybabtu.com>
43528
43529 * include/grub/time.h: New file.
43530 * include/grub/i386/time.h: Likewise.
43531 * include/grub/powerpc/time.h: Likewise.
43532 * include/grub/sparc64/time.h: Likewise.
43533
43534 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43535 instances to ...
43536 (KERNEL_MACHINE_TIME_HEADER): ... this.
43537 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43538 instances to ...
43539 (KERNEL_MACHINE_TIME_HEADER): ... this.
43540 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43541 instances to ...
43542 (KERNEL_MACHINE_TIME_HEADER): ... this.
43543
43544 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43545 (grub_millisleep): New function.
43546 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43547 (grub_millisleep): New function.
43548 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43549 Remove `grub/machine/time.h' include.
43550 (grub_millisleep): New function.
43551 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43552 Remove `grub/machine/time.h' include.
43553 (grub_millisleep): New function.
43554
43555 * include/grub/misc.h (grub_div_roundup): New function.
43556
43557 * kern/misc.c: Include `<grub/time.h>'.
43558 (grub_millisleep_generic): New function.
43559
43560 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43561 Add `time.h'.
43562 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43563 Add `time.h'.
43564 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43565 `machine/time.h'. Add `time.h'.
43566 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43567
43568 2007-10-21 Robert Millan <rmh@aybabtu.com>
43569
43570 * include/grub/misc.h (grub_max): New function.
43571
43572 2007-10-21 Robert Millan <rmh@aybabtu.com>
43573
43574 * util/misc.c (grub_util_info): Call fflush() before returning.
43575
43576 2007-10-20 Robert Millan <rmh@aybabtu.com>
43577
43578 * genmk.rb (Image): Copy `extra_flags' from here ...
43579 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43580
43581 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43582 to `argc' and `args' arguments.
43583
43584 2007-10-17 Robert Millan <rmh@aybabtu.com>
43585
43586 * kern/i386/loader.S: New file.
43587
43588 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43589 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43590 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43591 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43592 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43593 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43594 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43595 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43596 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43597 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43598 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43599 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43600 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43601 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43602
43603 * kern/i386/realmode.S: New file.
43604
43605 * kern/i386/pc/startup.S (protstack): Moved from here ...
43606 * kern/i386/realmode.S (protstack)... to here.
43607 * kern/i386/pc/startup.S (gdt): Moved from here ...
43608 * kern/i386/realmode.S (gdt)... to here.
43609 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43610 * kern/i386/realmode.S (prot_to_real)... to here.
43611
43612 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43613 `kern/i386/realmode.S'.
43614
43615 2007-10-17 Robert Millan <rmh@aybabtu.com>
43616
43617 * include/grub/i386/loader.h: New file.
43618
43619 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43620 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43621 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43622 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43623 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43624 * include/grub/i386/loader.h (grub_linux_prot_size)
43625 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43626 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43627 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43628 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43629
43630 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43631
43632 2007-10-15 Robert Millan <rmh@aybabtu.com>
43633
43634 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43635 filesystem when dev->disk is unset.
43636 Do probe for filesystem even when dev->disk->has_partitions is set.
43637 In case a filesystem is found, always report it.
43638 In case it isn't, if dev->disk->has_partitions is set, report that
43639 a partition table was found instead of reporting that no filesystem
43640 could be identified.
43641
43642 2007-10-12 Robert Millan <rmh@aybabtu.com>
43643
43644 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43645 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43646
43647 * include/grub/types.h (grub_host_to_target16): New macro.
43648 (grub_host_to_target32): Likewise.
43649 (grub_host_to_target64): Likewise.
43650 (grub_target_to_host16): Likewise.
43651 (grub_target_to_host32): Likewise.
43652 (grub_target_to_host64): Likewise.
43653
43654 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43655 Renamed from to ...
43656 (GRUB_MOD_ALIGN): ...this. Update all users.
43657
43658 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43659 grub_host_to_target32.
43660 Replace grub_be_to_cpu32 with grub_target_to_host32.
43661 (load_modules): Likewise.
43662 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43663 Replace grub_be_to_cpu32 with grub_target_to_host32.
43664 Replace grub_cpu_to_be16 with grub_host_to_target16.
43665 Replace grub_cpu_to_be32 grub_host_to_target32.
43666
43667 2007-10-12 Robert Millan <rmh@aybabtu.com>
43668
43669 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43670 * util/elf/grub-mkimage.c: ... here.
43671
43672 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43673 `util/powerpc/ieee1275/grub-mkimage.c'.
43674
43675 2007-10-07 Robert Millan <rmh@aybabtu.com>
43676
43677 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43678 and make it easier to figure out.
43679 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43680 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43681 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43682 leave us with less than HEAP_MIN_SIZE total heap.
43683 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
43684
43685 2007-10-03 Robert Millan <rmh@aybabtu.com>
43686
43687 * include/grub/i386/io.h: New file.
43688 * commands/i386/pc/play.c (inb): Removed.
43689 (outb): Removed.
43690 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43691 with grub_outb().
43692 * term/i386/pc/serial.c (inb): Removed.
43693 (outb): Removed.
43694 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43695 with grub_outb().
43696 * term/i386/pc/vga.c (inb): Removed.
43697 (outb): Removed.
43698 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43699 with grub_outb().
43700
43701 2007-10-02 Robert Millan <rmh@aybabtu.com>
43702
43703 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43705 Reported by Marcin Kurek.
43706
43707 2007-09-07 Robert Millan <rmh@aybabtu.com>
43708
43709 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43710 SmartFirmware version updates (as released by Sven Luther), and avoid
43711 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43712 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43713 known broken.
43714
43715 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43716
43717 From Hitoshi Ozeki:
43718 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43719 when merging two regions.
43720
43721 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43722
43723 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43724 * normal/completion.c (grub_normal_do_completion): Likewise.
43725 Reported by Hitoshi Ozeki.
43726
43727 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43728
43729 Do not use devices at boot in chainloading.
43730
43731 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43732 (boot_part_addr): Likewise.
43733 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43734 with BOOT_DRIVE and BOOT_PART_ADDR.
43735 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43736 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43737
43738 2007-08-29 Robert Millan <rmh@aybabtu.com>
43739
43740 Patch from Simon Peter <dn.tlp@gmx.net>:
43741 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43742 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43743 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43744 util/i386/pc/grub-setup.c_DEPENDENCIES.
43745 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43746 util/grub-probe.c_DEPENDENCIES.
43747 * conf/powerpc-ieee1275.rmk: Likewise.
43748
43749 2007-08-28 Robert Millan <rmh@aybabtu.com>
43750
43751 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43752 to tell grub-mkdevicemap how to name devices.
43753 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43754 feature).
43755
43756 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43757 util/i386/get_disk_name.c.
43758 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43759 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43760 util/ieee1275/get_disk_name.c.
43761
43762 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43763
43764 * DISTLIST: Add util/i386/get_disk_name.c and
43765 util/ieee1275/get_disk_name.c.
43766
43767 * util/grub-mkdevicemap.c: Replace device naming logic with
43768 grub_util_get_disk_name() calls.
43769
43770 2007-08-20 Robert Millan <rmh@aybabtu.com>
43771
43772 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43773 (so that it works for both plural and singular quantities).
43774
43775 2007-08-05 Robert Millan <rmh@aybabtu.com>
43776
43777 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43778 so that [xz] isn't taken into account when determining order.
43779
43780 2007-08-02 Marco Gerards <marco@gnu.org>
43781
43782 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43783 `include/multiboot2.h', `include/grub/elfload.h',
43784 `include/multiboot.h', `include/grub/multiboot.h',
43785 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43786 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43787 `kern/elf.c', `loader/multiboot_loader.c',
43788 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43789 `loader/i386/pc/multiboot2.c',
43790 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43791 `util/i386/pc/grub-mkrescue.in'. Remove
43792 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43793 `include/grub/i386/pc/util/biosdisk.h' and
43794 `include/grub/powerpc/ieee1275/multiboot.h'.
43795
43796 2007-08-02 Bean <bean123ch@gmail.com>
43797
43798 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43799 (ntfs_mod_SOURCES): New variable.
43800 (ntfs_mod_CFLAGS): Likewise.
43801 (ntfs_mod_LDFLAGS): Likewise.
43802
43803 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43804 (grub_probe_SOURCES): Likewise.
43805 (grub_emu_SOURCES): Likewise.
43806
43807 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43808 (grub_emu_SOURCES): Likewise.
43809
43810 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43811 (grub_emu_SOURCES): Likewise.
43812
43813 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43814
43815 * fs/ntfs.c: New file.
43816
43817 2007-08-02 Bean <bean123ch@gmail.com>
43818
43819 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43820
43821 * file.h (grub_file): Likewise.
43822
43823 * fshelp.h (grub_fshelp_read_file): Likewise.
43824
43825 * util/i386/pc/grub-setup.c (setup): Likewise.
43826 (save_first_sector): Likewise.
43827 (save_blocklists): Likewise.
43828
43829 * fs/affs.c (grub_affs_read_file): Likewise.
43830
43831 * fs/ext2.c (grub_ext2_read_file): Likewise.
43832
43833 * fs/fat.c (grub_fat_read_data): Likewise.
43834
43835 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43836
43837 * fs/hfs.c (grub_hfs_read_file): Likewise.
43838
43839 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43840
43841 * fs/jfs.c (grub_jfs_read_file): Likewise.
43842
43843 * fs/minix.c (grub_minix_read_file): Likewise.
43844
43845 * fs/sfs.c (grub_sfs_read_file): Likewise.
43846
43847 * fs/ufs.c (grub_ufs_read_file): Likewise.
43848
43849 * fs/xfs.c (grub_xfs_read_file): Likewise.
43850
43851 * command/blocklist.c (read_blocklist): Likewise.
43852 (print_blocklist): Likewise.
43853
43854 2007-08-02 Marco Gerards <marco@gnu.org>
43855
43856 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43857 `util/hostfs.c'.
43858
43859 * disk/host.c: New file.
43860
43861 * util/hostfs.c: Likewise.
43862
43863 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43864 return `GRUB_ERR_BAD_FS'.
43865 * fs/sfs.c (grub_sfs_mount): Likewise.
43866 * fs/xfs.c (grub_xfs_mount): Likewise.
43867
43868 * include/grub/disk.h (enum grub_disk_dev_id): Add
43869 `GRUB_DISK_DEVICE_HOST_ID'.
43870
43871 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43872
43873 2007-07-24 Jerone Young <jerone@gmail.com>
43874
43875 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
43876 modules for compilation.
43877 * conf/powerpc-ieee1275.rmk: Likewise.
43878
43879 * include/multiboot.h: Move multiboot definitions to one file. Rename
43880 many definitions to not get grub specific.
43881 * include/multiboot2.h: Create header with multiboot 2 definitions.
43882 * include/grub/multiboot.h: Header for grub specific function
43883 prototypes and definitions.
43884 * include/grub/multiboot2.h: Likewise.
43885 * include/grub/multiboot_loader.h: Likewise.
43886 * include/grub/i386/pc/multiboot.h: Removed.
43887 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43888
43889 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43890 and 2 to allow for one multiboot and module commands.
43891 * loader/multiboot2.c: Add multiboot2 functionality.
43892 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43893 and definition names.
43894 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43895 2 functions.
43896 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43897 ieee1275 specific multiboot2 code.
43898
43899 * kern/i386/pc/startup.S: Change headers and definition names for
43900 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43901
43902 2007-07-22 Robert Millan <rmh@aybabtu.com>
43903
43904 * geninitheader.sh: Process file specified in first parameter rather
43905 than hardcoding grub_modules_init.lst.
43906 * geninit.sh: Likewise. Also, construct header name dynamically rather
43907 than hardcoding grub_modules_init.h.
43908
43909 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43910 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43911 grub_probe_init.[ch] and grub_setup_init.[ch].
43912
43913 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43914 grub_modules_init.h with grub_emu_init.h.
43915 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43916 grub_probe_init.[ch] files.
43917 * conf/i386-efi.rmk: Likewise.
43918 * conf/i386-pc.rmk: Likewise.
43919 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43920 grub_setup_init.[ch] files.
43921
43922 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43923 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43924 to initialize modules rather than a list of hardcoded functions.
43925 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43926 grub_init_all() to initialize modules rather than a list of hardcoded
43927 functions.
43928
43929 2007-07-22 Robert Millan <rmh@aybabtu.com>
43930
43931 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43932 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43933
43934 2007-07-22 Robert Millan <rmh@aybabtu.com>
43935
43936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43937 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43938 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43939 flag when running on SmartFirmware.
43940 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43941 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43942 was set.
43943
43944 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43945 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43946 rather than decreasing it.
43947
43948 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43949 there's not enough space to do it, fail in the same way as when it
43950 can't be done because there are no partitions.
43951
43952 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43953 when nvsetenv failed.
43954
43955 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43956
43957 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43958 because this rule is automatically generated.
43959 (grub-mkrescue): Removed for the same reason as above.
43960
43961 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43962
43963 Migrate to GNU General Public License Version 3.
43964
43965 * COPYING: Replaced with the plain text version of GPLv3.
43966
43967 * config.guess: Updated from gnulib.
43968 * config.sub: Likewise.
43969
43970 * geninit.sh: Output a GPLv3 copyright notice.
43971 * geninitheader.sh: Likewise.
43972 * genmodsrc.sh: Likewise.
43973 * gensymlist.sh.in: Likewise.
43974
43975 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43976 * boot/i386/pc/diskboot.S: Likewise.
43977 * boot/i386/pc/pxeboot.S: Likewise.
43978 * commands/blocklist.c: Likewise.
43979 * commands/boot.c: Likewise.
43980 * commands/cat.c: Likewise.
43981 * commands/cmp.c: Likewise.
43982 * commands/configfile.c: Likewise.
43983 * commands/echo.c: Likewise.
43984 * commands/help.c: Likewise.
43985 * commands/ls.c: Likewise.
43986 * commands/search.c: Likewise.
43987 * commands/terminal.c: Likewise.
43988 * commands/test.c: Likewise.
43989 * commands/videotest.c: Likewise.
43990 * commands/i386/cpuid.c: Likewise.
43991 * commands/i386/pc/halt.c: Likewise.
43992 * commands/i386/pc/play.c: Likewise.
43993 * commands/i386/pc/reboot.c: Likewise.
43994 * commands/i386/pc/vbeinfo.c: Likewise.
43995 * commands/i386/pc/vbetest.c: Likewise.
43996 * commands/ieee1275/halt.c: Likewise.
43997 * commands/ieee1275/reboot.c: Likewise.
43998 * commands/ieee1275/suspend.c: Likewise.
43999 * disk/loopback.c: Likewise.
44000 * disk/lvm.c: Likewise.
44001 * disk/raid.c: Likewise.
44002 * disk/efi/efidisk.c: Likewise.
44003 * disk/i386/pc/biosdisk.c: Likewise.
44004 * disk/ieee1275/ofdisk.c: Likewise.
44005 * font/manager.c: Likewise.
44006 * fs/affs.c: Likewise.
44007 * fs/ext2.c: Likewise.
44008 * fs/fat.c: Likewise.
44009 * fs/fshelp.c: Likewise.
44010 * fs/hfs.c: Likewise.
44011 * fs/hfsplus.c: Likewise.
44012 * fs/iso9660.c: Likewise.
44013 * fs/jfs.c: Likewise.
44014 * fs/minix.c: Likewise.
44015 * fs/sfs.c: Likewise.
44016 * fs/ufs.c: Likewise.
44017 * fs/xfs.c: Likewise.
44018 * hello/hello.c: Likewise.
44019 * include/grub/acorn_filecore.h: Likewise.
44020 * include/grub/arg.h: Likewise.
44021 * include/grub/bitmap.h: Likewise.
44022 * include/grub/boot.h: Likewise.
44023 * include/grub/cache.h: Likewise.
44024 * include/grub/device.h: Likewise.
44025 * include/grub/disk.h: Likewise.
44026 * include/grub/dl.h: Likewise.
44027 * include/grub/elfload.h: Likewise.
44028 * include/grub/env.h: Likewise.
44029 * include/grub/err.h: Likewise.
44030 * include/grub/file.h: Likewise.
44031 * include/grub/font.h: Likewise.
44032 * include/grub/fs.h: Likewise.
44033 * include/grub/fshelp.h: Likewise.
44034 * include/grub/gzio.h: Likewise.
44035 * include/grub/hfs.h: Likewise.
44036 * include/grub/kernel.h: Likewise.
44037 * include/grub/loader.h: Likewise.
44038 * include/grub/lvm.h: Likewise.
44039 * include/grub/misc.h: Likewise.
44040 * include/grub/mm.h: Likewise.
44041 * include/grub/net.h: Likewise.
44042 * include/grub/normal.h: Likewise.
44043 * include/grub/parser.h: Likewise.
44044 * include/grub/partition.h: Likewise.
44045 * include/grub/pc_partition.h: Likewise.
44046 * include/grub/raid.h: Likewise.
44047 * include/grub/rescue.h: Likewise.
44048 * include/grub/script.h: Likewise.
44049 * include/grub/setjmp.h: Likewise.
44050 * include/grub/symbol.h: Likewise.
44051 * include/grub/term.h: Likewise.
44052 * include/grub/terminfo.h: Likewise.
44053 * include/grub/tparm.h: Likewise.
44054 * include/grub/types.h: Likewise.
44055 * include/grub/video.h: Likewise.
44056 * include/grub/efi/api.h: Likewise.
44057 * include/grub/efi/chainloader.h: Likewise.
44058 * include/grub/efi/console.h: Likewise.
44059 * include/grub/efi/console_control.h: Likewise.
44060 * include/grub/efi/disk.h: Likewise.
44061 * include/grub/efi/efi.h: Likewise.
44062 * include/grub/efi/pe32.h: Likewise.
44063 * include/grub/efi/time.h: Likewise.
44064 * include/grub/i386/linux.h: Likewise.
44065 * include/grub/i386/setjmp.h: Likewise.
44066 * include/grub/i386/types.h: Likewise.
44067 * include/grub/i386/efi/kernel.h: Likewise.
44068 * include/grub/i386/efi/loader.h: Likewise.
44069 * include/grub/i386/efi/time.h: Likewise.
44070 * include/grub/i386/pc/biosdisk.h: Likewise.
44071 * include/grub/i386/pc/boot.h: Likewise.
44072 * include/grub/i386/pc/chainloader.h: Likewise.
44073 * include/grub/i386/pc/console.h: Likewise.
44074 * include/grub/i386/pc/init.h: Likewise.
44075 * include/grub/i386/pc/kernel.h: Likewise.
44076 * include/grub/i386/pc/loader.h: Likewise.
44077 * include/grub/i386/pc/memory.h: Likewise.
44078 * include/grub/i386/pc/multiboot.h: Likewise.
44079 * include/grub/i386/pc/serial.h: Likewise.
44080 * include/grub/i386/pc/time.h: Likewise.
44081 * include/grub/i386/pc/vbe.h: Likewise.
44082 * include/grub/i386/pc/vbeblit.h: Likewise.
44083 * include/grub/i386/pc/vbefill.h: Likewise.
44084 * include/grub/i386/pc/vbeutil.h: Likewise.
44085 * include/grub/i386/pc/vga.h: Likewise.
44086 * include/grub/ieee1275/ieee1275.h: Likewise.
44087 * include/grub/ieee1275/ofdisk.h: Likewise.
44088 * include/grub/powerpc/libgcc.h: Likewise.
44089 * include/grub/powerpc/setjmp.h: Likewise.
44090 * include/grub/powerpc/types.h: Likewise.
44091 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
44092 * include/grub/powerpc/ieee1275/console.h: Likewise.
44093 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
44094 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
44095 * include/grub/powerpc/ieee1275/loader.h: Likewise.
44096 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
44097 * include/grub/powerpc/ieee1275/time.h: Likewise.
44098 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
44099 * include/grub/sparc64/libgcc.h: Likewise.
44100 * include/grub/sparc64/setjmp.h: Likewise.
44101 * include/grub/sparc64/types.h: Likewise.
44102 * include/grub/sparc64/ieee1275/console.h: Likewise.
44103 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44104 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44105 * include/grub/sparc64/ieee1275/time.h: Likewise.
44106 * include/grub/util/biosdisk.h: Likewise.
44107 * include/grub/util/getroot.h: Likewise.
44108 * include/grub/util/lvm.h: Likewise.
44109 * include/grub/util/misc.h: Likewise.
44110 * include/grub/util/raid.h: Likewise.
44111 * include/grub/util/resolve.h: Likewise.
44112 * io/gzio.c: Likewise.
44113 * kern/device.c: Likewise.
44114 * kern/disk.c: Likewise.
44115 * kern/dl.c: Likewise.
44116 * kern/elf.c: Likewise.
44117 * kern/env.c: Likewise.
44118 * kern/err.c: Likewise.
44119 * kern/file.c: Likewise.
44120 * kern/fs.c: Likewise.
44121 * kern/loader.c: Likewise.
44122 * kern/main.c: Likewise.
44123 * kern/misc.c: Likewise.
44124 * kern/mm.c: Likewise.
44125 * kern/parser.c: Likewise.
44126 * kern/partition.c: Likewise.
44127 * kern/rescue.c: Likewise.
44128 * kern/term.c: Likewise.
44129 * kern/efi/efi.c: Likewise.
44130 * kern/efi/init.c: Likewise.
44131 * kern/efi/mm.c: Likewise.
44132 * kern/i386/dl.c: Likewise.
44133 * kern/i386/efi/init.c: Likewise.
44134 * kern/i386/efi/startup.S: Likewise.
44135 * kern/i386/pc/init.c: Likewise.
44136 * kern/i386/pc/lzo1x.S: Likewise.
44137 * kern/i386/pc/startup.S: Likewise.
44138 * kern/ieee1275/ieee1275.c: Likewise.
44139 * kern/powerpc/cache.S: Likewise.
44140 * kern/powerpc/dl.c: Likewise.
44141 * kern/powerpc/ieee1275/cmain.c: Likewise.
44142 * kern/powerpc/ieee1275/crt0.S: Likewise.
44143 * kern/powerpc/ieee1275/init.c: Likewise.
44144 * kern/powerpc/ieee1275/openfw.c: Likewise.
44145 * kern/sparc64/cache.S: Likewise.
44146 * kern/sparc64/dl.c: Likewise.
44147 * kern/sparc64/ieee1275/init.c: Likewise.
44148 * kern/sparc64/ieee1275/openfw.c: Likewise.
44149 * loader/efi/chainloader.c: Likewise.
44150 * loader/efi/chainloader_normal.c: Likewise.
44151 * loader/i386/efi/linux.c: Likewise.
44152 * loader/i386/efi/linux_normal.c: Likewise.
44153 * loader/i386/pc/chainloader.c: Likewise.
44154 * loader/i386/pc/chainloader_normal.c: Likewise.
44155 * loader/i386/pc/linux.c: Likewise.
44156 * loader/i386/pc/linux_normal.c: Likewise.
44157 * loader/i386/pc/multiboot.c: Likewise.
44158 * loader/i386/pc/multiboot_normal.c: Likewise.
44159 * loader/powerpc/ieee1275/linux.c: Likewise.
44160 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44161 * normal/arg.c: Likewise.
44162 * normal/cmdline.c: Likewise.
44163 * normal/command.c: Likewise.
44164 * normal/completion.c: Likewise.
44165 * normal/execute.c: Likewise.
44166 * normal/function.c: Likewise.
44167 * normal/lexer.c: Likewise.
44168 * normal/main.c: Likewise.
44169 * normal/menu.c: Likewise.
44170 * normal/menu_entry.c: Likewise.
44171 * normal/misc.c: Likewise.
44172 * normal/parser.y: Likewise.
44173 * normal/script.c: Likewise.
44174 * normal/i386/setjmp.S: Likewise.
44175 * normal/powerpc/setjmp.S: Likewise.
44176 * normal/sparc64/setjmp.S: Likewise.
44177 * partmap/acorn.c: Likewise.
44178 * partmap/amiga.c: Likewise.
44179 * partmap/apple.c: Likewise.
44180 * partmap/gpt.c: Likewise.
44181 * partmap/pc.c: Likewise.
44182 * partmap/sun.c: Likewise.
44183 * term/gfxterm.c: Likewise.
44184 * term/terminfo.c: Likewise.
44185 * term/efi/console.c: Likewise.
44186 * term/i386/pc/console.c: Likewise.
44187 * term/i386/pc/serial.c: Likewise.
44188 * term/i386/pc/vesafb.c: Likewise.
44189 * term/i386/pc/vga.c: Likewise.
44190 * term/ieee1275/ofconsole.c: Likewise.
44191 * util/biosdisk.c: Likewise.
44192 * util/console.c: Likewise.
44193 * util/genmoddep.c: Likewise.
44194 * util/getroot.c: Likewise.
44195 * util/grub-emu.c: Likewise.
44196 * util/grub-mkdevicemap.c: Likewise.
44197 * util/grub-probe.c: Likewise.
44198 * util/lvm.c: Likewise.
44199 * util/misc.c: Likewise.
44200 * util/raid.c: Likewise.
44201 * util/resolve.c: Likewise.
44202 * util/update-grub.in: Likewise.
44203 * util/update-grub_lib.in: Likewise.
44204 * util/grub.d/00_header.in: Likewise.
44205 * util/grub.d/10_hurd.in: Likewise.
44206 * util/grub.d/10_linux.in: Likewise.
44207 * util/i386/efi/grub-install.in: Likewise.
44208 * util/i386/efi/grub-mkimage.c: Likewise.
44209 * util/i386/pc/grub-install.in: Likewise.
44210 * util/i386/pc/grub-mkimage.c: Likewise.
44211 * util/i386/pc/grub-mkrescue.in: Likewise.
44212 * util/i386/pc/grub-setup.c: Likewise.
44213 * util/i386/pc/misc.c: Likewise.
44214 * util/powerpc/ieee1275/grub-install.in: Likewise.
44215 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
44216 * util/powerpc/ieee1275/misc.c: Likewise.
44217 * video/bitmap.c: Likewise.
44218 * video/video.c: Likewise.
44219 * video/i386/pc/vbe.c: Likewise.
44220 * video/i386/pc/vbeblit.c: Likewise.
44221 * video/i386/pc/vbefill.c: Likewise.
44222 * video/i386/pc/vbeutil.c: Likewise.
44223 * video/readers/tga.c: Likewise.
44224
44225 2007-07-02 Robert Millan <rmh@aybabtu.com>
44226
44227 * conf/i386-efi.rmk: Replace obsolete reference to
44228 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
44229 with util/getroot.c.
44230 * conf/powerpc-ieee1275.rmk: Likewise.
44231 * conf/sparc64-ieee1275.rmk: Likewise.
44232
44233 * util/grub-emu.c (main): Fix unchecked pointer handling.
44234
44235 2007-07-02 Robert Millan <rmh@aybabtu.com>
44236
44237 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
44238 invocation to fail, in order to support partition-less media.
44239
44240 * util/i386/pc/grub-install.in: Likewise.
44241
44242 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
44243 which fs or partmap modules are needed (akin to its sister scripts).
44244
44245 Also use grub-probe to get rid of unportable /proc/mounts check.
44246
44247 Print the same informational message that the other scripts do, before
44248 exiting.
44249
44250 2007-06-23 Robert Millan <rmh@aybabtu.com>
44251
44252 * util/update-grub_lib.in (font_path): New function. Determine whether
44253 a font file can be found and, if so, echo the GRUB path to it.
44254
44255 * util/update-grub.in: Handle multiple terminals depending on user
44256 input, platform availability and font file presence. Propagate
44257 variables of our findings to /etc/grub.d/ children.
44258
44259 * util/grub.d/00_header.in: Handle multiple terminals, based on
44260 environment setup by update-grub.
44261
44262 2007-06-23 Robert Millan <rmh@aybabtu.com>
44263
44264 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
44265
44266 2007-06-21 Robert Millan <rmh@aybabtu.com>
44267
44268 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
44269 indicate end of data section in kernel image.
44270 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
44271 GRUB_KERNEL_MACHINE_DATA_END.
44272
44273 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
44274 space for it.
44275 * kern/i386/efi/startup.S: Likewise.
44276
44277 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
44278 during image generation. Implement --prefix option to override this
44279 patch.
44280 * util/i386/efi/grub-mkimage.c: Likewise.
44281
44282 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
44283 code to make path relative to its root into a separate function.
44284
44285 * util/i386/pc/grub-install.in: Use newly provided
44286 make_system_path_relative_to_its_root() to convert ${grubdir}, then
44287 pass the result to grub-install --prefix.
44288
44289 2007-06-13 Robert Millan <rmh@aybabtu.com>
44290
44291 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
44292 DEFAULT_DEVICE_MAP.
44293 * util/grub-emu.c: Use above definitions from misc.h instead of
44294 defining them.
44295 * util/grub-mkdevicemap.c: Likewise.
44296 * util/i386/pc/grub-setup.c: Likewise.
44297 * util/grub-probe.c: Likewise.
44298 (probe): Abort with grub_util_error() when either
44299 grub_guess_root_device or grub_util_get_grub_dev fails.
44300
44301 2007-06-12 Robert Millan <rmh@aybabtu.com>
44302
44303 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
44304 "pager" assignment.
44305 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
44306 "pcdata".
44307 * util/grub-probe.c (probe): Likewise for "drive_name".
44308
44309 2007-06-11 Robert Millan <rmh@aybabtu.com>
44310
44311 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
44312 not just the cdrom one.
44313
44314 2007-06-11 Robert Millan <rmh@aybabtu.com>
44315
44316 * util/i386/pc/grub-mkrescue.in: Add "set -e".
44317 Add --pkglibdir=DIR option to override pkglibdir.
44318 Mention --image-type=TYPE in help output.
44319 Fix --grub-mkimage (it was a no-op).
44320 Abort gracefully when no parameter is given.
44321
44322 2007-06-11 Robert Millan <rmh@aybabtu.com>
44323
44324 * util/i386/pc/grub-mkrescue.in: New file.
44325 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
44326 * Makefile.in: Handle bin_SCRIPTS.
44327
44328 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
44329
44330 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
44331 list of video modes.
44332
44333 2007-06-06 Robert Millan <rmh@aybabtu.com>
44334
44335 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44336 file doesn't exist, or if it is in a filesystem grub can't read.
44337
44338 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44339 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44340 header comment to fit in 80 columns when the variables are resolved.
44341
44342 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44343 could be identified by update-grub. Remove redundant check for
44344 unifont.pff existence (since convert_system_path_to_grub_path now
44345 handles that).
44346
44347 2007-06-04 Robert Millan <rmh@aybabtu.com>
44348
44349 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44350
44351 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44352
44353 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44354
44355 2007-06-04 Robert Millan <rmh@aybabtu.com>
44356
44357 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44358
44359 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44360 grub_apple_partition_map_fini.
44361
44362 * util/biosdisk.c
44363 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44364 to access >2 TiB disks).
44365
44366 Print disk->total_sectors with %llu instead of %lu, since this
44367 variable is always 64-bit (prevents wrong disk size from being displayed
44368 on either >2 TiB disk or big-endian CPU).
44369
44370 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44371 into a generic case that supports all (sane) partition maps.
44372
44373 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44374 breaks big-endian.
44375
44376 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44377 and grub_apple_partition_map_fini() after that.
44378
44379 2007-06-01 Robert Millan <rmh@aybabtu.com>
44380
44381 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44382
44383 * util/grub.d/00_header.in: Only enable gfxterm when
44384 convert_system_path_to_grub_path() succeeds.
44385
44386 2007-05-20 Robert Millan <rmh@aybabtu.com>
44387
44388 * util/update-grub_lib.in: New file.
44389 * DISTLIST: Add update-grub_lib.in.
44390 * conf/common.rmk: Generate update-grub_lib and install it in
44391 $(lib_DATA).
44392 * Makefile.in: Add install routine for $(lib_DATA).
44393
44394 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44395 function provided by update-grub_lib to support arbitrary paths of
44396 unifont.pff.
44397 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44398 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44399
44400 2007-05-19 Robert Millan <rmh@aybabtu.com>
44401
44402 * commands/i386/cpuid.c: New module.
44403 * DISTLIST: Add it.
44404 * conf/i386-efi.rmk: Enable cpuid.mod.
44405 * conf/i386-pc.rmk: Likewise.
44406
44407 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44408
44409 * kern/disk.c (grub_disk_read): Check return value of
44410 grub_realloc().
44411
44412 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44413
44414 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44415 arrays.
44416 * disk/raid.c (grub_raid_open): Likewise.
44417
44418 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44419
44420 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44421 stack instead of on the heap.
44422
44423 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44424 before doing a read on it.
44425
44426 * configure.ac: Only use -fno-stack-protector for the target
44427 environment.
44428
44429 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44430
44431 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44432 __attribute_ ((unused)) to mode_type argument.
44433
44434 * util/getroot.c (grub_guess_root_device): Fix #endif.
44435
44436 * kern/misc.c (memcmp): Fix prototype.
44437
44438 * include/grub/partition.h [GRUB_UTIL]
44439 (grub_gpt_partition_map_init): Add prototype.
44440 (grub_gpt_partition_map_fini): Likewise.
44441
44442 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44443 at the right place.
44444
44445 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44446 (grub_fat_read_data): Likewise.
44447 (grub_fat_find_dir): Likewise.
44448
44449 * font/manager.c (find_glyph): Make table a const.
44450 (grub_font_get_glyph): Remove bitmap from if statement.
44451
44452 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44453
44454 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44455 code, first search for device in /dev/mapper, then in /dev.
44456 (grub_util_get_grub_dev): New function.
44457 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44458 prototype.
44459 * util/grub-probe.c (probe): Remove check for RAID, call
44460 grub_util_get_grub_dev() instead of
44461 grub_util_biosdisk_get_grub_dev().
44462 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44463 grub_util_biosdisk_get_grub_dev().
44464 * util/i386/pc/grub-setup.c (main): Likewise.
44465
44466 2007-05-16 Robert Millan <rmh@aybabtu.com>
44467
44468 * DISTLIST: Update for the latest changes.
44469 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44470 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44471 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44472 grub/util/biosdisk.h.
44473 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44474 grub/util/biosdisk.h.
44475
44476 2007-05-16 Robert Millan <rmh@aybabtu.com>
44477
44478 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44479
44480 2007-05-16 Robert Millan <rmh@aybabtu.com>
44481
44482 * util/i386/efi/grub-install.in: New.
44483 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44484 newly added grub-install.
44485 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44486 include.
44487 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44488 grub/util/biosdisk.h.
44489 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44490 grub/util/biosdisk.h.
44491
44492 2007-05-16 Robert Millan <rmh@aybabtu.com>
44493
44494 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44495 * include/grub/util/biosdisk.h: ... here.
44496 * util/i386/pc/biosdisk.c: Moved to ...
44497 * util/biosdisk.c: ... here.
44498 * util/i386/pc/getroot.c: Moved to ...
44499 * util/getroot.c: ... here.
44500 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44501 * util/grub-mkdevicemap.c: ... here.
44502 * util/i386/pc/grub-probe.c: Moved to ...
44503 * util/grub-probe.c: ... here.
44504
44505 2007-05-15 Robert Millan <rmh@aybabtu.com>
44506
44507 * util/update-grub.in: Remove duplicated line in grub.cfg header
44508 message.
44509
44510 2007-05-13 Robert Millan <rmh@aybabtu.com>
44511
44512 * util/update-grub.in: Fix a few assumptions about the devices holding
44513 /, /boot and /boot/grub being the same.
44514 * util/grub.d/00_header.in: Likewise.
44515 * util/grub.d/10_hurd.in: Likewise.
44516 * util/grub.d/10_linux.in: Likewise.
44517
44518 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44519 patterns. Use that to define the `.old' suffix as older than `'.
44520
44521 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44522
44523 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44524 the grub.cfg header message.
44525
44526 2007-05-11 Robert Millan <rmh@aybabtu.com>
44527
44528 * util/update-grub.in: Create device.map if it doesn't already exist,
44529 before attempting to run grub-probe.
44530 Check for grub-probe and grub-mkdevicemap with the same code
44531 grub-install is using.
44532 Remove test mode.
44533
44534 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44535
44536 * Makefile.in: Add the datarootdir autoconf variable.
44537
44538 2007-05-09 Robert Millan <rmh@aybabtu.com>
44539
44540 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
44541 fail gracefully if dev->disk->partition == NULL.
44542
44543 2007-05-07 Robert Millan <rmh@aybabtu.com>
44544
44545 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44546 determine partition map module.
44547 * util/i386/pc/grub-install.in: Use this feature to decide which
44548 partition module to load, instead of hardcoding pc and gpt.
44549
44550 2007-05-07 Robert Millan <rmh@aybabtu.com>
44551
44552 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44553 source directory differs from build directory.
44554
44555 2007-05-05 Robert Millan <rmh@aybabtu.com>
44556
44557 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44558 initialisation.
44559
44560 2007-05-05 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44563
44564 2007-05-05 Robert Millan <rmh@aybabtu.com>
44565
44566 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44567 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44568
44569 2007-05-05 Robert Millan <rmh@aybabtu.com>
44570
44571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44572 (grub_probe_SOURCES): Likewise.
44573 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44574 GPT and initialize dos_part and bsd_part accordingly.
44575 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44576 install_bsd_part.
44577 (main): Activate gpt module for use during partition identification,
44578 and deactivate it afterwards.
44579 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44580 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44581 partition identification, and deactivate it afterwards.
44582
44583 2007-05-05 Robert Millan <rmh@aybabtu.com>
44584
44585 * term/i386/pc/console.c (grub_console_fini): Call
44586 grub_term_set_current() before grub_term_unregister().
44587
44588 2007-05-04 Robert Millan <rmh@aybabtu.com>
44589
44590 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44591 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44592 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44593 and update-grub_DATA.
44594 * conf/common.rmk: Build and install update-grub components.
44595 * conf/common.mk: Regenerate.
44596 * util/update-grub.in: New. Core of update-grub.
44597 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44598 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44599 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44600 * util/grub.d/README: New. Document grub.d directory layout.
44601
44602 2007-05-01 Robert Millan <rmh@aybabtu.com>
44603
44604 * util/grub-emu.c: Move initialization functions
44605 grub_util_biosdisk_init() and grub_init_all() before
44606 grub_util_biosdisk_get_grub_dev(), which relies on them.
44607
44608 2007-04-19 Robert Millan <rmh@aybabtu.com>
44609
44610 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44611 it is used later.
44612
44613 2007-04-18 Jerone Young <jerone@gmail.com>
44614
44615 * kernel/elf.c: Add missing parenthesis for conditional statement
44616 stanza.
44617
44618 2007-04-10 Jerone Young <jerone@gmail.com>
44619
44620 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44621 continue on and look for device node with real device name.
44622
44623 2007-04-10 Jerone Young <jerone@gmail.com>
44624
44625 * configure.ac: Add argument for autoconf to use transformation
44626 ability.
44627 * Makefile.in: Add autoconf package transformation code.
44628 * util/i386/pc/grub-install.in: Likewise.
44629 * util/powerpc/ieee1275/grub-install.in: Likewise.
44630
44631 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44632
44633 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44634 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44635 (EXT2_REVISION): Likewise.
44636 (EXT2_INODE_SIZE): Likewise.
44637 (struct grub_ext2_block_group): Added a missing member
44638 "used_dirs".
44639 (grub_ext2_read_inode): Divide by the inode size in a superblock
44640 instead of 128 to obtain INODES_PER_BLOCK.
44641 Use the macro EXT2_INODE_SIZE instead of directly using
44642 SBLOCK->INODE_SIZE.
44643
44644 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44645
44646 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44647 superblock instead of the structure size to compute an
44648 offset. This fixes the problem that GRUB could not read a
44649 filesystem when inode size is different from 128-byte.
44650
44651 2007-03-05 Marco Gerards <marco@gnu.org>
44652
44653 * normal/main.c (read_config_file): When "menu" is not set, create
44654 an initial context.
44655
44656 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44657
44658 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44659 (HEAP_LIMIT): New macro.
44660 (grub_claim_heap): Claim memory up to `heaplimit'.
44661
44662 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44663
44664 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44665 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44666 (_start): Likewise.
44667 (grub_arch_modules_addr): Return address after `_end'.
44668 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44669 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44670 (add_segments): Calculate `_end' from phdr size and location.
44671 (ALIGN_UP): Moved to ...
44672 * include/grub/misc.h: here.
44673 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44674 New macro.
44675 (GRUB_IEEE1275_MODULE_BASE): Removed.
44676
44677 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44678
44679 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44680 loop boundary.
44681
44682 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44683
44684 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44685 All users updated.
44686 (grub_elf64_load_hook_t): Likewise.
44687 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44688 debug output.
44689
44690 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44691
44692 * kern/mm.c: Update copyright.
44693 (grub_mm_debug): Correct syntax error.
44694 (grub_mm_dump_free): New function.
44695 (grub_debug_free): Call `grub_free'.
44696 * include/grub/mm.h: Update copyright.
44697 (grub_mm_dump_free): Add declaration.
44698
44699 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44700
44701 * include/grub/ieee1275/ieee1275.h: Update copyright.
44702 * kern/powerpc/ieee1275/init.c: Likewise.
44703 * kern/powerpc/ieee1275/openfw.c: Likewise.
44704
44705 * loader/powerpc/ieee1275/linux.c: Likewise.
44706 * include/grub/elfload.h: Likewise.
44707 * kern/elf.c: Likewise.
44708 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44709 callers.
44710 (grub_elf64_load): Likewise.
44711 (grub_elf32_load_segment): Move to a nested function.
44712 (grub_elf64_load_segment): Likewise.
44713
44714 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44715
44716 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44717 prototype.
44718 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44719 (grub_heap_len): Likewise.
44720 (HEAP_SIZE): New macro.
44721 (grub_claim_heap): New function.
44722 (grub_machine_init): Don't claim heap directly. Call
44723 `grub_claim_heap'.
44724 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44725 (grub_available_iterate): New function.
44726
44727 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44728
44729 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44730 * configure.ac: Use it for testing the HOST and TARGET compilers.
44731
44732 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44733
44734 * Makefile.in (enable_grub_emu): New variable.
44735 * configure.ac (--enable-grub-emu): New option.
44736 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44737 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44738 * conf/i386-pc.rmk: Likewise.
44739 * conf/powerpc-ieee1275.rmk: Likewise.
44740 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44741
44742 2006-12-12 Marco Gerards <marco@gnu.org>
44743
44744 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44745
44746 * kern/env.c (grub_env_unset): Don't free the member `value' when
44747 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44748 pointer.
44749
44750 * normal/main.c (current_menu): Removed.
44751 (free_menu): Unset the `menu' environment variable.
44752 (grub_normal_menu_addentry): Make use of the environment variable
44753 `menu', instead of using the global `current_menu'. Allocate
44754 memory for the sourcecode of this entry.
44755 (read_config_file): New argument `nested', changed all callers.
44756 Only in the case of a new context, initialize a new menu. Set the
44757 `menu' environment variable.
44758 (grub_normal_execute): Don't set and unset the environment
44759 variable `menu' here anymore. Only free the menu when leaving the
44760 context.
44761
44762 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44763 leak.
44764
44765 2006-12-11 Marco Gerards <marco@gnu.org>
44766
44767 * normal/menu_entry.c (run): Fix off by one bug so the last line
44768 is executed. Move the loader check to outside the loop.
44769
44770 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44771
44772 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44773
44774 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44775
44776 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44777 the number of sectors. Reported by Andrey Shuvikov
44778 <mr_hyro@yahoo.com>.
44779
44780 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44781
44782 * kern/disk.c (grub_disk_read): When there is a read error, always
44783 try to read only the necessary data.
44784
44785 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44786 disk/raid.c.
44787 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44788 prototype.
44789 [GRUB_UTIL] (grub_raid_fini): Likewise.
44790 [GRUB_UTIL] (grub_lvm_init): Likewise.
44791 [GRUB_UTIL] (grub_lvm_fini): Likewise.
44792 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44793 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44794 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44795 and grub_raid_fini().
44796
44797 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44798
44799 * include/grub/types.h (__unused): Rename to UNUSED.
44800 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44801 (grub_elf64_size): Likewise.
44802
44803 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44804
44805 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44806 grub_error_push and grub_error_pop in the error-handling path.
44807 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44808 length.
44809
44810 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44811
44812 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44813 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44815 (kernel_elf_SOURCES): Likewise.
44816 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44817 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44818 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44819 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44820 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44821 (elf_mod_SOURCES): New variable.
44822 (elf_mod_CFLAGS): Likewise.
44823 (elf_mod_LDFLAGS): Likewise.
44824 * include/grub/types.h (__unused): New macro.
44825 * include/grub/elfload.h: New file.
44826 * kern/elf.c: Likewise.
44827 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44828 (ELF32_LOADMASK): New macro.
44829 (ELF64_LOADMASK): Likewise.
44830 (vmlinux): Removed.
44831 (grub_linux_load32): New function.
44832 (grub_linux_load64): Likewise.
44833 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44834 Use grub_elf_t instead of grub_file_t.
44835
44836 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44837
44838 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44839 `catch_result' to struct set_color_args.
44840
44841 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44842
44843 * normal/menu.c: Include grub/script.h.
44844 * normal/menu_entry.c: Likewise.
44845 * include/grub/normal.h: Do not include grub/script.h.
44846
44847 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44848
44849 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44850
44851 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44852
44853 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44854 disk.
44855 (grub_disk_close): Print debug messages when closing a disk.
44856 (grub_disk_read): Print debug messages when disk read fails.
44857 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44858 filesystem type.
44859 * kern/partition.c: Include misc.h.
44860 (grub_partition_iterate): Print debug messages when detecting
44861 partition type.
44862
44863 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44864
44865 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44866 is negative.
44867 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44868
44869 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44870
44871 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44872 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44873
44874 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44875
44876 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44877 instead of sizeof(lv). Patch by Michael Guntsche.
44878
44879 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44880
44881 * disk/lvm.c: Rename VGS to VG_LIST.
44882 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44883 (grub_lvm_open): Likewise.
44884 Thanks to Michael Guntsche for finding this bug.
44885
44886 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44887
44888 * configure.ac (AC_INIT): Bumped to 1.95.
44889
44890 2006-10-14 Robert Millan <rmh@aybabtu.com>
44891
44892 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44893 with "/dev/.static/dev/md".
44894
44895 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44896
44897 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44898 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44899 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44900 DRIVE_NAME are always freed.
44901
44902 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44903 DOS_PART, as a DOS partition is counted from one instead of zero
44904 now. Reported by Robert Millan.
44905
44906 2006-10-14 Robert Millan <rmh@aybabtu.com>
44907
44908 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44909 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44910 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44911 string returned by grub_guess_root_device.
44912 * util/i386/pc/grub-setup.c: Likewise.
44913 * util/i386/pc/grub-probefs.c: Likewise.
44914
44915 * util/i386/pc/grub-probefs.c: Rename to ...
44916 * util/i386/pc/grub-probe.c: ... this.
44917 * DISTLIST: Remove grub-probefs, add grub-probe.
44918 * conf/i386-efi.rmk: Likewise.
44919 * conf/i386-pc.rmk: Likewise.
44920 * util/i386/pc/grub-install.in: Likewise.
44921
44922 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44923 choose which information we want to print.
44924
44925 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44926
44927 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44928 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44929 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44930 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44931 video/readers/tga.c and video/i386/pc/vbeutil.c.
44932
44933 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44934
44935 Added support for RAID and LVM.
44936
44937 * disk/lvm.c: New file.
44938 * disk/raid.c: Likewise.
44939 * include/grub/lvm.h: Likewise.
44940 * include/grub/raid.h: Likewise.
44941 * include/grub/util/lvm.h: Likewise.
44942 * include/grub/util/raid.h: Likewise.
44943 * util/lvm.c: Likewise.
44944 * util/raid.c: Likewise.
44945
44946 * include/grub/disk.h (grub_disk_dev_id): Add
44947 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44948 (grub_disk_get_size): New prototype.
44949 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44950 returns a partition.
44951 (grub_disk_get_size): New function.
44952
44953 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44954 verbatim if grub_install_dos_part is -2.
44955
44956 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44957 and LVM devices.
44958
44959 * util/i386/pc/grub-setup.c (setup): New argument
44960 MUST_EMBED. Force embedding of GRUB when the argument is
44961 true. Close FILE before returning.
44962 (main): Add support for RAID and LVM.
44963
44964 * conf/common.rmk: Add RAID and LVM modules.
44965 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44966 util/lvm.c.
44967 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44968
44969 * kern/misc.c (grub_strstr): New function.
44970 * include/grub/misc.h (grub_strstr): New prototype.
44971
44972 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44973
44974 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44975
44976 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44977
44978 * kern/misc.c (grub_strtoull): Guess the base only if not
44979 specified.
44980
44981 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
44982
44983 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44984 PowerMac support.
44985
44986 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
44987
44988 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44989
44990 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44991 Remove `flags' argument. All callers changed.
44992 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44993 (IEEE1275_IHANDLE_INVALID): New variable.
44994 (IEEE1275_CELL_INVALID): New variable.
44995 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44996 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44997 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44998 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44999 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
45000 codes from Open Firmware. All callers updated.
45001 (grub_ieee1275_next_property): Directly return Open Firmware return
45002 code.
45003 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45004 Standardize error checking from `grub_ieee1275_get_property'.
45005 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
45006 `devalias' to `aliases'. Correct comments. Consolidate error paths.
45007
45008 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
45009
45010 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
45011 `instance_to_package_args' to `instance_to_path_args'.
45012
45013 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
45014 `grub_ieee1275_chosen'.
45015
45016 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
45017 `grub_ieee1275_interpret'.
45018
45019 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
45020
45021 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
45022
45023 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
45024
45025 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
45026 (__cmpdi): Likewise.
45027
45028 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
45029 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
45030 `grub_ssize_t'.
45031
45032 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
45033
45034 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
45035 to type `grub_ssize_t'.
45036 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
45037
45038 2006-09-22 Marco Gerards <marco@gnu.org>
45039
45040 * normal/script.c (grub_script_create_cmdmenu): Skip leading
45041 newlines.
45042
45043 2006-09-22 Marco Gerards <marco@gnu.org>
45044
45045 * commands/echo.c: New file.
45046
45047 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
45048
45049 * conf/common.rmk (echo_mod_SOURCES): New variable.
45050 (echo_mod_CFLAGS): Likewise.
45051 (echo_mod_LDFLAGS): Likewise.
45052
45053 2006-09-22 Marco Gerards <marco@gnu.org>
45054
45055 * normal/main.c (get_line): Malloc memory instead of using
45056 preallocated memory. Removed the arguments `cmdline' and
45057 `max_len'. Updated all callers.
45058
45059 2006-09-22 Marco Gerards <marco@gnu.org>
45060
45061 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
45062 (normal_mod_DEPENDENCIES): Likewise.
45063
45064 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
45065 (normal_mod_DEPENDENCIES): Likewise.
45066
45067 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
45068
45069 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
45070
45071 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
45072 programs.
45073 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
45074 (normal_mod_DEPENDENCIES): Likewise.
45075 * conf/i386-pc.mk: Regenerate.
45076 * conf/i386-efi.mk: Likewise
45077 * conf/common.mk: Likewise.
45078 * conf/powerpc-ieee1275.mk: Likewise.
45079 * conf/sparc64-ieee1275.mk: Likewise.
45080
45081 2006-09-22 Robert Millan <rmh@aybabtu.com>
45082
45083 Sync with i386 version.
45084 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
45085 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
45086
45087 2006-09-21 Robert Millan <rmh@aybabtu.com>
45088
45089 Import from GRUB Legacy (lib/device.c):
45090 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
45091 (init_device_map) [__linux__]: Add support for I2O devices.
45092
45093 2006-09-14 Marco Gerards <marco@gnu.org>
45094
45095 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
45096 `-melf_i386'.
45097
45098 2006-09-14 Robert Millan <rmh@aybabtu.com>
45099
45100 * util/i386/pc/grub-install.in: Skip menu.lst when removing
45101 /boot/grub/*.lst.
45102
45103 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
45104
45105 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
45106 before adding it to device.map.
45107
45108 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
45109
45110 * genmk.rb: Let GCC generate dependencies the first time it
45111 compiles a file; using the -MD option.
45112 * conf/common.mk: Regenerate.
45113 * conf/i386-pc.mk: Likewise.
45114 * conf/i386-efi.mk: Likewise.
45115 * conf/powerpc-ieee1275.mk: Likewise.
45116 * conf/sparc64-ieee1275.mk: Likewise.
45117
45118 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
45119
45120 Move the prototypes of grub_setjmp and grub_longjmp to
45121 cpu/setjmp.h, so that each architecture may specify different
45122 attributes.
45123
45124 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
45125 (grub_longjmp): Likewise.
45126 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
45127 (grub_longjmp): Likewise.
45128 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
45129 (grub_longjmp): Likewise.
45130
45131 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
45132 [!GRUB_UTIL] (grub_longjmp): Removed.
45133
45134 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
45135
45136 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
45137 "color!" method does not return any value.
45138
45139 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45140
45141 * include/grub/bitmap.h: New file.
45142
45143 * include/grub/i386/pc/vbeutil.h: Likewise.
45144
45145 * video/bitmap.c: Likewise.
45146
45147 * video/readers/tga.c: Likewise.
45148
45149 * video/i386/pc/vbeutil.c: Likewise.
45150
45151 * commands/videotest.c: Code cleanup and updated to reflect to new
45152 video API.
45153
45154 * term/gfxterm.c: Likewise.
45155
45156 * video/video.c: Likewise.
45157
45158 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
45159 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
45160 (bitmap_mod_SOURCES): New entry.
45161 (bitmap_mod_CFLAGS): Likewise.
45162 (bitmap_mod_LDFLAGS): Likewise.
45163 (tga_mod_SOURCES): Likewise.
45164 (tga_mod_CFLAGS): Likewise.
45165 (tga_mod_LDFLAGS): Likewise.
45166
45167 * include/grub/video.h (grub_video_blit_operators): New enum type.
45168 (grub_video_render_target): Changed as forward declaration and moved
45169 actual definition to be video driver specific.
45170 (grub_video_adapter.blit_bitmap): Added blitting operator.
45171 (grub_video_adapter.blit_render_target): Likewise.
45172 (grub_video_blit_bitmap): Likewise.
45173 (grub_video_blit_render_target): Likewise.
45174
45175 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
45176 driver specific render target definition.
45177 (grub_video_vbe_map_rgba): Added driver internal helper.
45178 (grub_video_vbe_unmap_color): Updated to use
45179 grub_video_i386_vbeblit_info.
45180 (grub_video_vbe_get_video_ptr): Likewise.
45181
45182 * include/grub/i386/pc/vbeblit.h
45183 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
45184 grub_video_i386_vbeblit_info.
45185 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
45186 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
45187 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
45188 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
45189 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
45190 (grub_video_i386_vbeblit_index_index): Likewise.
45191 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
45192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
45193 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
45194 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
45195 operator.
45196 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
45197 operator.
45198
45199 * video/i386/pc/vbeblit.c: Updated to reflect changes on
45200 include/grub/i386/pc/vbeblit.h.
45201
45202 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
45203 Updated to use grub_video_i386_vbeblit_info.
45204 (grub_video_i386_vbefill_R8G8B8): Likewise.
45205 (grub_video_i386_vbefill_index): Likewise.
45206 (grub_video_i386_vbefill): Added generic filler.
45207
45208 * video/i386/pc/vbefill.c: Updated to reflect changes on
45209 include/grub/i386/pc/vbefill.h.
45210
45211 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
45212 grub_video_i386_vbeblit_info.
45213 (grub_video_vbe_unmap_color): Likewise.
45214 (grub_video_vbe_blit_glyph): Likewise.
45215 (grub_video_vbe_scroll): Likewise.
45216 (grub_video_vbe_draw_pixel): Removed function.
45217 (grub_video_vbe_get_pixel): Likewise.
45218 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
45219 updated code to use it.
45220 (common_blitter): Added common blitter for render target and bitmap.
45221 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
45222 (grub_video_vbe_blit_render_target): Likewise.
45223
45224 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
45225
45226 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
45227 is in text mode if there is no console control protocol instance
45228 available.
45229
45230 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45231
45232 * include/grub/video.h: Code cleanup.
45233
45234 * include/grub/i386/pc/vbe.h: Likewise.
45235
45236 * video/i386/pc/vbe.c: Likewise.
45237
45238 * video/i386/pc/vbeblit.c: Likewise.
45239
45240 * video/i386/pc/vbefill.c: Likewise.
45241
45242 * video/video.c: Likewise. Also added more comments.
45243
45244 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
45245
45246 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
45247 (struct grub_biosdisk_dap): Likewise.
45248
45249 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
45250 linkage settings for all functions.
45251
45252 2006-07-12 Marco Gerards <marco@gnu.org>
45253
45254 * configure.ac (--enable-mm-debug): Fix typo.
45255
45256 * genkernsyms.sh.in: Use proper quoting for `CC'.
45257
45258 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
45259
45260 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
45261 (normal_mod_ASFLAGS): Remove "-m32".
45262
45263 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
45264
45265 * util/misc.c: Include config.h.
45266 [!HAVE_MEMALIGN]: Do not include malloc.h.
45267 (grub_memalign): Use posix_memalign, if present. Then, use
45268 memalign, if present. Otherwise, emit an error.
45269
45270 * util/grub-emu.c: Do not include malloc.h.
45271
45272 * include/grub/util/misc.h: Include unistd.h. This is required for
45273 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
45274 D. Eades III <hde@foobar-qux.org>.
45275
45276 * configure.ac (AC_GNU_SOURCE): Added.
45277 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
45278 type.
45279
45280 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
45281
45282 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
45283 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
45284
45285 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
45286
45287 * include/grub/types.h (grub_host_addr_t): Rename to
45288 grub_target_addr_t.
45289 (grub_host_off_t): Rename to grub_target_off_t.
45290 (grub_host_size_t): Rename to grub_target_size_t.
45291 (grub_host_ssize_t): Rename to grub_target_ssize_t.
45292 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
45293
45294 * include/grub/kernel.h (struct grub_module_header): Change type
45295 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
45296 (grub_module_info): Likewise.
45297
45298 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45299
45300 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
45301 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
45302 Velazquez <jesus.velazquez@gmail.com>.
45303
45304 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 Count partitions from 1 instead of 0 in the string representation
45307 of partitions. Still use 0-based internally.
45308
45309 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
45310 (sun_partition_map_iterate): Use grub_partition_t instead of
45311 struct grub_partition *. Cast DESC->START_CYLINDER to
45312 grub_uint64_t after converting the endian.
45313 (sun_partition_map_probe): Subtract 1 for PARTNUM.
45314 (sun_partition_map_get_name): Add 1 to P->INDEX.
45315
45316 * partmap/pc.c (grub_partition_parse): Subtract 1 for
45317 PCDATA->DOS_PART.
45318 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
45319
45320 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
45321 zero instead of one.
45322 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
45323 (gpt_partition_map_get_name): Add 1 into P->INDEX.
45324
45325 * partmap/apple.c (apple_partition_map_iterate): Change the type
45326 of POS to unsigned.
45327 (apple_partition_map_probe): Subtract 1 for PARTNUM.
45328 (apple_partition_map_get_name): Add 1 into P->INDEX.
45329
45330 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
45331 of POS to unsigned.
45332 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45333 calculate the offset of a partition.
45334 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45335 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45336
45337 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45338 SECTOR to grub_disk_addr_t.
45339 (acorn_partition_map_iterate): Likewise.
45340 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45341 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45342 top.
45343 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45344
45345 * kern/i386/pc/init.c (make_install_device): Add 1 into
45346 GRUB_INSTALL_DOS_PART.
45347
45348 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45349 conditional.
45350
45351 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45352
45353 Clean up the code to support 64-bit addressing in disks and
45354 files. This change is not enough for filesystems yet.
45355
45356 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45357 type of "start" to grub_uint64_t.
45358 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45359 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45360 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45361 convert addresses.
45362
45363 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45364 to grub_disk_addr_t.
45365
45366 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45367 string.
45368
45369 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45370
45371 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45372 to char *.
45373
45374 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45375
45376 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45377
45378 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45379
45380 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45381 to grub_off_t, to detect an error from grub_file_seek.
45382 (grub_multiboot_load_elf32): Likewise.
45383
45384 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45385 maximum unsigned long value when an overflow is detected.
45386 (grub_strtoull): New function.
45387 (grub_divmod64): Likewise.
45388 (grub_lltoa): use grub_divmod64.
45389
45390 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45391 grub_disk_addr_t.
45392 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45393 the pointer to next character. Use grub_strtoull instead of
45394 grub_strtoul.
45395 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45396 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45397 respectively.
45398
45399 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
45400 return value is signed.
45401 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45402 test if OFFSET is less than zero, as OFFSET is unsigned now.
45403
45404 * kern/disk.c (struct grub_disk_cache): Change the type of
45405 "sector" to grub_disk_addr_t.
45406 (grub_disk_cache_get_index): Change the type of SECTOR to
45407 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45408 unsigned after shifting.
45409 (grub_disk_cache_invalidate): Change the type of SECTOR to
45410 grub_disk_addr_t.
45411 (grub_disk_cache_unlock): Likewise.
45412 (grub_disk_cache_store): Likewise.
45413 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45414 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45415 grub_disk_addr_t and grub_uint64_t, respectively.
45416 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45417 body, as the value of OFFSET is tweaked by
45418 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45419 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45420 respectively.
45421 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45422 body, as the value of OFFSET is tweaked by
45423 grub_disk_check_range. Change the types of LEN and N to
45424 grub_size_t.
45425
45426 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45427 and "saved_offset" to grub_off_t.
45428 (test_header): Cast BUF to char *.
45429 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45430 to char *.
45431 (grub_gzio_read): Change the types of OFFSET and SIZE to
45432 grub_off_t and grub_size_t, respectively.
45433
45434 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45435 Removed.
45436 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45437 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45438 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45439 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45440 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45441
45442 * include/grub/types.h (grub_off_t): Unconditionally set to
45443 grub_uint64_t.
45444 (grub_disk_addr_t): Changed to grub_uint64_t.
45445
45446 * include/grub/partition.h (struct grub_partition): Change the
45447 types of "start", "len" and "offset" to grub_disk_addr_t,
45448 grub_uint64_t and grub_disk_addr_t, respectively.
45449 (grub_partition_get_start): Return grub_disk_addr_t.
45450 (grub_partition_get_len): Return grub_uint64_t.
45451
45452 * include/grub/misc.h (grub_strtoull): New prototype.
45453 (grub_divmod64): Likewise.
45454
45455 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45456 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45457 grub_off_t, respectively.
45458 All callers and references changed.
45459
45460 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45461 grub_size_t in "read".
45462 All callers and references changed.
45463
45464 * include/grub/file.h (struct grub_file): Change the types of
45465 "offset" and "size" to grub_off_t and grub_off_t,
45466 respectively. Change the type of SECTOR to grub_disk_addr_t in
45467 "read_hook".
45468 (grub_file_read): Change the type of LEN to grub_size_t.
45469 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45470 grub_off_t.
45471 (grub_file_size): Return grub_off_t.
45472 (grub_file_tell): Likewise.
45473 All callers and references changed.
45474
45475 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45476 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45477 "write".
45478 (struct grub_disk): Change the type of "total_sectors" to
45479 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
45480 "read_hook".
45481 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45482 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45483 (grub_disk_write): Likewise.
45484 All callers and references changed.
45485
45486 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45487 char * for grub_strncmp to silence gcc.
45488 (grub_iso9660_mount): Likewise.
45489 (grub_iso9660_mount): Likewise.
45490 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45491 return statement.
45492 (grub_iso9660_iterate_dir): Likewise.
45493 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45494
45495 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45496 LEN to grub_disk_addr_t and grub_size_t, respectively.
45497
45498 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45499
45500 * fs/jfs.c (grub_jfs_read_file): Likewise.
45501
45502 * fs/minix.c (grub_jfs_read_file): Likewise.
45503
45504 * fs/sfs.c (grub_jfs_read_file): Likewise.
45505
45506 * fs/ufs.c (grub_jfs_read_file): Likewise.
45507
45508 * fs/xfs.c (grub_jfs_read_file): Likewise.
45509
45510 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45511 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45512 respectively.
45513
45514 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45515 BLKNR to -1 instead of returning GRUB_ERRNO.
45516 (grub_ext2_read_file): Change the types of SECTOR and
45517 LEN to grub_disk_addr_t and grub_size_t, respectively.
45518
45519 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45520 LEN to grub_disk_addr_t and grub_size_t, respectively.
45521
45522 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45523 grub_file_read.
45524
45525 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45526 string. Do not cast SECTOR explicitly.
45527
45528 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45529 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45530 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45531 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45532 over 2TB and LBA mode is not supported, raise an error.
45533 (get_safe_sectors): New function.
45534 (grub_biosdisk_read): Use get_safe_sectors.
45535 (grub_biosdisk_write): Likewise.
45536
45537 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45538 (grub_efidisk_write): Likewise.
45539
45540 * disk/loopback.c (delete_loopback): Cosmetic changes.
45541 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45542 correctly.
45543 (grub_loopback_open): Likewise.
45544 (grub_loopback_read): Likewise. Also, change the type of POS to
45545 grub_off_t, and fix the usage of grub_memset.
45546
45547 * commands/i386/pc/play.c: Include grub/machine/time.h.
45548
45549 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45550 print FILE->SIZE.
45551
45552 * commands/configfile.c: Include grub/env.h.
45553
45554 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45555 GRUB_ERRNO directly instead. Change the type of POS to
45556 grub_off_t. Follow the coding standard.
45557
45558 * commands/blocklist.c: Include grub/partition.h.
45559 (grub_cmd_blocklist): Return an error if the underlying device is
45560 not a disk. Take the starting sector of a partition into account,
45561 if a partition is used.
45562
45563 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45564 a length field.
45565 (lba_mode): Support 64-bit addresses.
45566 (chs_mode): Likewise.
45567 (copy_buffer): Adapted to the new offsets of a length field and a
45568 segment field.
45569 (blocklist_default_start): Allocate 64-bit space.
45570
45571 * boot/i386/pc/boot.S (force_lba): Removed.
45572 (boot_drive): Moved to under KERNEL_SECTOR.
45573 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
45574 space.
45575 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45576 is useless.
45577 (lba_mode): Refactored to support a 64-bit address. More size
45578 optimization.
45579 (setup_sectors): Likewise.
45580
45581 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45582
45583 * DISTLIST: Added include/grub/i386/linux.h. Removed
45584 include/grub/i386/pc/linux.h
45585
45586 * configure.ac (AC_INIT): Bumped to 1.94.
45587
45588 * config.guess: Updated from gnulib.
45589 * config.sub: Likewise.
45590 * install-sh: Likewise.
45591 * mkinstalldirs: Likewise.
45592
45593 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45594
45595 * conf/common.rmk (grub_modules_init.lst): Depended on
45596 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45597 MODSRCFILES.
45598
45599 * genmk.rb (PModule::rule): Reverted the previous change.
45600
45601 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45602
45603 * conf/common.rmk (grub_modules_init.lst): Depends on
45604 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45605 that the target does not exist before producing.
45606 (grub_modules_init.h): Remove the target before generating.
45607 (grub_emu_init.c): Likewise.
45608
45609 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45610
45611 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45612
45613 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45614 for the target-specific tests. Make sure that we also have the
45615 up-to-date target variables for those tests.
45616
45617 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45618
45619 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45620 (PModule::rule): Likewise.
45621
45622 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45623
45624 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45625 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45626 target-specific flags should be prefixed.
45627 (PModule::rule): Likewise.
45628
45629 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45630
45631 * configure.ac (CMP): Check if cmp is available explicitly.
45632
45633 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45634
45635 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45636 (target_cpu): New variable.
45637 (pkglibdir): Use target_cpu instead of host_cpu.
45638
45639 * util/i386/pc/grub-install.in (host_cpu): Removed.
45640 (target_cpu): New variable.
45641 (pkglibdir): Use target_cpu instead of host_cpu.
45642
45643 * util/genmoddep.c: Removed.
45644
45645 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45646 instead of GRUB_HOST_SIZEOF_VOID_P.
45647 * kern/dl.c: Likewise.
45648
45649 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45650 ...
45651 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45652 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45653 (GRUB_TARGET_SIZEOF_LONG): ... this.
45654 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45655 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45656 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45657 to ...
45658 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45659 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45660 (GRUB_TARGET_SIZEOF_LONG): ... this.
45661 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45662 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45663 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45664 to ...
45665 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45666 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45667 (GRUB_TARGET_SIZEOF_LONG): ... this.
45668 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45669 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45670
45671 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45672 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45673 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45674 instead of GRUB_HOST_SIZEOF_LONG.
45675 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45676 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45677 GRUB_CPU_WORDS_BIGENDIAN.
45678 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45679 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45680 grub_host_ssize_t.
45681
45682 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45683 (genmoddep_SOURCES): Likewise.
45684 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45685 (genmoddep_SOURCES): Likewise.
45686 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45687 (genmoddep_SOURCES): Likewise.
45688 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45689 Likewise.
45690 (genmoddep_SOURCES): Likewise.
45691
45692 * genmoddep.awk: New file.
45693
45694 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45695 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45696 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45697 (PModule::rule): Likewise.
45698 (Program::rule): Likewise.
45699 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45700 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45701 respectively.
45702
45703 * configure.ac: Rewritten intensively to use host and target
45704 instead of build and host, respectively.
45705
45706 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45707 (host_cpu): Removed.
45708 (target_cpu): New variable.
45709 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45710 (BUILD_CC): Removed.
45711 (BUILD_CFLAGS): Likewise.
45712 (BUILD_CPPFLAGS): Likewise.
45713 (TARGET_CC): New variable.
45714 (TARGET_CFLAGS): Likewise.
45715 (TARGET_CPPFLAGS): Likewise.
45716 (TARGET_LDFLAGS): Likewise.
45717 (AWK): Likewise.
45718 (include): Use target_cpu instead of host_cpu.
45719 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
45720
45721 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45722
45723 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45724
45725 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45726 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45727 field 'false' to 'exec_on_false'.
45728 (grub_script_create_cmdif): Renamed argument names to reflect above
45729 changes.
45730
45731 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45732
45733 * normal/script.c (grub_script_create_cmdif): Likewise.
45734
45735 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45736
45737 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45738 top.
45739 (grub_hfsplus_btree_recptr): Likewise.
45740 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45741 FILEBLOCK both to pass a block number and store next block
45742 number.
45743 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45744 overflow file correctly. Specify errors appropriately, because
45745 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45746 grub_hfsplus_btree_recptr to get the pointer to a found key.
45747 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45748 is found.
45749
45750 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45751 linux.mod.
45752 (_linux_mod_SOURCES): New variable.
45753 (_linux_mod_CFLAGS): Likewise.
45754 (_linux_mod_LDFLAGS): Likewise.
45755 (linux_mod_SOURCES): Likewise.
45756 (linux_mod_CFLAGS): Likewise.
45757 (linux_mod_LDFLAGS): Likewise.
45758
45759 * DISTLIST: Added loader/i386/efi/linux.c,
45760 loader/i386/efi/linux_normal.c and
45761 include/grub/i386/efi/loader.h.
45762
45763 * loader/i386/efi/linux.c: New file.
45764 * loader/i386/efi/linux_normal.c: Likewise.
45765 * include/grub/i386/efi/loader.h: Likewise.
45766
45767 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45768
45769 * commands/blocklist.c: New file.
45770
45771 * DISTLIST: Added commands/blocklist.c.
45772
45773 * term/efi/console.c (grub_console_highlight_color): Use a lighter
45774 color for the background, and a darker color for the foreground.
45775 (grub_console_checkkey): Return READ_KEY.
45776 (grub_console_cls): Set the background to
45777 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45778
45779 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45780
45781 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45782 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45783
45784 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45785 prototype.
45786
45787 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45788 BG. The spec is wrong again.
45789
45790 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45791 prototype.
45792 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45793
45794 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45795 commands/blocklist.c.
45796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45797
45798 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45799 (blocklist_mod_SOURCES): New variable.
45800 (blocklist_mod_CFLAGS): Likewise.
45801 (blocklist_mod_LDFLAGS): Likewise.
45802
45803 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45804
45805 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45806 duplication.
45807 (lba_mode): Use %eax more intensively to reduce the code size.
45808
45809 2006-05-20 Marco Gerards <marco@gnu.org>
45810
45811 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45812
45813 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45814 for `menuentry'.
45815 (script): Accept leading newlines.
45816 (newlines): New rule to describe 0 or more newlines.
45817 (commands): Accept `command' with trailing newline. Fixed the
45818 order in which arguments were passed to `grub_script_add_cmd'.
45819 Accept commands separated by newlines.
45820 (function): Changed to accept newlines.
45821 (menuentry) Rewritten.
45822
45823 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45824 front of the list, instead of to the end.
45825
45826 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45827
45828 * util/i386/pc/grub-install.in (bindir): New variable.
45829 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45830 Shaver <lbgwjl@gmail.com>.
45831
45832 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45833
45834 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45835 grub/machine/linux.h
45836 * loader/i386/pc/linux.c: Likewise.
45837
45838 * include/grub/i386/pc/linux.h: Moved to ...
45839 * include/grub/i386/linux.h: ... here.
45840
45841 * include/grub/i386/linux.h (struct linux_kernel_params): New
45842 struct.
45843
45844 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45845
45846 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45847 checking.
45848 (grub_video_vbe_blit_glyph): Likewise.
45849 (grub_video_vbe_blit_bitmap): Likewise.
45850 (grub_video_vbe_blit_render_target): Likewise.
45851
45852 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45853
45854 * configure.ac (--with-platform): Properly quote the square
45855 brackets.
45856
45857 2006-05-08 Marco Gerards <marco@gnu.org>
45858
45859 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45860 this...
45861 (kernel_elf_HEADERS): ...to this. Updated all users.
45862 (grubof_symlist.c): Renamed from this...
45863 (kernel_elf_symlist.c): ...to this. Updated all users.
45864 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45865 (grubof_SOURCES): Renamed from this...
45866 (kernel_elf_SOURCES): ...to this.
45867 (grubof_HEADERS): Renamed from this...
45868 (kernel_elf_HEADERS): ...to this.
45869 (grubof_CFLAGS): Renamed from this...
45870 (kernel_elf_CFLAGS): ...to this.
45871 (grubof_ASFLAGS): Renamed from this...
45872 (kernel_elf_ASFLAGS): ...to this.
45873 (grubof_LDFLAGS): Renamed from this...
45874 (kernel_elf_LDFLAGS): ...to this.
45875
45876 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45877 this...
45878 (kernel_elf_HEADERS): ...to this. Updated all users.
45879 (grubof_symlist.c): Renamed from this...
45880 (kernel_elf_symlist.c): ...to this. Updated all users.
45881 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45882 (grubof_SOURCES): Renamed from this...
45883 (kernel_elf_SOURCES): ...to this.
45884 (grubof_HEADERS): Renamed from this...
45885 (kernel_elf_HEADERS): ...to this.
45886 (grubof_CFLAGS): Renamed from this...
45887 (kernel_elf_CFLAGS): ...to this.
45888 (grubof_ASFLAGS): Renamed from this...
45889 (kernel_elf_ASFLAGS): ...to this.
45890 (grubof_LDFLAGS): Renamed from this...
45891 (kernel_elf_LDFLAGS): ...to this.
45892
45893 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45894 `kernel.elf' instead of `grubof'.
45895
45896 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45897
45898 Add --with-platform to configure. Use pkglibdir instead of
45899 pkgdatadir. This is reported by Roger Leigh.
45900
45901 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45902 (host_vendor): Likewise.
45903 (host_os): Likewise.
45904 (pkgdatadir): Likewise.
45905 (platform): New variable.
45906 (pkglibdir): Likewise.
45907 Use PKGLIBDIR instead of PKGDATADIR.
45908
45909 * util/i386/pc/grub-install.in (datadir): Removed.
45910 (host_vendor): Likewise.
45911 (host_os): Likewise.
45912 (pkgdatadir): Likewise.
45913 (platform): New variable.
45914 (pkglibdir): Likewise.
45915 Use PKGLIBDIR instead of PKGDATADIR.
45916
45917 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45918 instead of GRUB_DATADIR.
45919 (main): Likewise.
45920 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45921 (main): Likewise.
45922 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45923 (main): Likewise.
45924
45925 * configure.ac (--with-platform): New option.
45926 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45927
45928 * Makefile.in: Include a makefile based on PLATFORM instead of
45929 HOST_VENDOR.
45930 (pkgdatadir): Not appended by the machine type.
45931 (pkglibdir): Appended by the machine type.
45932 (host_vendor): Removed.
45933 (platform): New variable.
45934 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45935 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45936 (uninstall): Likewise.
45937
45938 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45939
45940 Use the environment context in the menu. Remove the commands
45941 "default" and "timeout", and use variables instead.
45942
45943 * normal/menu.c: Include grub/env.h.
45944 (print_entry): Cast TITLE to silence gcc.
45945 (get_timeout): New function.
45946 (set_timeout): Likewise.
45947 (get_entry_number): Likewise.
45948 (run_menu): Use a default entry, a fallback entry and a timeout
45949 in the environment variables "default", "fallback" and
45950 "timeout". Also, tweak the default entry if it is not within the
45951 current menu entries.
45952 (grub_menu_run): Use a fallback entry in the environment variable
45953 "fallback".
45954
45955 * normal/main.c (read_config_file): Do not initialize
45956 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45957 NEWMENU->TIMEOUT.
45958 (grub_normal_execute): Use a data slot to store the menu.
45959
45960 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45961 fallback_entry and timeout.
45962 (struct grub_menu_list): Removed.
45963 (grub_menu_list_t): Likewise.
45964 (struct grub_context): Likewise.
45965 (grub_context_t): Likewise.
45966 (grub_context_get): Likewise.
45967 (grub_context_get_current_menu): Likewise.
45968 (grub_context_push_menu): Likewise.
45969 (grub_context_pop_menu): Likewise.
45970 (grub_default_init): Likewise.
45971 (grub_default_fini): Likewise.
45972 (grub_timeout_init): Likewise.
45973 (grub_timeout_fini): Likewise.
45974
45975 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45976 and timeout.mod.
45977 (normal_mod_SOURCES): Removed normal/context.c.
45978
45979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45980 commands/default.c, commands/timeout.c and normal/context.c.
45981 (normal_mod_SOURCES): Removed normal/context.c.
45982
45983 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45984 commands/timeout.c and normal/context.c.
45985 (normal_mod_SOURCES): Removed normal/context.c.
45986
45987 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45988 commands/default.c, commands/timeout.c and normal/context.c.
45989 (normal_mod_SOURCES): Removed normal/context.c.
45990
45991 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45992 timeout.mod.
45993 (default_mod_SOURCES): Removed.
45994 (default_mod_CFLAGS): Likewise.
45995 (default_mod_LDFLAGS): Likewise.
45996 (timeout_mod_SOURCES): Removed.
45997 (timeout_mod_CFLAGS): Likewise.
45998 (timeout_mod_LDFLAGS): Likewise.
45999
46000 * DISTLIST: Removed commands/default.c, commands/timeout.c and
46001 normal/context.c.
46002
46003 * commands/default.c: Removed.
46004 * commands/timeout.c: Likewise.
46005 * normal/context.c: Likewise.
46006
46007 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
46008
46009 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
46010
46011 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
46012
46013 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
46014 "next" to "prev" for readability.
46015 (struct grub_env_sorted_var): New struct.
46016 (grub_env_context): Renamed to ...
46017 (initial_context): ... this.
46018 (grub_env_var_context): Renamed to ...
46019 (current_context): ... this.
46020 (grub_env_find): Look only at CURRENT_CONTEXT.
46021 (grub_env_context_open): Rewritten to copy exported variables from
46022 previous context.
46023 (grub_env_context_close): Rewritten according to the new
46024 scheme. Also, add an assertion to prevent the initial context from
46025 removed.
46026 (grub_env_insert): Removed the code for the sorted list.
46027 (grub_env_remove): Likewise.
46028 (grub_env_export): Simply mark the variable with
46029 GRUB_ENV_VAR_GLOBAL.
46030 (grub_env_set): A cosmetic change for naming consistency.
46031 (grub_env_get): Likewise.
46032 (grub_env_unset): Likewise.
46033 (grub_env_iterate): Rewritten to sort variables within this
46034 function.
46035 (grub_register_variable_hook): Fixed for naming consistency. Call
46036 grub_env_find again, only if NAME is not found at the first time.
46037 (mangle_data_slot_name): New function.
46038 (grub_env_set_data_slot): Likewise.
46039 (grub_env_get_data_slot): Likewise.
46040 (grub_env_unset_data_slot): Likewise.
46041
46042 * include/grub/env.h (grub_env_var_type): New enum.
46043 (GRUB_ENV_VAR_LOCAL): New constant.
46044 (GRUB_ENV_VAR_GLOBAL): Likewise.
46045 (GRUB_ENV_VAR_DATA): Likewise.
46046 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
46047 "type".
46048 (grub_env_set): Replace VAR with NAME for consistency.
46049 (grub_register_variable_hook): Likewise.
46050 (grub_env_export): Specify the name of the argument.
46051 (grub_env_set_data_slot): New prototype.
46052 (grub_env_get_data_slot): Likewise.
46053 (grub_env_unset_data_slot): Likewise.
46054
46055 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46056
46057 Extend the loader so that GRUB can accept a loader which comes
46058 back to GRUB when a loaded image exits. Also, this change adds
46059 support for a chainloader on EFI.
46060
46061 * term/efi/console.c: Include grub/misc.h.
46062 (grub_console_checkkey): Display a scan code on the top for
46063 debugging. This will be removed once the EFI port gets stable.
46064 Correct the scan code mapping.
46065
46066 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
46067 allocate memory from larger regions, in order to reduce the number
46068 of allocated regions. Otherwise, the MacOSX loader panics.
46069 (filter_memory_map): Avoid less than 1MB for compatibility with
46070 other loaders.
46071 (add_memory_regions): Allocate from the tail of a region, if
46072 possible, to avoid allocating a region near to 1MB, for the MacOSX
46073 loader.
46074
46075 * kern/efi/init.c (grub_efi_set_prefix): Specify
46076 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
46077
46078 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
46079 argument IMAGE_HANDLE and specify it to get a loaded image.
46080 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
46081 grub_efi_get_loaded_image.
46082 (grub_efi_get_filename): Divide the length by the size of
46083 grub_efi_char16_t.
46084 (grub_efi_get_device_path): New function.
46085 (grub_efi_print_device_path): Print End Device Path nodes. Divide
46086 the length by the size of grub_efi_char16_t for a file path device
46087 path node.
46088
46089 * kern/loader.c (grub_loader_noreturn): New variable.
46090 (grub_loader_set): Accept a new argument NORETURN. Set
46091 GRUB_LOADER_NORETURN to NORETURN.
46092 All callers changed.
46093 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
46094 grub_machine_fini.
46095
46096 * include/grub/efi/efi.h (grub_efi_get_device_path): New
46097 prototype.
46098 (grub_efi_get_loaded_image): Take an argument to specify an image
46099 handle.
46100
46101 * include/grub/loader.h (grub_loader_set): Added one more argument
46102 NORETURN.
46103
46104 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
46105 instead of grub_efi_open_protocol.
46106 (grub_efidisk_get_device_name): Likewise.
46107 (grub_efidisk_close): Print a newline.
46108 (grub_efidisk_get_device_handle): Fixed to use
46109 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
46110 GRUB_EFI_DEVICE_PATH_TYPE.
46111
46112 * disk/efi/efidisk.c (device_path_guid): Moved to ...
46113 * kern/efi/efi.c (device_path_guid): ... here.
46114
46115 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
46116 chain.mod.
46117 (kernel_mod_HEADERS): Added efi/disk.h.
46118 (_chain_mod_SOURCES): New variable.
46119 (_chain_mod_CFLAGS): Likewise.
46120 (_chain_mod_LDFLAGS): Likewise.
46121 (chain_mod_SOURCES): Likewise.
46122 (chain_mod_CFLAGS): Likewise.
46123 (chain_mod_LDFLAGS): Likewise.
46124
46125 * DISTLIST: Added include/grub/efi/chainloader.h,
46126 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
46127
46128 * include/grub/efi/chainloader.h: New file.
46129 * loader/efi/chainloader.c: Likewise.
46130 * loader/efi/chainloader_normal.c: Likewise.
46131
46132 2006-04-30 Marco Gerards <marco@gnu.org>
46133
46134 * commands/configfile.c (grub_cmd_source): New function.
46135 (GRUB_MOD_INIT): Register the commands `source' and `.'.
46136 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
46137
46138 2006-04-30 Marco Gerards <marco@gnu.org>
46139
46140 * normal/execute.c (grub_script_execute_cmd): Change the return
46141 type to `grub_err_t'. Correctly return the error.
46142 (grub_script_execute_cmdline): In case a command line is not a
46143 command or a function, try to interpret it as an assignment.
46144
46145 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
46146
46147 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
46148 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
46149 skip a node whose name is obviously invalid as UTF-16,
46150 i.e. contains a NUL character. Stop the iteration when the last
46151 directory entry is found. Instead of using the return value of
46152 grub_hfsplus_btree_iterate_node, store the value in RET and use
46153 it, because the iterator can be stopped by the last directory
46154 entry.
46155
46156 2006-04-30 Marco Gerards <marco@gnu.org>
46157
46158 * include/grub/env.h (grub_env_export): New prototype. Reported
46159 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
46160
46161 2006-04-30 Marco Gerards <marco@gnu.org>
46162
46163 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
46164 size of the extents in a catalog file record.
46165
46166 2006-04-29 Marco Gerards <marco@gnu.org>
46167
46168 * commands/configfile.c (grub_cmd_configfile): Execute the
46169 configfile within its own context.
46170
46171 * include/grub/env.h (grub_env_context_open): New prototype.
46172 (grub_env_context_close): Likewise.
46173
46174 * kern/env.c (grub_env): Removed.
46175 (grub_env_sorted): Likewise.
46176 (grub_env_context): New variable.
46177 (grub_env_var_context): Likewise.
46178 (grub_env_find): Search both the active context and the global
46179 context.
46180 (grub_env_context_open): New function.
46181 (grub_env_context_close): Likewise.
46182 (grub_env_insert): Likewise.
46183 (grub_env_remove): Likewise.
46184 (grub_env_export): Likewise.
46185 (grub_env_set): Changed to use helper functions to avoid code
46186 duplication.
46187 (grub_env_iterate): Rewritten so both the current context and the
46188 global context are being used.
46189
46190 * normal/command.c (export_command): New function.
46191 (grub_command_init): Register the `export' function.
46192
46193 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
46194
46195 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
46196 explicitly to suppress gcc's warnings.
46197 * fs/fat.c (grub_fat_find_dir): Likewise.
46198 (grub_fat_label): Likewise.
46199 * fs/xfs.c (grub_xfs_read_inode): Likewise.
46200 (grub_xfs_mount): Likewise.
46201 (grub_xfs_label): Likewise.
46202 * fs/affs.c (grub_affs_mount): Likewise.
46203 (grub_affs_label): Likewise.
46204 (grub_affs_iterate_dir): Likewise.
46205 * fs/sfs.c (grub_sfs_mount): Likewise.
46206 (grub_sfs_iterate_dir): Likewise.
46207 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
46208 * fs/hfs.c (grub_hfs_mount): Likewise.
46209 (grub_hfs_cmp_catkeys): Likewise.
46210 (grub_hfs_find_dir): Likewise.
46211 (grub_hfs_dir): Likewise.
46212 (grub_hfs_label): Likewise.
46213 * fs/jfs.c (grub_jfs_mount): Likewise.
46214 (grub_jfs_opendir): Likewise.
46215 (grub_jfs_getent): Likewise.
46216 (grub_jfs_lookup_symlink): Likewise.
46217 (grub_jfs_label): Likewise.
46218 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
46219 (grub_hfsplus_iterate_dir): Likewise.
46220 (grub_hfsplus_btree_iterate_node): Made static.
46221
46222 * util/grub-emu.c (prefix): New variable.
46223 (grub_machine_set_prefix): New function.
46224 (main): Do not set the environment variable "prefix" here. Only
46225 set PREFIX, which is used later by grub_machine_set_prefix.
46226
46227 * include/grub/video.h: Do not include grub/symbol.h.
46228 (grub_video_register): Not exported. This symbol is not defined in
46229 the kernel.
46230 (grub_video_unregister): Likewise.
46231 (grub_video_iterate): Likewise.
46232 (grub_video_setup): Likewise.
46233 (grub_video_restore): Likewise.
46234 (grub_video_get_info): Likewise.
46235 (grub_video_get_blit_format): Likewise.
46236 (grub_video_set_palette): Likewise.
46237 (grub_video_get_palette): Likewise.
46238 (grub_video_set_viewport): Likewise.
46239 (grub_video_get_viewport): Likewise.
46240 (grub_video_map_color): Likewise.
46241 (grub_video_map_rgb): Likewise.
46242 (grub_video_map_rgba): Likewise.
46243 (grub_video_fill_rect): Likewise.
46244 (grub_video_blit_glyph): Likewise.
46245 (grub_video_blit_bitmap): Likewise.
46246 (grub_video_blit_render_target): Likewise.
46247 (grub_video_scroll): Likewise.
46248 (grub_video_swap_buffers): Likewise.
46249 (grub_video_create_render_target): Likewise.
46250 (grub_video_delete_render_target): Likewise.
46251 (grub_video_set_active_render_target): Likewise.
46252
46253 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
46254 Undefined.
46255 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
46256
46257 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
46258 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46259 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46260 instead of $(srcdir)/genkernsyms.sh.
46261
46262 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
46263 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46264 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46265 instead of $(srcdir)/genkernsyms.sh.
46266
46267 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
46268 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46269 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46270 instead of $(srcdir)/genkernsyms.sh.
46271
46272 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
46273 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
46274 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
46275 instead of $(srcdir)/genkernsyms.sh.
46276
46277 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
46278 genkernsyms.sh.
46279
46280 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
46281 genkernsyms.sh.
46282 (gensymlist.sh): New target.
46283 (genkernsyms.sh): Likewise.
46284
46285 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
46286 genkernsyms.sh.in and gensymlist.sh.in.
46287
46288 * genkernsyms.sh: Removed.
46289 * gensymlist.sh: Likewise.
46290
46291 * genkernsyms.sh.in: New file.
46292 * gensymlist.sh.in: Likewise.
46293
46294 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46295
46296 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
46297 clobber "prefix", since we may have already set it manually.
46298
46299 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
46300
46301 * kern/misc.c (abort): New alias for grub_abort.
46302
46303 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
46304
46305 A new machine-specific function "grub_machine_set_prefix" is
46306 defined. This is called after loading modules, so that a prefix
46307 initialization can use modules. Also, this change adds an
46308 intensive debugging feature for the memory manager via the
46309 configure option "--enable-mm-debug".
46310
46311 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
46312 PART.LEN.
46313
46314 * kern/sparc64/ieee1275/init.c (abort): Removed.
46315 (grub_stop): Likewise.
46316 (grub_exit): New function.
46317 (grub_set_prefix): Renamed to ...
46318 (grub_machine_set_prefix): ... this.
46319 (grub_machine_init): Do not call grub_set_prefix.
46320
46321 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
46322 (grub_machine_set_prefix): ... this.
46323 (grub_machine_init): Do not call grub_set_prefix.
46324
46325 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
46326 (grub_machine_init): Do not set the prefix here.
46327
46328 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
46329
46330 * kern/efi/init.c: Include grub/mm.h.
46331 (grub_efi_set_prefix): New function.
46332
46333 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46334 (grub_efi_get_filename): New function.
46335 (grub_print_device_path): Renamed to ...
46336 (grub_efi_print_device_path): ... this.
46337
46338 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46339 [MM_DEBUG] (grub_realloc): Likewise.
46340 [MM_DEBUG] (grub_free): Likewise.
46341 [MM_DEBUG] (grub_memalign): Likewise.
46342 [MM_DEBUG] (grub_mm_debug): New variable.
46343 [MM_DEBUG] (grub_debug_malloc): New function.
46344 [MM_DEBUG] (grub_debug_free): New function.
46345 [MM_DEBUG] (grub_debug_realloc): New function.
46346 [MM_DEBUG] (grub_debug_memalign): New function.
46347
46348 * kern/misc.c (grub_abort): Print a newline to distinguish
46349 the message.
46350
46351 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46352 grub_set_root_dev after loading modules. This is necessary when
46353 setting a prefix depends on modules.
46354
46355 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46356 (grub_efi_print_device_path): ... this.
46357 (grub_efi_get_filename): New prototype.
46358 (grub_efi_set_prefix): Likewise.
46359
46360 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46361 and grub/disk.h.
46362 (grub_efidisk_get_device_handle): New prototype.
46363 (grub_efidisk_get_device_name): Likewise.
46364
46365 * include/grub/mm.h: Include config.h.
46366 (MM_DEBUG): Removed.
46367 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46368 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46369 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46370 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46371 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46372 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46373 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46374 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46375 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46376
46377 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46378
46379 * disk/efi/efidisk.c: Include grub/partition.h.
46380 (iterate_child_devices): New function.
46381 (add_device): First, compare only last device path nodes, so that
46382 devices are sorted by the types.
46383 (grub_efidisk_get_device_handle): New function.
46384 (grub_efidisk_get_device_name): Likewise.
46385
46386 * configure.ac (--enable-mm-debug): New option to enable the
46387 memory manager debugging feature. This makes the binary much
46388 bigger, so is disabled by default.
46389
46390 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 Use grub_abort instead of grub_stop, and grub_exit must be
46393 define in each architecture now. Also, this change adds support
46394 for EFI disks.
46395
46396 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46397 (grub_getkey): New function.
46398 (grub_term_get_current): Likewise.
46399
46400 * util/i386/pc/grub-setup.c: Include grub/term.h.
46401 (grub_getkey): New function.
46402 (grub_term_get_current): Likewise.
46403
46404 * util/misc.c (grub_stop): Renamed to ...
46405 (grub_exit): ... this.
46406
46407 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46408 (grub_exit): ... this.
46409 (grub_machine_init): Use grub_abort instead of abort.
46410 (grub_stop): Removed.
46411
46412 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46413 abort.
46414
46415 * kern/i386/pc/startup.S (grub_exit): New function.
46416 (cold_reboot): New label.
46417
46418 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46419 (grub_efi_init): Call grub_efidisk_init.
46420 (grub_efi_fini): Call grub_efidisk_fini.
46421
46422 * kern/efi/efi.c: Include grub/mm.h.
46423 (grub_efi_console_control_guid): Renamed to ...
46424 (console_control_guid): ... this.
46425 (grub_efi_loaded_image_guid): Renamed to ...
46426 (loaded_image_guid): ... this.
46427 (grub_efi_locate_handle): New function.
46428 (grub_efi_open_protocol): Likewise.
46429 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46430 GRUB_EFI_CONSOLE_CONTROL_GUID.
46431 (grub_efi_exit): Removed.
46432 (grub_stop): Likewise.
46433 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46434 (grub_exit): New function.
46435 (grub_print_device_path): Likewise.
46436
46437 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46438 (grub_enter_rescue_mode): Register "exit".
46439
46440 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46441 (grub_abort): New function.
46442
46443 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46444
46445 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46446
46447 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46448
46449 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46450 (grub_print_device_path): New prototype.
46451 (grub_efi_locate_handle): Likewise.
46452 (grub_efi_open_protocol): Likewise.
46453
46454 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46455 * disk/efi/efidisk.c: Likewise.
46456
46457 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46458
46459 * include/grub/efi/console_control.h
46460 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46461
46462 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46463 last 8 bytes as an array.
46464 (GRUB_EFI_DISK_IO_GUID): New macro.
46465 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46466 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46467 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46468 grub_uint8_t.
46469 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46470 (struct grub_efi_device_path): Rename the member "sub_type" to
46471 "subtype".
46472 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46473 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46474 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46475 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46476 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46477 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46478 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46479 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46480 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46481 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46482 (struct grub_efi_pci_device_path): New structure.
46483 (grub_efi_pci_device_path_t): New type.
46484 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46485 (struct grub_efi_pccard_device_path): New structure.
46486 (grub_efi_pccard_device_path_t): New type.
46487 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46488 (struct grub_efi_memory_mapped_device_path): New structure.
46489 (grub_efi_memory_mapped_device_path_t): New type.
46490 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46491 (struct grub_efi_vendor_device_path): New structure.
46492 (grub_efi_vendor_device_path_t): New type.
46493 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46494 (struct grub_efi_controller_device_path): New structure.
46495 (grub_efi_controller_device_path_t): New type.
46496 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46497 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46498 (struct grub_efi_acpi_device_path): New structure.
46499 (grub_efi_acpi_device_path_t): New type.
46500 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46501 (struct grub_efi_expanded_acpi_device_path): New structure.
46502 (grub_efi_expanded_acpi_device_path_t): New type.
46503 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46504 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46505 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46506 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46507 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46508 (struct grub_efi_atapi_device_path): New structure.
46509 (grub_efi_atapi_device_path_t): New type.
46510 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46511 (struct grub_efi_fibre_channel_device_path): New structure.
46512 (grub_efi_fibre_channel_device_path_t): New type.
46513 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46514 (struct grub_efi_1394_device_path): New structure.
46515 (grub_efi_1394_device_path_t): New type.
46516 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46517 (struct grub_efi_usb_device_path): New structure.
46518 (grub_efi_usb_device_path_t): New type.
46519 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46520 (struct grub_efi_usb_class_device_path): New structure.
46521 (grub_efi_usb_class_device_path_t): New type.
46522 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46523 (struct grub_efi_i2o_device_path): New structure.
46524 (grub_efi_i2o_device_path_t): New type.
46525 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46526 (struct grub_efi_mac_address_device_path): New structure.
46527 (grub_efi_mac_address_device_path_t): New type.
46528 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46529 (struct grub_efi_ipv4_device_path): New structure.
46530 (grub_efi_ipv4_device_path_t): New type.
46531 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46532 (struct grub_efi_ipv6_device_path): New structure.
46533 (grub_efi_ipv6_device_path_t): New type.
46534 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46535 (struct grub_efi_infiniband_device_path): New structure.
46536 (grub_efi_infiniband_device_path_t): New type.
46537 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46538 (struct grub_efi_uart_device_path): New structure.
46539 (grub_efi_uart_device_path_t): New type.
46540 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46541 (struct grub_efi_vendor_messaging_device_path): New structure.
46542 (grub_efi_vendor_messaging_device_path_t): New type.
46543 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46544 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46545 (struct grub_efi_hard_drive_device_path): New structure.
46546 (grub_efi_hard_drive_device_path_t): New type.
46547 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46548 (struct grub_efi_cdrom_device_path): New structure.
46549 (grub_efi_cdrom_device_path_t): New type.
46550 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46551 (struct grub_efi_vendor_media_device_path): New structure.
46552 (grub_efi_vendor_media_device_path_t): New type.
46553 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46554 (struct grub_efi_file_path_device_path): New structure.
46555 (grub_efi_file_path_device_path_t): New type.
46556 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46557 (struct grub_efi_protocol_device_path): New structure.
46558 (grub_efi_protocol_device_path_t): New type.
46559 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46560 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46561 (struct grub_efi_bios_device_path): New structure.
46562 (grub_efi_bios_device_path_t): New type.
46563 (struct grub_efi_disk_io): New structure.
46564 (grub_efi_disk_io_t): New type.
46565 (struct grub_efi_block_io_media): New structure.
46566 (grub_efi_block_io_media_t): New type.
46567 (struct grub_efi_block_io): New structure.
46568 (grub_efi_block_io_t): New type.
46569
46570 * include/grub/misc.h (grub_stop): Removed.
46571 (grub_exit): New prototype.
46572 (grub_abort): Likewise.
46573
46574 * include/grub/disk.h (enum grub_disk_dev_id): Added
46575 GRUB_DISK_DEVICE_EFIDISK_ID.
46576
46577 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46578 disk/efi/efidisk.c.
46579 (kernel_syms.lst): Remove the target if an error occurs.
46580
46581 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46582
46583 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46584 as it was simply too buggy.
46585
46586 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46587
46588 * kern/misc.c (grub_lltoa): New function.
46589 (grub_vsprintf): Added support for the long long suffix,
46590 i.e. "ll".
46591
46592 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46593
46594 * Makefile.in (LDFLAGS): Add variable.
46595 (LD): Remove variable.
46596 * configure.ac: Add -m32 to LDFLAGS.
46597 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46598 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46599 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46600 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46601 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46602 variables.
46603 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46604 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46605 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46606
46607 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46608
46609 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46610 length for unknown glyph.
46611
46612 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46613
46614 Add support for pre-loaded modules into the EFI port.
46615
46616 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46617 completely. Accept one more argument DIR. The caller has changed.
46618
46619 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46620
46621 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46622 (grub_efi_loaded_image_guid): New variable.
46623 (grub_efi_get_loaded_image): New function.
46624 (grub_arch_modules_addr): Likewise.
46625
46626 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46627 prototype.
46628
46629 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46630 (struct grub_efi_loaded_image): New structure.
46631 (grub_efi_loaded_image_t): New type.
46632
46633 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46634
46635 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46636 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46637 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46638
46639 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46640
46641 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46642
46643 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46644
46645 * DISTLIST: Added include/grub/efi/console.h,
46646 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46647 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46648
46649 * include/grub/efi/console.h: New file.
46650 * include/grub/efi/time.h: Likewise.
46651 * include/grub/i386/efi/kernel.h: Likewise.
46652 * kern/efi/init.c: Likewise.
46653 * kern/efi/mm.c: Likewise.
46654 * term/efi/console.c: Likewise.
46655
46656 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46657 (grub_stop): Removed.
46658 (grub_get_rtc): Likewise.
46659 (grub_machine_init): Simply call grub_efi_init.
46660 (grub_machine_fini): Call grub_efi_fini.
46661
46662 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46663 (grub_efi_output_string): Removed.
46664 (grub_efi_stall): New function.
46665 (grub_stop): Likewise.
46666 (grub_get_rtc): Likewise.
46667
46668 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46669 (grub_efi_stall): New prototype.
46670 (grub_efi_allocate_pages): Likewise.
46671 (grub_efi_free_pages): Likewise.
46672 (grub_efi_get_memory_map): Likewise.
46673 (grub_efi_mm_init): Likewise.
46674 (grub_efi_mm_fini): Likewise.
46675 (grub_efi_init): Likewise.
46676 (grub_efi_fini): Likewise.
46677
46678 * include/grub/i386/efi/time.h: Do not include
46679 grub/symbol.h. Include grub/efi/time.h.
46680 (GRUB_TICKS_PER_SECOND): Removed.
46681 (grub_get_rtc): Likewise.
46682
46683 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46684 Added padding. The EFI spec is buggy.
46685 (GRUB_EFI_BLACK): New macro.
46686 (GRUB_EFI_BLUE): Likewise.
46687 (GRUB_EFI_GREEN): Likewise.
46688 (GRUB_EFI_CYAN): Likewise.
46689 (GRUB_EFI_RED): Likewise.
46690 (GRUB_EFI_MAGENTA): Likewise.
46691 (GRUB_EFI_BROWN): Likewise.
46692 (GRUB_EFI_LIGHTGRAY): Likewise.
46693 (GRUB_EFI_BRIGHT): Likewise.
46694 (GRUB_EFI_DARKGRAY): Likewise.
46695 (GRUB_EFI_LIGHTBLUE): Likewise.
46696 (GRUB_EFI_LIGHTGREEN): Likewise.
46697 (GRUB_EFI_LIGHTCYAN): Likewise.
46698 (GRUB_EFI_LIGHTRED): Likewise.
46699 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46700 (GRUB_EFI_YELLOW): Likewise.
46701 (GRUB_EFI_WHITE): Likewise.
46702 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46703 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46704 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46705 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46706 (GRUB_EFI_BACKGROUND_RED): Likewise.
46707 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46708 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46709 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46710 (GRUB_EFI_TEXT_ATTR): Likewise.
46711
46712 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46713 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46714 (kernel_mod_HEADERS): Added efi/time.h.
46715
46716 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46717
46718 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46719 include/grub/efi/api.h, include/grub/efi/console_control.h,
46720 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46721 include/grub/i386/efi/time.h, kern/efi/efi.c,
46722 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46723 and util/i386/efi/grub-mkimage.c.
46724
46725 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46726
46727 * genmk.rb (PModule#rule): Do not export symbols if
46728 #{prefix}_EXPORTS is set to "no".
46729
46730 * conf/i386-efi.mk: New file.
46731 * conf/i386-efi.rmk: Likewise.
46732 * include/grub/efi/api.h: Likewise.
46733 * include/grub/efi/console_control.h: Likewise.
46734 * include/grub/efi/efi.h: Likewise.
46735 * include/grub/efi/pe32.h: Likewise.
46736 * include/grub/i386/efi/time.h: Likewise.
46737 * kern/efi/efi.c: Likewise.
46738 * kern/i386/efi/init.c: Likewise.
46739 * kern/i386/efi/startup.S: Likewise.
46740 * util/i386/efi/grub-mkimage.c: Likewise.
46741
46742 2006-04-17 Marco Gerards <marco@gnu.org>
46743
46744 * include/grub/script.h: Include <grub/parser.h> and
46745 "grub_script.tab.h".
46746 (struct grub_lexer_param): New struct.
46747 (struct grub_parser_param): Likewise.
46748 (grub_script_create_arglist): Pass the state in an argument.
46749 (grub_script_add_arglist): Likewise.
46750 (grub_script_create_cmdline): Likewise.
46751 (grub_script_create_cmdblock): Likewise.
46752 (grub_script_create_cmdif): Likewise.
46753 (grub_script_create_cmdmenu): Likewise.
46754 (grub_script_add_cmd): Likewise.
46755 (grub_script_arg_add): Likewise.
46756 (grub_script_lexer_ref): Likewise.
46757 (grub_script_lexer_deref): Likewise.
46758 (grub_script_lexer_record_start): Likewise.
46759 (grub_script_lexer_record_stop): Likewise.
46760 (grub_script_mem_record): Likewise.
46761 (grub_script_mem_record_stop): Likewise.
46762 (grub_script_malloc): Likewise.
46763 (grub_script_yylex): Likewise.
46764 (grub_script_yyparse): Likewise.
46765 (grub_script_yyerror): Likewise.
46766 (grub_script_yylex): Likewise.
46767 (grub_script_lexer_init): Return the state.
46768
46769 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46770 (grub_script_lexer_done): Likewise.
46771 (grub_script_lexer_getline): Likewise.
46772 (grub_script_lexer_refs): Likewise.
46773 (script): Likewise.
46774 (newscript): Likewise.
46775 (record): Likewise.
46776 (recording): Likewise.
46777 (recordpos): Likewise.
46778 (recordlen): Likewise.
46779 (grub_script_lexer_init): Return the state instead of setting
46780 global variables.
46781 (grub_script_lexer_ref): Use the newly added argument for state
46782 instead of globals.
46783 (grub_script_lexer_deref): Likewise.
46784 (grub_script_lexer_record_start): Likewise.
46785 (grub_script_lexer_record_stop): Likewise.
46786 (recordchar): Likewise.
46787 (nextchar): Likewise.
46788 (grub_script_yylex2): Likewise.
46789 (grub_script_yylex): Likewise.
46790 (grub_script_yyerror): Likewise.
46791
46792 * normal/parser.y (func_mem): Removed variable.
46793 (menu_entry): Likewise.
46794 (err): Likewise.
46795 (%lex-param): New parser option.
46796 (%parse-param): Likewise.
46797 (script): Always return the AST.
46798 (argument): Pass the state around.
46799 (arguments): Likewise.
46800 (grubcmd): Likewise.
46801 (commands): Likewise.
46802 (function): Likewise.
46803 (menuentry): Likewise.
46804 (if_statement): Likewise.
46805 (if): Likewise.
46806
46807 * normal/script.c (grub_script_memused): Removed variable.
46808 (grub_script_parsed): Likewise.
46809 (grub_script_malloc): Added a state argument. Use that instead of
46810 global variables.
46811 (grub_script_mem_record): Likewise.
46812 (grub_script_mem_record_stop): Likewise.
46813 (grub_script_arg_add): Likewise.
46814 (grub_script_add_arglist): Likewise.
46815 (grub_script_create_cmdline): Likewise.
46816 (grub_script_create_cmdif): Likewise.
46817 (grub_script_create_cmdmenu): Likewise.
46818 (grub_script_add_cmd): Likewise.
46819 (grub_script_parse): Setup the state before calling the parser.
46820
46821 2006-04-16 Marco Gerards <marco@gnu.org>
46822
46823 * normal/command.c (grub_command_init): Remove the title command.
46824
46825 * normal/lexer.c (grub_script_yylex): Renamed from this...
46826 (grub_script_yylex2): ... to this.
46827 (grub_script_yylex): New function. Temporary
46828 introduced to filter some tokens.
46829 (grub_script_yyerror): Print a newline.
46830
46831 * normal/main.c (read_config_file): Output information about the
46832 lines that contain errors. Wait for a key after all lines have
46833 been processed. Don't return an empty menu.
46834
46835 * normal/parser.y (func_mem): Don't initialize.
46836 (menu_entry): Likewise.
46837 (err): New variable.
46838 (script): Don't return anything when an error was encountered.
46839 (ws, returns): Removed rules.
46840 (argument): Disabled concatenated variable support.
46841 (arguments): Remove explicit separators.
46842 (grubcmd): Likewise.
46843 (function): Likewise.
46844 (menuentry): Likewise.
46845 (if): Likewise.
46846 (commands): Likewise. Add error handling.
46847
46848 * normal/script.c (grub_script_create_cmdline): If
46849 `grub_script_parsed' is 0, assume the parser encountered an error.
46850
46851 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46852
46853 * configure.ac: Add support for EFI. Fix the typo
46854 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46855
46856 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46857
46858 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46859 foreign multibyte characters should be shown correctly.
46860
46861 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46862
46863 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46864 calculation.
46865 (read_config_file): Made it to close file before returning.
46866
46867 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46868
46869 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46870 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46871 video/i386/pc/vbefill.c.
46872
46873 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46874 video/i386/pc/vbefill.c.
46875
46876 * include/grub/video.h (grub_video_blit_format): New enum.
46877 (grub_video_mode_info): Added new member blit_format.
46878 (grub_video_get_blit_format): New function prototype.
46879
46880 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46881 function prototype.
46882 (grub_video_vbe_map_rgb): Likewise.
46883 (grub_video_vbe_unmap_color): Likewise.
46884
46885 * include/grub/i386/pc/vbeblit.h: New file.
46886
46887 * include/grub/i386/pc/vbefill.h: New file.
46888
46889 * video/video.c (grub_video_get_blit_format): New function.
46890 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46891 (grub_video_vbe_map_rgb): Likewise.
46892 (grub_video_vbe_unmap_color): Likewise.
46893
46894 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46895 optimized fills.
46896 (grub_video_vbe_blit_render_target): Changed to use more optimized
46897 blits.
46898 (grub_video_vbe_setup): Added detection for optimized settings.
46899 (grub_video_vbe_create_render_target): Likewise.
46900
46901 * video/i386/pc/vbeblit.c: New file.
46902
46903 * video/i386/pc/vbefill.c: New file.
46904
46905 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46906
46907 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46908 here...
46909
46910 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46911 parsing to support both hex and dec ranges. If filename was missing
46912 show usage information.
46913
46914 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46915
46916 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46917 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46918
46919 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46920 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46921 (video_mod_SOURCES): Added.
46922 (video_mod_CFLAGS): Likewise.
46923 (video_mod_LDFLAGS): Likewise.
46924 (gfxterm_mod_SOURCES): Likewise.
46925 (gfxterm_mod_CFLAGS): Likewise.
46926 (gfxterm_mod_LDFLAGS): Likewise.
46927 (videotest_mod_SOURCES): Likewise.
46928 (videotest_mod_CFLAGS): Likewise.
46929 (videotest_mod_LDFLAGS): Likewise.
46930 (vesafb_mod_SOURCES): Removed.
46931 (vesafb_mod_CFLAGS): Likewise.
46932 (vesafb_mod_LDFLAGS): Likewise.
46933 (vga_mod_SOURCES): Likewise.
46934 (vga_mod_CFLAGS): Likewise.
46935 (vga_mod_LDFLAGS): Likewise.
46936
46937 * commands/videotest.c: New file.
46938
46939 * font/manager.c (fill_with_default_glyph): Modified to use
46940 grub_font_glyph.
46941 (grub_font_get_glyph): Likewise.
46942 (fontmanager): Renamed from this...
46943 (font_manager): ... to this.
46944
46945 * include/grub/font.h (grub_font_glyph): Added new structure.
46946 (grub_font_get_glyph): Modified to use grub_font_glyph.
46947
46948 * include/grub/misc.h (grub_abs): Added as inline function.
46949
46950 * include/grub/video.h: New file.
46951
46952 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46953 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46954 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46955 (grub_vbe_get_controller_info): Renamed from this...
46956 (grub_vbe_bios_get_controller_info): ... to this.
46957 (grub_vbe_get_mode_info): Renamed from this...
46958 (grub_vbe_bios_get_mode_info): ... to this.
46959 (grub_vbe_set_mode): Renamed from this...
46960 (grub_vbe_bios_set_mode): ... to this.
46961 (grub_vbe_get_mode): Renamed from this...
46962 (grub_vbe_bios_get_mode): ... to this.
46963 (grub_vbe_set_memory_window): Renamed from this...
46964 (grub_vbe_bios_set_memory_window): ... to this.
46965 (grub_vbe_get_memory_window): Renamed from this...
46966 (grub_vbe_bios_get_memory_window): ... to this.
46967 (grub_vbe_set_scanline_length): Renamed from this...
46968 (grub_vbe_set_scanline_length): ... to this.
46969 (grub_vbe_get_scanline_length): Renamed from this...
46970 (grub_vbe_bios_get_scanline_length): ... to this.
46971 (grub_vbe_set_display_start): Renamed from this...
46972 (grub_vbe_bios_set_display_start): ... to this.
46973 (grub_vbe_get_display_start): Renamed from this...
46974 (grub_vbe_bios_get_display_start): ... to this.
46975 (grub_vbe_set_palette_data): Renamed from this...
46976 (grub_vbe_bios_set_palette_data): ... to this.
46977 (grub_vbe_set_pixel_rgb): Removed.
46978 (grub_vbe_set_pixel_index): Likewise.
46979
46980 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46981 from this...
46982 (grub_vbe_bios_get_controller_info): ... to this.
46983 (grub_vbe_get_mode_info): Renamed from this...
46984 (grub_vbe_bios_get_mode_info): ... to this.
46985 (grub_vbe_set_mode): Renamed from this...
46986 (grub_vbe_bios_set_mode): ... to this.
46987 (grub_vbe_get_mode): Renamed from this...
46988 (grub_vbe_bios_get_mode): ... to this.
46989 (grub_vbe_set_memory_window): Renamed from this...
46990 (grub_vbe_bios_set_memory_window): ... to this.
46991 (grub_vbe_get_memory_window): Renamed from this...
46992 (grub_vbe_bios_get_memory_window): ... to this.
46993 (grub_vbe_set_scanline_length): Renamed from this...
46994 (grub_vbe_set_scanline_length): ... to this.
46995 (grub_vbe_get_scanline_length): Renamed from this...
46996 (grub_vbe_bios_get_scanline_length): ... to this.
46997 (grub_vbe_set_display_start): Renamed from this...
46998 (grub_vbe_bios_set_display_start): ... to this.
46999 (grub_vbe_get_display_start): Renamed from this...
47000 (grub_vbe_bios_get_display_start): ... to this.
47001 (grub_vbe_set_palette_data): Renamed from this...
47002 (grub_vbe_bios_set_palette_data): ... to this.
47003 (grub_vbe_bios_get_controller_info): Fixed problem with registers
47004 getting corrupted after calling it. Added more pushes and pops.
47005 (grub_vbe_bios_set_mode): Likewise.
47006 (grub_vbe_bios_get_mode): Likewise.
47007 (grub_vbe_bios_get_memory_window): Likewise.
47008 (grub_vbe_bios_set_scanline_length): Likewise.
47009 (grub_vbe_bios_get_scanline_length): Likewise.
47010 (grub_vbe_bios_get_display_start): Likewise.
47011 (grub_vbe_bios_set_palette_data): Likewise.
47012
47013 * normal/cmdline.c (cl_set_pos): Refresh the screen.
47014 (cl_insert): Likewise.
47015 (cl_delete): Likewise.
47016
47017 * term/gfxterm.c: New file.
47018
47019 * term/i386/pc/vesafb.c: Removed file.
47020
47021 * video/video.c: New file.
47022
47023 * video/i386/pc/vbe.c (real2pm): Added new function.
47024 (grub_video_vbe_draw_pixel): Likewise.
47025 (grub_video_vbe_get_video_ptr): Likewise.
47026 (grub_video_vbe_get_pixel): Likewise
47027 (grub_video_vbe_init): Likewise.
47028 (grub_video_vbe_fini): Likewise.
47029 (grub_video_vbe_setup): Likewise.
47030 (grub_video_vbe_get_info): Likewise.
47031 (grub_video_vbe_set_palette): Likewise.
47032 (grub_video_vbe_get_palette): Likewise.
47033 (grub_video_vbe_set_viewport): Likewise.
47034 (grub_video_vbe_get_viewport): Likewise.
47035 (grub_video_vbe_map_color): Likewise.
47036 (grub_video_vbe_map_rgb): Likewise.
47037 (grub_video_vbe_map_rgba): Likewise.
47038 (grub_video_vbe_unmap_color): Likewise.
47039 (grub_video_vbe_fill_rect): Likewise.
47040 (grub_video_vbe_blit_glyph): Likewise.
47041 (grub_video_vbe_blit_bitmap): Likewise.
47042 (grub_video_vbe_blit_render_target): Likewise.
47043 (grub_video_vbe_scroll): Likewise.
47044 (grub_video_vbe_swap_buffers): Likewise.
47045 (grub_video_vbe_create_render_target): Likewise.
47046 (grub_video_vbe_delete_render_target): Likewise.
47047 (grub_video_vbe_set_active_render_target): Likewise.
47048 (grub_vbe_set_pixel_rgb): Remove function.
47049 (grub_vbe_set_pixel_index): Likewise.
47050 (index_color_mode): Remove static variable.
47051 (active_mode): Likewise.
47052 (framebuffer): Likewise.
47053 (bytes_per_scan_line): Likewise.
47054 (grub_video_vbe_adapter): Added new static variable.
47055 (framebuffer): Likewise.
47056 (render_target): Likewise.
47057 (initial_mode): Likewise.
47058 (mode_in_use): Likewise.
47059 (mode_list): Likewise.
47060
47061 2006-03-10 Marco Gerards <marco@gnu.org>
47062
47063 * configure.ac (AC_INIT): Bumped to 1.93.
47064
47065 * DISTLIST: Added `include/grub/hfs.h'.
47066
47067 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
47068
47069 * boot/i386/pc/boot.S (general_error): Before looping, try INT
47070 18H, which might help the BIOS falling back to next boot media.
47071
47072 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
47073
47074 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
47075 Poe Chen <poe.poechen@gmail.com>.
47076
47077 2006-01-17 Marco Gerards <marco@gnu.org>
47078
47079 * include/grub/normal.h: Include <grub/script.h>.
47080 (grub_command_list): Removed struct.
47081 (grub_command_list_t): Removed type.
47082 (grub_menu_entry): Remove members `num' and `command_list'. Add
47083 members `commands' and `sourcecode'.
47084 * include/grub/script.h: Add inclusion guards.
47085 (grub_script_cmd_menuentry): New struct.
47086 (grub_script_execute_menuentry): New prototype.
47087 (grub_script_lexer_record_start): Likewise.
47088 (grub_script_lexer_record_stop): Likewise.
47089 * normal/execute.c (grub_script_execute_menuentry): New function.
47090 * normal/lexer.c (record, recording, recordpos, recordlen): New
47091 variables.
47092 (grub_script_lexer_record_start): New function.
47093 (grub_script_lexer_record_stop): Likewise.
47094 (recordchar): Likewise.
47095 (nextchar): Likewise.
47096 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
47097 2048 as the buffer size. Add the tokens `menuentry' and `@'.
47098 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
47099 (current_menu): New variable.
47100 (free_menu): Mainly rewritten.
47101 (grub_normal_menu_addentry): New function.
47102 (read_config_file): Rewritten.
47103 * normal/menu.c (run_menu_entry): Mainly rewritten.
47104 * normal/menu_entry.c (make_screen): Rewritten the code to insert
47105 the menu entry.
47106 (run): Mainly rewritten.
47107 * normal/parser.y (menu_entry): New variable.
47108 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
47109 (menuentry): New rule.
47110 (command): Add `menuentry'.
47111 (if_statement): Allow additional returns before `fi'.
47112 * normal/script.c (grub_script_create_cmdmenu): New function.
47113
47114 2006-01-03 Marco Gerards <marco@gnu.org>
47115
47116 * INSTALL: GNU Bison is required.
47117 * configure.ac: Rewritten the test to detect Bison.
47118 * Makefile.in (YACC): New variable. Reported by Xun Sun
47119 <xun.sun.cn@gmail.com>.
47120
47121 2006-01-03 Marco Gerards <marco@gnu.org>
47122
47123 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
47124 the HFS+ filesystem to filesystem blocks.
47125 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
47126 GCC warning is silenced.
47127
47128 2006-01-03 Marco Gerards <marco@gnu.org>
47129
47130 * partmap/apple.c (apple_partition_map_iterate): Convert the data
47131 read from disk from big endian to host byte order.
47132
47133 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
47134
47135 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
47136 documentation.
47137 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
47138 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
47139 embedded HFS+ filesystem.
47140 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
47141 (grub_hfs_sblock): Move from here...
47142 * include/grub/hfs.h: To here... New file.
47143 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
47144 documentation.
47145 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
47146 New macros.
47147 (grub_hfsplus_volheader): Change type of member `magic' to
47148 `grub_uint16_t'.
47149 (grub_hfsplus_data): Add new member `embedded_offset'.
47150 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
47151 returned block.
47152 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
47153 Calculate the offset.
47154
47155 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47156
47157 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
47158 Removed.
47159 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
47160
47161 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47162
47163 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
47164 ENV->NAME is NULL after allocating ENV->VALUE.
47165
47166 2005-12-25 Marco Gerards <marco@gnu.org>
47167
47168 * kern/env.c (grub_env_set): Rewritten the error handling code.
47169
47170 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47171
47172 * geninit.sh: Made more robust, and more portable.
47173
47174 2005-12-25 Marco Gerards <marco@gnu.org>
47175
47176 Add support for Apple HFS+ filesystems.
47177
47178 * fs/hfsplus.c: New file.
47179
47180 * DISTLIST: Added `fs/hfsplus.c'.
47181
47182 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
47183 (hfsplus_mod_SOURCES): New variable.
47184 (hfsplus_mod_CFLAGS): Likewise.
47185 (hfsplus_mod_LDFLAGS): Likewise.
47186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
47187 (grub_setup_SOURCES): Likewise.
47188 (grub_mkdevicemap_SOURCES): Likewise.
47189 (grub_emu_SOURCES): Likewise.
47190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47191
47192 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
47193
47194 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
47195
47196 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
47197
47198 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
47199 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
47200 include/grub/parser.h, include/grub/script.h, kern/parser.c,
47201 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
47202 normal/lexer.c, normal/parser.y, normal/script.c, and
47203 partmap/gpt.c.
47204 Removed kern/sparc64/cache.c.
47205
47206 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
47207 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
47208 grub_emu_init.c.
47209
47210 * configure.ac (AC_INIT): Bumped to 1.92.
47211
47212 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
47213
47214 * kern/err.c (grub_error_push): Added new function to support error
47215 stacks.
47216 (grub_error_pop): Likewise.
47217 (grub_error_stack_items): New local variable to support error stacks.
47218 (grub_error_stack_pos): Likewise.
47219 (grub_error_stack_assert): Likewise.
47220 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
47221 stack depth.
47222 (grub_print_error): Added support to print errors from error stack.
47223
47224 * include/grub/err.h (grub_error_push): Added function prototype.
47225 (grub_error_pop): Likewise.
47226
47227 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
47228
47229 * configure.ac: Accept `powerpc64' as host_cpu.
47230 (amd64): Rename to `biarch32'.
47231
47232 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
47233 non-cacheline-aligned addresses.
47234
47235 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
47236 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
47237 if `size' is non-zero.
47238
47239 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
47240
47241 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
47242 and `cd' to make sure the filename is not prefixed with a
47243 directory name.
47244 (pkgdata_MODULES): Add `gpt.mod'.
47245 (gpt_mod_SOURCES): New variable.
47246 (gpt_mod_CFLAGS): Likewise.
47247 (gpt_mod_LDFLAGS): Likewise.
47248
47249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
47250
47251 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
47252 New macro.
47253
47254 * partmap/gpt.c: New file.
47255
47256 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
47257 GPT partition map is detected.
47258
47259 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
47260
47261 * commands/i386/pc/play.c: New file.
47262 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
47263 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
47264 macros.
47265
47266 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
47267
47268 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
47269 ((unused))' to silence gcc warning.
47270
47271 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
47272
47273 * configure.ac: Correct `AC_PROG_YACC' test.
47274
47275 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47276
47277 * util/powerpc/ieee1275/grub-install.in: Run the mount point
47278 check before installing files.
47279
47280 2005-11-22 Mike Small <smallm@panix.com>
47281
47282 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
47283 number regex so multidigit numbers are recognized correctly.
47284
47285 2005-11-22 Mike Small <smallm@panix.com>
47286
47287 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
47288 debugging message before attempting to claim memory.
47289 (grub_rescue_cmd_initrd): Add a claim debugging message and try
47290 multiple addresses in case of failure.
47291
47292 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47293
47294 * term/tparm.c (get_space): Remove empty `if' statement.
47295
47296 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
47297
47298 * kern/parser.c (check_varstate): Rename `state' to 's'.
47299
47300 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47301
47302 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
47303 variable definitions to the beginning of each function. Sort stack
47304 variables by size.
47305 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
47306 `buf' argument to `char *'.
47307
47308 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
47309
47310 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
47311 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
47312 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
47313 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47314 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47315 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47316 configfile.mod, search.mod, gzio.mod and test.mod.
47317 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47318 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47319 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47320 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47321 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47322 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47323 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47324 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47325 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47326 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47327 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47328 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47329 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47330 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47331 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47332 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47333 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47334 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47335 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47336 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47337 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47338 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47339 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47340
47341 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47342 `grep --include'.
47343 (pkgdata_MODULES): Add test.mod.
47344
47345 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47346
47347 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47348 appending to variables with "+=".
47349 (PModule): Use full pathname to generate *.lst filenames.
47350
47351 * Makefile.in: Fixed list rules moved from genmk.rb.
47352 (.DELETE_ON_ERROR): New special target.
47353 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47354
47355 * conf/i386-pc.rmk: Include conf/common.mk.
47356 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
47357 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
47358 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47359 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47360 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47361 configfile.mod, search.mod, gzio.mod and test.mod.
47362 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47363 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47364 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47365 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47366 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47367 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47368 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47369 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47370 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47371 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47372 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47373 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47374 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47375 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47376 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47377 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47378 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47379 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47380 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47381 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47382 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47383 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47384 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47385 here...
47386 * conf/common.rmk: ... to here. New file.
47387
47388 * conf/common.mk: New file.
47389
47390 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47391
47392 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47393 (grub_script.tab.c): ... here.
47394
47395 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47396 (grub_script.tab.c): ... here.
47397
47398 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47399 (grub_script.tab.c): ... here.
47400
47401 * normal/command.c (grub_command_find): Fixed a memory leak of
47402 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47403
47404 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47405
47406 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47407 "@" which marks the start of a comment on ARM.
47408 (VARIABLE): Likewise.
47409
47410 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47411
47412 Add support for Linux/ADFS partition tables.
47413
47414 * partmap/acorn.c: New file.
47415
47416 * include/grub/acorn_filecore.h: Likewise.
47417
47418 * DISTLIST: Added `partmap/acorn.c' and
47419 `include/grub/acorn_filecore.h'.
47420
47421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47422 `partmap/acorn.c'.
47423 (pkgdata_MODULES): Add `acorn.mod'.
47424 (acorn_mod_SOURCES): New variable.
47425 (acorn_mod_CFLAGS): Likewise.
47426
47427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47428 `partmap/acorn.c'.
47429 (pkgdata_MODULES): Add `acorn.mod'.
47430 (acorn_mod_SOURCES): New variable.
47431 (acorn_mod_CFLAGS): Likewise.
47432
47433 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47434 (pkgdata_MODULES): Add `acorn.mod'.
47435 (acorn_mod_SOURCES): New variable.
47436 (acorn_mod_CFLAGS): Likewise.
47437 (acorn_mod_LDFLAGS): Likewise.
47438
47439 * include/types.h (grub_disk_addr_t): New typedef.
47440
47441 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
47442
47443 * geninit.sh: New file.
47444
47445 * geninitheader.sh: Likewise.
47446
47447 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47448 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47449 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47450 * commands/configfile.c (grub_configfile_init)
47451 (grub_configfile_fini): Likewise.
47452 * commands/default.c (grub_default_init, grub_default_fini):
47453 Likewise.
47454 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47455 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47456 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47457 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47458 Likewise.
47459 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47460 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47461 Likewise.
47462 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
47463 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
47464 Likewise.
47465 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47466 Likewise.
47467 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
47468 Likewise.
47469 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47470 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47471 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47472 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47473 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47474 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47475 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47476 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47477 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47478 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47479 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47480 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47481 * partmap/amiga.c (grub_amiga_partition_map_init)
47482 (grub_amiga_partition_map_fini): Likewise.
47483 * partmap/apple.c (grub_apple_partition_map_init)
47484 (grub_apple_partition_map_fini): Likewise.
47485 * partmap/pc.c (grub_pc_partition_map_init)
47486 (grub_pc_partition_map_fini): Likewise.
47487 * partmap/sun.c (grub_sun_partition_map_init,
47488 grub_sun_partition_map_fini): Likewise.
47489 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47490 Likewise.
47491
47492 * util/grub-emu.c: Include <grub_modules_init.h>.
47493 (main): Don't initialize and de-initialize any modules directly,
47494 use `grub_init_all' and `grub_fini_all' instead.
47495
47496 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47497 `grub_vesafb_mod_init'.
47498 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47499 all users.
47500 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47501 `grub_vga_mod_init'. Updated all users.
47502 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
47503
47504 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47505 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47506 rules.
47507
47508 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47509 Generate a function to initialize the module in utilities.
47510 Updated all callers.
47511 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47512 initialize the module in utilities. Updated all callers.
47513
47514 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47515
47516 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47517 escape sequence and a literal ^L to clear the screen.
47518
47519 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47520 when returning from Open Firmware.
47521
47522 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47523
47524 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47525 (grub_ofconsole_height): Likewise.
47526 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47527 manually insert a '\n'.
47528 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47529 `grub_ofconsole_height'. Return early if these are already set.
47530
47531 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47532
47533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47534 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47535 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47536 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47537 and `normal/script.c'.
47538 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47539 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47540 (test_mod_SOURCES): New variable.
47541 (test_mod_CFLAGS): Likewise.
47542 (test_mod_LDFLAGS): Likewise.
47543 (pkgdata_MODULES): Add `test.mod'.
47544 (grub_script.tab.c): New rule.
47545 (grub_script.tab.h): Likewise.
47546
47547 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
47548
47549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47550 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47551 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47552 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47553 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47554 (test_mod_SOURCES): New variable.
47555 (test_mod_CFLAGS): Likewise.
47556 (pkgdata_MODULES): Add `test.mod'.
47557 (grub_script.tab.c): New rule.
47558 (grub_script.tab.h): Likewise.
47559
47560 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
47561
47562 Add initial scripting support.
47563
47564 * commands/test.c: New file.
47565 * include/grub/script.h: Likewise.
47566 * normal/execute.c: Likewise.
47567 * normal/function.c: Likewise.
47568 * normal/lexer.c: Likewise.
47569 * normal/parser.y: Likewise.
47570 * normal/script.c: Likewise.
47571
47572 * configure.ac: Add `AC_PROG_YACC' test.
47573
47574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47575 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47576 `normal/function.c' and `normal/script.c'.
47577 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47578 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47579 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47580 variables.
47581 (pkgdata_MODULES): Add `test.mod'.
47582 (grub_script.tab.c): New rule.
47583 (grub_script.tab.h): Likewise.
47584
47585 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47586
47587 * include/grub/normal.h (grub_test_init): New prototype.
47588 (grub_test_fini): Likewise.
47589
47590 * normal/command.c: Include <grub/script.h>.
47591 (grub_command_execute): Rewritten.
47592
47593 * util/grub-emu.c (main): Call `grub_test_init' and
47594 `grub_test_fini'.
47595
47596 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47597
47598 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47599 to 0.
47600 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47601 there are no pending characters.
47602
47603 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47604
47605 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47606 `grub_strndup' to drop device arguments. Replace unnecessary
47607 `grub_strndup' with `grub_strdup'.
47608
47609 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47610
47611 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47612 `debug' environment variable has been set.
47613
47614 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
47615
47616 * Makefile.in (install-local): Use $(DATA).
47617 (uninstall): Likewise.
47618 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47619 (sbin_UTILITIES): ... to here.
47620 (sbin_SCRIPTS): New variable.
47621 (grub_install_SOURCES): New variable.
47622 * util/powerpc/ieee1275/grub-install.in: New file.
47623 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47624 variable.
47625 (add_segments): Call `grub_util_get_path'.
47626
47627 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47628
47629 From Timothy Baldwin:
47630 * commands/ls.c (grub_ls_list_files): Close FILE with
47631 grub_file_close.
47632 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47633
47634 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
47635
47636 * include/grub/parser.h: New file.
47637
47638 * kern/parser.c: Likewise.
47639
47640 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47641 (grub_setup_SOURCES): Likewise.
47642 (grub_probefs_SOURCES): Likewise.
47643 (grub_emu_SOURCES): Likewise.
47644 (kernel_img_HEADERS): Add `parser.h'.
47645
47646 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47647 (grub_emu_SOURCES): Add `kern/parser.c'.
47648 (grubof_SOURCES): Likewise.
47649
47650 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47651 (grubof_SOURCES): Add `kern/parser.c'.
47652
47653 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47654
47655 * kern/misc.c (grub_split_cmdline): Removed function.
47656
47657 * kern/rescue.c: Include <grub/parser.h>.
47658 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47659 of `grub_split_cmdline'.
47660
47661 * normal/command.c: Include <grub/parser.h>.
47662 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47663 of `grub_split_cmdline'.
47664
47665 * normal/completion.c: Include <grub/parser.h>.
47666 (cmdline_state): New variable.
47667 (iterate_dir): End the filename with a quote depending on the
47668 command line state.
47669 (get_state): new function.
47670 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47671 split the arguments and determine the current argument. When the
47672 argument string is not quoted, escape all spaces.
47673
47674 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47675
47676 * normal/sparc64/setjmp.S: New file.
47677
47678 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47679
47680 * include/grub/sparc64/libgcc.h: New file.
47681 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47682 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47683 normal/sparc64/setjmp.c.
47684
47685 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47686
47687 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47688 * kern/sparc64/cache.S: New file.
47689 * kern/sparc64/cache.c: Removed.
47690 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47691 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47692 -mtune=ultrasparc.
47693 (COMMON_LDFLAGS): Add -melf64_sparc.
47694 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47695 (grubof_SOURCES): Use cache.S instead of cache.c.
47696 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47697 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47698 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47699 commented though.
47700 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47701 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47702 (linux_mod_CFLAGS): Commented out.
47703 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47704 out because module isn't built.
47705 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47706 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47707 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47708 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47709 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47710 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47711 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47712 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47713 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47714 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47715 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47716 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47717 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47718 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47719
47720 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47721
47722 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47723 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47724 longer, because HFS should not be used on PC.
47725
47726 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47727
47728 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47729 consistently within the loop.
47730
47731 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
47732
47733 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47734 directory can not be read.
47735
47736 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47737
47738 * configure.ac (AC_INIT): Increase the version number to 1.91.
47739
47740 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47741 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47742 term/i386/pc/serial.c.
47743
47744 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47745
47746 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47747 file size must be permitted.
47748
47749 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47750 between %ah and %al.
47751
47752 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47753
47754 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47755 grub_uint64_t.
47756 Call the hook with a NUL-terminated filename.
47757 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47758 grub_cpu_to_be32.
47759
47760 * kern/term.c (cursor_state): New variable.
47761 (grub_term_set_current): Reset the cursor state on a new
47762 terminal.
47763 (grub_setcursor): Rewritten to use CURSOR_STATE.
47764 (grub_getcursor): New function.
47765
47766 * include/grub/term.h (grub_getcursor): New prototype.
47767
47768 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47769 integers on ARM. Reported by Timothy Baldwin
47770 <T.E.Baldwin99@members.leeds.ac.uk>.
47771
47772 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
47773
47774 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47775 allocated.
47776 (grub_sfs_dir): Likewise.
47777
47778 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
47779
47780 Add support for the SFS filesystem.
47781
47782 * fs/sfs.c: New file.
47783
47784 * DISTLIST: Added `fs/sfs.c'.
47785
47786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47787 (grub_probefs_SOURCES): Likewise.
47788 (grub_emu_SOURCES): Likewise.
47789 (pkgdata_MODULES): Add `sfs.mod'.
47790 (sfs_mod_SOURCES): New variable.
47791 (sfs_mod_CFLAGS): Likewise.
47792 (sfs_mod_LDFLAGS): Likewise.
47793
47794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47795 (pkgdata_MODULES): Add `sfs.mod'.
47796 (sfs_mod_SOURCES): New variable.
47797 (sfs_mod_CFLAGS): Likewise.
47798
47799 * util/grub-emu.c (main): Call `grub_sfs_init' and
47800 `grub_sfs_fini'.
47801
47802 * include/grub/fs.h (grub_sfs_init): New prototype.
47803 (grub_sfs_fini): Likewise.
47804
47805 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
47806
47807 Add support for the AFFS filesystem.
47808
47809 * fs/affs.c: New file.
47810
47811 * DISTLIST: Added `fs/affs.c'.
47812
47813 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47814 (grub_probefs_SOURCES): Likewise.
47815 (grub_emu_SOURCES): Likewise.
47816 (pkgdata_MODULES): Add `affs.mod'.
47817 (affs_mod_SOURCES): New variable.
47818 (affs_mod_CFLAGS): Likewise.
47819 (affs_mod_LDFLAGS): Likewise.
47820
47821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47822 (pkgdata_MODULES): Add `affs.mod'.
47823 (affs_mod_SOURCES): New variable.
47824 (affs_mod_CFLAGS): Likewise.
47825
47826 * util/grub-emu.c (main): Call `grub_affs_init' and
47827 `grub_affs_fini'.
47828
47829 * include/grub/fs.h (grub_affs_init): New prototype.
47830 (grub_affs_fini): Likewise.
47831
47832 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
47833
47834 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47835
47836 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
47837
47838 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47839 `-m32' to CFLAGS.
47840
47841 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47842 linking.
47843
47844 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47845 (COMMON_LDFLAGS): New variable.
47846 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47847 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47848 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47849 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47850 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47851 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47852 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47853 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47854 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47855 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47856 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47857 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47858 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47859 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47860 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47861 variables.
47862 (normal_mod_ASFLAGS): Add `-m32'.
47863
47864 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47865 (grub_host_size_t, grub_host_ssize_t): New types.
47866 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
47867 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
47868 `GRUB_HOST_SIZEOF_VOID_P'.
47869
47870 * include/grub/kernel.h (struct grub_module_header): Type of
47871 member offset changed to `grub_host_off_t'. Type of member size
47872 changed to `grub_host_size_t'.
47873 (struct grub_module_info): Type of member offset changed to
47874 `grub_host_off_t'. Type of member size changed to
47875 `grub_host_size_t'.
47876
47877 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47878
47879 Make GRUB's kernel compliant to Multiboot Specification.
47880
47881 * kern/i386/pc/startup.S (multiboot_header): New label.
47882 (multiboot_entry): Likewise.
47883 (multiboot_trampoline): Likewise.
47884
47885 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47886 Increased to 0x4A0.
47887
47888 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47889 put parentheses after a question mark.
47890 [!GRUB_UTIL] (my_mod): New variable.
47891
47892 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47893
47894 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
47895
47896 Adds support for the XFS filesystem. Btrees are not supported
47897 yet.
47898
47899 * fs/xfs.c: New file.
47900
47901 * DISTLIST: Added `fs/xfs.c'.
47902
47903 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47904 (grub_probefs_SOURCES): Likewise.
47905 (grub_emu_SOURCES): Likewise.
47906 (pkgdata_MODULES): Add `xfs.mod'.
47907 (xfs_mod_SOURCES): New variable.
47908 (xfs_mod_CFLAGS): Likewise.
47909
47910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47911 (pkgdata_MODULES): Add `xfs.mod'.
47912 (xfs_mod_SOURCES): New variable.
47913 (xfs_mod_CFLAGS): Likewise.
47914
47915 * util/grub-emu.c (main): Call `grub_xfs_init' and
47916 `grub_xfs_fini'.
47917
47918 * include/grub/fs.h (grub_xfs_init): New prototype.
47919 (grub_xfs_fini): Likewise.
47920
47921
47922 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47923
47924 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47925 color modes, allow greater than 16 colors to be configured as
47926 a default palette.
47927
47928 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47929
47930 * normal/completion.c (complete_arguments): Add the qualifier
47931 const into OPTIONS.
47932
47933 From Omniflux <omniflux+lists@omniflux.com>:
47934 * include/grub/terminfo.h: New file.
47935 * include/grub/tparm.h: Likewise.
47936 * include/grub/i386/pc/serial.h: Likewise.
47937 * term/terminfo.c: Likewise.
47938 * term/tparm.c: Likewise.
47939 * term/i386/pc/serial.c: Likewise.
47940 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47941 serial.mod.
47942 (terminfo_mod_SOURCES): New variable.
47943 (terminfo_mod_CFLAGS): Likewise.
47944 (serial_mod_SOURCES): Likewise.
47945 (serial_mod_CFLAGS): Likewise.
47946
47947 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47948
47949 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47950 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47951 and kern/powerpc/ieee1275/cmain.c, respectively.
47952
47953 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47954 * kern/powerpc/ieee1275/crt0.S: ... here.
47955
47956 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47957 * kern/powerpc/ieee1275/cmain.c: ... here.
47958
47959 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47960 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47961 instead of boot/powerpc/ieee1275/crt0.S and
47962 boot/powerpc/ieee1275/cmain.c, respectively.
47963
47964 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47965 sectors. It was not used anyway.
47966
47967 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47968
47969 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47970 `unused parameter' warning.
47971
47972 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47973
47974 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47975 function.
47976 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47977 getcharwidth.
47978
47979 2005-08-28 Marco Gerards <metgerards@student.han.nl>
47980
47981 * include/grub/normal.h (enum grub_completion_type): Added
47982 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47983
47984 * normal/cmdline.c (print_completion): Handle
47985 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47986 * normal/menu_entry.c (store_completion): Likewise.
47987
47988 * normal/completion.c (complete_arguments): New function.
47989 (grub_normal_do_completion): Call `complete_arguments' when the
47990 current words start with a dash.
47991
47992 2005-08-27 Marco Gerards <metgerards@student.han.nl>
47993
47994 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47995 `gzio.mod' instead of `io.mod').
47996
47997 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47998
47999 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
48000 (DISTDIRS): Added io and video.
48001 Rewrite the search routine to make an output consistently.
48002
48003 * DISTLIST: Added conf/sparc64-ieee1275.mk,
48004 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
48005 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
48006 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
48007 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
48008 util/powerpc/ieee1275/misc.c.
48009
48010 * include/grub/gzio.h: New file.
48011 * io/gzio.c: Likewise.
48012
48013 * kern/file.c (grub_file_close): Call grub_device_close only if
48014 FILE->DEVICE is not NULL.
48015
48016 * include/grub/mm.h [!NULL] (NULL): New macro.
48017
48018 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
48019
48020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
48021 (pkgdata_MODULES): Added gzio.mod.
48022 (gzio_mod_SOURCES): New variable.
48023 (gzio_mod_CFLAGS): Likewise.
48024
48025 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
48026 (pkgdata_MODULES): Added gzio.mod.
48027 (gzio_mod_SOURCES): New variable.
48028 (gzio_mod_CFLAGS): Likewise.
48029
48030 * commands/cat.c: Include grub/gzio.h.
48031 (grub_cmd_cat): Use grub_gzfile_open instead of
48032 grub_file_open.
48033
48034 * commands/cmp.c: Include grub/gzio.h.
48035 (grub_cmd_cmp): Use grub_gzfile_open instead of
48036 grub_file_open.
48037
48038 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
48039 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
48040 grub_file_open.
48041 (grub_rescue_cmd_module): Likewise.
48042
48043 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48044
48045 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
48046 kern/sparc64/ieee1275/init.c because it contains _start.
48047 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
48048
48049 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
48050
48051 * configure.ac: Add support for sparc64 host with ieee1275
48052 firmware.
48053 * configure: Generated from configure.ac.
48054 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
48055 instead of int.
48056 (grub_ofdisk_read): Likewise.
48057 (grub_ofdisk_open): Use %p to print pointer values, and cast the
48058 pointers as (void *) to remove a warning.
48059 (grub_ofdisk_close): Likewise.
48060 (grub_ofdisk_read): Likewise.
48061 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
48062 returns, so make it return void to remove a warning.
48063 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
48064 Corresponding prototype change.
48065 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
48066 values, and cast the pointers as (void *) to remove a warning.
48067 (grub_mm_dump): Likewise.
48068 * conf/sparc64-ieee1275.mk: New file.
48069 * conf/sparc64-ieee1275.rmk: Likewise.
48070 * include/grub/sparc64/setjmp.h: Likewise.
48071 * include/grub/sparc64/types.h: Likewise.
48072 * include/grub/sparc64/ieee1275/console.h: Likewise.
48073 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
48074 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
48075 * include/grub/sparc64/ieee1275/time.h: Likewise.
48076 * kern/sparc64/cache.c: Likewise.
48077 * kern/sparc64/dl.c: Likewise.
48078 * kern/sparc64/ieee1275/init.c: Likewise.
48079 * kern/sparc64/ieee1275/openfw.c: Likewise.
48080
48081 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48082
48083 * util/console.c (grub_ncurses_putchar): If C is greater than
48084 0x7f, set C to a question mark.
48085 (grub_ncurses_getcharwidth): New function.
48086 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
48087 getcharwidth.
48088
48089 * normal/menu.c (print_entry): Made aware of Unicode. First,
48090 convert TITLE to UCS-4, and predict the cursor position by
48091 grub_getcharwidth.
48092
48093 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
48094 const to SRC.
48095 * kern/misc.c (grub_utf16_to_utf8): Likewise.
48096
48097 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48098
48099 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
48100 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48101 grub_strcat.
48102
48103 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
48104 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
48105 grub_strcpy and grub_strlen. Take it into account that a space
48106 character is inserted as a delimiter.
48107
48108 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48109
48110 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
48111 invalid magic in the error.
48112
48113 * commands/search.c: New file.
48114
48115 * util/grub-emu.c (main): Call grub_search_init and
48116 grub_search_fini.
48117
48118 * kern/rescue.c (grub_rescue_print_disks): Removed.
48119 (grub_rescue_print_devices): New function.
48120 (grub_rescue_cmd_ls): Use grub_device_iterate with
48121 grub_rescue_print_devices instead of grub_disk_dev_iterate with
48122 grub_rescue_print_disks.
48123
48124 * kern/partition.c (grub_partition_iterate): Return the result of
48125 PARTMAP->ITERATE instead of GRUB_ERRNO.
48126
48127 * kern/device.c: Include grub/partition.h.
48128 (grub_device_iterate): New function.
48129
48130 * include/grub/partition.h (grub_partition_iterate): Return int
48131 instead of grub_err_t.
48132
48133 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
48134 prototype.
48135 [GRUB_UTIL] (grub_search_fini): Likewise.
48136
48137 * include/grub/device.h (grub_device_iterate): New prototype.
48138
48139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48140 commands/search.c.
48141 (pkgdata_MODULES): Added search.mod.
48142 (search_mod_SOURCES): New variable.
48143 (search_mod_CFLAGS): Likewise.
48144
48145 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
48146 (pkgdata_MODULES): Added search.mod.
48147 (search_mod_SOURCES): New variable.
48148 (search_mod_CFLAGS): Likewise.
48149
48150 * commands/ls.c (grub_ls_list_disks): Renamed to ...
48151 (grub_ls_list_devices): ... this, and use grub_device_iterate.
48152 All callers changed.
48153
48154 * DISTLIST: Added commands/search.c.
48155
48156 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
48157
48158 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
48159 conversion.
48160 (grub_getcharwidth): New function.
48161
48162 * kern/misc.c (grub_utf8_to_ucs4): New function.
48163
48164 * include/grub/term.h (struct grub_term): Added a new member
48165 "getcharwidth".
48166 (grub_getcharwidth): New prototype.
48167
48168 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
48169
48170 * term/i386/pc/console.c (map_char): New function. Segregated from
48171 grub_console_putchar.
48172 (grub_console_putchar): Use map_char.
48173 (grub_console_getcharwidth): New function.
48174 (grub_console_term): Specified grub_console_getcharwidth as
48175 getcharwidth.
48176
48177 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
48178 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
48179
48180 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
48181 GRUB_ERRNO.
48182 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
48183 on grub_strtoul completely.
48184 (write_char): Declare local variables in the beginning of the
48185 function.
48186 (grub_vesafb_getcharwidth): New function.
48187 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
48188 getcharwidth.
48189
48190 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
48191
48192 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
48193 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
48194 commands/i386/pc/vbetest.c.
48195
48196 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
48197 call grub_vbe_get_controller_info again, because the returned
48198 information is volatile.
48199 (grub_vbe_set_video_mode): Mostly rewritten.
48200 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
48201 grub_vbe_status_t correctly.
48202 (grub_vbe_get_video_mode_info): Likewise.
48203 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
48204 several if statements.
48205
48206 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
48207 * commands/i386/pc/vbeinfo.c: ... this.
48208
48209 * commands/i386/pc/vbe_test.c: Renamed to ...
48210 * commands/i386/pc/vbetest.c: ... this.
48211
48212 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
48213 ...
48214 (grub_cmd_vbeinfo): ... this. Save video modes before
48215 iterating. Skip a video mode, if it is not available, not enough
48216 information is given or it is monochrome. Show the memory
48217 model. Leave the interpretation of MODEVAR to grub_strtoul
48218 completely.
48219 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
48220 (GRUB_MOD_FINI): Likewise.
48221
48222 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
48223 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
48224 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
48225 duplicated grub_env_get. Leave the interpretation of MODEVAR to
48226 grub_strtoul completely.
48227 (real2pm): Removed.
48228 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
48229 (GRUB_MOD_FINI): Likewise.
48230
48231 * normal/misc.c: Include grub/mm.h.
48232
48233 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
48234 vbe_list_modes with vbetest.mod and vbeinfo.mod.
48235 (vbe_list_modes_mod_SOURCES): Removed.
48236 (vbe_list_modes_mod_CFLAGS): Likewise.
48237 (vbe_test_mod_SOURCES): Likewise.
48238 (vbe_test_mod_CFLAGS): Likewise.
48239 (vbeinfo_mod_SOURCES): New variable.
48240 (vbeinfo_mod_CFLAGS): Likewise.
48241 (vbetest_mod_SOURCES): Likewise.
48242 (vbetest_mod_CFLAGS): Likewise.
48243
48244 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
48245
48246 * normal/misc.c: New file.
48247
48248 * DISTLIST: Added normal/misc.c.
48249
48250 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
48251 DISK to HOOK. Call HOOK with DISK.
48252 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48253 * partmap/pc.c (pc_partition_map_iterate): Likewise.
48254 * partmap/sun.c (sun_partition_map_iterate): Likewise.
48255
48256 * normal/menu_entry.c (struct screen): Added a new member
48257 "completion_shown".
48258 (completion_buffer): New global variable.
48259 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
48260 (store_completion): New function.
48261 (complete): Likewise.
48262 (clear_completions): Likewise.
48263 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
48264 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
48265 a tab, call complete.
48266
48267 * normal/completion.c (disk_dev): Removed.
48268 (print_simple_completion): Likewise.
48269 (print_partition_completion): Likewise.
48270 (print_func): New global variable.
48271 (add_completion): Do not take the arguments WHAT or PRINT any
48272 longer. Added a new argument TYPE. Instead of printing directly,
48273 call PRINT_FUNC if not NULL.
48274 All callers changed.
48275 (complete_device): Use a local variable DEV instead of
48276 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
48277 (grub_normal_do_completion): Take a new argument HOOK. Do not
48278 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
48279 empty string, return NULL instead.
48280 All callers changed.
48281
48282 * normal/cmdline.c (print_completion): New function.
48283
48284 * kern/partition.c (grub_partition_iterate): Add an argument DISK
48285 to HOOK.
48286 All callers changed.
48287
48288 * kern/disk.c (grub_print_partinfo): Removed.
48289
48290 * include/grub/partition.h (struct grub_partition_map): Add a new
48291 argument DISK into HOOK of ITERATE.
48292 (grub_partition_iterate): Add a new argument DISK to HOOK.
48293
48294 * include/grub/normal.h (enum grub_completion_type): New enum.
48295 (grub_completion_type_t): New type.
48296 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
48297 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
48298 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
48299 (GRUB_COMPLETION_TYPE_FILE): Likewise.
48300 (grub_normal_do_completion): Added a new argument HOOK.
48301 (grub_normal_print_device_info): New prototype.
48302
48303 * include/grub/disk.h (grub_print_partinfo): Removed.
48304
48305 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
48306 (normal_mod_SOURCES): Likewise.
48307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48308 (normal_mod_SOURCES): Likewise.
48309
48310 * commands/ls.c (grub_ls_list_disks): Use
48311 grub_normal_print_device_info instead of grub_print_partinfo. Free
48312 PNAME.
48313 (grub_ls_list_files): Use grub_normal_print_device_info instead of
48314 duplicating the code.
48315
48316 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48317
48318 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
48319 follow GCS more precisely.
48320 * commands/i386/pc/vbe_test.c: Likewise.
48321 * include/grub/i386/pc/vbe.h: Likewise.
48322 * term/i386/pc/vesafb.c: Likewise.
48323 * video/i386/pc/vbe.c: Likewise.
48324
48325 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
48326
48327 * DISTLIST: Added term/i386/pc/vesafb.c
48328 DISTLIST: Added video/i386/pc/vbe.c
48329 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
48330 DISTLIST: Added commands/i386/pc/vbe_test.c.
48331 * commands/i386/pc/vbe_list_modes.c: New file.
48332 * commands/i386/pc/vbe_test.c: Likewise.
48333 * term/i386/pc/vesafb.c: Likewise.
48334 * video/i386/pc/vbe.c: Likewise.
48335 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48336 (grub_vbe_probe) Added prototype.
48337 (grub_vbe_set_video_mode) Likewise.
48338 (grub_vbe_get_video_mode) Likewise.
48339 (grub_vbe_get_video_mode_info) Likewise.
48340 (grub_vbe_set_pixel_rgb) Likewise.
48341 (grub_vbe_set_pixel_index) Likewise.
48342 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48343 (pkgdata_MODULES): Added vesafb.mod.
48344 (pkgdata_MODULES): Added vbe_list_modes.mod.
48345 (pkgdata_MODULES): Added vbe_test.mod.
48346 (vbe_mod_SOURCES): Added.
48347 (vbe_mod_CFLAGS): Likewise.
48348 (vesafb_mod_SOURCES): Likewise.
48349 (vesafb_mod_CFLAGS): Likewise.
48350 (vbe_list_modes_mod_SOURCES): Likewise.
48351 (vbe_list_modes_mod_CFLAGS): Likewise.
48352 (vbe_test_mod_SOURCES): Likewise.
48353 (vbe_test_mod_CFLAGS): Likewise.
48354
48355 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48356
48357 * normal/command.c (grub_command_execute): If INTERACTIVE is
48358 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48359 CMDLINE. Disable the pager if INTERACTIVE is true.
48360 All callers are changed.
48361
48362 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48363 before reading a config file.
48364 * normal/main.c (read_config_file): Even if a command is not
48365 found, register it if it is within an entry.
48366
48367 * util/grub-emu.c: Include sys/types.h and unistd.h.
48368 (options): Added --hold.
48369 (struct arguments): Added a new member "hold".
48370 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48371 missing.
48372 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48373 cleared by a debugger, if it is not zero.
48374
48375 * include/grub/normal.h (grub_command_execute): Add an argument
48376 INTERACTIVE.
48377
48378 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48379
48380 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48381
48382 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48383
48384 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48385 program with another one, because the old one didn't detect a bug
48386 in gcc-3.4. Always use regparm 2, because the new test is still
48387 not enough for gcc-4.0. Someone must investigate a simple test
48388 case which detects a bug in gcc-4.0.
48389
48390 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48391
48392 * DISTLIST: Added normal/completion.c.
48393
48394 * normal/completion.c: New file.
48395
48396 * term/i386/pc/console.c (grub_console_getwh): New function.
48397 (grub_console_term): Assign grub_console_getwh to getwh.
48398
48399 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48400 function is defined in normal/completion.c as
48401 grub_normal_do_completion.
48402 (grub_cmdline_get): Use grub_normal_do_completion instead of
48403 grub_tab_complete.
48404
48405 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48406 returns non-zero, otherwise return 0.
48407 (grub_partition_iterate): First, probe the partition map. Then,
48408 call ITERATE only for this partition map.
48409
48410 * kern/misc.c (grub_strncmp): Rewritten.
48411
48412 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48413 returns non-zero. Otherwise return 0.
48414
48415 * include/grub/partition.h (grub_partition_map_iterate): Return
48416 int instead of void.
48417
48418 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48419
48420 * include/grub/misc.h (grub_strncmp): Change the type of N to
48421 grub_size_t.
48422
48423 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48424 of void.
48425
48426 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
48427 unsigned explicitly before comparing it with I.
48428
48429 * kern/main.c (grub_env_write_root): Add the attribute unused into
48430 VAR.
48431
48432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48433 normal/completion.c.
48434 (normal_mod_SOURCES): Likewise.
48435 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48436 (normal_mod_SOURCES): Likewise.
48437
48438 * normal/command.c (grub_iterate_commands): If ITERATE returns
48439 non-zero, return one immediately.
48440
48441 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48442
48443 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48444 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48445 descriptions.
48446 (grub_vbe_get_controller_info): New function.
48447 (grub_vbe_get_mode_info): Likewise.
48448 (grub_vbe_set_mode): Likewise.
48449 (grub_vbe_get_mode): Likewise.
48450 (grub_vbe_set_memory_window): Likewise.
48451 (grub_vbe_get_memory_window): Likewise.
48452 (grub_vbe_set_scanline_length): Likewise.
48453 (grub_vbe_get_scanline_length): Likewise.
48454 (grub_vbe_set_display_start): Likewise.
48455 (grub_vbe_get_display_start): Likewise.
48456 (grub_vbe_set_palette_data): Likewise.
48457 * include/grub/i386/pc/vbe.h: New file.
48458
48459 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48460
48461 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48462 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48463 * DISTLIST: Likewise.
48464 * kern/ieee1275/of.c: Moved to ...
48465 * kern/ieee1275/ieee1275.c: ... here.
48466
48467 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48468
48469 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48470 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48471 Pass 0 as `end' parameter to grub_strtoul().
48472
48473 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48474
48475 * include/grub/powerpc/ieee1275/console.h: Do not include
48476 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48477 ifdef.
48478 (grub_console_cur_color): Remove i386-specific prototype.
48479 (grub_console_real_putchar): Likewise.
48480 (grub_console_checkkey): Likewise.
48481 (grub_console_getkey): Likewise.
48482 (grub_console_getxy): Likewise.
48483 (grub_console_gotoxy): Likewise.
48484 (grub_console_cls): Likewise.
48485 (grub_console_setcursor): Likewise.
48486 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48487 Include <grub/machine/console.h>.
48488 * term/ieee1275/ofconsole.c: Likewise.
48489
48490 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48491
48492 * Makefile.in (LIBLZO): New variable.
48493
48494 * configure.ac: Check for LZO version 2.
48495
48496 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48497 lzo/lzo1x.h instead of lzo1x.h.
48498
48499 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48500 of -llzo.
48501
48502 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48503 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48504
48505 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48506 copying the data from PARTITION to P.
48507
48508 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48509
48510 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48511 negative, unload the module.
48512
48513 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48514 map is "pc_partition_map" but not "pc".
48515 (usage): Fix the description. The options are --boot-image and
48516 --core-image but not --boot-file or --core-file.
48517 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48518 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48519 DEFAULT_DIRECTORY.
48520
48521 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48522 --core-file. Specify INSTALL_DEVICE as an argument.
48523
48524 * util/console.c: Include config.h.
48525 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48526 [HAVE_NCURSES_H]: Include ncurses.h.
48527 [HAVE_CURSES_H]: Include curses.h.
48528 [!A_NORMAL] (A_NORMAL): Defined as zero.
48529 [!A_STANDOUT] (A_STANDOUT): Likewise.
48530
48531 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48532 -lncurses.
48533 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48534
48535 * configure.ac: Check for curses libraries and headers.
48536
48537 * Makefile.in (LIBCURSES): New variable.
48538
48539 * genmk.rb (Script::rule): Set the executable bits.
48540
48541 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48542 name of the PC partition map is "pc_partition_map" but not "pc".
48543
48544 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48545
48546 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48547 (modules): Likewise.
48548 (usage): Added descriptions for --modules and --grub-probefs.
48549 Handle --modules and --grub-probefs. Save the arguments in MODULES
48550 and GRUB_PROBEFS, respectively.
48551 Auto-detect a filesystem module against GRUBDIR. If the result is
48552 empty and modules are not specified explicitly, abort the
48553 installation. Add the result to MODULES.
48554
48555 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48556 disk/powerpc/ieee1275/ofdisk.c,
48557 include/grub/powerpc/ieee1275/init.h and
48558 term/powerpc/ieee1275/ofconsole.c.
48559 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48560 term/ieee1275/ofconsole.c.
48561
48562 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48563
48564 * COPYING: Upgraded to the latest version. Only the address of the
48565 FSF office has changed.
48566
48567 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48568
48569 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48570 kern/ieee1275.c with kern/ieee1275/of.c.
48571
48572 * kern/ieee1275.c: Moved to ...
48573 * kern/ieee1275/of.c: ... here.
48574
48575 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48576
48577 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
48578 readability.
48579
48580 * config.guess: Updated to the latest version from gnulib.
48581 * config.sub: Likewise.
48582 * install.sh: Likewise.
48583 * mkinstalldirs: Likewise.
48584
48585 * include/grub/console.h: Removed. This file is arch-specific. Do
48586 not put this in include/grub.
48587
48588 * include/grub/i386/pc/console.h: Resurrected.
48589
48590 * util/console.c: Include grub/machine/console.h instead of
48591 grub/console.h.
48592 * util/grub-emu.c: Likewise.
48593
48594 2005-08-04 Marco Gerards <metgerards@student.han.nl>
48595
48596 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48597 hardcoded value.
48598
48599 From Vincent Pelletier <subdino2004@yahoo.fr>
48600 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48601 Redefined to use grub_getwh.
48602 (grub_term): New member named getwh.
48603 (grub_getwh): New prototype.
48604 * kern/term.c (grub_getwh): New function.
48605 * term/i386/pc/console.c (grub_console_getwh): New function.
48606 (grub_console_term): New member `getwh'.
48607 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48608 (grub_vga_term): New member `getwh'.
48609 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
48610 grub_ssize_t.
48611 (grub_ofconsole_getw): New function.
48612 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48613 (grub_ofconsole_term): New field named getwh and new initial
48614 value.
48615
48616 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48617
48618 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48619 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48620 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48621 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48622 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48623 of <grub/machine/ieee1275.h>.
48624 * commands/ieee1275/reboot.c: Likewise.
48625 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48626 * kern/ieee1275.c: ... to here. All users updated. Change all
48627 parameter structs to use new type `grub_ieee1275_cell_t'.
48628 * term/powerpc/ieee1275/ofconsole.c: Move ...
48629 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48630 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48631 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48632 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48633 to return int.
48634 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48635 Remove unused prototypes. All users updated.
48636 * include/grub/powerpc/ieee1275/console.h: Removed.
48637 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48638 `grub_ieee1275_cell_t'.
48639 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48640 Cast comparisons with -1 to the correct type.
48641 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48642 type to match `grub_ieee1275_entry_fn'.
48643
48644 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48645
48646 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48647
48648 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48649 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48650 partmap/sun.c.
48651 (grub_probefs_SOURCES): New variable.
48652
48653 * util/i386/pc/grub-probefs.c: New file.
48654
48655 * util/i386/pc/grub-setup.c (main): Call
48656 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48657 grub_hfs_init and grub_jfs_init to initialize the system. Call
48658 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48659 grub_pc_partition_map_fini to finish the system.
48660
48661 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48662
48663 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48664 function.
48665 (grub_multiboot_load_elf32): Likewise.
48666 (grub_multiboot_is_elf64): Likewise.
48667 (grub_multiboot_load_elf64): Likewise.
48668 (grub_multiboot_load_elf): Likewise.
48669 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48670 an ELF32 or ELF64 file.
48671 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48672
48673 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48674 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48675 NULL before calling FS->LABEL.
48676 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48677 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48678 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48679 before calling FS->LABEL.
48680
48681 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48682
48683 * util/i386/pc/grub-install.in (datadir): New variable.
48684 (libdir): Removed.
48685 (pkgdatadir): New variable.
48686 (pkglibdir): Removed.
48687
48688 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48689
48690 * DISTLIST: Added util/i386/pc/grub-install.in.
48691
48692 * util/i386/pc/grub-install.in: New file.
48693
48694 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48695 (grub_install_SOURCES): Likewise.
48696
48697 * genmk.rb: Added support for scripts.
48698 (Script): New class.
48699 (scripts): New variable.
48700
48701 * Makefile.in (install-local): Install sbin_SCRIPTS by
48702 INSTALL_SCRIPT.
48703 (uninstall): Remove sbin_SCRIPTS.
48704
48705 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48706 device, try to get a GRUB device by
48707 grub_util_biosdisk_get_grub_dev.
48708 Free DEST_DEV.
48709
48710 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48711 description for --device-map.
48712
48713 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48714
48715 Change the semantics of variable hooks. They now return strings
48716 instead of error values.
48717
48718 * util/i386/pc/grub-setup.c: Include grub/env.h.
48719 (setup): Use grub_device_set_root instead of grub_env_set.
48720
48721 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48722 grub_env_get instead of grub_device_set_root and
48723 grub_device_get_root, respectively.
48724
48725 * kern/main.c (grub_env_write_root): New function.
48726 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48727 grub_env_set instead of grub_device_set_root.
48728
48729 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48730 many variables.
48731 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48732 rather than calling ENV->WRITE_HOOK afterwards.
48733 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48734 passing a pointer of a pointer.
48735 (grub_register_variable_hook): Change the types of "read_hook" and
48736 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48737 respectively.
48738 Allocate the default empty string on the heap, because this string
48739 may be freed later.
48740
48741 * kern/device.c: Include grub/env.h.
48742 (grub_device_set_root): Removed.
48743 (grub_device_get_root): Likewise.
48744 (grub_device_open): Use grub_env_get instead of
48745 grub_device_get_root.
48746
48747 * include/grub/env.h (grub_env_read_hook_t): New type.
48748 (grub_env_write_hook_t): Likewise.
48749 (grub_env_var): Change the types of "read_hook" and "write_hook"
48750 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48751 (grub_register_variable_hook): Likewise.
48752
48753 * include/grub/device.h (grub_device_set_root): Removed.
48754 (grub_device_set_root): Likewise.
48755
48756 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48757 make sure that DIRNAME terminates with '/', so that
48758 grub_fat_find_dir will fail if PATH is not a directory.
48759
48760 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48761 from DIRNAME.
48762 Use the qualifier auto for print_files and print_files_long.
48763 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48764 as a regular file.
48765 Put a newline only if there is no error.
48766 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48767 used.
48768
48769 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48770
48771 * kern/partition.c (grub_partition_probe): Initialize PART to
48772 NULL. Otherwise, when no partition map is registered, this returns
48773 a garbage.
48774
48775 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48776
48777 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48778 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48779 valid.
48780
48781 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48782
48783 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48784 information on each device, if it does not have partitions. Print
48785 "Device" instead of "Disk", because this function is not specific
48786 to disk devices.
48787
48788 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48789 static to ensure that it is put on the memory rather than a
48790 register.
48791
48792 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
48793
48794 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48795 (grub_cat_init): Likewise.
48796 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48797 (options): Likewise.
48798 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48799 (grub_configfile_init): Likewise.
48800 * font/manager.c (GRUB_MOD_INIT): Likewise.
48801 * commands/help.c (GRUB_MOD_INIT): Likewise.
48802 (grub_help_init): Likewise.
48803 * normal/command.c (grub_command_init): Likewise.
48804 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48805 * disk/loopback.c (grub_loop_init): Likewise.
48806 (GRUB_MOD_INIT): Likewise.
48807 * commands/ls.c (grub_ls_init): Likewise.
48808 (GRUB_MOD_INIT): Likewise.
48809 (options): Likewise.
48810 * commands/boot.c (grub_boot_init): Likewise.
48811 (GRUB_MOD_INIT): Likewise.
48812 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48813 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48814 (GRUB_MOD_INIT): Likewise.
48815 * commands/cmp.c (grub_cmp_init): Likewise.
48816 (GRUB_MOD_INIT): Likewise.
48817
48818 * normal/arg.c: Use <> instead of "" to include header files.
48819 (SHORT_ARG_HELP): New macro.
48820 (SHORT_ARG_USAGE): Likewise.
48821 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48822 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48823 descriptions.
48824 (find_short): Check if C is 'h' or 'u' explicitly.
48825 (grub_arg_show_help): Use space characters instead of tabs. Treat
48826 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48827 are shown with --help and --usage only if they are not used for
48828 the command itself.
48829 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48830 'h' and 'u'.
48831
48832 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48833 const into "longarg". Change the type of "shortarg" to int.
48834
48835 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
48836
48837 * boot/i386/pc/boot.S (boot_drive_check): New label.
48838
48839 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48840 macro.
48841
48842 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48843 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48844
48845 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
48846
48847 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48848 When turning off Gate A20, skip the check and return immediately,
48849 because this is not fatal usually.
48850
48851 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
48852
48853 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48854 be 0x7C00 instead of 0x8000.
48855
48856 * boot/i386/pc/pxeboot.S: Rewritten.
48857
48858 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48859 EXT_C.
48860 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48861 result.
48862
48863 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48864
48865 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48866 robustness. This routine now supports a BIOS call and System
48867 Control Port A to modify the gate A20.
48868
48869 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48870 Increased to 0x440.
48871
48872 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48873
48874 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48875 device path and resulting ihandle.
48876 (grub_ofdisk_close): dprintf the ihandle being closed.
48877 (grub_ofdisk_read): dprintf function parameters.
48878 * kern/mm.c (grub_mm_init_region): Likewise.
48879 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48880 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48881 size, and boot arguments.
48882 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48883 before loading into memory.
48884 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48885 before loading into memory.
48886
48887 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48888
48889 * kern/mm.c: Added much documentation.
48890 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48891 8, set to 5 instead of 8.
48892
48893 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
48894
48895 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48896
48897 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48898 (grub_mkdevicemap_SOURCES): New variable.
48899
48900 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48901 lib/device.c of GRUB Legacy.
48902
48903 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
48904
48905 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48906 instead of PATH is NULL.
48907
48908 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48909
48910 * commands/cmp.c (BUFFER_SIZE): New macro.
48911 (grub_cmd_cmp): Close the right file at the right time. Compare
48912 only data just read. Don't report files of different size as
48913 identical. Dynamically allocate buffers. Move variable
48914 declarations at the beginning of function.
48915
48916 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
48917
48918 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48919 reverse.
48920
48921 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48922
48923 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48924 when backspace is pressed at beginning of line.
48925
48926 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
48927
48928 * DISTLIST: Added genfslist.sh.
48929
48930 * normal/main.c (fs_module_list): New variable.
48931 (autoload_fs_module): New function.
48932 (read_fs_list): Likewise.
48933 (grub_normal_execute): Call read_fs_list.
48934
48935 * kern/fs.c (grub_fs_autoload_hook): New variable.
48936 (grub_fs_probe): Added support for auto-loading.
48937
48938 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48939 (grub_fs_module_list_t): New type.
48940
48941 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48942 (grub_fs_autoload_hook): New prototype.
48943
48944 * genfslist.sh: New file.
48945
48946 * genmk.rb: Added a rule to generate a filesystem list.
48947
48948 2005-06-30 Marco Gerards <metgerards@student.han.nl>
48949
48950 * configure.ac: Fix the test for cross-compiling.
48951
48952 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48953 define GRUB_UTIL anymore.
48954
48955 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48956 so this function works on other systems than just big endian.
48957 (load_modules): Likewise.
48958 (add_segments): Likewise.
48959
48960 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48961
48962 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48963 contains `l' modifier, get a long from va_arg().
48964
48965 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48966
48967 * kern/mm.c (grub_free): If the next free block which is being
48968 merged is the first free block, set the first block to the block
48969 being freed.
48970 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48971
48972 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48973
48974 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48975 `grub_ieee1275_chosen'.
48976
48977 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48978
48979 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48980 (grub_ieee1275_chosen): New variable.
48981 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48982 `chosen'.
48983 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48984 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48985 Rename first argument to `phandle' for consistency.
48986 (grub_ieee1275_get_property_length): Likewise.
48987 (grub_ieee1275_next_property): Likewise. Change type of first argument
48988 to grub_ieee1275_phandle_t.
48989 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48990 Move export next to declaration.
48991 (grub_ieee1275_chosen): New variable.
48992 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48993 Correct cosmetic typo.
48994 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48995 `grub_ieee1275_chosen'.
48996 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48997 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48998 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48999 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
49000 `grub_ieee1275_chosen'.
49001
49002 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
49003
49004 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
49005 /chosen/bootargs.
49006 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
49007 /chosen/bootargs as "variable=value" pairs.
49008
49009 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
49010
49011 * include/grub/misc.h (grub_dprintf): New macro.
49012 (grub_real_dprintf): New prototype.
49013 (grub_strword): Likewise.
49014 (grub_iswordseparator): Likewise.
49015 * kern/misc.c (grub_real_dprintf): New function.
49016 (grub_strword): Likewise.
49017 (grub_iswordseparator): Likewise.
49018
49019 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
49020
49021 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
49022 (roundup): Remove macro.
49023 (grub_ieee1275_flags): Make static.
49024 (grub_ieee1275_realmode): Remove.
49025 (grub_ieee1275_test_flag): New function.
49026 (grub_ieee1275_set_flag): Likewise.
49027 (find_options): Rename to `grub_ieee1275_find_options'; update
49028 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
49029 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
49030 (cmain): New prototype.
49031 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
49032 `grub_ieee1275_flags' directly.
49033 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
49034 machine/biosdisk.h.
49035 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
49036 Don't include grub/machine/init.h.
49037 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
49038 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49039 Remove prototype.
49040 (grub_ieee1275_realmode): Likewise.
49041 (grub_ieee1275_flag): New enum.
49042 (grub_ieee1275_test_flag): New prototype.
49043 (grub_ieee1275_set_flag): New prototype.
49044 * include/grub/powerpc/ieee1275/init.h: Remove file.
49045 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
49046 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
49047 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
49048 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
49049 comment.
49050 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
49051 `grub_ieee1275_test_flag'.
49052 (grub_ieee1275_encode_devname): Likewise.
49053
49054 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
49055
49056 * include/grub/powerpc/ieee1275/ieee1275.h
49057 (grub_ieee1275_encode_devname): New prototype.
49058 (grub_ieee1275_get_filename): Likewise.
49059 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
49060 function.
49061 (grub_set_prefix): Likewise.
49062 (grub_machine_init): Call grub_set_prefix.
49063 * kern/powerpc/ieee1275/openfw.c: Fix typos.
49064 (grub_parse_type): New enum.
49065 (grub_ieee1275_get_devargs): New function.
49066 (grub_ieee1275_get_devname): Likewise.
49067 (grub_ieee1275_parse_args): Likewise.
49068 (grub_ieee1275_get_filename): Likewise.
49069 (grub_ieee1275_encode_devname): Likewise.
49070
49071 2005-03-30 Marco Gerards <metgerards@student.han.nl>
49072
49073 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
49074 `grub_loader_unset'.
49075
49076 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
49077
49078 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
49079 instead of grub_ieee1275_interpret.
49080 (grub_halt_init): New function.
49081 (grub_halt_fini): Likewise.
49082 (GRUB_MOD_INIT): Correct message grammar.
49083 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
49084 instead of grub_ieee1275_interpret.
49085 (grub_reboot_init): New function.
49086 (grub_reboot_fini): Likewise.
49087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
49088 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
49089 util/i386/pc/misc.c with commands/ieee1275/halt.c,
49090 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
49091 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
49092 function.
49093 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
49094 Add prototype.
49095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
49096 prototype.
49097 (grub_halt): Likewise.
49098 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
49099 (cmain): Remove __attribute__((unused)).
49100 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
49101 (grub_heap_len): Likewise.
49102 (grub_machine_fini): New function.
49103 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
49104 (grub_halt): Likewise.
49105 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
49106 function.
49107 * util/powerpc/ieee1275/misc.c: New file.
49108
49109 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
49110
49111 * DISTLIST: New file.
49112 * gendistlist.sh: Likewise.
49113
49114 * Makefile.in (COMMON_DISTFILES): Removed.
49115 (BOOT_DISTFILES): Likewise.
49116 (CONF_DISTFILES): Likewise.
49117 (DISK_DISTFILES): Likewise.
49118 (FS_DISTFILES): Likewise.
49119 (INCLUDE_DISTFILES): Likewise.
49120 (KERN_DISTFILES): Likewise.
49121 (LOADER_DISTFILES): Likewise.
49122 (TERM_DISTFILES): Likewise.
49123 (UTIL_DISTFILES): Likewise.
49124 (DISTFILES): Likewise.
49125 (uninstall): Uninstall files in $(pkgdata_DATA).
49126 (DISTLIST): New target.
49127 (distdir): Use the contents of the file DISTLIST to get a list of
49128 distributed files.
49129
49130 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
49131
49132 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
49133 descriptor. This is ported from GRUB Legacy.
49134
49135 * gencmdlist.sh: Added an extra semicolon to make it work with
49136 old sed versions. Reported by Robert Bihlmeyer
49137 <robbe@orcus.priv.at>.
49138
49139 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
49140
49141 Automatic loading of commands is supported.
49142
49143 * normal/main.c (read_command_list): New function.
49144 (grub_normal_execute): Call read_command_list.
49145
49146 * normal/command.c (grub_register_command): Return zero or CMD.
49147 Allocate CMD->NAME from the heap.
49148 Initialize CMD->MODULE_NAME to zero.
49149 Find the same name as well. If the same command is found and it is
49150 a dummy command, overwrite members. If it is not a dummy command,
49151 return zero.
49152 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
49153 (grub_command_find): If a dummy command is found, load a module
49154 and retry to find a command only once.
49155
49156 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
49157 make sure that each command is loaded.
49158
49159 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
49160 macro.
49161 (struct grub_command): Remove const from the member `name'.
49162 Add a new member `module_name'.
49163 (grub_register_command): Return grub_command_t.
49164
49165 * commands/help.c (grub_cmd_help): Call grub_command_find to make
49166 sure that each command is loaded.
49167
49168 * genmk.rb (PModule::rule): Specify a module name without the
49169 suffix ".mod" to gencmdlist.sh.
49170
49171 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49172
49173 * gencmdlist.sh: New file.
49174
49175 * genmk.rb (PModule::rule): Generate a rule for a command list.
49176 Clean command.lst.
49177 Generate command.lst from $(COMMANDFILES).
49178
49179 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
49180 (DATA): Added $(pkgdata_DATA).
49181 (install-local): Install files in $(pkgdata_DATA).
49182
49183 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
49184
49185 * term/i386/pc/vga.c (debug_command): Removed.
49186 (GRUB_MOD_INIT): Do not register the command "debug".
49187
49188 From Hollis Blanchard:
49189 * commands/configfile.c: New file.
49190 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49191 commands/configfile.c.
49192 (pkgdata_MODULES): Added configfile.mod.
49193 (configfile_mod_SOURCES): New variable.
49194 (configfile_mod_CFLAGS): Likewise.
49195 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49196 commands/configfile.c.
49197 (pkgdata_MODULES): Added configfile.mod.
49198 (configfile_mod_SOURCES): New variable.
49199 (configfile_mod_CFLAGS): Likewise.
49200 * util/grub-emu.c (main): Call grub_configfile_init and
49201 grub_configfile_fini.
49202 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
49203 prototype.
49204 [GRUB_UTIL] (grub_configfile_fini): Likewise.
49205
49206 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49207
49208 * normal/arg.c (grub_arg_show_help): Do not show the bug report
49209 address.
49210
49211 * commands/help.c (grub_cmd_help): Do not print newlines after
49212 the last command in print_command_help.
49213
49214 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
49215
49216 * commands/default.h: New file.
49217 * commands/timeout.h: Likewise.
49218 * normal/context.c: Likewise.
49219
49220 * util/misc.c: Do not include sys/times.h.
49221 Include sys/time.h and grub/machine/time.h.
49222 (grub_get_rtc): Rewritten with gettimeofday.
49223
49224 * util/grub-emu.c (main): Call grub_default_init and
49225 grub_timeout_init before grub_normal_init, and call
49226 grub_timeout_fini and grub_default_fini after grub_main.
49227
49228 * util/console.c (grub_ncurses_checkkey): Return the read
49229 character or -1.
49230
49231 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
49232 timeouts.
49233
49234 * normal/main.c (read_config_file): Push MENU. If this fails,
49235 print an error and wait for a user input.
49236 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
49237 If a menu is empty or an error occurs, pop MENU.
49238 (grub_normal_execute): Pop and free MENU after grub_menu_run
49239 returns.
49240
49241 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
49242
49243 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
49244 include time.h.
49245 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49246 without GRUB_UTIL.
49247 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
49248 time.h.
49249 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
49250 without GRUB_UTIL.
49251
49252 * include/grub/normal.h (struct grub_menu_list): New struct.
49253 (grub_menu_list_t): New type.
49254 (struct grub_context): New struct.
49255 (grub_context_t): New type.
49256 (grub_register_command): Got rid of EXPORT_FUNC.
49257 (grub_unregister_command): Likewise.
49258 (grub_context_get): New prototype.
49259 (grub_context_get_current_menu): Likewise.
49260 (grub_context_push_menu): Likewise.
49261 (grub_context_pop_menu): Likewise.
49262 [GRUB_UTIL] (grub_default_init): Likewise.
49263 [GRUB_UTIL] (grub_default_fini): Likewise.
49264 [GRUB_UTIL] (grub_timeout_init): Likewise.
49265 [GRUB_UTIL] (grub_timeout_fini): Likewise.
49266
49267 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
49268 commands/timeout.c and normal/context.c.
49269 (pkgdata_MODULES): Added default.mod and timeout.mod.
49270 (normal_mod_SOURCES): Added normal/context.c.
49271 (default_mod_SOURCES): New variable.
49272 (default_mod_CFLAGS): Likewise.
49273 (timeout_mod_SOURCES): Likewise.
49274 (timeout_mod_CFLAGS): Likewise.
49275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
49276 conf/i386-pc.rmk.
49277 (pkgdata_MODULES): Added default.mod and timeout.mod.
49278 (normal_mod_SOURCES): Added normal/context.c.
49279 (default_mod_SOURCES): New variable.
49280 (default_mod_CFLAGS): Likewise.
49281 (timeout_mod_SOURCES): Likewise.
49282 (timeout_mod_CFLAGS): Likewise.
49283
49284 * Makefile.in (all-local): Added $(MKFILES).
49285
49286 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
49287
49288 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
49289 (grub_emu_SOURCES): Likewise.
49290 (pkgdata_MODULES): Add `sun.mod'.
49291 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49293 `partmap/sun.c'.
49294 (pkgdata_MODULES): Add `sun.mod'.
49295 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
49296 * include/grub/partition.h (grub_sun_partition_map_init): New
49297 prototype.
49298 (grub_sun_partition_map_fini): Likewise.
49299 * partmap/sun.c: New file.
49300 * util/grub-emu.c (main): Initialize and de-initialize the sun
49301 partitionmap support.
49302
49303 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
49304
49305 This implements an Emacs-like menu entry editor.
49306
49307 * normal/menu_entry.c: New file.
49308
49309 * util/console.c (grub_ncurses_putchar): Translate some Unicode
49310 characters to ASCII.
49311 (saved_char): New variable.
49312 (grub_ncurses_checkkey): Rewritten completely.
49313 (grub_ncurses_getkey): Likewise.
49314 (grub_ncurses_init): Call raw instead of cbreak.
49315
49316 * normal/menu.c (print_entry): Do not put a space.
49317 (init_page): Renamed to ...
49318 (grub_menu_init_page): ... this. All callers changed.
49319 (edit_menu_entry): Removed.
49320 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
49321
49322 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
49323
49324 * kern/misc.c (grub_vprintf): Call grub_refresh.
49325
49326 * normal/menu.c (DISP_LEFT): Renamed to ...
49327 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
49328 * normal/menu.c (DISP_UP): Renamed to ...
49329 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
49330 * normal/menu.c (DISP_RIGHT): Renamed to ...
49331 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49332 * normal/menu.c (DISP_DOWN): Renamed to ...
49333 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49334 * normal/menu.c (DISP_HLINE): Renamed to ...
49335 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49336 * normal/menu.c (DISP_VLINE): Renamed to ...
49337 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49338 * normal/menu.c (DISP_UL): Renamed to ...
49339 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49340 * normal/menu.c (DISP_UR): Renamed to ...
49341 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49342 * normal/menu.c (DISP_LL): Renamed to ...
49343 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49344 * normal/menu.c (DISP_LR): Renamed to ...
49345 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49346 * normal/menu.c (TERM_WIDTH): Renamed to ...
49347 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49348 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49349 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49350 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49351 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49352 * normal/menu.c (TERM_MARGIN): Renamed to ...
49353 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49354 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49355 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49356 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49357 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49358 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49359 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49360 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49361 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49362 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49363 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49364 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49365 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49366 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49367 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49368 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49369 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49370 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49371 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49372 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49373 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49374 All callers changed.
49375
49376 * include/grub/normal.h: New prototype.
49377
49378 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49379 normal/menu_entry.c.
49380 (normal_mod_SOURCES): Likewise.
49381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49382 (normal_mod_SOURCES): Likewise.
49383
49384 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49385
49386 * include/grub/normal.h (grub_halt_init): New prototype.
49387 (grub_halt_fini): Likewise.
49388 (grub_reboot_init): Likewise.
49389 (grub_reboot_fini): Likewise.
49390
49391 * util/grub-emu.c: Include signal.h.
49392 (main_env): New global variable.
49393 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49394 catch C-c.
49395 (grub_machine_fini): New function.
49396 (main): Call grub_halt_init and grub_reboot_init before
49397 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49398 Call setjmp with MAIN_ENV to go back afterwards.
49399 Call grub_machine_fini right before return.
49400
49401 * include/grub/util/misc.h: Include setjmp.h.
49402 (main_env): New prototype.
49403
49404 * include/grub/kernel.h (grub_machine_fini): New prototype.
49405 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49406 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49407
49408 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49409 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49410 * term/i386/pc/console.c (grub_console_fini): Likewise.
49411
49412 * util/i386/pc/misc.c: New file.
49413
49414 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49415 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49416 commands/i386/pc/reboot.c.
49417
49418 2005-02-14 Guillem Jover <guillem@hadrons.org>
49419
49420 * include/grub/dl.h (grub_dl_check_header): New prototype.
49421 (grub_arch_dl_check_header): Change return type to grub_err_t,
49422 remove size parameter and export function. Update all callers.
49423 * kern/dl.c (grub_dl_check_header): New function.
49424 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49425 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49426 are inside the core.
49427 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49428 independent ELF header checks.
49429 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49430 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49431 `grub_dl_check_header' instead of explicit checks. Check for the
49432 ELF type.
49433 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49434 `grub_dl_check_header' instead of explicit checks. Remove arch
49435 specific ELF header checks.
49436
49437 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49438 argument SIZE.
49439
49440 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49441
49442 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49443 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49444
49445 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49446
49447 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
49448 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
49449 (part_map_iterate): Clear `grub_errno' and return 0 if
49450 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
49451 * partmap/amiga.c (amiga_partition_map_iterate): Return
49452 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49453 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49454
49455 2005-02-01 Guillem Jover <guillem@hadrons.org>
49456
49457 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49458 help info.
49459
49460 2005-01-31 Marco Gerards <metgerards@student.han.nl>
49461
49462 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49463 Removed prototype.
49464 (grub_rescue_cmd_linux): New prototype.
49465 (grub_rescue_cmd_initrd): Likewise.
49466 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49467 `bi_rec'.
49468 (grub_linux_release_mem): Release the memory for the initrd.
49469 (grub_load_linux): Renamed from this...
49470 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49471 Changed `entry' not to be static. Loop over memory regions to
49472 find another one when the default fails.
49473 (grub_rescue_cmd_initrd): New function.
49474 (grub_linux_init): Remove function.
49475 (grub_linux_fini): Likewise.
49476 (GRUB_MOD_INIT): Register `initrd'.
49477 (GRUB_MOD_FINI): Unregister `initrd'.
49478 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49479 Function removed.
49480 (grub_linux_normal_fini): Likewise.
49481 (GRUB_MOD_INIT): Register `initrd'.
49482 (GRUB_MOD_FINI): Unregister `initrd'.
49483
49484 2005-01-31 Marco Gerards <metgerards@student.han.nl>
49485
49486 * commands/help.c: New file.
49487 * normal/arg.c (show_help): Renamed to...
49488 (grub_arg_show_help): ... this.
49489 * commands/i386/pc/halt.c: New file.
49490 * commands/i386/pc/reboot.c: Likewise.
49491 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49492 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49493 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49494 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49495 variables.
49496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49497 `commands/help.c'.
49498 (pkgdata_MODULES): Add `help.mod'.
49499 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49500 * grub/i386/pc/init.h (grub_reboot): New prototype.
49501 (grub_halt): Likewise.
49502 * include/grub/normal.h (grub_arg_show_help): New prototype.
49503 (grub_help_init): Likewise.
49504 (grub_help_fini): Likewise.
49505 * util/grub-emu.c (main): Initialize and deinitialize the help
49506 command.
49507
49508 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49509
49510 * normal/command.c (grub_command_init): Fixed the description of
49511 the `set' and `unset' commands.
49512
49513 2005-01-31 Marco Gerards <metgerards@student.han.nl>
49514
49515 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49516 function.
49517 * commands/ieee1275/halt.c: New file.
49518 * commands/ieee1275/reboot.c: Likewise.
49519 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49520 `__attribute__ ((unused))'. Some GCS related fixed.
49521 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49522 (grub_suspend_fini): Likewise.
49523 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49524 and `halt.mod'.
49525 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49526 (halt_mod_CFLAGS): New variables.
49527 * include/grub/powerpc/ieee1275/ieee1275.h
49528 (grub_ieee1275_interpret): New prototype.
49529
49530 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49531
49532 * include/grub/misc.h (memmove): New prototype.
49533 (memcpy): Likewise.
49534
49535 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49536
49537 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49538 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49539
49540 2005-01-22 Marco Gerards <metgerards@student.han.nl>
49541
49542 * kern/misc.c (grub_strndup): Function rewritten.
49543
49544 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49545
49546 * normal/menu.c (TERM_WIDTH): Macro redefined.
49547 (TERM_TOP_BORDER_Y): Likewise.
49548 (draw_border): Replaced while-loop by a for-loop. Make the number
49549 of lines consistent with the number of lines displayed in
49550 print_entries. Added a margin below the rectangle.
49551 (print_entry): Make the entry fit in the rectangle.
49552 (print_entries): Display the scroll arrows next to the right
49553 border.
49554
49555 2005-01-21 Marco Gerards <metgerards@student.han.nl>
49556
49557 * fs/minix.c (grub_minix_find_file): Reserve more space for
49558 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49559 `grub_strncpy' to copy `path' into it.
49560
49561 2005-01-21 Marco Gerards <metgerards@student.han.nl>
49562
49563 Add the loopback device, a device via which files can be accessed
49564 as devices.
49565
49566 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49567 (pkgdata_MODULES): Add loopback.mod.
49568 (loopback_mod_SOURCES): New variable.
49569 (loopback_mod_CFLAGS): Likewise.
49570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49571 `disk/loopback.c'.
49572 (pkgdata_MODULES): Add loopback.mod.
49573 (loopback_mod_SOURCES): New variable.
49574 (loopback_mod_CFLAGS): Likewise.
49575 * disk/loopback.c: new file.
49576 * include/grub/normal.h (grub_loop_init): New prototype.
49577 (grub_loop_fini): New prototype.
49578 * util/grub-emu.c (main): Initialize and de-initialize loopback
49579 support.
49580 * include/grub/disk.h (grub_disk_dev_id): Add
49581 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49582
49583 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49584
49585 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49586 function.
49587 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49588 (suspend_mod_SOURCES): New variable.
49589 (suspend_mod_CFLAGS): Likewise.
49590 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49591 New prototype.
49592 * commands/ieee1275/suspend.c: New file.
49593
49594 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49595
49596 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
49597 ((unused))' to `__attribute__ ((used))'.
49598 (GRUB_MOD_FINI): Likewise.
49599 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49600 * genmk.rb (PModule): Assign space to common symbols when linking
49601 modules.
49602
49603 2005-01-20 Marco Gerards <metgerards@student.han.nl>
49604
49605 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49606 `unsigned' arguments to `grub_size_t'.
49607 (grub_malloc): Likewise.
49608 (grub_realloc): Likewise.
49609 (grub_memalign): Likewise.
49610 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49611 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49612 * util/misc.c (grub_malloc): Likewise.
49613 (grub_realloc): Likewise.
49614 * kern/mm.c (get_header_from_pointer): Change the casts to
49615 `unsigned' into a cast to `grub_size_t'.
49616
49617 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49618 point to `currnode' when `currnode' is changed.
49619
49620 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49621 Schottelius <nico-linux@schottelius.org>.
49622
49623 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49624
49625 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49626 (note_path): Remove variable.
49627 (GRUB_IEEE1275_NOTE_NAME): New macro.
49628 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49629 (grub_ieee1275_note_hdr): New structure.
49630 (grub_ieee1275_note_desc): Likewise.
49631 (grub_ieee1275_note): Likewise.
49632 (load_note): Remove `dir' argument. All callers updated. Remove
49633 `note_img' and `path'. Do not load a file from `note_path'.
49634 Initialize a struct grub_ieee1275_note and write that to `out'.
49635 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49636
49637 2005-01-05 Marco Gerards <metgerards@student.han.nl>
49638
49639 * util/misc.c (grub_util_read_image): Revert last change. It
49640 called `grub_util_read_at', which seeks from the beginning of the
49641 file.
49642
49643 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49644
49645 * TODO: Add note about endianness in grub-mkimage.
49646 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49647 section.
49648 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49649 (grub_mkimage_SOURCES): New target.
49650 * include/grub/kernel.h (grub_start_addr): Remove variable.
49651 (grub_end_addr): Likewise.
49652 (grub_total_module_size): Likewise.
49653 (grub_kernel_image_size): Likewise.
49654 (GRUB_MODULE_MAGIC): New constant.
49655 (grub_module_info): New structure.
49656 (grub_arch_modules_addr): New prototype.
49657 (grub_get_end_addr): Remove prototype.
49658 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49659 * include/grub/powerpc/ieee1275/kernel.h: New file.
49660 * include/grub/util/misc.h (grub_util_get_fp_size): New
49661 prototype.
49662 (grub_util_read_at): Likewise.
49663 (grub_util_write_image_at): Likewise.
49664 * kern/main.c (grub_get_end_addr): Remove function.
49665 (grub_load_modules): Call grub_arch_modules_addr instead of using
49666 grub_end_addr. Look for a grub_module_info struct in memory. Use
49667 the grub_module_info fields instead of calling grub_get_end_addr
49668 as loop conditions. Move grub_add_unused_region code here.
49669 (grub_add_unused_region): Remove function.
49670 * kern/i386/pc/init.c: Include grub/cache.h.
49671 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49672 one call to add_mem_region.
49673 (grub_arch_modules_addr): New function.
49674 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49675 (grub_total_module_size): Likewise.
49676 Include grub/machine/kernel.h.
49677 (grub_arch_modules_addr): New function.
49678 * util/grub-emu.c (grub_end_addr): Remove variable.
49679 (grub_total_module_size): Likewise.
49680 (grub_arch_modules_addr): New function.
49681 * util/misc.c: Include unistd.h.
49682 (grub_util_get_fp_size): New function.
49683 (grub_util_read_at): Likewise.
49684 (grub_util_write_image_at): Likewise.
49685 (grub_util_read_image): Call grub_util_read_at.
49686 (grub_util_write_image): Call grub_util_write_image_at.
49687 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49688 additional memory in kernel_img for a struct grub_module_info.
49689 Fill in that grub_module_info.
49690 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49691
49692 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49693
49694 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49695 New function.
49696 * include/grub/powerpc/ieee1275/ieee1275.h
49697 (grub_ieee1275_milliseconds): New prototype.
49698 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49699 Change to 1000.
49700 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49701 grub_ieee1275_milliseconds.
49702
49703 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49704
49705 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49706 variable.
49707 (find_options): New function.
49708 (cmain): Call find_options.
49709 * include/grub/powerpc/ieee1275/ieee1275.h
49710 (grub_ieee1275_realmode): New extern variable.
49711 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49712 grub_map if grub_ieee1275_realmode is false.
49713
49714 2004-12-29 Marco Gerards <metgerards@student.han.nl>
49715
49716 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49717 lines are inserted and make it work like readline. Reported by
49718 Vincent Pelletier <subdino2004@yahoo.fr>.
49719
49720 2004-12-28 Marco Gerards <metgerards@student.han.nl>
49721
49722 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49723
49724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49725 `kern/powerpc/cache.S'.
49726
49727 2004-12-27 Marco Gerards <metgerards@student.han.nl>
49728
49729 * genmk.rb: Handle the `Program' class in the main loop. Written
49730 by Johan Rydberg <jrydberg@gnu.org>.
49731 (Program): New class.
49732 (programs): New variable.
49733 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49734 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49735 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49736 (help_arch): Function removed.
49737 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49738 `powerpc/libgcc.h' and `loader.h'.
49739 (pkgdata_PROGRAMS): New variable.
49740 (sbin_UTILITIES): Variable removed.
49741 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49742 (grubof_SOURCES): Variable re-defined so it only includes the
49743 core functionality.
49744 (grubof_CFLAGS): Remove `-DGRUBOF'.
49745 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49746 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49747 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49748 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49749 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49750 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49751 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49752 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49753 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49754 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49755 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49756 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49757 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49758 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49759 (pc_mod_CFLAGS): New variables.
49760 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49761 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49762 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49763 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49764 Moved from here...
49765 * include/grub/i386/pc/init.h (grub_os_area_addr)
49766 (rub_os_area_size): ... to here.
49767 * include/grub/powerpc/ieee1275/ieee1275.h
49768 (grub_ieee1275_entry_fn): Export symbol.
49769 * include/grub/powerpc/ieee1275/init.h: New file.
49770 * include/grub/powerpc/libgcc.h: Likewise.
49771 * include/grub/cache.h: Likewise.
49772 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49773 <hollis@penguinppc.org>.
49774 * kern/dl.c: Include <grub/cache.h>.
49775 (grub_dl_flush_cache): New function.
49776 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49777 for this module.
49778 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49779 (grub_console_init): Removed prototypes.
49780 (grub_machine_init): Don't initialize the modules anymore.
49781 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49782 static.
49783 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49784 Macro undef removed.
49785 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49786 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49787 relocation `R_PPC_REL32'. Return an error when the relocation is
49788 unknown.
49789 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49790 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49791 * util/misc.c (grub_arch_sync_caches): Likewise.
49792
49793 2004-12-19 Marco Gerards <metgerards@student.han.nl>
49794
49795 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49796 `symlist.c', add `grubof_symlist.c'.
49797 (symlist.c): Variable removed.
49798 (grubof_HEADERS): Variable added.
49799 (grubof_symlist.c): New target.
49800 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49801 `kernel_img_HEADERS'.
49802 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49803 * kern/powerpc/dl.c: New file.
49804 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49805 Function removed.
49806 (grub_arch_dl_relocate_symbols): Likewise.
49807 (grub_register_exported_symbols): Likewise.
49808
49809 2004-12-13 Marco Gerards <metgerards@student.han.nl>
49810
49811 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49812 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49813 to fail instead. Reported by Vincent Pelletier
49814 <subdino2004@yahoo.fr>.
49815
49816 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49817 it is not allocated. Reported by Vincent Pelletier
49818 <subdino2004@yahoo.fr>.
49819
49820 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49821 output so the output looks better.
49822
49823 2004-12-04 Marco Gerards <metgerards@student.han.nl>
49824
49825 Modulize the partition map support and add support for the amiga
49826 partition map.
49827
49828 * commands/ls.c: Include <grub/partition.h> instead of
49829 <grub/machine/partition.h>.
49830 * kern/disk.c: Likewise.
49831 * kern/rescue.c: Likewise.
49832 * loader/i386/pc/chainloader.c: Likewise.
49833 * normal/cmdline.c: Likewise.
49834 * kern/powerpc/ieee1275/init.c: Likewise.
49835 (grub_machine_init): Call `grub_pc_partition_map_init',
49836 `grub_amiga_partition_map_init' and
49837 `grub_apple_partition_map_init'.
49838 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49839 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49840 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49841 `partition.h' and `pc_partition.h'.
49842 (grub_setup_SOURCES): Remove
49843 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49844 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49845 (grub_emu_SOURCES): Likewise.
49846 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49847 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49848 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49850 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49851 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49852 (grubof_SOURCES): Likewise.
49853 * disk/i386/pc/partition.c: File removed.
49854 * disk/powerpc/ieee1275/partition.c: Likewise.
49855 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49856 * include/grub/i386/pc/partition.h: Likewise.
49857 * kern/partition.c: New file.
49858 * partmap/amiga.c: Likewise.
49859 * partmap/apple.c: Likewise.
49860 * partmap/pc.c: Likewise.
49861 * include/grub/partition.h: Likewise..
49862 * include/grub/pc_partition.h: Likewise.
49863 * util/grub-emu.c: Include <grub/partition.h> instead of
49864 <grub/machine/partition.h>.
49865 (main): Call `grub_pc_partition_map_init',
49866 `grub_amiga_partition_map_init' and
49867 `grub_apple_partition_map_init' and deinitialize afterwards.
49868 * util/i386/pc/biosdisk.c: Include `#include
49869 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49870 `<grub/machine/partition.h>'.
49871 * util/i386/pc/grub-setup.c: Likewise.
49872 * util/i386/pc/biosdisk.c: Likewise.
49873 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49874 partition information in case of a PC partition.
49875 * util/i386/pc/grub-setup.c: Include `#include
49876 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49877 `<grub/machine/partition.h>'.
49878 (setup): Only access the PC specific partition information in case
49879 of a PC partition.
49880
49881 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
49882
49883 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49884 (grub_longjmp): Likewise.
49885 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49886 20.
49887 * normal/powerpc/setjmp.S: New file.
49888 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49889 `normal/powerpc/setjmp.S'.
49890 (grubof_CFLAGS): Add `-DGRUBOF'.
49891 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49892 [GRUB_UTIL && !GRUBOF].
49893
49894 2004-11-16 Marco Gerards <metgerards@student.han.nl>
49895
49896 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49897 property named `name'. Correctly handle the error returned by
49898 `grub_ieee1275_finddevice' if a device can not be opened.
49899
49900 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49901
49902 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49903 `actual' for negativity.
49904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49905 kern/fshelp.c.
49906
49907 2004-11-01 Marco Gerards <metgerards@student.han.nl>
49908
49909 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49910 (PAGE_OFFSET): New macro.
49911 (CRTC_ADDR_PORT): Likewise.
49912 (CRTC_DATA_PORT): Likewise.
49913 (START_ADDR_HIGH_REGISTER): Likewise.
49914 (START_ADDR_LOW_REGISTER): Likewise.
49915 (GRAPHICS_ADDR_PORT): Likewise.
49916 (GRAPHICS_DATA_PORT): Likewise.
49917 (READ_MAP_REGISTER): Likewise.
49918 (INPUT_STATUS1_REGISTER): Likewise.
49919 (INPUT_STATUS1_VERTR_BIT): Likewise.
49920 (page): New variable.
49921 (wait_vretrace): New function.
49922 (set_read_map): Likewise.
49923 (set_start_address): Likewise.
49924 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49925 the right page.
49926 (check_vga_mem): Take the page into account.
49927 (write_char): Likewise.
49928 (write_cursor): Likewise.
49929 (scroll_up): Likewise. Copy the page to the page that is not
49930 shown and switch between both pages.
49931 (grub_vga_putchar): Fix off by one error.
49932 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49933 account.
49934
49935 2004-11-01 Marco Gerards <metgerards@student.han.nl>
49936
49937 Add support for iso9660 (including rockridge).
49938
49939 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49940 (iso9660_mod_SOURCES): New variable.
49941 (iso9660_mod_CFLAGS): Likewise.
49942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49943 * include/grub/fs.h (grub_iso9660_init): New prototype.
49944 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49945 * fs/iso9660.c: New file.
49946
49947 * include/grub/misc.h (grub_strncat): New prototype.
49948 * kern/misc.c (grub_strncat): New function.
49949
49950 * fs/hfs.c (grub_hfs_mount): Translate the error
49951 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49952 * fs/jfs.c (grub_jfs_mount): Likewise.
49953 * fs/ufs.c (grub_ufs_mount): Likewise.
49954
49955 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49956
49957 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49958 which initialized BAT registers.
49959 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49960 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49961 Move from here...
49962 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49963 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49964 ... to here.
49965 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49966 (grub_mapclaim): Likewise.
49967 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49968 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49969 hand.
49970
49971 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49972
49973 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49974 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49975 -ffreestanding and -msoft-float.
49976
49977 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49978
49979 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49980 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49981 set in grub_ieee1275_flags.
49982
49983 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49984
49985 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49986 prototype.
49987 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49988 grub_console_init first.
49989 Change the memory range used for grub_ieee1275_claim and
49990 grub_mm_init_region.
49991 Print an error message if the claim fails.
49992 Include <grub/misc.h>.
49993
49994 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49995
49996 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49997 Call grub_children_iterate for device nodes of type `scsi',
49998 `ide', or `ata'.
49999 (grub_ofdisk_open): Remove manual device alias resolution.
50000 Fix memory leak when device cannot be opened.
50001 * include/grub/powerpc/ieee1275/ieee1275.h
50002 (grub_children_iterate): New prototype.
50003 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
50004 New function.
50005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50006 Return -1 if args.size was -1.
50007
50008 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50009
50010 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
50011 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
50012 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
50013 Open Firmware's memory for it; claim memory from _start to _end.
50014 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
50015 (_end): New extern.
50016 (_start): Zero BSS from __bss_start to _end.
50017 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50018 New extern.
50019 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
50020
50021 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
50022
50023 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
50024 -1 if args.base was -1.
50025
50026 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
50027
50028 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
50029 escape sequence instead of a literal ^L. Also call
50030 grub_ofconsole_gotoxy.
50031
50032 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
50033
50034 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
50035 void * arguments to grub_addr_t. All callers updated. Also make
50036 the `result' argument optional.
50037 (grub_ieee1275_release): change void * arguments to grub_addr_t.
50038 All callers updated.
50039
50040 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
50041
50042 * commands/ls.c (grub_ls_list_files): Use the string following the
50043 initial ')', if present, as the filesystem path.
50044 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
50045
50046 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
50047
50048 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
50049
50050 Make the source code of the menu interface more readable.
50051
50052 * normal/menu.c: Include grub/mm.h.
50053 (TERM_WIDTH): New macro.
50054 (TERM_HEIGHT): Likewise.
50055 (TERM_INFO_HEIGHT): Likewise.
50056 (TERM_MARGIN): Likewise.
50057 (TERM_SCROLL_WIDTH): Likewise.
50058 (TERM_TOP_BORDER_Y): Likewise.
50059 (TERM_LEFT_BORDER_X): Likewise.
50060 (TERM_BORDER_WIDTH): Likewise.
50061 (TERM_MESSAGE_HEIGHT): Likewise.
50062 (TERM_BORDER_HEIGHT): Likewise.
50063 (TERM_NUM_ENTRIES): Likewise.
50064 (TERM_FIRST_ENTRY_Y): Likewise.
50065 (TERM_ENTRY_WIDTH): Likewise.
50066 (TERM_CURSOR_X): Likewise.
50067 (draw_border): Use macros instead of magic numbers.
50068 (print_entry): Likewise.
50069 (print_entries): Likewise.
50070 (run_menu): Likewise. Also, handle the key 'e'.
50071 (run_menu_entry): Ignore empty command lines.
50072 (print_message): Added a new argument EDIT. If EDIT is true,
50073 print a different message.
50074 (init_page): Likewise.
50075 (edit_menu_entry): New function. Not implemented yet.
50076
50077 2004-09-17 Marco Gerards <metgerards@student.han.nl>
50078
50079 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
50080 can be loaded from normal mode.
50081
50082 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
50083 `multiboot.mod'.
50084 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
50085 (multiboot_mod_CFLAGS): New variables.
50086 * loader/i386/pc/linux_normal.c: New file.
50087 * loader/i386/pc/multiboot_normal.c: Likewise.
50088
50089 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
50090 attribute `unused'.
50091
50092 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
50093 `fdiro' to read the mode information from instead of `diro'.
50094
50095 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
50096 looking up a symlink.
50097
50098 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
50099 macro.
50100 * normal/command.c (grub_command_execute): Don't parse the
50101 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
50102 flags of the command.
50103
50104 * normal/menu.c (grub_menu_run): Fix typo.
50105
50106 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
50107
50108 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
50109
50110 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
50111 `y + 1' instead of `y - 1'.
50112
50113 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
50114
50115 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
50116
50117 From Hollis Blanchard <hollis@penguinppc.org>:
50118 * kern/misc.c (memmove): New alias for grub_memmove.
50119 (memcmp): New alias for grub_memcmp.
50120 (memset): New alias for grub_memset.
50121 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50122 Change "int handle" to "grub_ieee1275_phandle_t handle".
50123 * include/grub/powerpc/ieee1275/ieee1275.h
50124 (grub_ieee1275_get_property): Likewise.
50125
50126 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
50127
50128 Added normal mode command `chainloader' as module chain.mod, which
50129 depends on normal.mod and _chain.mod.
50130
50131 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
50132 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
50133 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
50134 Deleted prototype.
50135 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
50136 but arguments parsing moved to ...
50137 (grub_chainloader_cmd): ... here. New function.
50138 * include/grub/i386/pc/chainloader.h: New file.
50139 * loader/i386/pc/chainloader_normal.c: Likewise.
50140
50141 2004-09-11 Marco Gerards <metgerards@student.han.nl>
50142
50143 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
50144 (grub_mkimage_LDFLAGS): Likewise.
50145 (grub_emu_SOURCES): Likewise.
50146 (kernel_img_HEADERS): Added fshelp.h.
50147 * fs/ext2.c: Include <grub/fshelp.h>.
50148 (FILETYPE_REG): New macro.
50149 (FILETYPE_INO_REG): Likewise.
50150 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
50151 Changed all users.
50152 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
50153 all users.
50154 (grub_fshelp_node): New struct.
50155 (grub_ext2_data): Added member `diropen'. Changed member `inode'
50156 to a pointer.
50157 (grub_ext2_get_file_block): Removed function.
50158 (grub_ext2_read_block): New function.
50159 (grub_ext2_read_file): Replaced parameter `data' by `node'.
50160 This function was written.
50161 (grub_ext2_mount): Read the root inode. Create a diropen struct.
50162 (grub_ext2_find_file): Removed function.
50163 (grub_ext2_read_symlink): New function.
50164 (grub_ext2_iterate_dir): Likewise.
50165 (grub_ext2_open): Rewritten.
50166 (grub_ext2_dir): Rewritten.
50167 * include/grub/fshelp.h: New file.
50168 * fs/fshelp.c: Likewise.
50169
50170 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
50171
50172 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
50173 (print_message): Add a missing newline.
50174 (run_menu): Added timeout support.
50175 (run_menu_entry): New local function.
50176 (grub_menu_run): Added support for booting.
50177
50178 * kern/loader.c (grub_loader_is_loaded): New function.
50179
50180 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
50181 (grub_get_rtc): Exported.
50182
50183 * include/grub/i386/pc/time.h: Include grub/symbol.h.
50184 (grub_get_rtc): Exported.
50185
50186 * include/grub/normal.h (struct grub_command_list): Remove
50187 constant from the member `command'.
50188
50189 * include/grub/loader.h (grub_loader_is_loaded): Declared.
50190
50191 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
50192
50193 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
50194
50195 2004-08-28 Marco Gerards <metgerards@student.han.nl>
50196
50197 Add support for the JFS filesystem.
50198
50199 * fs/jfs.c: New file.
50200 * include/grub/fs.h (grub_jfs_init): New prototype.
50201 (grub_jfs_fini): New prototype.
50202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
50203 (grub_emu_SOURCES): Likewise.
50204 (pkgdata_MODULES): Add jfs.mod.
50205 (jfs_mod_SOURCES): New variable.
50206 (jfs_mod_CFLAGS): Likewise.
50207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
50208 (grubof_SOURCES): Likewise.
50209 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
50210
50211 * fs/fat.c (grub_fat_find_dir): Convert the filename little
50212 endian to the host endian.
50213 (grub_fat_utf16_to_utf8): Move function from there...
50214 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
50215 the endianness of the source string anymore.
50216 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
50217
50218 2004-08-24 Marco Gerards <metgerards@student.han.nl>
50219
50220 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
50221 (grub_boot_fini) [GRUB_UTIL]: Likewise.
50222 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
50223 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
50224
50225 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
50226 (grub_hfs_iterate_dir): Make the function static. Add prototypes
50227 for `node_found' and `it_dir'.
50228 (grub_hfs_dir): Add prototype for `dir_hook'.
50229
50230 * fs/minix.c (grub_minix_get_file_block): Add prototype for
50231 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
50232 and `indir32' to silence a gcc warning.
50233
50234 * include/grub/fs.h (grub_hfs_init): New prototype.
50235 (grub_hfs_fini): Likewise.
50236
50237
50238 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50239
50240 Each disk device has its own id now. This is useful to make use
50241 of multiple disk devices.
50242
50243 * include/grub/disk.h (grub_disk_dev_id): New enum.
50244 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
50245 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
50246
50247 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
50248 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50249
50250 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
50251 GRUB_DISK_DEVICE_OFDISK_ID as an id.
50252
50253 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
50254 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
50255
50256 * include/grub/disk.h (struct grub_disk_dev): Added a new member
50257 "id" which is used by the cache manager.
50258
50259 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
50260 of just "GRUB".
50261
50262 2004-08-18 Marco Gerards <metgerards@student.han.nl>
50263
50264 * fs/hfs.c: New file.
50265 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
50266 (grub_emu_SOURCES): Likewise.
50267 (pkgdata_MODULES): Add hfs.mod.
50268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
50269 (grubof_SOURCES): Likewise.
50270 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
50271
50272 * include/grub/misc.h (grub_strncasecmp): Add prototype.
50273 * kern/misc.c (grub_strncasecmp): Add function.
50274
50275 2004-08-14 Marco Gerards <metgerards@student.han.nl>
50276
50277 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
50278 with parentheses.
50279
50280 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
50281 (grub_ext2_dir): In case the directory entry type is unknown, read
50282 it from the inode.
50283
50284 2004-08-02 Peter Bruin <pjbruin@dds.nl>
50285
50286 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
50287 grub_load_linux instead of grub_rescue_cmd_linux as second
50288 argument of grub_rescue_register_command.
50289
50290 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
50291
50292 2004-07-27 Marco Gerards <metgerards@student.han.nl>
50293
50294 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
50295 function.
50296 * commands/boot.c: Remove the check for `GRUB_UTIL'.
50297 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
50298 `loader/powerpc/ieee1275/linux.c',
50299 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
50300 * include/grub/powerpc/ieee1275/ieee1275.h
50301 (grub_ieee1275_release): New prototype.
50302 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
50303 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
50304 normal, boot, linux and linux_normal.
50305 * loader/powerpc/ieee1275/linux.c: New file.
50306 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
50307
50308 2004-07-12 Marco Gerards <metgerards@student.han.nl>
50309
50310 * normal/arg.c (grub_arg_parse): Correct error handling after
50311 reallocating the argumentlist (check if `argl' is not null instead
50312 of checking if `args' is not null).
50313 * kern/mm.c (grub_realloc): Return the same pointer when using the
50314 same region, instead of returning the header address.
50315
50316 2004-07-11 Marco Gerards <metgerards@student.han.nl>
50317
50318 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
50319 one block instead of two when looking for the initial partition.
50320 (grub_partition_probe): Initialize the local variable `p' with 0.
50321 Use base 10 for the grub_strtoul call.
50322 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
50323 need for one local variable.
50324 (grub_strtoul): Don't add the new value to `num', instead of that
50325 just assign it.
50326
50327 2004-07-11 Marco Gerards <metgerards@student.han.nl>
50328
50329 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
50330 (pxeboot_img_SOURCES): New variable.
50331 (pxeboot_img_ASFLAGS): Likewise.
50332 (pxeboot_img_LDFLAGS): Likewise.
50333 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50334 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50335 <lode_leroy@hotmail.com>.
50336
50337 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50338
50339 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50340 there was no input.
50341
50342 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50343
50344 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50345 the history buffer logic.
50346
50347 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50348
50349 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50350 (FILETYPE_INO_SYMLINK): New macros.
50351 (grub_ext2_find_file): Check if the node is a directory using the
50352 inode stat information instead of using the filetype in the
50353 dirent. Exclude the first character of an absolute symlink.
50354 (grub_ext2_dir): Mask out the filetype part of the mode member of
50355 the inode.
50356
50357 2004-05-24 Marco Gerards <metgerards@student.han.nl>
50358
50359 Add support for UFS version 1 and 2. Add support for the minix
50360 filesystem version 1 and 2, both the variants with 14 and 30 long
50361 filenames.
50362
50363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50364 fs/minix.c.
50365 (grub_emu_SOURCES): Likewise.
50366 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50367 (ufs_mod_SOURCES): New variable.
50368 (ufs_mod_CFLAGS): Likewise.
50369 (minix_mod_SOURCES): Likewise.
50370 (minix_mod_CFLAGS): Likewise.
50371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50372 fs/minix.c.
50373 (grubof_SOURCES): Likewise.
50374 * fs/ufs.c: New file.
50375 * fs/minix.c: New file.
50376 * include/grub/fs.h (grub_ufs_init): New prototype.
50377 (grub_ufs_fini): Likewise.
50378 (grub_minix_init): Likewise.
50379 (grub_minix_fini): Likewise.
50380 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50381 minix fs.
50382
50383 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50384
50385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50386 commands/ls.c, commands/terminal.c, commands/boot.c,
50387 commands/cmp.c and commands/cat.c.
50388 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50389
50390 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50391 "env.h"
50392
50393 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50394
50395 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50396 and grub_, respectively. Because the conversion is trivial and
50397 mechanical, I omit the details here. Please refer to the CVS
50398 if you need more information.
50399
50400 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50401
50402 * include/pupa: Renamed to ...
50403 * include/grub: ... this.
50404 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50405 * util/i386/pc/grub-mkimage.c: ... this.
50406 * util/i386/pc/pupa-setup.c: Renamed to ...
50407 * util/i386/pc/grub-setup.c: ... this.
50408 * util/pupa-emu.c: Renamed to ...
50409 * util/grub-emu.c: ... this.
50410
50411 2004-03-29 Marco Gerards <metgerards@student.han.nl>
50412
50413 Add support for the newworld apple macintosh (PPC). This has been
50414 tested on the powerbook 2000 only. It only adds support for
50415 generic ieee1275 functions, console and disk support. This should
50416 be easy to port to other architectures with support for Open
50417 Firmware.
50418
50419 * configure.ac: Accept the powerpc as host_cpu. In the case of
50420 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50421 specific tests are only executed while building for the i386.
50422 Inverse test for crosscompile.
50423 * genmk.rb (Utility): Allow assembler files.
50424 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50425 * conf/powerpc-ieee1275.rmk: New file.
50426 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50427 * disk/powerpc/ieee1275/partition.c: Likewise.
50428 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50429 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50430 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50431 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50432 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50433 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50434 * include/pupa/powerpc/ieee1275/loader.h
50435 * include/pupa/powerpc/setjmp.h: Likewise.
50436 * include/pupa/powerpc/types.h: Likewise.
50437 * kern/powerpc/ieee1275/init.c: Likewise.
50438 * kern/powerpc/ieee1275/openfw.c: Likewise.
50439 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50440
50441 These files were written by Johan Rydberg
50442 (jrydberg@night.trouble.net) and I only modified them slightly.
50443
50444 * boot/powerpc/ieee1275/cmain.c: New file.
50445 * boot/powerpc/ieee1275/crt0.S: Likewise.
50446 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50447 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50448
50449 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50450
50451 * Makefile.in: Update copyright.
50452 * genmodsrc.sh: Likewise.
50453 * gensymlist.sh: Likewise.
50454 * term/i386/pc/vga.c: Indent correctly.
50455
50456 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50457 bugreporting address.
50458 * util/i386/pc/pupa-setup.c (usage): Likewise,
50459 (main): Call pupa_ext2_init and pupa_ext2_fini.
50460
50461 * fs/fat.c (log2): Renamed to ...
50462 (fat_log2): ... this.
50463 All callers changed.
50464 * kern/misc.c (memcpy): Alias to pupa_memmove.
50465 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50466 lvalue cast.
50467 * util/console.c (pupa_ncurses_fini): Return 0.
50468
50469 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50470 Move fail label here.
50471 [__GNU__]: Don't warn when using stat.
50472 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50473 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50474 long int. Use strtol instead of strtoul.
50475
50476 2004-03-14 Marco Gerards <metgerards@student.han.nl>
50477
50478 * commands/boot.c: New file.
50479 * commands/cat.c: Likewise.
50480 * commands/cmp.c: Likewise.
50481 * commands/ls.c: Likewise.
50482 * commands/terminal.c: Likewise.
50483 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50484 (pupa_register_command): Changed interface to match the new
50485 argument parser.
50486 (pupa_command_execute): Changed (almost rewritten) so it uses
50487 pupa_split_command. Added support for setting variables using the
50488 syntax `foo=bar'.
50489 (rescue_command): Changed to work with the new argument parser.
50490 (terminal_command): Moved from here to commands/terminal.c.
50491 (set_command): New function.
50492 (unset_command): New function.
50493 (insmod_command): New function.
50494 (rmmod_command): New function.
50495 (lsmod_command): New function.
50496 (pupa_command_init): Don't initialize the command terminal
50497 anymore. Initialize the commands set, unset, insmod, rmmod and
50498 lsmod.
50499 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50500 (kernel_img_HEADERS): Add arg.h and env.h.
50501 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50502 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50503 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50504 normal/arg.c.
50505 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50506 terminal.mod.
50507 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50508 (boot_mod_SOURCES): New variable.
50509 (terminal_mod_SOURCES): Likewise.
50510 (ls_mod_SOURCES): Likewise.
50511 (cmp_mod_SOURCES): Likewise.
50512 (cat_mod_SOURCES): Likewise.
50513
50514 * normal/arg.c: New file.
50515 * kern/env.c: Likewise.
50516 * include/pupa/arg.h: Likewise.
50517 * include/pupa/env.h: Likewise.
50518 * font/manager.c (font_command): Changed to match argument parsing
50519 interface changes.
50520 (PUPA_MOD_INIT): Likewise.
50521 * hello/hello.c (pupa_cmd_hello): Likewise.
50522 (PUPA_MOD_INIT): Likewise.
50523 * include/pupa/disk.h: Include <pupa/device.h>.
50524 (pupa_print_partinfo): New prototype.
50525 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50526 (pupa_dl_get_prefix): Likewise.
50527 * include/pupa/misc.h: Include <pupa/err.h>.
50528 (pupa_isgraph): New prototype.
50529 (pupa_isdigit): Likewise.
50530 (pupa_split_cmdline): Likewise.
50531 * include/pupa/normal.h: Include <pupa/arg.h>.
50532 (pupa_command): Changed the prototype of the member `func' to
50533 match the argument parsing interface. Added member `options'.
50534 (pupa_register_command): Updated to match function.
50535 (pupa_arg_parse): New prototype.
50536 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50537 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50538 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50539 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50540 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50541 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50542 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50543 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50544 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50545 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50546 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50547 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50548 * kern/disk.c: Include <pupa/file.h>.
50549 (pupa_print_partinfo): New function.
50550 * kern/dl.c: Include <pupa/env.h>.
50551 (pupa_dl_dir): Variable removed.
50552 (pupa_dl_load): Use the environment variable `prefix' instead of
50553 the variable pupa_dl_dir.
50554 (pupa_dl_set_prefix): Function removed.
50555 (pupa_dl_get_prefix): Likewise.
50556 * kern/i386/pc/init.c: Include <pupa/env.h>.
50557 (pupa_machine_init): Use the environment variable `prefix' instead of
50558 using pupa_dl_set_prefix to set the prefix.
50559 * kern/main.c: Include <pupa/env.h>.
50560 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50561 using pupa_dl_get_prefix to get the prefix.
50562 * kern/misc.c: Include <pupa/env.h>.
50563 (pupa_isdigit): New function.
50564 (pupa_isgraph): Likewise.
50565 (pupa_ftoa): Likewise.
50566 (pupa_vsprintf): Added support for printing values of the type
50567 `double'. Make it possible to format variable output when using
50568 formatting like `%1.2%f'.
50569 (pupa_split_cmdline): New function.
50570 * kern/rescue.c: Include <pupa/env.h>.
50571 (next_word): Removed function.
50572 (pupa_rescue_cmd_prefix): Likewise.
50573 (pupa_rescue_cmd_set): New function.
50574 (pupa_rescue_cmd_unset): New function.
50575 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50576 split the command line instead of splitting it here. Added
50577 support for setting variables using the syntax `foo=bar'. Don't
50578 initialize the prefix command anymore. Initialized the set and
50579 unset commands.
50580 * normal/cmdline.c: Include <pupa/env.h>.
50581 (pupa_tab_complete): Added prototypes for print_simple_completion,
50582 print_partition_completion, add_completion, iterate_commands,
50583 iterate_dev, iterate_part and iterate_dir. Moved code to print
50584 partition information from here to kern/disk.c.
50585 (pupa_cmdline_run): Don't check if the function exists anymore.
50586 * normal/main.c: Include <pupa/env.h>.
50587 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50588 instead of using pupa_dl_get_prefix to get the prefix.
50589 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50590 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50591 warning.
50592 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50593 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50594 ((unused))' to silence a gcc warning.
50595 (pupa_vga_setcolor): Likewise.
50596 (debug_command): Changed to match argument parsing
50597 interface changes.
50598 * util/pupa-emu.c: Include <pupa/env.h>.
50599 (options): Added 0's for unused fields to silence a gcc warning.
50600 (argp): Likewise.
50601 (main): Use the environment variable `prefix' instead of using
50602 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50603 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50604 and terminal.
50605
50606 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50607 * util/misc.c: Include <malloc.h>.
50608 (pupa_malloc): Rewritten so errors are correctly reported.
50609 (pupa_realloc): Likewise.
50610 (pupa_memalign): Likewise.
50611 (pupa_mm_init_region): Declare unused variables with
50612 `__attribute__ ((unused))' to silence a gcc warning.
50613 * normal/i386/setjmp.S: Remove tab at the end of the file to
50614 silence a gcc warning.
50615 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50616 variables with `__attribute__ ((unused))' to silence a gcc
50617 warning.
50618 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50619 local variable i unsigned to silence a gcc warning.
50620
50621 * kern/term.c: Include <pupa/misc.h>.
50622 (pupa_more_lines): New variable.
50623 (pupa_more): Likewise.
50624 (pupa_putcode): When the pager is active pause at the end of every
50625 screen.
50626 (pupa_set_more): New function.
50627 * include/pupa/term.h (pupa_set_more): New prototype.
50628
50629
50630 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50631
50632 Now this project is GRUB 2 rather than PUPA. The location of
50633 the CVS repository was moved to GRUB's.
50634
50635 * configure.ac: Use bug-grub as the reporting address.
50636 Use GRUB instead of PUPA.
50637 Change the version number to 1.90.
50638
50639 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50640
50641 * genkernsyms.sh: Updated copyright information.
50642 * genmk.rb: Likewise.
50643 * genmodsrc.sh: Likewise.
50644 * gensymlist.sh: Likewise.
50645 * boot/i386/pc/boot.S: Likewise.
50646 * boot/i386/pc/diskboot.S: Likewise.
50647 * disk/i386/pc/biosdisk.c: Likewise.
50648 * disk/i386/pc/partition.c: Likewise.
50649 * font/manager.c: Likewise.
50650 * fs/ext2.c: Likewise.
50651 * fs/fat.c: Likewise.
50652 * include/pupa/boot.h: Likewise.
50653 * include/pupa/device.h: Likewise.
50654 * include/pupa/disk.h: Likewise.
50655 * include/pupa/dl.h: Likewise.
50656 * include/pupa/elf.h: Likewise.
50657 * include/pupa/err.h: Likewise.
50658 * include/pupa/file.h: Likewise.
50659 * include/pupa/font.h: Likewise.
50660 * include/pupa/fs.h: Likewise.
50661 * include/pupa/kernel.h: Likewise.
50662 * include/pupa/loader.h: Likewise.
50663 * include/pupa/misc.h: Likewise.
50664 * include/pupa/mm.h: Likewise.
50665 * include/pupa/net.h: Likewise.
50666 * include/pupa/normal.h: Likewise.
50667 * include/pupa/rescue.h: Likewise.
50668 * include/pupa/setjmp.h: Likewise.
50669 * include/pupa/symbol.h: Likewise.
50670 * include/pupa/term.h: Likewise.
50671 * include/pupa/types.h: Likewise.
50672 * include/pupa/i386/setjmp.h: Likewise.
50673 * include/pupa/i386/types.h: Likewise.
50674 * include/pupa/i386/pc/biosdisk.h: Likewise.
50675 * include/pupa/i386/pc/boot.h: Likewise.
50676 * include/pupa/i386/pc/console.h: Likewise.
50677 * include/pupa/i386/pc/init.h: Likewise.
50678 * include/pupa/i386/pc/kernel.h: Likewise.
50679 * include/pupa/i386/pc/linux.h: Likewise.
50680 * include/pupa/i386/pc/loader.h: Likewise.
50681 * include/pupa/i386/pc/memory.h: Likewise.
50682 * include/pupa/i386/pc/multiboot.h: Likewise.
50683 * include/pupa/i386/pc/partition.h: Likewise.
50684 * include/pupa/i386/pc/time.h: Likewise.
50685 * include/pupa/i386/pc/vga.h: Likewise.
50686 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50687 * include/pupa/util/getroot.h: Likewise.
50688 * include/pupa/util/misc.h: Likewise.
50689 * include/pupa/util/resolve.h: Likewise.
50690 * kern/device.c: Likewise.
50691 * kern/disk.c: Likewise.
50692 * kern/dl.c: Likewise.
50693 * kern/err.c: Likewise.
50694 * kern/file.c: Likewise.
50695 * kern/fs.c: Likewise.
50696 * kern/loader.c: Likewise.
50697 * kern/main.c: Likewise.
50698 * kern/misc.c: Likewise.
50699 * kern/mm.c: Likewise.
50700 * kern/rescue.c: Likewise.
50701 * kern/term.c: Likewise.
50702 * kern/i386/dl.c: Likewise.
50703 * kern/i386/pc/init.c: Likewise.
50704 * kern/i386/pc/lzo1x.S: Likewise.
50705 * kern/i386/pc/startup.S: Likewise.
50706 * loader/i386/pc/chainloader.c: Likewise.
50707 * loader/i386/pc/linux.c: Likewise.
50708 * loader/i386/pc/multiboot.c: Likewise.
50709 * normal/cmdline.c: Likewise.
50710 * normal/command.c: Likewise.
50711 * normal/main.c: Likewise.
50712 * normal/menu.c: Likewise.
50713 * normal/i386/setjmp.S: Likewise.
50714 * term/i386/pc/console.c: Likewise.
50715 * term/i386/pc/vga.c: Likewise.
50716 * util/console.c: Likewise.
50717 * util/genmoddep.c: Likewise.
50718 * util/misc.c: Likewise.
50719 * util/pupa-emu.c: Likewise.
50720 * util/resolve.c: Likewise.
50721 * util/unifont2pff.rb: Likewise.
50722 * util/i386/pc/biosdisk.c: Likewise.
50723 * util/i386/pc/getroot.c: Likewise.
50724 * util/i386/pc/pupa-mkimage.c: Likewise.
50725 * util/i386/pc/pupa-setup.c: Likewise.
50726
50727 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50728
50729 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50730 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50731 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50732 reading and reset it after reading.
50733 (pupa_ext2_close): Return PUPA_ERR_NONE.
50734
50735 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50736 Correct value.
50737 (struct linux_kernel_header): Add kernel_version and
50738 initrd_addr_max.
50739 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50740 pupa_file_read succeeds.
50741 (pupa_rescue_cmd_initrd): Implement.
50742
50743 2003-12-03 Marco Gerards <metgerards@student.han.nl>
50744
50745 * fs/ext2.c (pupa_ext2_label): New function.
50746 (pupa_ext2_fs): Added label.
50747 * fs/fat.c (pupa_fat_label): New function.
50748 (pupa_fat_fs): Added label.
50749 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50750
50751 * kern/misc.c (pupa_strndup): New function.
50752 * include/pupa/misc.h (pupa_strndup): New prototype.
50753
50754 * include/pupa/normal.h: Include <pupa/err.h>.
50755 (pupa_set_history): New prototype.
50756 (pupa_iterate_commands): New prototype.
50757 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50758 <pupa/disk.h>, <pupa/file.h>.
50759 (hist_size): New variable.
50760 (hist_lines): Likewise.
50761 (hist_end): Likewise.
50762 (hist_used): Likewise.
50763 (pupa_set_history): New function.
50764 (pupa_history_get): Likewise.
50765 (pupa_history_add): Likewise.
50766 (pupa_history_replace): Likewise.
50767 (pupa_tab_complete): Likewise.
50768 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50769 completion shows partitionnames while completing partitions, this
50770 feature was suggested by Jeff Bailey.
50771 * normal/command.c (pupa_iterate_commands): New function.
50772 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50773 (pupa_normal_init): Initialize history buffer.
50774 (PUPA_MOD_INIT): Likewise.
50775 (pupa_normal_fini): Free the history buffer.
50776 (PUPA_MOD_FINI): Likewise.
50777
50778 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50779 key.
50780
50781 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50782 * configure.ac [i386]: Check for regparam bug.
50783 (NESTED_FUNC_ATTR) [! i386]: Defined.
50784
50785 2003-11-17 Marco Gerards <metgerards@student.han.nl>
50786
50787 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50788 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50789 (pupa_emu_SOURCES): New variable.
50790 (pupa_emu_LDFLAGS): Likewise.
50791 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50792 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50793 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50794 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50795 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50796 (pupa_jmp_buf): New typedef.
50797 (pupa_setjmp) [PUPA_UTIL]: New macro.
50798 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50799 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50800 (pupa_refresh): New prototype.
50801 * include/pupa/util/getroot.h: New file.
50802 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50803 it.
50804 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50805 (pupa_rescue_cmd_cat): Likewise.
50806 (pupa_rescue_cmd_ls): Likewise.
50807 (pupa_rescue_cmd_testload): Likewise.
50808 (pupa_rescue_cmd_lsmod): Likewise.
50809 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50810 * normal/menu.c (run_menu): Likewise.
50811 * kern/term.c (pupa_cls): Likewise.
50812 (pupa_refresh): New function.
50813 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50814 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50815 * util/console.c: New file.
50816
50817 * util/i386/pc/getroot.c: New file.
50818 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50819 (pupa_putchar): New function.
50820 (pupa_refresh): Likewise.
50821 (xgetcwd): Function moved to ...
50822 (strip_extra_slashes): Likewise.
50823 (get_prefix): Likewise.
50824 * util/i386/pc/getroot.c: ... here.
50825 (find_root_device): Function moved and renamed to...
50826 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50827 Changed all callers.
50828 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50829 and renamed to...
50830 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50831 Changed all callers.
50832 * util/misc.c (pupa_memalign): New function.
50833 (pupa_mm_init_region): Likewise.
50834 (pupa_register_exported_symbols): Likewise.
50835 (pupa_putchar): Function removed.
50836 * util/pupa-emu.c: New file.
50837
50838 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50839
50840 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50841 (_multiboot_mod_SOURCES): New variable.
50842 (_multiboot_mod_CFLAGS): Likewise.
50843 * loader/i386/pc/multiboot.c: New file.
50844 * include/pupa/i386/pc/multiboot.h: Likewise.
50845 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50846 (pupa_multiboot_real_boot): New function.
50847 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50848 (pupa_multiboot_real_boot): New prototype.
50849 (pupa_rescue_cmd_multiboot): Likewise
50850 (pupa_rescue_cmd_module): Likewise.
50851
50852 * kern/loader.c (pupa_loader_set): Continue when
50853 pupa_loader_unload_func() fails.
50854 (pupa_loader_unset): New function.
50855 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50856
50857 * kern/misc.c (pupa_stpcpy): New function.
50858 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50859
50860 2003-11-12 Marco Gerards <metgerards@student.han.nl>
50861
50862 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50863 for available extensions.
50864
50865 * include/pupa/i386/pc/time.h: New file.
50866 * kern/disk.c: Include <pupa/machine/time.h>.
50867 (PUPA_CACHE_TIMEOUT): New macro.
50868 (pupa_last_time): New variable.
50869 (pupa_disk_open): Flush the cache when there was a timeout.
50870 (pupa_disk_close): Reset the timer.
50871 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50872 pupa_currticks.
50873 * util/misc.c: Include <sys/times.h>
50874 (pupa_get_rtc): New function.
50875
50876 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50877
50878 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50879 as blocks.
50880 (pupa_ext2_get_file_block): Use blocks member.
50881
50882 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50883 first block. Return -1 instead of pupa_errno on error.
50884
50885 2003-10-27 Marco Gerards <metgerards@student.han.nl>
50886
50887 * README: In the pupa-mkimage example use _chain instead of chain
50888 and ext2 instead of fat.
50889 * TODO: Replace ext2fs with jfs as an example. Add an item for
50890 adding journal playback for ext2fs.
50891 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50892 (pkgdata_MODULES): Added ext2.mod.
50893 (ext2_mod_SOURCES): New variable.
50894 (ext2_mod_CFLAGS): Likewise.
50895 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50896 * include/pupa/misc.h (pupa_strncpy): New prototype.
50897 (pupa_strcat): Likewise.
50898 (pupa_strncmp): Likewise.
50899 * kern/misc.c (pupa_strcat): Enable function.
50900 (pupa_strncpy): New function.
50901 (pupa_strncmp): Likewise.
50902 * fs/ext2.c: New file.
50903
50904 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50905 when the read failed before retrying.
50906 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50907 (_FILE_OFFSET_BITS): Likewise.
50908 * configure.ac: Added AC_SYS_LARGEFILE.
50909
50910 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50911
50912 * genmk.rb (PModule#rule): Make sure to get only symbol names
50913 from the output of nm.
50914 Reported by Robert Millan <rmh.grub@aybabtu.com>.
50915
50916 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50917
50918 I forgot to check in these changes for a long time. This adds
50919 incomplete support for VGA console, and this is still very
50920 buggy. Also, a lot of consideration is required for I18N,
50921 UNICODE, and VGA font issues. Therefore, assume that this is
50922 such that "better than nothing".
50923
50924 * font/manager.c: New file.
50925 * include/pupa/font.h: Likewise.
50926 * include/pupa/i386/pc/vga.h: Likewise.
50927 * term/i386/pc/vga.c: Likewise.
50928 * util/unifont2pff.rb: Likewise.
50929
50930 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50931 (pkgdata_MODULES): Added vga.mod and font.mod.
50932 (vga_mod_SOURCES): New variables.
50933 (vga_mod_CFLAGS): Likewise.
50934 (font_mod_SOURCES): Likewise.
50935 (font_mod_CFLAGS): Likewise.
50936
50937 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50938
50939 * include/pupa/term.h: Include pupa/err.h.
50940 (struct pupa_term): Added init and fini.
50941 Changed the argument of putchar to pupa_uint32_t.
50942
50943 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50944 (pupa_console_real_putchar): New prototype.
50945 (pupa_console_putchar): Removed.
50946 (pupa_console_checkkey): Exported.
50947 (pupa_console_getkey): Likewise.
50948
50949 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50950 characters.
50951
50952 * kern/term.c (pupa_term_set_current): Rewritten.
50953 (pupa_putchar): Likewise.
50954 (pupa_putcode): New function.
50955
50956 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50957 (pupa_console_real_putchar): ... this.
50958 (pupa_vga_set_mode): New function.
50959 (pupa_vga_get_font): Likewise.
50960
50961 * normal/command.c: Include pupa/term.h.
50962 (terminal_command): New function.
50963 (pupa_command_init): Register the command "terminal".
50964
50965 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50966 (DISP_UP): Likewise.
50967 (DISP_RIGHT): Likewise.
50968 (DISP_DOWN): Likewise.
50969 (DISP_HLINE): Likewise.
50970 (DISP_VLINE): Likewise.
50971 (DISP_UL): Likewise.
50972 (DISP_UR): Likewise.
50973 (DISP_LL): Likewise.
50974 (DISP_LR): Likewise.
50975
50976 * term/i386/pc/console.c (pupa_console_putchar): New function.
50977
50978 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50979
50980 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50981 FIX. Reverse the path_list.
50982
50983 * include/pupa/normal.h: Export pupa_register_command and
50984 pupa_unregister_command.
50985
50986 * hello/hello.c (pupa_cmd_hello): New module.
50987 * conf/i386-pc.rmk: Added hello.mod.
50988
50989 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50990
50991 * kern/i386/pc/lzo1x.S: New file.
50992
50993 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50994 (compress_kernel): New variable.
50995 (generate_image): Heavily modified to support compressing a
50996 large part of the core image.
50997
50998 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50999 leak.
51000 (pupa_util_load_image): New function.
51001
51002 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
51003 (pupa_compressed_size): New variable.
51004 (codestart): Enable Gate A20 here.
51005 Decompress the compressed part of the core image.
51006 Rearrange the code to put functions and variables which are
51007 required for initialization in the non-compressed part.
51008 Include lzo1x.S.
51009
51010 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
51011 here.
51012
51013 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
51014
51015 * include/pupa/i386/pc/kernel.h
51016 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
51017 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
51018 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51019 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51020 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
51021
51022 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
51023
51024 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
51025 (Utility#rule): Likewise.
51026
51027 * configure.ac: Check if LZO is available.
51028
51029 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
51030
51031 * include/pupa/normal.h: New file.
51032 * include/pupa/setjmp.h: Likewise.
51033 * include/pupa/i386/setjmp.h: Likewise.
51034 * normal/cmdline.c: Likewise.
51035 * normal/command.c: Likewise.
51036 * normal/main.c: Likewise.
51037 * normal/menu.c: Likewise.
51038 * normal/i386/setjmp.S: Likewise.
51039
51040 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
51041 (pupa_rescue_cmd_initrd): Likewise.
51042
51043 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
51044 Likewise.
51045
51046 * kern/i386/pc/startup.S (translation_table): New variable.
51047 (translate_keycode): New function.
51048 (pupa_console_getkey): Call translate_keycode.
51049
51050 * kern/rescue.c (attempt_normal_mode): New function.
51051 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
51052 it failed, print a message.
51053
51054 * kern/mm.c (pupa_real_malloc): Print more information when a
51055 free magic is broken.
51056 (pupa_free): If the first free header is not free actually, set
51057 it to P.
51058
51059 * kern/main.c (pupa_load_normal_mode): Just load the module
51060 "normal".
51061 (pupa_main): Don't print the message
51062 "Entering into rescue mode..." here.
51063
51064 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
51065 Declared.
51066 (pupa_rescue_cmd_initrd): Likewise.
51067 (pupa_rescue_cmd_initrd): Likewise.
51068
51069 * include/pupa/symbol.h (FUNCTION): Specify the type.
51070 (VARIABLE): Likewise.
51071
51072 * include/pupa/err.h (pupa_err_t): Added
51073 PUPA_ERR_UNKNOWN_COMMAND.
51074
51075 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
51076 (pupa_dl_get_prefix): Likewise.
51077
51078 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
51079 Added _chain.mod and _linux.mod instead of chain.mod and
51080 linux.mod.
51081 (chain_mod_SOURCES): Renamed to ...
51082 (_chain_mod_SOURCES): ... this.
51083 (chain_mod_CFLAGS): Renamed to ...
51084 (_chain_mod_CFLAGS): ... this.
51085 (linux_mod_SOURCES): Renamed to ...
51086 (_linux_mod_SOURCES): ... this.
51087 (linux_mod_CFLAGS): Renamed to ...
51088 (_linux_mod_CFLAGS): ... this.
51089 (normal_mod_SOURCES): New variable.
51090 (normal_mod_CFLAGS): Likewise.
51091 (normal_mod_ASFLAGS): Likewise.
51092
51093 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
51094
51095 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
51096 possible.
51097
51098 * kern/dl.c (pupa_dl_ref): Refer depending modules
51099 recursively.
51100 (pupa_dl_unref): Unrefer depending modules recursively.
51101 Don't call pupa_dl_unload implicitly, because PUPA can crash if
51102 a module is unloaded before one depending on that module is
51103 unloaded.
51104 (pupa_dl_unload): Unload depending modules explicitly,
51105 if possible.
51106
51107 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
51108
51109 * include/pupa/i386/pc/linux.h: New file.
51110 * loader/i386/pc/linux.c: Likewise.
51111
51112 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
51113 Removed.
51114 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
51115 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
51116 of PUPA_CHAINLOADER_BOOT_SECTOR.
51117
51118 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
51119 (pupa_linux_prot_size): New variable.
51120 (pupa_linux_tmp_addr): Likewise.
51121 (pupa_linux_real_addr): Likewise.
51122 (pupa_linux_boot_zimage): New function.
51123 (pupa_linux_boot_bzimage): Likewise.
51124
51125 * kern/i386/pc/init.c (struct mem_region): New structure.
51126 (MAX_REGIONS): New macro.
51127 (mem_regions): New variable.
51128 (num_regions): Likewise.
51129 (pupa_os_area_addr): Likewise.
51130 (pupa_os_area_size): Likewise.
51131 (pupa_lower_mem): Likewise.
51132 (pupa_upper_mem): Likewise.
51133 (add_mem_region): New function.
51134 (compact_mem_regions): Likewise.
51135 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
51136 the size of the conventional memory and that of so-called upper
51137 memory (before the first memory hole).
51138 Instead of adding each found region to free memory, use
51139 add_mem_region and add them after removing overlaps.
51140 Also, add only 1/4 of the upper memory to free memory. The rest
51141 is used for loading OS images. Maybe this is ad hoc, but this
51142 makes it much easier to relocate OS images when booting.
51143
51144 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
51145 (pupa_enter_rescue_mode): Don't register initrd and module.
51146
51147 * kern/mm.c: Include pupa/dl.h.
51148
51149 * kern/main.c: Include pupa/file.h and pupa/device.h.
51150
51151 * kern/loader.c (pupa_loader_load_module_func): Removed.
51152 (pupa_loader_load_module): Likewise.
51153
51154 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
51155 ``.o''.
51156
51157 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
51158 (pupa_linux_tmp_addr): Likewise.
51159 (pupa_linux_real_addr): Likewise.
51160 (pupa_linux_boot_zimage): Likewise.
51161 (pupa_linux_boot_bzimage): Likewise.
51162
51163 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
51164 (pupa_upper_mem): Likewise.
51165 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
51166 module is too dangerous.
51167
51168 * include/pupa/loader.h (pupa_os_area_addr): Declared.
51169 (pupa_os_area_size): Likewise.
51170 (pupa_loader_set): Remove the first argument. Loader doesn't
51171 manage modules or initrd any longer.
51172 (pupa_loader_load_module): Removed.
51173
51174 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
51175 (linux_mod_SOURCES): New variable.
51176 (linux_mod_CFLAGS): Likewise.
51177
51178 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
51179
51180 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
51181 the length of a blocklist correctly.
51182
51183 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
51184 Use ioctl only if the OS file is a block device.
51185 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
51186 not very useful for normal files.
51187
51188 * kern/main.c (pupa_set_root_dev): New function.
51189 (pupa_load_normal_mode): Likewise.
51190 (pupa_main): Call those above.
51191
51192 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
51193 pupa_uint16_t.
51194
51195 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
51196
51197 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
51198
51199 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
51200 (setup): Configure the installed partition information and the
51201 dl prefix.
51202
51203 * loader/i386/pc/chainloader.c (my_mod): New variable.
51204 (pupa_chainloader_unload): New function.
51205 (pupa_rescue_cmd_chainloader): Refer itself.
51206 (PUPA_MOD_INIT): Save its own module in MY_MOD.
51207
51208 * kern/i386/pc/startup.S (install_partition): Removed.
51209 (version_string): Likewise.
51210 (config_file): Likewise.
51211 (pupa_install_dos_part): New variable.
51212 (pupa_install_bsd_part): Likewise.
51213 (pupa_prefix): Likewise.
51214 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
51215
51216 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
51217 and pupa/misc.h.
51218 (make_install_device): New function.
51219 (pupa_machine_init): Set the dl prefix.
51220
51221 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
51222 (buf): Renamed to ...
51223 (linebuf): ... this.
51224 (pupa_rescue_cmd_prefix): New function.
51225 (pupa_rescue_cmd_insmod): Likewise.
51226 (pupa_rescue_cmd_rmmod): Likewise.
51227 (pupa_rescue_cmd_lsmod): Likewise.
51228 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
51229 rmmod and lsmod.
51230
51231 * kern/mm.c (pupa_memalign): If failed even after invalidating
51232 disk caches, unload unneeded modules and retry.
51233
51234 * kern/misc.c (pupa_memmove): New function.
51235 (pupa_memcpy): Removed.
51236 (pupa_strcpy): New function.
51237 (pupa_itoa): Made static.
51238
51239 * kern/dl.c (pupa_dl_iterate): New function.
51240 (pupa_dl_ref): Likewise.
51241 (pupa_dl_unref): Likewise.
51242 (pupa_dl_unload): Return if succeeded or not.
51243 (pupa_dl_unload_unneeded): New function.
51244 (pupa_dl_unload_all): Likewise.
51245 (pupa_dl_init): Renamed to ...
51246 (pupa_dl_set_prefix): ... this.
51247 (pupa_dl_get_prefix): New function.
51248
51249 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
51250 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
51251 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
51252 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
51253 (pupa_install_dos_part): Declared.
51254 (pupa_install_bsd_part): Likewise.
51255 (pupa_prefix): Likewise.
51256 (pupa_boot_drive): Likewise.
51257
51258 * include/pupa/types.h: Fix a typo.
51259
51260 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
51261 pupa_memmove.
51262 (pupa_memmove): Declared.
51263 (pupa_strcpy): Likewise.
51264
51265 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
51266 pupa_mod_init takes one argument, its own module.
51267 (pupa_dl_unload_unneeded): Declared.
51268 (pupa_dl_unload_all): Likewise.
51269 (pupa_dl_ref): Likewise.
51270 (pupa_dl_unref): Likewise.
51271 (pupa_dl_iterate): Likewise.
51272 (pupa_dl_init): Renamed to ...
51273 (pupa_dl_set_prefix): ... this.
51274 (pupa_dl_get_prefix): Declared.
51275
51276 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
51277 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
51278 unloaded.
51279 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
51280 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
51281
51282 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
51283 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
51284
51285 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51286
51287 * util/i386/pc/pupa-setup.c (setup): Define the internal
51288 function find_first_partition_start at the top level, because GCC
51289 3.0.x cannot compile internal functions in deeper scopes
51290 correctly.
51291 (find_root_device): Use lstat instead of stat.
51292 Don't follow symbolic links.
51293 Fix the path-constructing code.
51294
51295 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
51296 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
51297 by a BLKGETSIZE ioctl first, because block devices don't fill
51298 the member st_mode of the structure stat on Linux.
51299 [__linux__] (linux_find_partition): Use a temporary buffer
51300 REAL_DEV for the working space. Copy it to DEV before returning.
51301 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
51302 buffer cache consistent.
51303 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
51304 strncmp. The previous value was merely wrong.
51305 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
51306
51307 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
51308 FAT size is 12. The previous value was merely wrong.
51309
51310 * kern/main.c (pupa_main): Don't split the starting message from
51311 newlines.
51312
51313 * kern/term.c (pupa_putchar): Put CR after LF instead of before
51314 LF, because BIOS goes crazy about character attributes in this
51315 case.
51316
51317 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
51318
51319 * include/i386/pc/util/biosdisk.h: New file.
51320 * util/i386/pc/biosdisk.c: Likewise.
51321 * util/i386/pc/pupa-setup.c: Likewise.
51322
51323 * Makefile.in (INCLUDE_DISTFILES): Added
51324 include/pupa/i386/pc/util/biosdisk.h.
51325 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
51326 directory util/i386/pc.
51327 (install-local): Added a rule for sbin_UTILITIES.
51328 (uninstall): Likewise.
51329
51330 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
51331
51332 * util/misc.c (xrealloc): New function.
51333 (pupa_malloc): Likewise.
51334 (pupa_free): Likewise.
51335 (pupa_realloc): Likewise.
51336 (pupa_stop): Likewise.
51337 (pupa_putchar): Likewise.
51338
51339 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51340
51341 * include/pupa/util/misc.h (xrealloc): Declared.
51342
51343 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51344 macro.
51345 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51346 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51347
51348 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51349 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51350
51351 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51352 way should be implemented.
51353 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51354
51355 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51356 the size of NAME for safety.
51357 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51358 0x88.
51359
51360 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51361 (pupa_setup_SOURCES): Likewise.
51362
51363 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51364
51365 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51366
51367 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51368 bunch of pushl's from pusha, because this destroys the return
51369 value.
51370
51371 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51372
51373 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51374 This means that any missing prototypes could be fatal. Also, you
51375 must take care when writing assembly code. See the comments at
51376 the beginning of startup.S, for more details.
51377
51378 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51379 compilation mechanism.
51380 (pupa_chainloader_real_boot): Likewise.
51381 (pupa_biosdisk_rw_int13_extensions): Likewise.
51382 (pupa_biosdisk_rw_standard): Likewise.
51383 (pupa_biosdisk_check_int13_extensions): Likewise.
51384 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51385 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51386 (pupa_get_memsize): Likewise.
51387 (pupa_get_mmap_entry): Likewise.
51388 (pupa_console_putchar): Likewise.
51389 (pupa_console_setcursor): Likewise.
51390 (pupa_getrtsecs): Use pushl instead of push.
51391
51392 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51393 memory instead of the stack for a mmap entry, because some
51394 BIOSes may ignore the maximum size and overflow.
51395
51396 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51397
51398 * genmk.rb (PModule#rule): Compile automatically generated
51399 sources with module-specific CFLAGS as well as other sources.
51400
51401 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51402
51403 * configure.ac: Check ld.
51404 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51405 respectively, before checking endianness and sizes.
51406
51407 * Makefile.in (LD): New variable.
51408
51409 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51410
51411 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51412
51413 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51414
51415 * Changelog: New file.
51416