]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub-mount.c (fuse_init): Return error if fuse_main
[grub2.git] / ChangeLog
1 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2
3 * util/grub-mount.c (fuse_init): Return error if fuse_main
4 failed.
5
6 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7
8 * include/grub/elf.h: Add missing ARM relocation codes and fix
9 existing ones.
10
11 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
12
13 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
14
15 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
16 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
19 into account when calculating radius.
20
21 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
22
23 * grub-core/gfxmenu/view.c: Fix off-by-one error.
24
25 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
26
27 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
28
29 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
30
31 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
32 missing closing bracket.
33
34 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
35
36 * INSTALL: Mention xorriso requirement.
37
38 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
39
40 * grub-core/commands/verify.c: Fix hash algorithms values for
41 the first three hashes - they start with 1, not with 0.
42
43 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
46 Try terminating EFI services several times due to quirks in some
47 implementations.
48
49 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
50
51 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
52 skipping Event, Device, Processor, PowerRes, ThermalZone, and
53 BankField extended opcodes.
54 (get_sleep_type): Add minimal scope handling (just enough to
55 handle setting the scope to the root path).
56 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
57 * include/grub/acpi.h: Add enumeration values for Event, Device,
58 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
59
60 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
61
62 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
63 memory leak.
64
65 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/disk/ahci.c: Give more time for AHCI request.
68
69 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
72 command.
73
74 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
75
76 Replace the region at 0 from coreboot tables to available in BSD
77 memory map.
78
79 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
82 non-BIOS platforms.
83
84 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
87 platforms.
88
89 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
92 handling of multi-device filesystems.
93
94 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
97 platforms.
98
99 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
100
101 Add new 'proc' filesystem framework and put luks_script into it.
102
103 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
106 and qemu.
107
108 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
111
112 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Add ability to generate newc additions on runtime.
115
116 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
119 description.
120
121 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * po/POTFILES.in: Regenerate.
124
125 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/commands/verify.c (hashes): Add several hashes
128 from the spec.
129
130 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Slight improve in USB-related boot-time checkpoints.
133
134 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/commands/boottime.c: Fix copyright header.
137
138 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
139
140 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
141 coreboot tables content. Support for cbmemc.
142
143 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Fix a conflict between ports structures with 2 controllers of
146 same kind.
147
148 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * include/grub/boottime.h: Add missing file.
151
152 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
153
154 Initialize USB ports in parallel to speed-up boot.
155
156 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Fix USB devices not being detected when requested
159 due to delayed attach.
160
161 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Implement boot time analysis framework.
164
165 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
166
167 Remove get_endpoint_descriptor and change all functions needing
168 descriptor to just receive it as argument rather than endpoint
169 address.
170
171 2013-03-19 Aleš Nesrsta <starous@volny.cz>
172
173 Better estimate the maximum USB transfer size.
174
175 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Resend a packet if we got the wrong buffer in status.
178
179 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
182 multiplication rather than division.
183
184 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
187 than divisions.
188
189 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
192 operations to have intended shifts and not divisions.
193
194 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
197 intended shifts rather than division.
198
199 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
202 computation for some years before epoch. Avode confusing division
203 while on it.
204
205 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/video/i386/pc/vbe.c
208 (grub_video_vbe_print_adapter_specific_info): Replace division by
209 shifts.
210
211 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Adjust types in gdb module to have intended unsigned shifts rather than
214 signed divisions.
215
216 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
219 maximum size is 4G - 1 on hfs
220
221 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
224
225 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
228 function.
229
230 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
231
232 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
233 causing gcc error with gcc 4.7.1.
234
235 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
236
237 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
238 dereference null pointer. While the code is technically correct, gcc
239 may eliminate a null check if pointer is already dereferenced.
240
241 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
242
243 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
244 OOM check.
245 * grub-core/normal/term.c (read_terminal_list): Likewise.
246
247 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Lift up core size limits on some platforms. Fix potential memory
250 corruption with big core on small memory systems. Document remaining
251 limits.
252
253 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
256 gotoxy to 0,0.
257
258 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Remove all trampoline support. Add -Wtrampolines when
261 present. Remove symbols used for trampolines to make
262 link fail if trampolines are present.
263
264 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
267 append out of its parent.
268
269 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
272 parent.
273
274 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
277 all vars to a macro. All users updated.
278
279 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/disk/ieee1275/nand.c: Fix compilation on
282 i386-ieee1275.
283
284 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
287
288 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
291
292 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
293
294 Move to more hookless approach in IEEE1275 devices handling.
295
296 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/kern/term.c (grub_term_normal_color),
299 (grub_term_highlight_color): Add back lost defaults.
300
301 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Make elfload not use hooks. Opt for flags and iterators instead.
304
305 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
308 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
309
310 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/script/execute.c (gettext_append): Remove nested functions.
313
314 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
317 hook pass-through parameter. All users updated and unnested.
318
319 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
322 out of its parent.
323
324 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/fs/hfs.c: Remove nested functions.
327
328 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
331 the context through.
332 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
333
334 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/grub-editenv.c (list_variables): Move print_var out of its
337 parent.
338
339 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
342 function.
343
344 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/gentrigtables.c: Make tables const.
347
348 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Remove nested functions from videoinfo iterators.
351
352 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
355 for 64-bit platforms.
356
357 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
360 a FOR_CHILDREN macro.
361
362 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
365 platform from firmware path.
366
367 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Enable linux16 on non-BIOS systems for i.a. memtest.
370
371 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
372 correctly.
373 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
374
375 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
378 Fix end of table condition.
379
380 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
383 out of its parent.
384
385 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/fs/jfs.c: Remove nested functions.
388
389 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/fs/minix.c: Remove nested functions.
392
393 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/fs/iso9660.c: Remove nested functions.
396
397 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
400 of parent function.
401
402 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * util/grub-fstest.c: Remove nested functions.
405
406 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/loader/machoXX.c: Remove nested functions.
409
410 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
411
412 Remove nested functions from disk and file read hooks.
413
414 * include/grub/disk.h (grub_disk_read_hook_t): New type.
415 (struct grub_disk): Add read_hook_data member.
416 * include/grub/file.h (struct grub_file): Likewise.
417 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
418 argument.
419
420 Update all callers.
421
422 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
423
424 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
425 Fix off by one error in enumerating extended partitions.
426
427 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
428
429 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
430 memory leak if device name is not found.
431
432 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
433
434 * grub-core/normal/menu_entry.c (update_screen): remove
435 unused variable `off' which caused scroll down arrow to be always shown.
436
437 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
438
439 * grub-core/normal/menu_entry.c (insert_string): fix off by one
440 access to unallocated memory.
441
442 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
443
444 * Makefile.util.def: Add partmap/msdos.c to common library.
445 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
446 * grub-core/disk/ldm.c: Check for existence of
447 GRUB_PC_PARTITION_TYPE_LDM.
448
449 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
452 sizes and display sector size.
453
454 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Implement new command cmosdump.
457
458 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
459
460 Support Openfirmware disks with non-512B sectors.
461
462 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
463 size of the disk.
464 * (grub_ofdisk_get_block_size): New function.
465 * (grub_ofdisk_prepare): Use the correct block size.
466 * (grub_ofdisk_read): Likewise.
467 * (grub_ofdisk_write): Likewise.
468 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
469 New proto.
470
471 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
474
475 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
478 on first error.
479
480 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
483 freeing it.
484
485 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Implement USBDebug (full USB stack variant).
488
489 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
492 unless they have unexpected values.
493
494 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
497 grub_print_error.
498
499 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
502 zero-out of port structure.
503
504 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
507 of extended attributes.
508
509 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
510
511 * util/grub-install.in: change misleading comment about
512 device.map creation
513
514 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
517 when menu highlight color isn't set.
518
519 2013-01-27 C. Masloch <pushbx@38.de>
520
521 Improve FreeDOS direct loading support compatibility.
522
523 * include/grub/i386/relocator.h (grub_relocator16_state):
524 New member ebp.
525 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
526 variable.
527 (grub_relocator16_boot): Handle %ebp.
528 * grub-core/lib/i386/relocator16.S: Likewise.
529 * grub-core/loader/i386/pc/freedos.c:
530 Load BPB to pass kernel which partition to load from.
531 Check that kernel file is not too large.
532 Set register dl to BIOS unit number as well.
533
534 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
535
536 * util/grub-reboot.in (usage): Document the need for
537 GRUB_DEFAULT=saved.
538 * util/grub-set-default.in (usage): Likewise.
539 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
540
541 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
544 than defining WORDS_BIGENDIAN manually.
545
546 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
549 invariants.
550
551 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
552
553 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
554 nested.
555 (blit_comb: add_device_width): Likewise.
556
557 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
558
559 Remove nested functions from USB iterators.
560
561 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
562 (grub_usb_controller_iterate_hook_t): Likewise.
563 (grub_usb_iterate): Add hook_data argument.
564 (grub_usb_controller_iterate): Likewise.
565 (struct grub_usb_controller_dev.iterate): Likewise.
566
567 Update all implementations and callers.
568
569 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
572 margin when not needed.
573
574 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
575
576 Make color variables global instead of it being per-terminal.
577
578 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
581 asterisk.
582
583 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
584
585 Fix powerpc and sparc64 build failures caused by un-nesting memory
586 map iterators.
587
588 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
589
590 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
591 parameter declarations.
592
593 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
596
597 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
598
599 Improve spkmomdem reliability by adding a separator between bytes.
600
601 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
602
603 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
604 an Acer registration utility with several sightings in the wild.
605 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
606
607 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
608
609 Remove nested functions from filesystem directory iterators.
610
611 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
612 (struct grub_fs.dir): Add hook_data argument.
613
614 Update all implementations and callers.
615
616 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
617
618 * docs/grub.texi (Multi-boot manual config): Fix typo for
619 "recommended".
620
621 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
622
623 * util/grub-mkimage.c (main): Postpone freeing arguments.output
624 until after its use in generate_image.
625
626 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
627
628 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
629 initrd size to addr_min, since the initrd will be allocated after
630 this address.
631
632 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
633
634 * conf/Makefile.common: Fix autogen rules to pass definition
635 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
636
637 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
638
639 * include/grub/elf.h: Update ARM definitions based on binutils.
640
641 2013-01-20 Aleš Nesrsta <starous@volny.cz>
642
643 Split long USB transfers into short ones.
644
645 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
646
647 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
648 is interrupted by ESC.
649
650 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * util/grub-script-check.c (main): Uniform the error message.
653
654 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
655
656 Remove nested functions from ELF iterators.
657
658 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
659
660 Remove nested functions from device iterators.
661
662 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
663 (grub_arc_iterate_devs): Add hook_data argument.
664 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
665 (struct grub_ata_dev.iterate): Add hook_data argument.
666 * include/grub/device.h (grub_device_iterate_hook_t): New type.
667 (grub_device_iterate): Add hook_data argument.
668 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
669 (struct grub_disk_dev.iterate): Add hook_data argument.
670 (grub_disk_dev_iterate): Likewise.
671 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
672 Likewise.
673 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
674 Likewise.
675 * include/grub/partition.h (grub_partition_iterate_hook_t): New
676 type.
677 (struct grub_partition_map.iterate): Add hook_data argument.
678 (grub_partition_iterate): Likewise.
679 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
680 (struct grub_scsi_dev.iterate): Add hook_data argument.
681
682 Update all callers.
683
684 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
685
686 Fix typos for "developer" and "development".
687
688 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Add license header to spkmodem-recv.c.
691
692 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Rewrite spkmodem to use PIT for timing. Double the speed.
695
696 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
697
698 Add new command pcidump.
699
700 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
701
702 New terminal outputs using serial: morse and spkmodem.
703
704 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
705
706 Improve bidi handling in entry editor.
707
708 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
711 argument to prevent name collision.
712
713 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
714
715 Remove nested functions from script reading and parsing.
716
717 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
718 getline_data argument, passed to getline.
719 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
720 getline_data argument, passed to grub_parser_split_cmdline.
721 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
722 lexerstate->getline_data to lexerstate->getline.
723 (grub_script_lexer_init): Add getline_data argument, saved in
724 lexerstate->getline_data.
725 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
726 argument, passed to grub_script_parse.
727 * grub-core/script/script.c (grub_script_parse): Add getline_data
728 argument, passed to grub_script_lexer_init.
729 * include/grub/parser.h (grub_parser_split_cmdline): Update
730 prototype. Update all callers to pass appropriate getline data.
731 (struct grub_parser.parse_line): Likewise.
732 (grub_rescue_parse_line): Likewise.
733 * include/grub/reader.h (grub_reader_getline_t): Add void *
734 argument.
735 * include/grub/script_sh.h (struct grub_lexer_param): Add
736 getline_data member.
737 (grub_script_parse): Update prototype. Update all callers to pass
738 appropriate getline data.
739 (grub_script_lexer_init): Likewise.
740 (grub_normal_parse_line): Likewise.
741
742 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
743 data argument.
744 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
745 static instead of nested. Rename to ...
746 (grub_parser_execute_getline): ... this.
747 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
748 data argument.
749 * grub-core/normal/main.c (read_config_file: getline): Make static
750 instead of nested. Rename to ...
751 (read_config_file_getline): ... this.
752 (grub_normal_read_line): Add unused data argument.
753 * grub-core/script/execute.c (grub_script_execute_sourcecode:
754 getline): Make static instead of nested. Rename to ...
755 (grub_script_execute_sourcecode_getline): ... this.
756 * util/grub-script-check.c (main: get_config_line): Make static
757 instead of nested.
758
759 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
760
761 Remove nested functions from memory map iterators.
762
763 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
764 argument, passed to hook.
765 * grub-core/kern/i386/coreboot/mmap.c
766 (grub_linuxbios_table_iterate): Likewise.
767 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
768 instead of nested.
769 (grub_machine_mmap_iterate): Add hook_data argument.
770 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
771 Add hook_data argument, passed to hook.
772 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
773 Likewise.
774 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
775 Likewise.
776 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
777 Likewise.
778 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
779 Likewise.
780 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
781 Likewise.
782 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
783 Likewise.
784 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
785 (grub_machine_mmap_iterate): Likewise.
786 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
787 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
788 prototype.
789 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
790 Remove NESTED_FUNC_ATTR from here and from all users.
791 (grub_mmap_iterate): Update prototype.
792 (grub_efi_mmap_iterate): Update prototype. Update all callers to
793 pass appropriate hook data.
794 (grub_machine_mmap_iterate): Likewise.
795
796 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
797 static instead of nested.
798 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
799 Rename to ...
800 (lsmmap_hook): ... this.
801 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
802 Likewise.
803 (grub_efiemu_mmap_fill: fill_hook): Likewise.
804 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
805 heap_init): Likewise.
806 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
807 Rename to ...
808 (mmap_iterate_hook): ... this.
809 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
810 Likewise.
811 * grub-core/lib/ieee1275/relocator.c
812 (grub_relocator_firmware_get_max_events: count): Likewise.
813 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
814 to ...
815 (grub_relocator_firmware_fill_events_iter): ... this.
816 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
817 hook): Likewise. Rename to ...
818 (grub_relocator_alloc_chunk_align_iter): ... this.
819 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
820 Rename to ...
821 (generate_e820_mmap_iter): ... this.
822 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
823 Rename to ...
824 (count_hook): ... this.
825 (grub_linux_boot: hook): Likewise. Rename to ...
826 (grub_linux_boot_mmap_find): ... this.
827 (grub_linux_boot: hook_fill): Likewise. Rename to ...
828 (grub_linux_boot_mmap_fill): ... this.
829 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
830 hook): Likewise. Rename to ...
831 (grub_fill_multiboot_mmap_iter): ... this.
832 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
833 hook): Likewise. Rename to ...
834 (count_hook): ... this.
835 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
836 hook): Likewise. Rename to ...
837 (grub_fill_multiboot_mmap_iter): ... this.
838 * grub-core/loader/powerpc/ieee1275/linux.c
839 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
840 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
841 Likewise. Rename to ...
842 (alloc_phys_choose): ... this.
843 (determine_phys_base: get_physbase): Likewise.
844 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
845 find_hook): Likewise.
846 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
847 (malloc_hook: count_hook): Likewise.
848 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
849 Likewise. Rename to ...
850 (lower_hook): ... this.
851 (grub_mmap_get_upper: hook): Likewise. Rename to ...
852 (upper_hook): ... this.
853 (grub_mmap_get_post64: hook): Likewise. Rename to ...
854 (post64_hook): ... this.
855 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
856 Likewise. Rename to ...
857 (lower_hook): ... this.
858 (grub_mmap_get_upper: hook): Likewise. Rename to ...
859 (upper_hook): ... this.
860 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
861 (grub_mmap_iterate: fill_hook): Likewise.
862 (fill_mask): Pass addr and mask within a single struct.
863 (grub_cmd_badram: hook): Make static instead of nested. Rename
864 to ...
865 (badram_iter): ... this.
866 (grub_cmd_cutmem: hook): Likewise. Rename to ...
867 (cutmem_iter): ... this.
868
869 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
872 delimit path in strings using quotes.
873 * util/getroot.c (grub_guess_root_devices): Likewise.
874 (grub_make_system_path_relative_to_its_root): Likewise.
875 * util/grub-probe.c (probe): Likewise.
876 * util/ieee1275/ofpath.c (find_obppath): Likewise.
877 (xrealpath): Likewise.
878
879 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
880
881 Fix compilation with older compilers.
882
883 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
884 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
885 declarations.
886 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
887 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
888 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
889 identifier with b.
890 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
891 * include/grub/crypto.h: Add type defines.
892 * util/import_gcrypth.sed: Remove duplicate type defines.
893
894 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
895
896 New command list_trusted.
897
898 * grub-core/commands/verify.c (grub_cmd_list): New function.
899
900 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
901
902 * util/grub-mkimage.c (generate_image): Fix "size of public key"
903 info message.
904
905 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
906
907 Remove nested functions from PCI iterators.
908
909 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
910 passed to hook. Update all callers to pass appropriate hook data.
911 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
912 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
913 Remove NESTED_FUNC_ATTR from here and from all users.
914 (grub_pci_iterate): Update prototype.
915 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
916 instead of nested. Rename to ...
917 (grub_cs5536_find_iter): ... this.
918 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
919 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
920 Likewise.
921 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
922 Likewise.
923 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
924 Likewise.
925 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
926 Likewise.
927 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
928 * grub-core/video/radeon_fuloong2e.c
929 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
930 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
931 find_card): Likewise.
932 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
933 Likewise.
934
935 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/commands/verify.c: Mark messages for translating.
938
939 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
942 fatal.
943
944 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
947 fatal.
948
949 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * autogen.sh: Do not try to delete nonexistant files.
952 * util/import_gcrypth.sed: Add some missing header removals.
953
954 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
955
956 Clean up dangling references to grub-setup.
957 Fixes Ubuntu bug #1082045.
958
959 * docs/grub.texi (Images): Refer generally to grub-install rather
960 than directly to grub-setup.
961 (Installing GRUB using grub-install): Remove direct reference to
962 grub-setup.
963 (Device map) Likewise.
964 (Invoking grub-install): Likewise.
965 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
966 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
967 * util/grub-install.in (usage): Likewise.
968
969 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
970 Apply to grub-bios-setup and grub-sparc64-setup rather than to
971 grub-setup.
972 * configure.ac: Remove grub_setup output variable.
973
974 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
975 to grub-bios-setup.
976 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
977 grub-setup to grub-sparc64-setup.
978
979 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Import gcrypt public-key cryptography and implement signature checking.
982
983 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/fs/ntfs.c: Ue more appropriate types.
986 * grub-core/fs/ntfscomp.c: Likewise.
987 * include/grub/ntfs.h: Likewise.
988
989 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
990
991 Support Apple FAT binaries on non-Apple platforms.
992
993 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
994 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
995 Likewise.
996 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
997 Apple FAT binaries.
998
999 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1002 sector devices.
1003
1004 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
1005
1006 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1007 explicitly zeroing elements.
1008 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1009 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1010 of elements in a structure already allocated using grub_zalloc.
1011 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1012
1013 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
1014
1015 * docs/grub.texi (grub_cpu): New subsection.
1016 (grub_platform): Likewise.
1017
1018 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1021
1022 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1025 divisions.
1026
1027 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1030 * grub-core/fs/ntfscomp.c: Likewise.
1031 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1032 (grub_ntfs_comp): Likewise.
1033
1034 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1037 Rename to ...
1038 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1039 of groups_per_block. All users updated.
1040
1041 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1044 grub_error properly.
1045 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1046 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1047
1048 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1051 always in /boot/zfs.
1052 Reported by: Yuta Satoh.
1053
1054 2013-01-03 Yuta Satoh <nigoro>
1055
1056 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1057 ${grub_probe}
1058
1059 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * configure.ac: Extend -Wno-trampolines to host.
1062
1063 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1066 entry->len = 0.
1067
1068 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1069
1070 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1071 (Invoking grub-script-check): Likewise.
1072
1073 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1074
1075 * docs/grub.texi (Invoking grub-mount): New section.
1076 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1077
1078 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1079
1080 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1081 test failures, so that a failing unit test correctly causes 'make
1082 check' to fail.
1083
1084 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1085
1086 Fix failing printf test.
1087
1088 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1089 '$' in the correct order when collecting type information.
1090
1091 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1092
1093 * docs/grub.texi (configfile): Explain environment variable
1094 handling.
1095 (source): New section.
1096 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1097
1098 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
1099
1100 Remove several trivially-unnecessary uses of nested functions.
1101
1102 * grub-core/commands/i386/pc/sendkey.c
1103 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1104 instead of nested.
1105 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1106 Rename to ...
1107 (legacy_file_getline): ... this.
1108 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1109 Likewise.
1110 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1111 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1112 to ...
1113 (probe_dummy_iter): ... this.
1114 * grub-core/kern/i386/coreboot/mmap.c
1115 (grub_linuxbios_table_iterate: check_signature): Likewise.
1116 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1117 check_varstate): Likewise. Mark inline.
1118 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1119 an additional parameter.
1120 (find_long: fnd_long): Likewise. Pass two additional parameters.
1121 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1122 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1123 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1124 Likewise. Rename to ...
1125 (grub_cmos_find_port_iter): ... this.
1126 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1127 Rename to ...
1128 (find_rtc_iter): ... this.
1129
1130 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1131 function directly into the function body, since it is only called
1132 once.
1133
1134 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
1135
1136 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1137 __attribute__ ((unused)).
1138 * grub-core/video/bochs.c (find_card): Likewise.
1139 * grub-core/video/cirrus.c (find_card): Likewise.
1140 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1141 * grub-core/video/sis315pro.c (find_card): Likewise.
1142 * grub-core/video/sm712.c (find_card): Likewise.
1143
1144 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1145
1146 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1147 Fixes Savannah bug #37821.
1148
1149 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1150
1151 Apply program name transformations at build-time rather than at
1152 run-time. Fixes Debian bug #696465.
1153
1154 * acinclude.m4 (grub_TRANSFORM): New macro.
1155 * configure.ac: Create output variables with transformed names for
1156 most programs.
1157 * util/bash-completion.d/grub-completion.bash.in: Use
1158 pre-transformed variables for program names.
1159 * util/grub-install.in: Likewise.
1160 * util/grub-kbdcomp.in: Likewise.
1161 * util/grub-mkconfig.in: Likewise.
1162 * util/grub-mkconfig_lib.in: Likewise.
1163 * util/grub-mknetdir.in: Likewise.
1164 * util/grub-mkrescue.in: Likewise.
1165 * util/grub-mkstandalone.in: Likewise.
1166 * util/grub-reboot.in: Likewise.
1167 * util/grub-set-default.in: Likewise.
1168 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1169 * tests/util/grub-shell-tester.in: Remove unused assignment.
1170 * tests/util/grub-shell.in: Likewise.
1171 * util/grub.d/00_header.in: Likewise.
1172
1173 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1174
1175 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1176
1177 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1178 HAVE_RAW_DECL_GETS.
1179 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1180
1181 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1184 Reported by: Eriks Latosheks <foresterlv>.
1185
1186 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * docs/grub.texi (Network): Update instructions on generating netboot
1189 image.
1190
1191 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1194 around device name if necessarry.
1195
1196 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1197
1198 * util/grub-install.in: Follow the symbolic link parameter added
1199 to the file command.
1200
1201 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1202
1203 * util/grub-install.in: Remove stale TODO.
1204
1205 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1206
1207 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1208 dynamic allocation for the bootpath buffer.
1209
1210 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1211
1212 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1213 window too small.
1214
1215 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1218 argument rather than font name. All users updated.
1219 (grub_gfxterm_set_window): Likewise.
1220
1221 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1222
1223 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1224 from working.
1225
1226 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * util/getroot.c (convert_system_partition_to_system_disk): Support
1229 nbd disks.
1230
1231 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1234 infinite loop on corrupted FS.
1235
1236 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Fix big-endian mtime.
1239
1240 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1241 together sec and usec.
1242 (grub_ufs_dir): Use correct byteswapping for UFS time.
1243
1244 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Support big-endian UFS1.
1247
1248 * Makefile.util.def (libgrubmods): Add ufs_be.c
1249 * grub-core/Makefile.core.def (ufs1_be): New module.
1250 * grub-core/fs/ufs_be.c: New file.
1251 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1252 the file.
1253
1254 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1255
1256 * include/grub/types.h: Fix functionality unaffecting typo in
1257 GRUB_TARGET_WORDSIZE conditional macro.
1258
1259 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1260
1261 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1262
1263 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1264
1265 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1266 that /netbsd appears first (when it exists).
1267
1268 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
1269
1270 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1271 Fixes Savannah bug #37558.
1272
1273 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
1274
1275 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1276 description of extract_entries_configfile.
1277
1278 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
1279
1280 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1281 preferred_address.
1282 (grub_cmd_linux): Likewise.
1283 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1284 preferred_lifetime. Update all users.
1285
1286 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1287
1288 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1289 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1290
1291 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1292
1293 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1294 errors from grub-probe to /dev/null, not stdout.
1295
1296 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1299 sector 1.
1300
1301 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
1302
1303 * util/grub-install.in: Make the error message if $source_dir
1304 doesn't exist more useful.
1305
1306 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
1307
1308 Fix grub-emu build on FreeBSD.
1309
1310 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1311 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1312 headers on Linux.
1313 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1314 implementation is currently Linux-specific.
1315 * util/getroot.c (exec_pipe): Define only on Linux or when either
1316 libzfs or libnvpair is unavailable.
1317 (find_root_devices_from_poolname): Remove unused path variable.
1318
1319 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1320
1321 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1322 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1323 should fit before end == 63.
1324
1325 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1326
1327 * util/grub-setup.c (write_rootdev): Remove unused core_img
1328 parameter. Update all callers.
1329 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1330 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1331 GRUB_SETUP_BIOS.
1332
1333 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1336 (grub_add_tab): New function.
1337 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1338 * util/grub.d/10_illumos.in: Likewise.
1339 * util/grub.d/10_kfreebsd.in: Likewise.
1340 * util/grub.d/10_linux.in: Likewise.
1341 * util/grub.d/10_netbsd.in: Likewise.
1342 * util/grub.d/10_windows.in: Likewise.
1343 * util/grub.d/10_xnu.in: Likewise.
1344 * util/grub.d/20_linux_xen.in: Likewise.
1345 * util/grub.d/30_os-prober.in: Likewise.
1346
1347 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1350 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1351 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1352 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1353 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1354 ieee1275-nocursor.
1355 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1356 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1357
1358 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1361 le-conversion.
1362 Reported by: BURETTE, Bernard.
1363
1364 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
1365
1366 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1367 from comment.
1368
1369 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
1370
1371 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1372 IEEE1275 machines. Fixes powerpc-emu compilation.
1373 * include/grub/terminfo.h: Likewise.
1374
1375 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1378 a const pointer.
1379 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1380 const pointer.
1381 (efiemu_set_variable): Make vendor_guid a const pointer.
1382
1383 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 Don't require grub-mkconfig_lib to generate manpages for programs.
1386
1387 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1388 dependencies, don't add grub-mkconfig_lib.
1389 (program): Pass empty adddeps.
1390 (script): Pass grub-mkconfig_lib as adddeps.
1391
1392 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1395 * util/getroot.c (grub_find_device): Likewise.
1396 (get_mdadm_uuid): Likewise.
1397 (grub_util_is_imsm): Likewise.
1398 (grub_util_pull_device): Likewise.
1399 * util/grub-probe.c (probe): Likewise.
1400
1401 2012-09-10 Benoit Gschwind <gschwind>
1402
1403 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1404 (devs): Add devpath_8.
1405
1406 2012-09-08 Peter Jones <pjones@redhat.com>
1407
1408 * grub-core/Makefile.core.def (efifwsetup): New module.
1409 * grub-core/commands/efi/efifwsetup.c: New file.
1410 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1411 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1412 New define.
1413 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1414
1415 2012-09-05 Jiri Slaby <jslaby@suse.cz>
1416
1417 * configure.ac: Add SuSe path.
1418
1419 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1420
1421 * NEWS: Fix typo.
1422
1423 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1424
1425 * util/import_gcry.py: Sort cipher_files, to make build system
1426 generation more deterministic.
1427
1428 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1431 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1432 (grub_set_datetime): Likewise.
1433
1434 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1437 warnings.
1438
1439 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1442
1443 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1446
1447 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1448
1449 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1450 required for checkouts from bzr, but it may be useful for users or
1451 distributors wishing to update translations against a tarball
1452 distribution, and it can be helpful for the tarball to be a superset
1453 of what's in bzr.
1454
1455 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1456
1457 * Makefile.am (EXTRA_DIST): Add
1458 grub-core/tests/boot/linux.init-mips.S,
1459 grub-core/tests/boot/linux.init-ppc.S, and
1460 grub-core/tests/boot/linux-ppc.cfg.
1461
1462 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1463
1464 * grub-core/mmap/mips/loongson: Remove empty directory.
1465
1466 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1467
1468 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
1469 gone.
1470
1471 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1472
1473 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
1474 grub-sparc64-setup.
1475
1476 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1477
1478 * configure.ac: Strengthen the test for working -nostdinc -isystem.
1479
1480 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1481
1482 * po/POTFILES.in: Regenerated.
1483
1484 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1485
1486 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
1487 (NetBSD): New subsection.
1488
1489 2012-07-22 Ales Nesrsta <starous@volny.cz>
1490
1491 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
1492 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
1493
1494 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
1497 * util/grub.d/10_hurd.in: Add missing quoting.
1498 * util/grub.d/10_illumos.in: Likewise.
1499 * util/grub.d/10_kfreebsd.in: Likewise.
1500 * util/grub.d/10_linux.in: Likewise.
1501 * util/grub.d/20_linux_xen.in: Likewise.
1502
1503 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 New command `lsefi'.
1506
1507 * grub-core/Makefile.core.def (lsefi): New module.
1508 * grub-core/commands/efi/lsefi.c: New file.
1509 * include/grub/efi/api.h: Add more GUIDs.
1510
1511 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
1514 (grub_bsd_elf32_hook): Likewise.
1515 (grub_bsd_elf64_size_hook): Likewise.
1516 (grub_bsd_elf64_hook): Likewise.
1517 (grub_bsd_load_elf): Likewise.
1518
1519 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
1522 if hash function is unavailable.
1523 (dec_stream_header): Likewise.
1524
1525 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
1528 filter state.
1529
1530 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 Fix coreboot compilation.
1533
1534 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
1535 (grub_vga_text_init_real): ... this.
1536 (grub_vga_text_fini): Rename to ...
1537 (grub_vga_text_fini_real): ... this.
1538
1539 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
1542
1543 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/lib/legacy_parse.c: Support clear and testload.
1546
1547 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
1550
1551 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/fs/ext2.c: Experimental support for 64-bit.
1554
1555 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/net/tftp.c (ack): Fix endianness problem.
1558 (tftp_receive): Likewise.
1559 Reported by: Michael Davidsaver.
1560
1561 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * gentpl.py: Make mans depend on grub-mkconfig_lib.
1564
1565 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
1568 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
1569 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
1570
1571 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
1574 efi_mmap_size.
1575 Reported by: Stuart Hayes.
1576
1577 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
1580
1581 * grub-core/Makefile.core.def (mda_text): New module.
1582 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
1583 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
1584 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
1585 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
1586 here.
1587 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
1588 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
1589 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
1590 here.
1591 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
1592 to ..
1593 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
1594 ... here
1595 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
1596 here.
1597 * grub-core/term/i386/vga_common.c: Removed.
1598 * include/grub/i386/vga_common.h: Likewise.
1599 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
1600 (grub_vga_cr_bw_read): Likewise.
1601 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
1602 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
1603 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
1604 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
1605 grub_vga_cr_read/grub_vga_cr_write.
1606 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
1607
1608 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * configure.ac: Bump version to 2.00.
1611 * grub-core/normal/main.c (features): Add feature_200_final.
1612
1613 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1614 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1615
1616 * NEWS: Fix unclarity and language mistakes.
1617
1618 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1621 additional size to 3 pages.
1622 Reported by: Stuart Hayes.
1623
1624 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * NEWS: Add 2.00 entry.
1627
1628 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1631 put explicit "/" for empty path.
1632 (wildcard_expand): Improve dprintf.
1633
1634 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1637 it's equal to currnode. This can happen with "" symlink.
1638
1639 2012-06-27 Yves Blusseau <blusseau@zetam.org>
1640
1641 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1642 echo shell command by printf command.
1643
1644 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1647 the value returned by firmware is the maximal position, not diumension.
1648 (grub_terminfo_output_state): Use a more sane fallback.
1649
1650 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1653
1654 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1657 frequency to 150 MHz.
1658
1659 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 Apple fixes.
1662
1663 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1664 __APPLE_
1665 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1666 definition.
1667 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1668
1669 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Handle slash in HFS label.
1672
1673 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1674 (grub_hfs_dir): Tanslate slash.
1675 (grub_hfs_label): Don't translate slash.
1676
1677 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1680 network protocol listing since it introduces problematic dependency on
1681 net module.
1682
1683 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1686
1687 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 Init video early on yeeloong to avoid being rebooted by watchdog.
1690
1691 * grub-core/Makefile.am (gensm712): New target.
1692 (sm712_start.S): Likewise.
1693 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1694 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1695 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1696 description.
1697 * include/grub/vga.h: Move registry definitions to...
1698 * include/grub/vgaregs.h: ... here.
1699
1700 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1703 signedness.
1704
1705 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1708 platforms with firmware disk drivers in the core.
1709
1710 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1713 informative verbose message.
1714 (read_lv): Handle 64-bit segment size.
1715
1716 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1719
1720 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1723 character but still remove trainling spaces.
1724 (grub_fat_label): Ignore archive flag.
1725
1726 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1729 cast between linux_kernel_header and linux_kernel_params.
1730
1731 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1734 type for size.
1735 (grub_raid6_recover_func_t): Likewise.
1736 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1737 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1738
1739 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1742
1743 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1744
1745 Fix overflow.
1746
1747 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1748 [__NetBSD__]: Add explicit cast before bitshift.
1749
1750 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * configure.ac: Bump to 2.00~rc1.
1753
1754 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1757 half of $a0.
1758
1759 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1760 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1761
1762 * docs/grub.texi: Fix search syntax.
1763 (Multi-boot manual config): Put msdos rather than GPT example.
1764 Grammar corrections.
1765
1766 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1769
1770 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1773
1774 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1777 message on double free. Put the value of magic in case of mismatch.
1778
1779 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Speed-up video on yeeloong.
1782
1783 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1784 add cached_ptr.
1785 (grub_video_sm712_video_fini): Unmap cached_ptr.
1786 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1787 (grub_video_sm712_set_active_render_target): Removed.
1788 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1789 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1790 sync caches.
1791
1792 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 Avoid flushing the same line multiple times on loongson.
1795
1796 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1797 Step in 32 bytes and not 1 byte.
1798 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1799 Likewise.
1800
1801 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1804 subvolumes.
1805
1806 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Implement flow control for http.
1809
1810 * grub-core/net/http.c (parse_line): Handle response 206.
1811 (http_receive): Stall if too many packets are in the queue.
1812 (http_establish): Fix range header.
1813 (http_seek): Fix double free.
1814 (http_close): Likewise.
1815 (http_packets_pulled): New function.
1816 (grub_http_protocol): Set http_seek
1817 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1818 (ack_real): Set window depending on i_stall.
1819 (grub_net_send_tcp_packet): Likewise.
1820 (grub_net_tcp_stall): New function.
1821 (grub_net_tcp_unstall): Likewise.
1822 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1823 (grub_net_tcp_unstall): Likewise.
1824
1825 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1828
1829 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1832
1833 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * tests/util/grub-shell.in: Fix a typo.
1836
1837 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Implement flow control for tftp.
1840
1841 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1842 packets but stop only if stop condition is satisfied.
1843 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1844 `stall' instead of `eof' as stop condition.
1845 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1846 (http_err): Likewise.
1847 * grub-core/net/tftp.c (ack): Replace the first argument with data
1848 instead of socket.
1849 (tftp_receive): Stall if too many packets are in wait queue.
1850 (tftp_packets_pulled): New function.
1851 (grub_tftp_protocol): Set packets_pulled.
1852 * include/grub/net.h (grub_net_packets): New field count.
1853 (grub_net_put_packet): Increment count.
1854 (grub_net_remove_packet): Likewise.
1855 (grub_net_app_protocol): New field `packets_pulled'.
1856 (grub_net): New field `stall'.
1857
1858 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1861 sync part to handle them.
1862
1863 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1866 * grub-core/net/drivers/ieee1275/ofnet.c
1867 (grub_ieee1275_net_config_real): Likewise.
1868
1869 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1872 the direct route for server/gateway.
1873
1874 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1877 IP address to server name since we may not hame the DNS.
1878
1879 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1882 freeing random buffer on failure.
1883 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1884
1885 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1888
1889 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1892 reserved bytes.
1893 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1894 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1895 Handle malloc error correctly.
1896
1897 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1900 blocks.
1901
1902 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1905 increment.
1906
1907 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1910 none is explicitly specified.
1911
1912 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1915 while reallocating.
1916
1917 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 Respect netmask from bootp/dhcp.
1920
1921 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1922 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1923 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1924 into ...
1925 (grub_net_add_ipv4_local): ... this.
1926 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1927 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1928 (grub_net_add_ipv4_local): New proto.
1929
1930 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1933 determining EFI memory map size.
1934
1935 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1938
1939 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1942 when looking for partition separator.
1943
1944 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1947 Escape commas.
1948
1949 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Restructure FAT driver to avoid hook in label reading as it hits a
1952 GCC bug.
1953
1954 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1955 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1956 (grub_fat_iterate_dir): Split into ...
1957 (grub_fat_iterate_init): ... this, ...
1958 (grub_fat_iterate_fini): ... this, ...
1959 (grub_fat_iterate_dir_next): ... and this. All users updated.
1960
1961 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1964 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1965 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1966 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1967 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1968 New fields last_key and last_key_time.
1969 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1970 extended key-esc into extended key-extended key.
1971
1972 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Avoid unnecessary memcpy of whole video buffer.
1975
1976 * grub-core/video/fb/video_fb.c (dirty): New struct.
1977 (framebuffer): Add members current_dirty and previous_dirty.
1978 (dirty): New function.
1979 (grub_video_fb_fill_rect): Update dirty.
1980 (common_blitter): Likewise.
1981 (grub_video_fb_scroll): Likewise.
1982 (doublebuf_blit_update_screen): Copy only dirty part.
1983 (doublebuf_pageflipping_update_screen): Likewise.
1984 (grub_video_fb_doublebuf_blit_init): Init dirty.
1985 (doublebuf_pageflipping_init): Likewise.
1986 (grub_video_fb_setup): Likewise.
1987
1988 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1991 poll rate.
1992
1993 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Fix wildcard regexp dot and other special characters handling.
1996 Reported by: Robert Mabee.
1997
1998 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1999 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2000 (split_path): Trigger expansion on '?'.
2001 (unescape): New function.
2002 (wildcard_expand): Unescape parts copied without globbing.
2003 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2004 (grub_script_arglist_to_argv): Don't unescape expansions.
2005
2006 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * include/grub/net.h (grub_net_card): New member txbufsize.
2009 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2010 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2011 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2012 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2013 txbufsize.
2014 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2015 compatible property to check for macs. Set
2016 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2017 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2018 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2019 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2020 (send_card_buffer): Use txbuf.
2021 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2022 nested function out of the parent while on it.
2023
2024 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2027 presence check.
2028 (grub_ieee1275_net_config_real): Fix config pointer.
2029
2030 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2033 filename parsing to non-block devices.
2034
2035 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2038
2039 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2042 All users updated.
2043
2044 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2047 UUID search command even if hints probing failed.
2048
2049 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * po/POTFILES.in: Regenerated.
2052
2053 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Speed-up video on fuloong.
2056
2057 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2058 New function.
2059 (grub_pci_device_unmap_range): Handle non-cached address.
2060 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2061 add direct_ptr.
2062 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2063 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2064 (grub_video_sis315pro_set_active_render_target): Removed.
2065 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2066 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2067 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2068 sync caches.
2069 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2070 New proto.
2071
2072 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * docs/grub.texi (Multi-boot manual config): New section.
2075
2076 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 Avoid slow read-back from VRAM.
2079
2080 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2081 Move from here ...
2082 * grub-core/video/fb/video_fb.c
2083 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2084 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2085 (front_target): Remove front_target. Add pages.
2086 (grub_video_fb_init): Skip setting front_pages.
2087 (grub_video_fb_fini): Likewise.
2088 (doublebuf_blit_update_screen): Use pages.
2089 (grub_video_fb_doublebuf_blit_init): Likewise.
2090 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2091 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2092 (grub_video_fb_setup): Prefer doublebuffing.
2093
2094 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2097 gzio.
2098
2099 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Add loongson tests.
2102
2103 * tests/util/grub-shell.in: Handle loongson.
2104 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2105 drivers.
2106 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2107 Reboot instead of shutdown if REBOOT is defined.
2108
2109 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2112 sized ports since unlike on real hardware qemu supports only 32-bit
2113 regs.
2114
2115 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2118 * util/grub-mkrescue.in: Handle loongson.
2119
2120 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2123 Set is_part appropriately.
2124 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2125 names. Canonicalize partition without full disk.
2126
2127 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 Revert usb-quiesce since it's wrong.
2130
2131 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2132 (grub_ofdisk_init): Don't do quiesce.
2133
2134 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2137 PowerMac workaround to Xserves as well.
2138 Information supplied by: Benjamin Herrenschmidt.
2139
2140 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Don't assume that beginning address is also the entry point on ppc.
2143
2144 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2145 (grub_linux_boot): Use linux_entry.
2146 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2147 (grub_linux_load64): Likewise.
2148
2149 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2152
2153 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2156 needlessly lose the console.
2157
2158 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2161 space.
2162
2163 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2166 than current grub_get_rtc() not implemented when booted with
2167 coreboot without TSC.
2168
2169 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2170 Add machine/time.h to kernel headers on loongson.
2171 * grub-core/Makefile.core.def (kernel): Remove
2172 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2173 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2174 (grub_get_rtc): Likewise.
2175 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2176 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2177 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2178 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2179 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2180 rather than installing known non-working time source.
2181 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2182 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2183 * include/grub/time.h: Don't include machine/time.h.
2184 * include/grub/efi/time.h: Removed.
2185 * include/grub/i386/efi/time.h: Likewise.
2186 * include/grub/i386/ieee1275/time.h: Likewise.
2187 * include/grub/powerpc/ieee1275/time.h: Likewise.
2188 * include/grub/sparc64/ieee1275/time.h: Likewise.
2189 * include/grub/x86_64/efi/time.h: Likewise.
2190
2191 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 Remove dot on i and j when combining with above diacritics.
2194
2195 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2196 value.
2197 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2198 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2199 with dotless variants when any combining above is present.
2200
2201 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2204 text and not binary.
2205
2206 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Stop polling as soon as we have the packet we were waiting for.
2209
2210 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2211 All users updated.
2212 * grub-core/net/arp.c (have_pending): New var.
2213 (pending_req): Likewise.
2214 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2215 stop indicator.
2216 (grub_net_arp_receive): Set have_pending.
2217 * grub-core/net/dns.c (recv_data): New field stop.
2218 (recv_hook): Set stop.
2219 (grub_net_dns_lookup): Init stop and use as stop condition.
2220 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2221 condition.
2222 * grub-core/net/net.c (grub_net_poll_cards): New argument
2223 stop_condition. Stop when it goes true.
2224 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2225 indicator.
2226 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2227
2228 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 Keep TX and RX buffers on EFI rather than always allocate new ones.
2231
2232 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2233 card. All users updated.
2234 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2235 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2236 (get_card_packet): Likewise.
2237 (grub_efinet_findcards): Init new fields.
2238
2239 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2242 compilation error on sparc64.
2243
2244 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 Use ITC on IA64 rather than broken routine based on daytime.
2247
2248 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2249 ia64.
2250 (grub_get_rtc) [__ia64__]: Likewise.
2251 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2252 (get_itc): New function.
2253 (grub_rtc_get_time_ms): Likewise.
2254 (grub_machine_init): Calibrate ITC.
2255 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2256 Keep only on non-ia64. Don't export since it's broken and used only
2257 if TSC is unavailable.
2258
2259 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2262 even if it's used.
2263 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2264 Skip if parent is unused.
2265
2266 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2269
2270 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 Fix wildcard escaping.
2273
2274 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2275 * grub-core/script/execute.c (wildcard_escape): .. to here.
2276 Don't escape dot.
2277 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2278 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2279 Don't escape dot.
2280 * grub-core/script/execute.c (gettext_append): Always escape.
2281 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2282 * grub-core/script/yylex.l: Don't cut away the escaping.
2283 * tests/grub_script_echo1.in: Add tests with wildcard.
2284
2285 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2288 (ftdi_hw_configure): Likewise.
2289 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2290 define.
2291 (real_config): Handle 1.5 stop bits.
2292 (pl2303_hw_configure): Likewise.
2293
2294 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * Makefile.am: Add ppc linux bootcheck.
2297 * grub-core/tests/boot/linux-ppc.cfg: New file.
2298 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2299
2300 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * tests/grub_script_expansion.in: Skip network protocols.
2303
2304 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2307
2308 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2311 --rom-directory.
2312 Add -graft-points.
2313
2314 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 ESCC serial driver for conducting sautomated tests in qemu.
2317 Not tested on real hardware.
2318
2319 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2320 * grub-core/term/ieee1275/escc.c: New file.
2321 * grub-core/Makefile.core.def (escc): New module.
2322
2323 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2326 invalid on error.
2327 (serial_hw_fetch): Don't read invalid handle.
2328 (serial_hw_put): Don't write into invalid handle.
2329
2330 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Add a 1.5 stop bits value.
2333
2334 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2335 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2336 GRUB_SERIAL_STOP_BITS_1_5.
2337
2338 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2341 value rather than let it uninited.
2342
2343 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/commands/wildcard.c (+check_file): New function.
2346 (wildcard_expand): Don't expand to non-existing files, expand with
2347 suffix and not attempt to expand if not needed.
2348
2349 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2352 out of partitions containing other partitions.
2353
2354 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2357 on some qemu versions with GRUB.
2358
2359 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2360 define.
2361 (grub_openbsd_bootarg_pcibios): New struct.
2362 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2363 Add PCIINFO.
2364
2365 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * tests/util/grub-shell.in: Trim firmware output on EFI.
2368
2369 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2372 and coreboot since it's already in kernel.
2373
2374 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2377 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2378 to here. New return value start. All users updated.
2379 Recursively scan linear mappings.
2380 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2381 proto.
2382 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2383 Use grub_util_get_dm_node_linear_info.
2384 * util/getroot.c (convert_system_partition_to_system_disk): Use
2385 grub_util_info rather than grub_dprintf.
2386 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2387
2388 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2391
2392 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2393 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2394
2395 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * include/grub/types.h (grub_set_unaligned64): New function.
2398 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2399 (setup): Likewise.
2400
2401 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2404 (grub_ofdisk_fini): Quiesce USB devices.
2405
2406 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2409 caches.
2410
2411 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2414
2415 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/disk/pata.c (grub_pata_pio_read)
2418 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2419 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2420
2421 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 Extend automated tests to qemu-mips.
2424
2425 * Makefile.am: reorganise tests and enable qemu-mips.
2426 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2427 * grub-core/tests/boot/linux.init-mips.S: New file.
2428 * tests/partmap_test.in: Handle ata0 disks.
2429 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2430 non-pc i386.
2431
2432 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2435 ia64.
2436 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2437 quotes while on it.
2438
2439 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2442 (grub_halt): Likewise.
2443 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2444
2445 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/term/serial.c (grub_serial_register)
2448 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2449 the behaviour in line with x86 platforms.
2450
2451 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
2454 (grub_ata_strncpy): Likewise.
2455 (grub_ata_identify): Add missing byteswaps.
2456
2457 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
2460 byte-swap.
2461 (screen_read_char): Likewise.
2462 (grub_vga_text_cls): Likewise.
2463
2464 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
2467 filenames.
2468 (make_file_path): Likewise.
2469
2470 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
2473 machines.
2474 Tested by: Paulo Flabiano Smorigo.
2475 Crucial information about API supplied by: Coleen <Last name unknown>.
2476 Reviewed by: Coleen <Last name unknown>.
2477
2478 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * util/grub-mkimage.c: Disable -Wcast-align.
2481
2482 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
2485 as they are fatal.
2486
2487 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
2490
2491 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * util/grub-probe.c (escape_of_path): Fix double free.
2494
2495 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/commands/videoinfo.c (hook): Show pitch.
2498
2499 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub.d/20_linux_xen.in: Skip xen-syms.
2502
2503 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
2506 (probe): Add ieee1275 to OFW devices.
2507
2508 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
2511
2512 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 Handle IBM OFW path.
2515
2516 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
2517 available.
2518 (of_path_of_scsi): Handle vdevice.
2519
2520 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
2523 Allocate in multiples of 16 to avoid adding a few bytes free region the
2524 windows bugs upon.
2525
2526 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
2529 Allocate in multiples of 16 to avoid adding a few bytes free region the
2530 windows bugs upon.
2531 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2532
2533 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
2536 resolutions.
2537 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
2538 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2539
2540 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
2541
2542 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
2543
2544 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
2547 resulted in \\ at the end of the line.
2548
2549 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
2552 (grub_parser_cmdline_state): Likewise.
2553 (grub_parser_split_cmdline): Likewise.
2554
2555 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2558 /dev/root and /dev/dm-*.
2559
2560 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2563 fix partially stale display.
2564
2565 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/normal/menu_entry.c (backward_char): Use right line for
2568 substraction.
2569
2570 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
2573 Fix MBR remapping workaround.
2574 (grub_util_biosdisk_read) [__linux__]: Likewise.
2575
2576 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * util/grub-install.in: Check for ieee1275 and not ieee1276.
2579
2580 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * configure.ac: Bump to beta6.
2583
2584 2012-05-31 Christer Weinigel <christer@weinigel.se>
2585
2586 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
2587
2588 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
2591 (grub_cmd_linux): Likewise.
2592
2593 2012-05-31 Christer Weinigel <christer@weinigel.se>
2594
2595 Fix EHCI low-speed.
2596
2597 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
2598 (GRUB_EHCI_MULT_TWO): Likewise.
2599 (GRUB_EHCI_MULT_THREE): Likewise.
2600 (GRUB_EHCI_CMASK_MASK): New enum value.
2601 (GRUB_EHCI_SMASK_MASK): Likewise.
2602 (GRUB_EHCI_CMASK_OFF): Likewise.
2603 (GRUB_EHCI_SMASK_OFF): Likewise.
2604 (grub_ehci_pci_iter): Enable periodic schedule.
2605 (grub_ehci_parse_notrun): Likewise.
2606 (grub_ehci_restore_hw): Likewise.
2607 (grub_ehci_setup_qh): Set flags for low speed transfers.
2608 (grub_ehci_find_qh): Use periodic list for low speed.
2609 (grub_ehci_setup_transfer): Check periodic queue as well.
2610 (grub_ehci_check_transfer): Likewise.
2611 (grub_ehci_cancel_transfer): Cancel periodic transfer.
2612
2613 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2614
2615 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2616 parameter is used.
2617
2618 2012-05-31 Peter Jones <pjones@redhat.com>
2619
2620 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2621 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2622 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2623
2624 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2627 uninited variable. Allocate at least setup_sects.
2628
2629 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 Fix handling of EFI with big memory maps.
2632
2633 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2634 (real_mode_mem): Likewise.
2635 (real_mode_target): Likewise.
2636 (real_mode_pages): Likewise.
2637 (prot_mode_pages): Likewise.
2638 (linux_params): New var.
2639 (linux_cmdline): Likewise.
2640 (free_pages): Don't set real mode variables.
2641 (allocate_pages): Don't allocate real mode memory.
2642 (grub_e820_add_region): Remove the limit.
2643 (grub_linux_boot): Allocate and copy real mode memory.
2644 (grub_linux_unload): Free linux_cmdline.
2645 (grub_cmd_linux): Use temporary storage for parameters.
2646 (grub_cmd_initrd): Likewise.
2647 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2648 (linux_kernel_params): Make it 1K big.
2649
2650 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * Makefile.util.def: Remove -Wno-format.
2653 * grub-core/Makefile.core.def: Likewise.
2654
2655 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * tests/cmp_unit_test.c: Add missing failure message.
2658 * tests/example_unit_test.c: Likewise.
2659 * tests/printf_unit_test.c: Likewise.
2660
2661 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2664 relaxation of protective MBR requirements.
2665
2666 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * configure.ac: Add condition for COND_HOST_XNU.
2669 * Makefile.util.def (10_xnu): New script.
2670 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2671
2672 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2675 objconv bug.
2676
2677 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2680 Binary on other platforms stays identical.
2681
2682 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2685 Apple.
2686
2687 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2690
2691 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2694 rather than defining size_t ourselves to avoid conflict.
2695
2696 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2699 initialisation to avoid __bzero reference.
2700
2701 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2704 version.
2705 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2706 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2707 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2708 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2709 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2710
2711 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2714 * grub-core/kern/misc.c: Likewise.
2715 * grub-core/loader/i386/xnu.c: Likewise.
2716 * include/grub/i386/tsc.h: Likewise.
2717 * include/grub/symbol.h: Likewise.
2718
2719 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2722 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2723 on older compiler.
2724
2725 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2728 Implement Apple flavour.
2729 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2730
2731 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2734 (memmove) [__APPLE__]: Likewise.
2735 (memcpy) [__APPLE__]: Likewise.
2736 (memset) [__APPLE__]: Likewise.
2737 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2738 (memmove) [__APPLE__]: Likewise.
2739 (memcpy) [__APPLE__]: Likewise.
2740 (memset) [__APPLE__]: Likewise.
2741
2742 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2745 dependency discard.
2746
2747 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/normal/main.c (read_config_file): Provide config_file and
2750 config_directory.
2751 * util/grub.d/41_custom.in: Use config_directoy when available.
2752
2753 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2756 (grub_bfs_dir): Likewise.
2757
2758 2012-05-27 Peter Jones <pjones@redhat.com>
2759
2760 The old code gives arguments to a printf function which can't work
2761 correctly, and the compiler complains.
2762
2763 * grub-core/tests/example_functional_test.c (example_test): Add
2764 missing text.
2765 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2766 * include/grub/test.h (grub_test_assert_helper): New declaration.
2767 (grub_test_assert): Use grub_test_assert_helper.
2768
2769 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2772 (exfctest): ... this to avoid overlong filenames.
2773 All users updated.
2774
2775 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Handle "." and ".." on squashfs.
2778
2779 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2780 Make inode numbers into stack.
2781 (grub_squash_read_symlink): Use stack.
2782 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2783 (make_root_node): Fill stack.
2784 (grub_squash_open): Use stack.
2785
2786 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2789 freeing.
2790
2791 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2794 stderr on test calls.
2795
2796 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2799
2800 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2803
2804 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2807 "..".
2808
2809 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2812 (grub_hfsplus_iterate_dir): Add "." and "..".
2813
2814 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2817 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2818
2819 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2822 (find_path): Handle "." and "..".
2823
2824 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2827 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2828 (grub_affs_iterate_dir): Handle hardlinks.
2829
2830 2012-05-26 Matthew Garrett <mjg@redhat.com>
2831
2832 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2833 (grub_efi_console_fini): Likewise.
2834 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2835 (grub_video_gop_fill_mode_info): Rename to ...
2836 (grub_video_gop_fill_real_mode_info): ... this.
2837 (grub_video_gop_fill_mode_info): New function.
2838 (grub_video_gop_setup): Setup double framebuffer.
2839 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2840 Free offscreen.
2841 (grub_video_gop_swap_buffers): Copy framebuffer.
2842 (grub_video_gop_fini): Free offscreen buffer.
2843 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2844 New enum.
2845 (grub_efi_gop_blt_pixel): New struct.
2846
2847 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * gentpl.py: Remove error disabling for objconv.
2850
2851 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * configure.ac: Remove -Wunitialized as it's not available on older
2854 compilers.
2855
2856 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 Fix extent overflow comparator.
2859
2860 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2861 (grub_hfsplus_read_block): Set type.
2862 (grub_hfsplus_cmp_extkey): Compare type.
2863
2864 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2867
2868 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2871 than 0.
2872
2873 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2876 (dejavu_bold_14.pf2): New target.
2877
2878 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * configure.ac: Fix djvu font detection.
2881
2882 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2885 ext* instead of ext2.
2886
2887 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2890 name with \0.
2891
2892 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2893
2894 * docs/grub-dev.texi: Remove dot from .png.
2895
2896 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2899 protective entry in any slot.
2900 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2901 if protective entry is found in any slot.
2902
2903 Protective entry in non-first slot make no sense but is a widespread
2904 brain damage.
2905
2906 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2909
2910 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2913 with old reiserfs.
2914 (grub_reiserfs_open): Don't free root.
2915
2916 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2919 after freeing for safety.
2920
2921 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2924 Reported by: Jordan Uggla.
2925
2926 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2927
2928 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2929 actual implementation. Specifically, clarify that the grub menu will
2930 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2931 passed.
2932
2933 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2934
2935 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2936 of r0.
2937
2938 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 Remove unjustified hard dependency of normal.mod on gfxterm.
2941
2942 * include/grub/term.h (grub_term_output): New member fullscreen.
2943 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2944 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2945 (grub_gfxterm): Set .fullscreen.
2946 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2947 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2948
2949 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2952 mentioning possible problems with non-ASCII (non-compliant) ISOs.
2953 Mention case-insensitive AFFS, SFS and JFS.
2954
2955 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2958
2959 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2962 a bad FS.
2963
2964 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2967 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2968
2969 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2972 (grub_jfs_mount): Fill caseins.
2973 (grub_jfs_find_file): Respect caseins.
2974
2975 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2978 through UTF-16.
2979
2980 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2983 New argument origpath. All users updated.
2984
2985 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2988 (read_attr): Ensure that we read start of possibly compressed block.
2989
2990 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2993 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2994 All users updated.
2995
2996 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2999 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3000 (dejavu.pf2): Replace with ...
3001 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3002 this.
3003
3004 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * util/grub.d/20_linux_xen.in: Add missing line.
3007
3008 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3011 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3012 (grub_utf16_to_utf8): Likewise.
3013
3014 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3017 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3018 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3019 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3021 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3022
3023 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3026 a bad FS.
3027
3028 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3031 (grub_udf_read_symlink): Handle read_string failure.
3032
3033 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3036 comment.
3037
3038 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 Fix handling of UDF symlinks.
3041
3042 * grub-core/fs/udf.c (read_string): New argument outbuf.
3043 All users updated.
3044 (grub_ufs_read_symlink): Rename to ...
3045 (grub_udf_read_symlink): ... this. All users updated.
3046 Handle symlinks with more than one component.
3047
3048 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3051 symlinks. Replace leading colon with a slash.
3052
3053 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3056 filename.
3057
3058 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3061 match in inner node.
3062
3063 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3066 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3067 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3068 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3069 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3070 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3071 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3072 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3073 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3074
3075 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 Use grub-probe and not cmp to check that disk is empty.
3078
3079 * util/grub-install.in: Use grub-probe for zero-check.
3080 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3081 (probe): Handle PRINT_ZERO_CHECK.
3082 (argp_parser): Handle -t zero_check.
3083
3084 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Flush block cache on adding disk to device map.
3087
3088 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3089 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3090 adding.
3091 (read_device_map): Likewise.
3092 (open_device): Flush on opening.
3093
3094 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3097 (handle_symlink): Fix off-by-one error.
3098 Canonicalize the target.
3099 (grub_cpio_dir): Canonicalize the name.
3100 Fix memory leak.
3101 Set directory.
3102 (grub_cpio_open): Canonicalize the name.
3103
3104 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3107 handling.
3108
3109 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3112 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3113
3114 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3117 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3118 All users updated.
3119
3120 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3123 counterpart.
3124
3125 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Fix UFS1 big file support.
3128
3129 * grub-core/fs/ufs.c (INODE): Removed.
3130 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3131 64-bit.
3132 (INODE_MODE): Simplify.
3133 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3134 (grub_ufs_lookup_symlink): Don't use INODE.
3135
3136 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3139
3140 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3141 (grub_minix_data): Replace log_block_size with block_size.
3142 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3143 (grub_minix_mount): Fill block_size.
3144
3145 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * configure.ac: Bump to beta5.
3148
3149 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 Fix wrapped HFS+ handling.
3152
3153 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3154 blocks_start. All users updated.
3155 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3156 wrapping offset.
3157 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3158
3159 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 Fix long symlinks on reiserfs.
3162
3163 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3164 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3165 (grub_reiserfs_iterate_dir): Save size for non-directories.
3166 (grub_reiserfs_open): Don't reread stat block as we already know the
3167 size.
3168 (grub_reiserfs_read): Split into...
3169 (grub_reiserfs_read_real): ... and ...
3170 (grub_reiserfs_read): ...this.
3171
3172 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 Fix non-indexed JFS.
3175
3176 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3177 (grub_jfs_data): New field namecomponentlen.
3178 (grub_jfs_mount): Fill namecomponentlen.
3179 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3180
3181 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3184 * tests/grub_script_echo1.in: Add tests.
3185
3186 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * util/grub-install.in: Ignore empty devicetree directory.
3189
3190 2012-05-08 Bean <bean123ch@gmail.com>
3191
3192 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3193 All users updated.
3194 (free_rsm): Free header as well.
3195 (free_old_fragments): Fix memory leak.
3196 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3197 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3198 (destroy_pq): Likewise.
3199 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3200
3201 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3204 resulting hash as a precaution.
3205
3206 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3209 '_' in variable names.
3210 * grub-core/net/net.c (grub_net_network_level_interface_register):
3211 Likewise.
3212
3213 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 Fix AFFS with non-512B blocks.
3216
3217 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3218 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3219 (grub_affs_data): Replace blocksize with log_blocksize.
3220 (grub_affs_read_block): Fix non-512B blocks.
3221 (grub_affs_read_symlink): Likewise.
3222 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3223 (grub_affs_read): Fix non-512B blocks.
3224 (grub_affs_label): Likewise.
3225 (grub_affs_mtime): Likewise.
3226 (grub_affs_mount): Fix block detection routine.
3227
3228 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Add filesystem mtime to AFFS.
3231
3232 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3233 (aftime2ctime): New function.
3234 (grub_affs_dir): Use aftime2ctime.
3235 (grub_affs_label): Fix return value.
3236 (grub_affs_mtime): New function.
3237 (grub_affs_fs): Add mtime.
3238
3239 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3242 UTF-8.
3243
3244 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3247 UTF-8.
3248
3249 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3252
3253 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3256 flags.
3257 (FLAGS_CASE_SENSITIVE): New enum value.
3258 (cache_entry): New struct.
3259 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3260 cache_size and cache.
3261 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3262 Add log_blocksize and fshelp_flags.
3263 (grub_sfs_read_extent): Handle non-512 blocks.
3264 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3265 (grub_sfs_read_file): Handle non-512 blocks.
3266 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3267 fshelp_flags.
3268 (grub_sfs_read_symlink): Handle non-512 blocks.
3269 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3270 (grub_sfs_dir): Free cache.
3271 (grub_sfs_close): Likewise.
3272
3273 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3276 filesystems.
3277
3278 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3281
3282 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3285
3286 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3289 (grub_sfs_read_extent): Likewise.
3290 (grub_sfs_read_block): Likewise.
3291 (grub_sfs_mount): Likewise.
3292 (grub_sfs_iterate_dir): Likewise.
3293 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3294 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3295
3296 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 Fix errors on compressed NTFS with 512B clusters.
3299
3300 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3301 types.
3302 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3303 not 0.
3304 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3305 Relax check for inline extents.
3306 (ntfscomp): Return correct -1 on error and not 0.
3307
3308 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * util/grub-install.in: Fix handling of prefix containing spaces.
3311
3312 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3315 (grub_squash_read_data): Fix offset byte-swapping.
3316
3317 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3320 per common usage and preffered in several parts of code.
3321 (grub_memcmp): Likewise.
3322 (grub_strncmp): Likewise.
3323 * include/grub/misc.h (grub_strcasecmp): Likewise.
3324 (grub_strncasecmp): Likewise.
3325 * Makefile.util.def (cmp_test): New test.
3326 (grub_script_strcmp): Likewise.
3327 * tests/cmp_unit_test.c: New file.
3328 * tests/grub_script_strcmp.in: Likewise.
3329 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3330
3331 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * include/grub/pci.h: Move enums into no-asm part.
3334
3335 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3338
3339 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3340
3341 * util/getroot.c (find_hurd_root_device): Try to make error message
3342 and comments to translators clearer.
3343
3344 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3347
3348 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3351 btrfs.
3352
3353 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * docs/grub.cfg: Update.
3356
3357 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * docs/grub.texi (PXE): Remove not present variables.
3360
3361 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/net/net.c (defserver_set_env): New function.
3364 (defserver_get_env): Likewise.
3365 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3366
3367 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3370 entries.
3371
3372 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3375 * grub-core/kern/emu/hostdisk.c: Likewise.
3376
3377 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3378
3379 Handle hurd userspace partitions.
3380
3381 * util/getroot.c (find_hurd_root_device): New function.
3382 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3383
3384 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3387 names.
3388 Reported by: Bastian Blank.
3389
3390 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3393 crossing page boundary.
3394
3395 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 Fix B-tree search in BFS, especially in presence of non-ASCII
3398 characters.
3399
3400 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3401 (find_in_b_tree): Use standard bsearch + btree algorithm.
3402
3403 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3406 and so on.
3407
3408 2012-05-03 Matthew Garrett <mjg@redhat.com>
3409 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 Suspend broadcom cards in order to stop their DMA.
3412
3413 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3414 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3415 (pci): Don't build on x86 EFI.
3416 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3417 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3418 New function.
3419 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3420 stop_broadcom if running on EFI.
3421 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3422 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3423 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3424 (grub_pci_find_capability): New proto.
3425
3426 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * docs/grub.texi: Remove dot from the extension as it apparently
3429 doesn't work with some makeinfo versions.
3430
3431 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3434 with GRUB expectance.
3435
3436 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3439
3440 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3443 zero after directory block since last entry may be not 0-terminated if
3444 it ends on block boundary. Use continue instead of if spanning whole
3445 loop.
3446
3447 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Support 4K sectors UDF inline files.
3450
3451 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3452 (grub_udf_extended_file_entry): Likewise.
3453 (grub_fshelp_node): Name the anonymous union. Put block at the end.
3454 All users updated.
3455 (get_fshelp_size): New function.
3456 (grub_udf_read_icb): Read whole block.
3457 (grub_udf_iterate_dir): Likewise.
3458 (grub_udf_dir): Likewise.
3459 (grub_udf_open): Likewise.
3460
3461 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
3464
3465 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
3468 inline symlinks in addition to workaround.
3469
3470 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
3473
3474 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
3477
3478 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
3481
3482 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 Fix reiserfs big seek times.
3485
3486 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
3487 exact. All users updated.
3488 (grub_reiserfs_read): Use nearest btree search for seeking.
3489 Fix return value on error.
3490
3491 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
3494 entries.
3495 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
3496 * docs/grub.texi: Update menuentry description.
3497
3498 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
3501 crash when embedding onto filesystem.
3502
3503 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
3506 name.
3507
3508 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
3511
3512 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
3515 commit.
3516
3517 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3518 2012-05-01 Bean <bean123ch@gmail.com>
3519
3520 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
3521
3522 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
3525 Special behaviour for len = 0 to read whole file isn't used anywhere and
3526 can cause buffer ovewrflows in several places.
3527
3528 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
3531
3532 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Handle RAIDZ on non-512B sectors.
3535
3536 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
3537 max_children_ashift.
3538 (fill_vdev_info_real): Fill max_children_ashift.
3539 (read_device): Use max_children_ashift.
3540
3541 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
3544
3545 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
3548 disk names.
3549 * docs/grub.texi: Update device.map parts.
3550
3551 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 Don't scan into non-diskfilter devices having diskfilter names.
3554
3555 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3556 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3557 handling.
3558 (scan_disk_hook): New function.
3559
3560 2012-04-29 Bean <bean123ch@gmail.com>
3561
3562 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3563 allocation.
3564
3565 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
3566
3567 * configure.ac: Detect starfield theme font path
3568 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
3569
3570 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
3573 geometry on serial consoles.
3574
3575 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
3578 because of network consoles.
3579
3580 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
3583 handling.
3584
3585 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
3588 falls on Q syndrom.
3589
3590 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
3593 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
3594
3595 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
3598 Allocate at lest 8192 for temporary buffer as required for lzo.
3599
3600 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
3603 to cluster_bits, since it's already added in.
3604 (grub_fat_read_data): Likewise.
3605
3606 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
3609 as long as cluster size is multiple of 512 bytes.
3610
3611 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * util/grub-mkrescue.in: Fix locale directory.
3614
3615 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/kern/emu/hostdisk.c (map): Make static.
3618
3619 2012-04-23 Bean <bean123ch@gmail.com>
3620
3621 * util/grub-fstest.c (fstest): Add missing break.
3622
3623 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3624
3625 Fix hurd build.
3626
3627 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3628 not define nr variable.
3629 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3630 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3631 grub_find_device): Do not define.
3632
3633 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Fix kfreebsd compile and behaviour.
3636
3637 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3638 format-security.
3639 * util/getroot.c: Fix wait.h include.
3640 (grub_guess_root_devices): Error if grub_find_device fails.
3641 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3642 (grub_util_get_dev_abstraction): Likewise.
3643 (grub_util_pull_device): Likewise.
3644 (grub_util_get_grub_dev): Likewise.
3645 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3646
3647 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3648
3649 Fix and unify wholedisk detection.
3650
3651 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3652 is_part. All users updated.
3653 (device_is_wholedisk): Removed.
3654 (grub_util_biosdisk_get_grub_dev): Use is_part.
3655
3656 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3659 mode.
3660
3661 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * configure.ac: Bump to beta4.
3664
3665 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3668 --fs-uuid --set UUID syntax.
3669
3670 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3673 disunification.
3674
3675 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3678
3679 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
3680
3681 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3682
3683 2012-04-18 Mike Gilbert <floppym@gentoo.org>
3684
3685 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3686
3687 2012-04-18 Bean <bean123ch@gmail.com>
3688
3689 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3690 place.
3691
3692 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3695 users updated.
3696 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3697 corresponding to GRUB partitions.
3698 (grub_util_biosdisk_write): Likewise.
3699
3700 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 Scan mdraid before LVM.
3703
3704 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3705 (grub_diskfilter_register_front): ... this.
3706 (grub_diskfilter_register_back): New function.
3707 All users of grub_diskfilter_register updated.
3708
3709 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * util/grub-install.in: Fix an automatic target detection bug.
3712
3713 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * util/grub-install.in: New option --efi-directory.
3716
3717 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3720 boot services if we have no other choice.
3721
3722 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3725 document it.
3726 * tests/util/grub-shell.in: Update to --directory.
3727
3728 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3731
3732 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3735 (grub_minix_read_file): Likewise.
3736 (grub_minix_read_inode): Likewise.
3737 (grub_minix_find_file): Likewise.
3738 (grub_minix_dir): Likewise.
3739
3740 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/grub-setup.c (setup): Fix partition handling and blocklist
3743 check.
3744
3745 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3748 redundant buggy overlap check.
3749
3750 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3753 and grub-mknetdir.
3754
3755 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3758 kh.loadflags on pre-2.00 kernels.
3759
3760 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Terminate UNDI and PXE before launching the payload to avoid problems
3763 with DMA.
3764
3765 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3766 (grub_loader_flags): ... this. All users updated.
3767 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3768 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3769 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3770 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3771 function.
3772 (grub_pxe_restore): Likewise.
3773 (fini_hnd): New var.
3774 (GRUB_MOD_INIT): Register shutdown hook.
3775 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3776 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3777 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3778 (grub_loader_set): Rename second argument to flags.
3779
3780 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3783 written bytes.
3784 (grub_get_num_of_utf8_bytes): New function.
3785 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3786 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3787 executing it.
3788 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3789 (grub_ucs4_to_utf8): Change return type.
3790
3791 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3794 warning.
3795 * grub-core/fs/bfs.c (hop_level): Likewise.
3796 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
3797
3798 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/lib/adler32.c: Recode due to license unclearness.
3801
3802 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3805 (test_header): Likewise.
3806
3807 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 Fix --help formatting.
3810
3811 * util/grub-mkconfig_lib.in (print_option_help): New function.
3812 (grub_fmt): Likewise.
3813 * util/grub-install.in: Use print_option_help and grub_fmt.
3814 * util/grub-kbdcomp.in: Likewise.
3815 * util/grub-mkconfig.in: Likewise.
3816 * util/grub-mknetdir.in: Likewise.
3817 * util/grub-mkrescue.in: Likewise.
3818 * util/grub-mkstandalone.in: Likewise.
3819 * util/grub-reboot.in: Likewise.
3820 * util/grub-set-default.in: Likewise.
3821 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3822
3823 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * linguas.sh: Remove autogenerated *.po.
3826
3827 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * po/README: Move language fetcing to ...
3830 * linguas.sh: ... here.
3831 * po/README: Point to linguas.sh.
3832
3833 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * po/README: Exclude ko.po due to disclaimer problems.
3836
3837 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3840 len = 0.
3841 (grub_gettext_translate_real): Handle 0th string.
3842 (grub_gettext_translate): Ensure that "" isn't translated.
3843
3844 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3847 TRANSLATORS comment.
3848 (grub_diskfilter_print_partmap): Propagate changing of error into
3849 warning.
3850
3851 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3854 to uint64_t to prevent overflow.
3855 (grub_diskfilter_lv): Increase start_extent and extent_count
3856 to uint64_t to prevent overflow.
3857
3858 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * configure.ac: Increase version.
3861
3862 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3865
3866 * po/Rules-translit: New file.
3867 * po/arabic.sed: Likewise.
3868 * po/cyrillic.sed: Likewise.
3869 * po/greek.sed: Likewise.
3870 * po/hebrew.sed: Likewise.
3871 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3872 * po/Makefile.in.in: Add extra_dist4.
3873
3874 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3877
3878 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3879 modify names. Introduce MODE_BIGENDIAN.
3880 * grub-core/fs/minix_be.c: New file.
3881 * grub-core/fs/minix2_be.c: Likewise
3882 * grub-core/fs/minix3_be.c: Likewise.
3883 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3884 minix3_be.
3885 * grub-core/Makefile.core.def (minix_be): New module.
3886 (minix2_be): Likewise.
3887 (minix3_be): Likewise.
3888
3889 2012-04-01 Felix <email@hamburg.de>
3890
3891 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3892 (devs): Add MBP 2011.
3893
3894 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3897
3898 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/normal/cmdline.c (print_completion): New field
3901 prompt_len.
3902 (grub_cmdline_get): Handle width properly.
3903
3904 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3907
3908 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
3911 after 29th of February.
3912
3913 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 Fix exfat endianness handling.
3916
3917 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3918 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3919 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3920 Byte-swap utf16 when necessary.
3921 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3922
3923 2012-03-31 Anton Blanchard <anton@samba.org>
3924 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 Fix btrfs endianness handling.
3927
3928 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3929 (lower_bound): Make root uint64_t. Use root in le.
3930 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3931 (find_path): Fix template key init.
3932 (grub_btrfs_dir): Fix mtime byteswap.
3933 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3934
3935 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3938 recursion_depth. Break infinite resursions. All users updated.
3939
3940 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3943 after free.
3944 Reported by: Peter Jones.
3945
3946 2012-03-31 Anton Blanchard <anton@samba.org>
3947
3948 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3949 8 bit values.
3950
3951 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * util/grub-install.in: Fix nvram call for PreP.
3954
3955 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3958 the error when some elements are missing into a warning.
3959
3960 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3963
3964 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
3965
3966 * docs/grub.texi (Invoking grub-probe): New section.
3967 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3968
3969 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Fix tab and wide character handling in editor and menu.
3972
3973 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3974 agglomerate control characters with combining marks.
3975 (bidi_line_wrap): Allow break on tab.
3976 (grub_unicode_get_comb_start): New function.
3977 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3978 and tab correctly.
3979 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3980 with a space.
3981 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3982 fixed_tab_size. All users updated.
3983 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3984 (grub_term_getcharwidth): Handle \t.
3985 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3986 and copy.
3987
3988 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 Handle big-endian mdraid.
3991
3992 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3993 * grub-core/Makefile.core.def (mdraid09_be): New module.
3994 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3995 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3996 * grub-core/disk/mdraid_linux_be.c: New file.
3997
3998 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4001
4002 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4005 missing quotes which caused confusion among translators.
4006
4007 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * util/grub-mkconfig_lib.in: Fix typo.
4010
4011 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4014 spaces.
4015 * tests/grub_script_leading_whitespace.in: New file.
4016 * Makefile.util.def (grub_script_leading_whitespace): New test.
4017
4018 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4021 to work.
4022
4023 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4026 starts with control character.
4027
4028 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4031 overflow.
4032 (grub_gdb_outbuf): Likewise.
4033
4034 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4037 zero terminator. Fixes a crash.
4038
4039 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4042 beyond 4 GiB.
4043 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4044 images independently of preffered adderss field.
4045
4046 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4049 * grub-core/commands/regexp.c: Likewise.
4050 * grub-core/loader/i386/linux.c: Likewise.
4051 * grub-core/partmap/msdos.c: Likewise.
4052 * grub-core/script/execute.c: Likewise.
4053 * grub-core/term/gfxterm.c: Likewise.
4054
4055 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Add variable parsing in $"..." and fix several mismatches with bash.
4058
4059 * Makefile.util.def (grub_script_gettext): New test.
4060 * grub-core/script/execute.c (parse_string): New function.
4061 (gettext_append): Likewise.
4062 (grub_script_arglist_to_argv): Use gettext_append.
4063 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4064 * tests/grub_script_gettext.in: New file.
4065
4066 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Fix handling of leading spaces in scripts.
4069
4070 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4071 spaces.
4072 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4073 other than skipping \r. All users updated.
4074 * tests/grub_script_echo1.in: Add space-related tests.
4075 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4076
4077 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4080
4081 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * configure.ac: Bump up the version to beta2.
4084
4085 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 Fix gettext reload bugs (e.g. inability to disable gettext
4088 once enabled).
4089
4090 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4091 main_context and secondary_context. All functions updated.
4092 (grub_gettext_translate): Rename to ...
4093 (grub_gettext_translate_real): ... this. Return NULL on failed
4094 translate.
4095 (grub_gettext_translate): Handle secondary context.
4096 (grub_gettext_delete_list): Close file and zero-out the context.
4097 (grub_mofile_open): Don't call grub_gettext_delete_list.
4098 Don't close file.
4099 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4100 if locale="" to avoid pointless error message.
4101 (grub_gettext_env_write_lang): Update lang even if load fails.
4102 Handle secondary context.
4103 (grub_gettext_reread_prefix): New function.
4104 (read_main): Likewise.
4105 (read_secondary): Likewise.
4106 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4107 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4108 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4109 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4110
4111 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * configure.ac: Decrease warning level to avoid spurious warnings and
4114 to be able to compile with GCC 4.2.
4115 * Makefile.util.def: Remove -Wno-error=logical-op.
4116
4117 2012-03-10 William Bittner <william.bittner@gmail.com>
4118
4119 * util/import_unicode.py: Add missing brackets around string for
4120 python 3 support.
4121
4122 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 Fix efi chainloader on network root.
4125
4126 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4127 network devices.
4128 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4129 New function.
4130
4131 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4134 unused show_text member.
4135 * docs/grub.texi: Document "text" property.
4136
4137 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4140 in dprintf.
4141
4142 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Fix IMSM handling on Fedora.
4145
4146 * util/getroot.c (grub_util_is_imsm): New function.
4147 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4148
4149 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * Makefile.am: Strip gold section.
4152 * conf/Makefile.common: Likewise.
4153 * gentpl.py: Likewise.
4154 * grub-core/Makefile.core.def: Likewise.
4155 * grub-core/genmod.sh.in: Likewise.
4156
4157 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4160 * util/grub.d/20_linux_xen.in: Likewise.
4161 Based on Debian patch.
4162
4163 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * util/grub.d/10_linux.in: Fix syntax error resulting in
4166 Richard Laager's patch.
4167 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4168
4169 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4172 dependencies.
4173
4174 2012-03-10 Richard Laager <rlaager@wiktel.com>
4175
4176 * util/grub.d/10_linux.in: Fix ZFS root passing.
4177
4178 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4181 * grub-core/commands/xnu_uuid.c: Likewise.
4182 * grub-core/loader/efi/appleloader.c: Likewise.
4183 * grub-core/script/execute.c: Likewise.
4184 * grub-core/script/main.c: Likewise.
4185 * util/grub-mkfont.c: Likewise.
4186
4187 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * util/grub-mkfont.c (options): Use more appropriate "select" that
4190 "set" for face index.
4191
4192 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * util/grub-editenv.c (options): Gettextize command summaries.
4195
4196 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4199 "out of memory" error messagge.
4200
4201 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4204 of diskfilter for diskfilter on diskfilter support.
4205
4206 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4209
4210 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4213 themes/starfield.
4214
4215 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4218
4219 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4222
4223 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4226 of error message.
4227
4228 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4231
4232 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4235 message.
4236 * util/grub-install.in: Fix and gettextize error message.
4237
4238 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4241 Gettextize.
4242 * util/grub-mount.c (options): Likewise.
4243
4244 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4247 gettextize.
4248 * grub-core/commands/search_wrap.c (options): Likewise.
4249
4250 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4253
4254 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4257 size calculation.
4258 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4259 none is known.
4260
4261 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4264 "temporary" since it's used in identifier and is limited in space.
4265
4266 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * po/POTFILES.in: Regenerate. Include *.h since they contain
4269 translatable strings as well.
4270
4271 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4274 byte-swap on big-endian.
4275 Reported by: Lennart Sorensen
4276
4277 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4280 (allocate_pages): Improve dprintf.
4281 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4282 code32_start. Fill code32_start and kernel_alignment in params.
4283 (grub_cmd_initrd): Use prot_init_space.
4284
4285 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4288
4289 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * util/grub-install.in: Add missing dot at the end of sentence.
4292
4293 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4296 * grub-core/commands/videotest.c: Likewise.
4297 * grub-core/loader/i386/linux.c: Likewise.
4298
4299 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4302 sentence.
4303 Reported by: Milo Casagrande.
4304
4305 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4308 * grub-core/commands/gptsync.c: Likewise.
4309 * grub-core/commands/hashsum.c: Likewise.
4310 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4311 * grub-core/commands/legacycfg.c: Likewise.
4312 * grub-core/io/gzio.c: Likewise.
4313 * grub-core/net/net.c: Likewise.
4314 * grub-core/term/gfxterm.c: Likewise.
4315 * grub-core/term/terminfo.c: Likewise.
4316 * grub-core/tests/test_blockarg.c: Likewise.
4317 * grub-core/video/video.c: Likewise.
4318 * util/grub-install.in: Likewise.
4319 * util/grub-mkfont.c: Likewise.
4320
4321 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4324
4325 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/commands/search_wrap.c (options): Fix a typo.
4328 Reported by: David Prévot.
4329
4330 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4333 description.
4334
4335 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * util/grub-script-check.c (main): Fix a syntax error message which was
4338 unclear.
4339
4340 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4343
4344 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4347 messages.
4348
4349 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4352 without argument.
4353 * util/grub-mount.c (options): Likewise.
4354
4355 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4358
4359 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/net/http.c: Add TRANSLATORS comments.
4362 * grub-core/normal/cmdline.c: Likewise.
4363 * grub-core/normal/misc.c: Likewise.
4364 * grub-core/partmap/msdos.c: Likewise.
4365 * grub-core/parttool/msdospart.c: Likewise.
4366 * grub-core/script/execute.c: Likewise.
4367 * grub-core/script/main.c: Likewise.
4368 * grub-core/term/terminfo.c: Likewise.
4369 * grub-core/video/bitmap.c: Likewise.
4370 * util/grub-install.in: Likewise.
4371 * util/grub-mkimage.c: Likewise.
4372 * util/grub-mklayout.c: Likewise.
4373 * util/grub-setup.c: Likewise.
4374
4375 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4378 with similar messages in grub-fstest.
4379
4380 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * util/grub-install.in: Unify "option requires an argument" message
4383 with similar messages in other files.
4384 * util/grub-mkconfig.in: Likewise.
4385
4386 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * util/grub-set-default.in: Replace printf with gettext_printf (the
4389 string in in question is already translated from grub-reboot)
4390
4391 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * configure.ac: Bump up the version to beta1.
4394
4395 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4398 case when min_align = 0.
4399
4400 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4403 and fix a case when line_start overflows.
4404
4405 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * util/grub-reboot.in (usage): Mention id posibility.
4408 * util/grub-set-default.in (usage): Likewise.
4409
4410 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4413 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4414 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4415 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4416 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4417 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4418 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4419
4420 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/commands/menuentry.c (options): Remove
4423 GRUB_ARG_OPTION_REPEATABLE.
4424 Reported by: Andreas Vogel
4425
4426 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4427
4428 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4429
4430 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4431
4432 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4433 error.
4434
4435 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Use sort -V by the idea of Georgi Georgiev.
4438
4439 * util/grub-mkconfig_lib.in (version_sort): New function.
4440 (version_test_numeric): Use version_sort.
4441
4442 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Use submenus in grub-mkconfig.
4445
4446 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4447 * util/grub-mkconfig_lib.in (grub_quote): New function.
4448 (gettext_printf): Use gettext and not gettext_quoted to fix several
4449 messages.
4450 * util/grub.d/10_hurd.in: Use submenus.
4451 * util/grub.d/10_kfreebsd.in: Likewise.
4452 * util/grub.d/10_linux.in: Likewise.
4453 * util/grub.d/10_netbsd.in: Likewise.
4454 * util/grub.d/20_linux_xen.in: Likewise.
4455 * util/grub.d/30_os-prober.in: Likewise.
4456 * util/grub.d/10_illumos.in: Add missing quoting.
4457 * util/grub.d/10_windows.in: Likewise.
4458
4459 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 Fix menu title instability bug.
4462
4463 * grub-core/commands/menuentry.c (options): New option --id.
4464 (grub_normal_add_menu_entry): New argument id. All users updated.
4465 (grub_cmd_menuentry): Handle --id.
4466 (grub_menu_init): Accept unknown arguments.
4467 * grub-core/normal/main.c (features): Add feature_menuentry_id and
4468 feature_menuentry_options.
4469 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
4470 saved_entry.
4471 (get_entry_number): Match with id as well.
4472 * include/grub/menu.h (grub_menu_entry): New member id.
4473 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
4474 * util/grub.d/00_header.in: Define menuentry_id_option.
4475 * util/grub.d/10_hurd.in: Define id.
4476 * util/grub.d/10_illumos.in: Likewise.
4477 * util/grub.d/10_kfreebsd.in: Likewise.
4478 * util/grub.d/10_linux.in: Likewise.
4479 * util/grub.d/10_netbsd.in: Likewise.
4480 * util/grub.d/10_windows.in: Likewise.
4481 * util/grub.d/20_linux_xen.in: Likewise.
4482 * util/grub.d/30_os-prober.in: Likewise.
4483
4484 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
4487 "scope" with "body".
4488
4489 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
4492 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
4493 prot_size and prot_file_size.
4494
4495 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
4498 All users updated. If easily=1 require raid-5/-6 to be full.
4499 (is_node_readable): Likewise.
4500 (scan_devices): Scan incomplete but readable LVs at the end.
4501 (grub_diskfilter_memberlist): Pull missing devices.
4502 (insert_array): Skip scanning until device is complete or scan is
4503 done otherwise.
4504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
4505 check.
4506 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
4507 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
4508
4509 2012-03-03 Matthew Garrett <mjg@redhat.com>
4510 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Avoid EFI boot services when loading Linux.
4513
4514 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
4515 avoid_efi_bootservices. All users updated.
4516 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
4517 argument avoid_efi_bootservices. All users updated.
4518 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
4519 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
4520 align, min_align, relocatable, prefered_address. All users updated.
4521 Allocate avoiding boot services if kernel is relocatable.
4522 (grub_cmd_linux): Check if kernel is relocatable.
4523 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
4524 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
4525 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
4526 avoid_efi_boot_services.
4527 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
4528 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
4529 (linux_kernel_params): Likewise.
4530
4531 2012-03-03 Matthew Garrett <mjg@redhat.com>
4532 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Use EDID on EFI.
4535
4536 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
4537 datasize_out.
4538 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
4539 modes. Set gop_handle.
4540 (grub_video_gop_get_edid): New function.
4541 (grub_gop_get_preferred_mode): Likewise.
4542 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
4543 (grub_video_efi_gop_adapter): Set .get_edid.
4544 * include/grub/efi/edid.h: New file.
4545 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
4546
4547 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * util/grub-install.in: Load efivars unconditionally.
4550
4551 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * po/Rules-piglatin: Change suffix from .po-update-en to
4554 .po-update-en-piglatin.
4555
4556 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 Add a pig farm.
4559
4560 * po/piglatin.sed: New file.
4561 * po/en@piglatin.header: Likewise.
4562 * po/Rules-piglatin: Likewise.
4563 * po/README: Add en@piglatin to autogenerated languages.
4564
4565 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
4568 "Command for ...".
4569 * grub-core/commands/hdparm.c (options): Use "Display" rather than
4570 "Check" since we don't check anything.
4571 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
4572 is 64-bit one.
4573 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
4574 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
4575 (grub_md_sha512_real): Likewise.
4576
4577 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/commands/gptsync.c: Fix typographic quoting.
4580 * grub-core/commands/ieee1275/suspend.c: Likewise.
4581 * grub-core/commands/parttool.c: Likewise.
4582 * grub-core/commands/search_wrap.c: Likewise.
4583 * grub-core/commands/videoinfo.c: Likewise.
4584 * grub-core/gfxmenu/gui_label.c: Likewise.
4585 * grub-core/hello/hello.c: Likewise.
4586 * grub-core/kern/emu/main.c: Likewise.
4587 * grub-core/net/net.c: Likewise.
4588 * grub-core/normal/menu.c: Likewise.
4589 * grub-core/normal/menu_text.c: Likewise.
4590 * grub-core/normal/misc.c: Likewise.
4591 * util/grub-editenv.c: Likewise.
4592 * util/grub-install.in: Likewise.
4593 * util/grub-kbdcomp.in: Likewise.
4594 * util/grub-mkconfig.in: Likewise.
4595 * util/grub-mknetdir.in: Likewise.
4596 * util/grub-mkrescue.in: Likewise.
4597 * util/grub-mkstandalone.in: Likewise.
4598 * util/grub-reboot.in: Likewise.
4599 * util/grub-set-default.in: Likewise.
4600 * util/grub-setup.c: Likewise.
4601 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4602
4603 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
4606 * grub-core/commands/keystatus.c: Likewise.
4607 * grub-core/commands/loadenv.c: Likewise.
4608 * grub-core/commands/probe.c: Likewise.
4609 * grub-core/commands/regexp.c: Likewise.
4610 * grub-core/commands/true.c: Likewise.
4611 * grub-core/commands/videoinfo.c: Likewise.
4612 * grub-core/disk/cryptodisk.c: Likewise.
4613 * grub-core/disk/ldm.c: Likewise.
4614 * grub-core/disk/loopback.c: Likewise.
4615 * grub-core/disk/luks.c: Likewise.
4616 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4617 * grub-core/kern/disk.c: Likewise.
4618 * grub-core/kern/emu/hostdisk.c: Likewise.
4619
4620 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4623 * util/grub-install.in: Add missing quote in the comment.
4624
4625 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4628 * grub-core/commands/lsmmap.c: Likewise.
4629 * grub-core/commands/minicmd.c: Likewise.
4630 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4631 * grub-core/commands/regexp.c: Likewise.
4632 * grub-core/gdb/gdb.c: Likewise.
4633 * grub-core/term/gfxterm.c: Likewise.
4634 * util/grub-mkconfig.in: Likewise.
4635 * util/grub-mkfont.c: Likewise.
4636 * util/grub-mklayout.c: Likewise.
4637 * util/grub-mknetdir.in: Likewise.
4638 * util/grub-mkrescue.in: Likewise.
4639 * util/grub.d/30_os-prober.in: Likewise.
4640
4641 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4644 with "Direct color" and "Packed" with "Packed pixel".
4645 (grub_cmd_videoinfo): Simplify legend.
4646
4647 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4650 absolutely unclear error message.
4651
4652 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * util/grub-mkstandalone.in: Remove confusing leftover print.
4655
4656 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4659 comments.
4660 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4661 (GRUB_MOD_INIT): Likewise.
4662 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4663 VGA mode.
4664 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4665 comments.
4666 * util/grub-install.in (usage): Likewise.
4667 Spell ID in whole letters.
4668 Add missing ending dot.
4669 Quote variables.
4670 * util/grub-reboot.in: Fix capitalisation.
4671 * util/grub-set-default.in: Likewise.
4672
4673 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4676 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4677 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4678 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4679 Disable -Werror for -Wdeprecated-declarations.
4680 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4681 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4682 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4683 (grub_util_get_grub_dev): Make luks handling dependent on
4684 HAVE_DEVICE_MAPPER and not __linux__.
4685 (get_win32_path): Fix format security.
4686 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4687 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4688 Don't try grub_find_zpool_from_dir.
4689 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4690 #ifdef-out paresdir.
4691
4692 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * util/grub-pe2elf.c (usage): Add missing noreturn.
4695 (write_section_data): Rename name to shname to avoid shadowing.
4696 (write_symbol_table): Rename name to symname to avoid shadowing.
4697 Fix write_reloc_section call.
4698
4699 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4702 to ensure that it's after the last byte of .text.
4703
4704 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * util/ieee1275/ofpath.c (my_isdigit): New function.
4707 (trailing_digits): Use my_isdigit.
4708 (strip_trailing_digits): Likewise.
4709
4710 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4713 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4714
4715 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * grub-core/kern/i386/pc/startup.S: Define __start.
4718
4719 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4722 strip already transforms he format.
4723
4724 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4727
4728 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * util/grub-install.in: Add missing gettext init.
4731 * util/grub-kbdcomp.in: Likewise.
4732 * util/grub-mkconfig.in: Likewise.
4733 * util/grub-mknetdir.in: Likewise.
4734 * util/grub-mkrescue.in: Likewise.
4735 * util/grub-mkstandalone.in: Likewise.
4736 * util/grub-reboot.in: Likewise.
4737 * util/grub-set-default.in: Likewise.
4738 * util/grub.d/00_header.in: Likewise.
4739 * util/grub.d/10_hurd.in: Likewise.
4740 * util/grub.d/10_windows.in: Likewise.
4741 * util/grub.d/30_os-prober.in: Likewise.
4742 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4743
4744 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * po/Rules-swiss: Fix header comment.
4747
4748 2012-02-29 Andreas Vogel <anvoit>
4749
4750 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4751 resulted in leak of arguments.
4752
4753 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4756 reed_solomon_size const definition instead of computing it since
4757 Apple assembler doesn't support the later.
4758
4759 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * gentpl.py (kernel): Rewrite Apple part.
4762
4763 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4766
4767 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4770 ELF section gap.
4771 (load_image): Likewise.
4772
4773 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * configure.ac: Fix a typo in previous commit.
4776
4777 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Don't add -Wl,-N on Apple platform.
4780
4781 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4782 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4783
4784 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/Makefile.core.def (lzma_decompress): Use
4787 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4788
4789 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/genmod.sh.in: Rewrite the Apple part.
4792
4793 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4796 comparison.
4797
4798 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * acinclude.m4 (grub_CHECK_PIC): New test.
4801 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4802
4803 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4806 to avoid the warning.
4807
4808 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4811 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4812 after. All users updated.
4813
4814 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Use the common size routine in hostfs so we can read disks as well.
4817
4818 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4819 (grub_util_get_fd_size): ... this. Return size in bytes.
4820 All users updated.
4821 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4822 grub_util_get_fd_size.
4823
4824 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4827 Add blocksize retrieval.
4828
4829 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * configure.ac: Restore CFLAGS after efiemu check.
4832
4833 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4836 Apple bug.
4837
4838 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4841
4842 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4845 (grub_cmd_halt): Likewise.
4846
4847 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4850 for local arithmetics.
4851 Break %sp init into 2 instructions.
4852 Add 0 byte at the end.
4853
4854 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4857 before loops.
4858
4859 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4862 for context.
4863
4864 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/disk/ldm.c (make_vg): Init part.name.
4867 (grub_ldm_detect): Silence spurious warning.
4868 (grub_util_is_ldm): Likewise.
4869
4870 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4873 sane value to avoid a spurious warning.
4874
4875 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4878 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4879
4880 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4883 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4884
4885 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4888 hardcoding the relevant info.
4889
4890 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4893 missing const qualifiers.
4894 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4895
4896 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * util/getroot.c [__APPLE__]: Add missing includes.
4899 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4900
4901 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4904
4905 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4908 avoid conflicts.
4909
4910 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4913
4914 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4917 and grub_file_close call.
4918
4919 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 Add LZSS Mach-O support (needed for new xnu kernelcache).
4922
4923 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4924 * grub-core/loader/lzss.c: New file.
4925 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4926 on Mach-O open failure.
4927 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4928 Don't free cmdsXX in uncompressedXX is set.
4929 (grub_macho_file): Init new fields.
4930 New argument is_64bit. All users updated.
4931 Handle compressed. Error out if no suitable architecture is found.
4932 Don't close file.
4933 (grub_macho_open): New argument is_64bit. All users updated.
4934 * grub-core/loader/macho32.c: Add defines for new fields.
4935 * grub-core/loader/macho64.c: Likewise.
4936 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4937 (grub_macho_parse): Handle compressed.
4938 Defer actual processing if compressed.
4939 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4940 "filename". All users updated.
4941 (grub_macho_size): New argument "filename". All users updated.
4942 (grub_macho_get_entry_point): Likewise.
4943 (grub_macho_load): Handle compressed.
4944 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4945 (GRUB_MACHO_LZSS_OFFSET): New define.
4946 (grub_decompress_lzss): New proto.
4947 * include/grub/machoload.h (grub_macho_file): New fields to handle
4948 compressed.
4949 (grub_macho_contains_macho64): Remove proto.
4950 (grub_macho_contains_macho32): Likewise.
4951 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4952
4953 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4956
4957 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Fix make dist.
4960
4961 * Makefile.am (starfield_theme_files): New var.
4962 (starfield_DATA): Use starfield_theme_files.
4963 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4964 Add bootcheck-related files.
4965 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4966 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4967 and font_char_metrics.txt.
4968 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4969 (setjmp): Add lib/ia64/longjmp.S.
4970 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4971 * po/POTFILES.in: Regenerate.
4972 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4973 DISTFILES.common.extra1.
4974 * util/devicemap.c: Removed.
4975 * grub-core/lib/i386/relocator_backward.S: Likewise.
4976 * util/import_gcry.py: Remove unused files. Add extra_dist for
4977 ChangeLog.
4978
4979 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4982 grub_gettext_delete_list before changing grub_gettext_max to avoid
4983 running out of array bounds.
4984
4985 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4988 grub_vga_text_init/grub_vga_text_fini.
4989
4990 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4993
4994 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * configure.ac: Bump to 2.00~beta0.
4997
4998 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5001 missing initialisation.
5002
5003 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5006
5007 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 Support v2 xnu boot arguments.
5010
5011 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5012 New argument fsbfreq_out.
5013 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5014 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5015 be used.
5016 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5017 darwin_version.
5018 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5019 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5020 (grub_xnu_boot_params): Rename to ...
5021 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5022 (grub_xnu_boot_params_v2): New struct.
5023
5024 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5027 zeroing of CRC field before computing CRC.
5028
5029 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5032 Change order of allocations to decrease fragmentation.
5033
5034 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5037
5038 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
5039
5040 Use write-combining MTRR to speed up video with buggy BIOSes.
5041
5042 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5043 (cpuid): New define.
5044 (rdmsr): Likewise.
5045 (wrmsr): Likewise.
5046 (mtrr_base): Likewise.
5047 (mtrr_mask): Likewise.
5048 (grub_vbe_enable_mtrr_entry): New function.
5049 (grub_vbe_enable_mtrr): Likewise.
5050 (grub_vbe_disable_mtrr): Likewise.
5051 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5052 control off to BIOS.
5053 (grub_video_vbe_init): Fill mtrr.
5054 (grub_video_vbe_fini): Disable mtrr.
5055 (grub_video_vbe_get_info_and_fini): Likewise.
5056 (grub_video_vbe_setup): Enable mtrr.
5057
5058 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
5059
5060 * include/grub/partition.h (grub_partition_map): Change prototype of
5061 embed to take a maximum value for nsectors.
5062 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5063 * include/grub/fs.h (grub_fs): Likewise.
5064 * grub-core/partmap/msdos.c (embed_signatures): New array.
5065 (pc_partition_map_embed): Check for and avoid sectors matching any
5066 of the signatures in embed_signatures, up to max_nsectors.
5067 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5068 returned sector map to max_nsectors.
5069 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5070 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5071 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5072 * util/grub-setup.c (setup): Allow for the embedding area being
5073 split into multiple blocklists. Tell dest_partmap->embed the
5074 maximum number of sectors we care about.
5075
5076 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5079 Specify blocklist_install and reserver_first_sector for all fs.
5080 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5081 blocklists.
5082
5083 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * util/grub-install.in: Clarify strings.
5086 Fix source dir check.
5087
5088 2012-02-27 Richard Laager <rlaager@wiktel.com>
5089
5090 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5091 "zfs" and "fuse.zfs" as synonyms.
5092
5093 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * configure.ac: Put platform and target_cpu substitutions back since
5096 they are used for directories.
5097
5098 2012-02-27 Richard Laager <rlaager@wiktel.com>
5099 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5102 * util/grub.d/20_linux_xen.in: Likewise.
5103
5104 2012-02-27 Richard Laager <rlaager@wiktel.com>
5105
5106 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5107 with full paths.
5108
5109 2012-02-27 Richard Laager <rlaager@wiktel.com>
5110
5111 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5112 unescape.
5113
5114 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Don't use insecure popen in getroot.
5117
5118 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5119 (exec_pipe): ... here.
5120 (find_root_devices_from_poolname): Use exec_pipe.
5121
5122 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Remove platform and target_cpu replacement.
5125
5126 * configure.ac: Remove platform and target_cpu substitutions.
5127 * tests/util/grub-shell.in: Use modinfo.
5128 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5129 explicitly.
5130
5131 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 Autodetect platform in grub-install but allow override.
5134
5135 * util/grub-install.in: Autodetect platform. Support --target and
5136 --directory. Read platform from modinfo.sh.
5137
5138 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 Support btrfs multi-volume probe.
5141
5142 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5143 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5144 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5145 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5146 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5147 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5148 grub_find_root_devices_from_btrfs if on btrfs.
5149
5150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 Remove any awareness of *.c util files about target.
5153
5154 * Makefile.util.def (grub-setup): Split to ...
5155 (grub-bios-setup): ... and this.
5156 (grub-sparc64-setup): ... and this.
5157 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5158 * docs/man/grub-setup.h2m: Split into ...
5159 * docs/man/grub-sparc64-setup.h2m: ... this.
5160 * docs/man/grub-bios-setup.h2m: ... and this.
5161 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5162 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5163 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5164 (grub_target_addr_t): Remove.
5165 (grub_target_size_t): Remove.
5166 (grub_target_ssize_t): Remove.
5167 * util/grub-install.in: Use new grub-*-setup.
5168 * util/grub-mkimagexx.c (Elf_Word): New define.
5169 (Elf_Half): Likewise.
5170 (Elf_Section): Likewise.
5171 (ELF_ST_TYPE): Likewise.
5172 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5173 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5174
5175 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 Replace grub_target_addr with more appropriate types.
5178
5179 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5180 grub_target_addr with grub_addr.
5181 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5182 grub_target_addr with grub_port.
5183 (grub_cmd_write): Likewise.
5184 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5185 grub_target_addr with grub_addr.
5186 (grub_cmd_write): Likewise.
5187 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5188
5189 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5192 const qualifier for vendor_guid.
5193
5194 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5197 const qualifier.
5198 (efiemu_memequal): Likewise.
5199 (find_variable): Likewise.
5200
5201 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Fix missing console prototype on qemu-mips.
5204
5205 * include/grub/mips/qemu_mips/console.h: New file.
5206
5207 2012-02-27 Matthew Garrett <mjg@redhat.com>
5208 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5211 * include/grub/efi/efi.h: Likewise.
5212 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5213 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5214 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5215 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5216 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5217 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5218
5219 2012-02-27 Matthew Garrett <mjg@redhat.com>
5220
5221 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5222
5223 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5226 error.
5227
5228 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * configure.ac: Remove inappropriate use of program_transform_name
5231 on grubdir and bootdir but allow explicit specification of those
5232 variables.
5233
5234 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * util/grub-mknetdir.in (grub_prefix): Removed.
5237 (subdir): Use @bootdirname@ and @grubdirname@.
5238
5239 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5242
5243 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * po/POTFILES.in: Regenerated.
5246
5247 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Remove improper use of program_transform_name on pkglibrootdir.
5250
5251 * configure.ac (pkglibrootdir): Removed.
5252 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5253 * util/grub-mkimage.c: Likewise.
5254
5255 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5258 warning.
5259
5260 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/grub-install.in: Use file identifier if no UUID is available
5263 or user explicitly prompted for it.
5264
5265 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
5266
5267 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5268 (freebsd_get_zfs): New function.
5269 (grub_freebsd_boot): Pass zfs UUID.
5270 (grub_cmd_freebsd): Set zfs UUID.
5271
5272 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5275 pkglibrootdir.
5276
5277 2012-02-27 Mike Gilbert <floppym@gentoo.org>
5278
5279 Add configure flag to control libzfs integration.
5280
5281 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5282
5283 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5286 device.
5287 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5288 small devices.
5289
5290 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5293 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5294 be used on non-modules.
5295
5296 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5297 Rename to grub_boot_init.
5298 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5299 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5300 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5301 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5302 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5303 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5304 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5305 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5306 includes.
5307 (grub_machine_init): Remove empty inits.
5308 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5309 includes.
5310 (grub_machine_init): Remove empty inits.
5311 * grub-core/term/arc/console.c: Remove explicit proto.
5312 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5313 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5314 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5315 grub_at_keyboard_fini.
5316 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5317 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5318 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5319 grub_gfxterm_fini.
5320 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5321 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5322 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5323 grub_vgatext_fini.
5324 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5325 * grub-core/term/serial.c (GRUB_MOD_INIT)
5326 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5327 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5328 grub_serial_fini.
5329 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5330 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5331 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5332 grub_terminfo_fini.
5333 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5334 (GRUB_MOD_FINI): Likewise.
5335 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5336 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5337 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5338 grub_video_radeon_fuloong2e_fini.
5339 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5340 [LOONGSON]: Rename to grub_video_sis315pro_init.
5341 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5342 grub_video_sis315pro_fini.
5343 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5344 [LOONGSON]: Rename to grub_video_sm712_init.
5345 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5346 grub_video_sm712_fini.
5347 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5348 (grub_at_keyboard_fini): Likewise.
5349 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5350 Don't declare grub_{modname}_init.
5351 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5352 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5353 New proto.
5354 (grub_keylayouts_fini) [!EMU]: Likewise.
5355 * include/grub/serial.h (grub_serial_init) [!EMU]:
5356 New proto.
5357 (grub_serial_fini) [!EMU]: Likewise.
5358 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5359 New proto.
5360 (grub_terminfo_fini) [!EMU]: Likewise.
5361 * include/grub/video.h (grub_font_init) [!EMU]:
5362 New proto.
5363 (grub_font_fini) [!EMU]: Likewise.
5364 (grub_gfxterm_init) [!EMU]: Likewise.
5365 (grub_gfxterm_fini) [!EMU]: Likewise.
5366 (grub_video_sm712_init) [!EMU]: Likewise.
5367 (grub_video_sm712_fini) [!EMU]: Likewise.
5368 (grub_video_sis315pro_init) [!EMU]: Likewise.
5369 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5370 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5371 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5372
5373 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Make nand a prefix for nand devices.
5376
5377 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5378
5379 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5382 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5383
5384 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * include/grub/env.h (grub_env_find): Remove prototype.
5387 * grub-core/kern/env.c (grub_env_find): Make static.
5388 (grub_env_set): Remove useless set.
5389
5390 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/kern/i386/realmode.S: Remove useless align.
5393
5394 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * include/grub/dl.h (grub_dl_load_file): Don't export.
5397
5398 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5401 grub_dprintf.
5402
5403 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5406 grub_errors.
5407 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5408 not reloading whole superblock but only the part which is really needed.
5409 Remove useless grub_errors.
5410 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5411 grub_errors.
5412
5413 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 Don't export grub_get_rtc.
5416
5417 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5418 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5419
5420 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5423
5424 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
5427 argument since it can be deduced from diskfilter. All users updated.
5428
5429 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 Remove prio_list.
5432
5433 * include/grub/list.h (grub_prio_list): Removed.
5434 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5435 GRUB_COMMAND_PRIO_MASK.
5436 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5437 GRUB_COMMAND_FLAG_ACTIVE.
5438 (grub_prio_list_insert): Removed.
5439 (grub_prio_list_remove): Likewise.
5440 (GRUB_AS_PRIO_LIST): Likewise.
5441 (GRUB_AS_PRIO_LIST_P): Likewise.
5442 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5443 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5444 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5445 * grub-core/kern/command.c (grub_register_command_prio): Inline
5446 the prio_list code.
5447 (grub_unregister_command): Likewise.
5448
5449 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 Fix interrupt mixup from previous commit.
5452
5453 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
5454 (grub_realidt): New var.
5455 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
5456 Load idt.
5457 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
5458 New declaration.
5459 (grub_relocator16_boot): Set grub_relocator16_idt.
5460 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
5461 (LOCAL(realidt)): ... this.
5462 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
5463 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
5464 (grub_realidt): New variable.
5465
5466 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
5469 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
5470 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
5471 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
5472 Gettextize.
5473 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
5474 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
5475 * po/POTFILES.in: Regenerate.
5476
5477 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
5480 errors.
5481
5482 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
5485 \0.
5486 (add_length): Likewise.
5487
5488 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5489 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
5490
5491 GDB serial and backtrace support.
5492
5493 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
5494 (prot_to_real): Likewise.
5495 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
5496 * grub-core/Makefile.core.def (backtrace): New module.
5497 (gdb): Likewise.
5498 * grub-core/gdb/cstub.c: New file.
5499 * grub-core/gdb/gdb.c: Likewise.
5500 * grub-core/gdb/i386/idt.c: Likewise.
5501 * grub-core/gdb/i386/machdep.S: Likewise.
5502 * grub-core/gdb/i386/signal.c: Likewise.
5503 * grub-core/lib/i386/backtrace.c: Likewise.
5504 * grub-core/lib/backtrace.c: Likewise.
5505 * include/grub/backtrace.h: Likewise.
5506 * include/grub/gdb.h: Likewise.
5507 * include/grub/i386/gdb.h: Likewise.
5508
5509 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
5512 New function.
5513 (add_length): Likewise.
5514 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
5515 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
5516 proto.
5517 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
5518 __argp_get_display_len.
5519
5520 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 $"..." support in scripts.
5523
5524 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
5525 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
5526 * grub-core/script/yylex.l: Likewise.
5527 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
5528 value.
5529
5530 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * gentpl.py: Remove obsolete pkglib_DATA handling.
5533
5534 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Don't transform PACKAGE_TARNAME following a discussion on autoconf
5537 mailing list.
5538
5539 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
5540 * util/grub-kbdcomp.in: Likewise.
5541 * util/grub-mkconfig.in: Likewise.
5542 * util/grub-mkconfig_lib.in: Likewise.
5543 * util/grub-mknetdir.in: Likewise.
5544 * util/grub-mkrescue.in: Likewise.
5545 * util/grub-mkstandalone.in: Likewise.
5546 * util/grub-reboot.in: Likewise.
5547 * util/grub-set-default.in: Likewise.
5548 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5549
5550 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Remove GRUB_PREFIX.
5553
5554 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
5555 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5556 used for backward compatibility.
5557
5558 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Add new all_video module.
5561
5562 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5563 * grub-core/Makefile.core.def (all_video): New module.
5564 * grub-core/genmoddep.awk: Generate dependency of all_video from
5565 video.lst.
5566 * grub-core/lib/fake_module.c: New file.
5567 * grub-core/normal/main.c (features): Add feature_all_video_module.
5568 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
5569 don't do explicit search again.
5570 insmod all_video in load_video if available.
5571
5572 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Another round of string clarification and adding TRANSLATORS comments.
5575
5576 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
5579
5580 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
5583 to grub_ssize_t.
5584 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
5585 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
5586
5587 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
5590 trailing newline implicitly. All users updated.
5591
5592 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 Implement serial on IEEE1275 and EFI.
5595
5596 * docs/grub.texi (Platform-specific limitations): Fix the columen video
5597 on emu. Mention arc and emu as the only platforms without serial
5598 support.
5599 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
5600 ieee1275 platforms.
5601 * grub-core/term/efi/serial.c: New file.
5602 * grub-core/term/ieee1275/serial.c: Likewise.
5603 * grub-core/term/serial.c (grub_serial_find): Disable direct port
5604 specification if no ns8250 driver is available.
5605 (grub_cmd_serial): Likewise.
5606 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
5607 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
5608 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
5609 (grub_efi_parity_type_t): New type.
5610 (grub_efi_stop_bits_t): Likewise.
5611 (grub_efi_serial_io_interface): New struct.
5612 * include/grub/serial.h (grub_serial_port): Make 'broken' field
5613 available for all interfaces.
5614 Add EFI and IEEE1275 fields.
5615 (grub_ofserial_init): New proto.
5616 (grub_efiserial_init): Likeiwse.
5617 * util/grub.d/00_header.in: Don't check for the presence of serial
5618 module.
5619
5620 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5623 name as if it was an alias.
5624
5625 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * grub-core/commands/lsacpi.c (options): Fix typo.
5628
5629 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Convert grub-emu to argp.
5632
5633 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5634 emu.
5635 * util/argp_common.c: Rename to ...
5636 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5637 Add missing includes.
5638 * grub-core/kern/emu/main.c: Convert to argp.
5639 * po/POTFILES.in: Regenerate.
5640 * util/grub-install.in (usage): Make first letter lowcase in messages
5641 for uniformity.
5642 * util/grub-setup.c (options): Likewise.
5643
5644 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5647 Put back accidently commented-out code.
5648
5649 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5652 loop check using Brent algorithm.
5653 (grub_hfsplus_btree_search): Likewise.
5654
5655 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * util/grub-install.in: Fix usage of wrong device for PreP install.
5658
5659 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * conf/Makefile.common (CFLAGS_GNULIB): Add
5662 -Wno-unsafe-loop-optimizations.
5663 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5664 on tools.
5665 * grub-core/commands/legacycfg.c: Add pragma to skip
5666 -Wunsafe-loop-optimizations.
5667 (check_password_md5_real): Fix loop counter type.
5668 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5669 reading.
5670 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5671 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5672 loop condition.
5673 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5674 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5675 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5676 condition.
5677 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5678 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5679 avoid possible infinite loops.
5680 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5681 and -Wunsafe-loop-optimizations.
5682 * grub-core/script/yylex.l: Likewise.
5683 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5684 (print_glyphs): Avoid infinite loops.
5685 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5686
5687 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5688
5689 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5690 to avoid infinite loop.
5691 (disp_acpi_rsdt_table): Likewise.
5692
5693 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/font/font.c (grub_font_load): Add support for default
5696 path for fonts ($prefix/fonts).
5697 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5698 for checking if string is a path.
5699 * grub-core/normal/main.c (features): Add feature_default_font_path.
5700 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5701 * util/grub.d/00_header.in: Use default directory if possible.
5702 * util/grub-install.in: Install unicode.pf2.
5703
5704 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5707 * po/Rules-swiss: New file.
5708 * po/swiss.sed: Likewise.
5709
5710 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/fs/btrfs.c (find_device): Fix typos.
5713 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5714 * util/grub-mkrelpath.c (argp_parser): Likewise.
5715 Reported by: Yuri Chornoivan.
5716
5717 2012-02-23 Dalet Omega <daletomega@gmail.com>
5718
5719 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5720 for usual informative messages.
5721
5722 2012-02-23 Dalet Omega <daletomega@gmail.com>
5723
5724 Starfield theme.
5725
5726 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5727 * conf/Makefile.common: Define starfielddir.
5728 * configure.ac: Configure starfield.
5729 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5730 * themes/starfield/README: Likewise.
5731 * themes/starfield/blob_w.png: Likewise.
5732 * themes/starfield/boot_menu_c.png: Likewise.
5733 * themes/starfield/boot_menu_e.png: Likewise.
5734 * themes/starfield/boot_menu_n.png: Likewise.
5735 * themes/starfield/boot_menu_ne.png: Likewise.
5736 * themes/starfield/boot_menu_nw.png: Likewise.
5737 * themes/starfield/boot_menu_s.png: Likewise.
5738 * themes/starfield/boot_menu_se.png: Likewise.
5739 * themes/starfield/boot_menu_sw.png: Likewise.
5740 * themes/starfield/boot_menu_w.png: Likewise.
5741 * themes/starfield/slider_c.png: Likewise.
5742 * themes/starfield/slider_n.png: Likewise.
5743 * themes/starfield/slider_s.png: Likewise.
5744 * themes/starfield/src/blob_nw.xcf: Likewise.
5745 * themes/starfield/src/bootmenu/: Likewise.
5746 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5747 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5748 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5749 * themes/starfield/src/slider_c.xcf: Likewise.
5750 * themes/starfield/src/slider_n.xcf: Likewise.
5751 * themes/starfield/src/slider_s.xcf: Likewise.
5752 * themes/starfield/src/terminalbox/: Likewise.
5753 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5754 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5755 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5756 * themes/starfield/starfield.png: Likewise.
5757 * themes/starfield/terminal_box_c.png: Likewise.
5758 * themes/starfield/terminal_box_e.png: Likewise.
5759 * themes/starfield/terminal_box_n.png: Likewise.
5760 * themes/starfield/terminal_box_ne.png: Likewise.
5761 * themes/starfield/terminal_box_nw.png: Likewise.
5762 * themes/starfield/terminal_box_s.png: Likewise.
5763 * themes/starfield/terminal_box_se.png: Likewise.
5764 * themes/starfield/terminal_box_sw.png: Likewise.
5765 * themes/starfield/terminal_box_w.png: Likewise.
5766 * themes/starfield/theme.txt: Likewise.
5767
5768 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * util/grub.d/00_header.in: Add missing export theme.
5771
5772 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5775 already included.
5776 Reported by: Eren D.
5777
5778 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * conf/Makefile.common (grubdatadir): Removed.
5781 (Makefile.am): Move eveything grubdata to pkgdata.
5782
5783 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/commands/acpihalt.c (get_sleep_type):
5786 Remove unused variable.
5787
5788 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5791 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5792 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5793 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5794 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5795 i18n with gettext no-op.
5796 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5797 GRUB_ACPI_OPCODE_STRING_CONST.
5798 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5799 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5800
5801 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * po/POTFILES.in: Regenerate.
5804
5805 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5808 -Wno-error=missing-noreturn.
5809
5810 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5813 condition to avoid possibly infinite loops.
5814 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5815 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5816
5817 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5820 condition to avoid possibly infinite loops.
5821
5822 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5825 on show_error.
5826
5827 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5830
5831 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5834
5835 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * util/bin2h.c (usage): Add missing attribute noreturn.
5838
5839 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5842 if the size isn't divisible by 512.
5843
5844 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Make list_push and list_remove functions rather than inline functions
5847 to decrease size and avoid aliasing violations.
5848
5849 * include/grub/list.h (grub_list_push): Move to ...
5850 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5851 * include/grub/list.h (grub_list_remove): Move to ...
5852 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5853
5854 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5857 and -Wunused-result.
5858
5859 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5862 Reported by: Seth Goldberg
5863
5864 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5867
5868 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5869
5870 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5871 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5872 command line.
5873 * docs/grub.texi (Simple configuration): Document
5874 GRUB_CMDLINE_GNUMACH.
5875
5876 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * conf/Makefile.common (platform_SCRIPTS): New variable.
5879 (platform_PROGRAMS): Likewise.
5880 * gentpl.py: Mark *,module and *.image for install.
5881 * grub-core/gdb_grub.in: Add a notice of expected environment.
5882 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5883 (gmodule.pl): Likewise.
5884
5885 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 Replace grub_checkkey with grub_getkey_noblock.
5888
5889 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5890 (grub_getkey_noblock): ... this. All users updated.
5891
5892 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * grub-core/kern/emu/console.c: Move to ...
5895 * grub-core/term/emu/console.c: ...here.
5896 (grub_ncurses_getkey): Fix return value if no key is detected.
5897
5898 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5901 (grub_unit_test_fini): Likewise.
5902 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5903
5904 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * include/grub/test.h (GRUB_UNIT_TEST)
5907
5908 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5911 Better error handling.
5912 (grub_script_return): Likewise.
5913 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5914
5915 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5918 rimplicit redifinition.
5919
5920 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5923 GRUB.
5924
5925 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5928 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5929 prompt here.
5930
5931 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5934 as GRUB_ERR_BUG. Don't malloc if no device is available.
5935
5936 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5939 Mark calling with invalid term as GRUB_ERR_BUG.
5940
5941 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5944 packets rather than raising an error.
5945
5946 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5949 in if.
5950
5951 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5954 diagnostic to dprintf.
5955 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5956
5957 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5960 device name.
5961
5962 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5965 (grub_ntfs_iterate_dir): Likewise.
5966
5967 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 Efiemu stylistic fixes and gettext.
5970
5971 * grub-core/efiemu/i386/loadcore32.c
5972 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5973 * grub-core/efiemu/i386/loadcore64.c
5974 (grub_arch_efiemu_relocate_symbols64): Likewise.
5975 * grub-core/efiemu/i386/pc/cfgtables.c
5976 (grub_machine_efiemu_init_tables): Likewise.
5977 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5978 (grub_efiemu_loadcore_initXX): Add a filename argument.
5979 All users updated.
5980 Improved error message.
5981 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5982 Add a filename argument.
5983 All users updated.
5984 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5985 Reclassify double relocation as GRUB_ERR_BUG.
5986
5987 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5990 handling.
5991
5992 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5995 on partition.
5996
5997 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6000
6001 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Improve string. Gettextize.
6004
6005 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6008 utils.
6009 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6010
6011 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6014 [GRUB_UTIL]: New function.
6015 (insert_array) [GRUB_UTIL]: Store partmaps.
6016 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6017 partmaps.
6018 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6019 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6020 (probe_abstraction): Print diskfilter and not raid.
6021 Reported by: Lennart Sorensen
6022
6023 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6026 * util/grub-mkimagexx.c (MASK3): New define.
6027 (add_value_to_slot_20b): Use MASK3.
6028 (add_value_to_slot_21): Likewise.
6029 (relocate_addresses): Fix format specification.
6030 (load_image): Explicitly init symtab_section.
6031
6032 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6035 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6036
6037 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6040 on powerpc.
6041 Reported by: Lennart Sorensen
6042
6043 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * gentpl.py: Add missing license header.
6046 * docs/grub.texi: Update copyright year.
6047
6048 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6049
6050 Source grub-mkconfig_lib from the build directory at build time.
6051 Suggested by: Vladimir Serbinenko.
6052
6053 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6054 * util/grub-install.in: Define pkgdatadir if not already set, and source
6055 grub-mkconfig_lib from there.
6056 * util/grub-kbdcomp.in: Likewise.
6057 * util/grub-mkconfig.in: Likewise.
6058 * util/grub-mknetdir.in: Likewise.
6059 * util/grub-mkrescue.in: Likewise.
6060 * util/grub-mkstandalone.in: Likewise.
6061 * util/grub-reboot.in: Likewise.
6062 * util/grub-set-default.in: Likewise.
6063 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6064
6065 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Increase warning level.
6068
6069 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6070 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6071 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6072 (TARGET_CFLAGS): Likewise.
6073 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6074 * grub-core/Makefile.core.def (decompressor_xz): Add
6075 -Wno-unreachable-code.
6076 (normal): Add -Wno-redundant-decls.
6077 (xzio): Add -Wno-unreachable-code.
6078 (lzopio): Add -Wno-redundant-decls -Wno-error.
6079 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6080 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6081 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6082 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6083 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6084 * grub-core/kern/i386/coreboot/init.c: Add exception to
6085 -Wsuggest-attribute=noreturn.
6086 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6087 * grub-core/kern/ia64/dl_helper.c: Likewise.
6088 * grub-core/kern/mips/dl.c: Likewise.
6089 * grub-core/kern/sparc64/dl.c: Likewise.
6090 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6091 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6092 (memcmp): Likewise.
6093 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6094 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6095 * grub-core/loader/mips/linux.c: Likewise.
6096 * grub-core/loader/multiboot_elfxx.c: Likewise.
6097 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6098 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6099 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6100 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6101 fixme.
6102 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6103 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6104 Fix prototype.
6105
6106 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6109 address.
6110
6111 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6114 Avoid improper use of strings.
6115 (grub_cmd_legacy_initrdnounzip): Likewise.
6116
6117 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6120 attribute.
6121 (grub_util_info): Likewise.
6122 (grub_util_error): Likewise.
6123
6124 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6127 * util/grub-fstest.c (fstest): Likewise.
6128
6129 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6132 (grub_md_sha512_real): Likewise.
6133 (grub_util_get_geli_uuid): Likewise.
6134 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6135 (grub_util_biosdisk_open): Fix format specification.
6136 Respect format security.
6137 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6138 (xrealloc): Likewise.
6139 (xasprintf): Likewise.
6140
6141 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/import_gcry.py: Include grub/crypto.h in init.c.
6144
6145 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6148 (generate_image): Make prefix a const char *.
6149 Fix format specifications. Respect format security.
6150 Avoid void * arithmetics.
6151 Avoid shadowing.
6152 (argp_parser): Remove unused variable. Respect format security.
6153 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6154 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6155 (count_funcs): Remove unused variable.
6156 (relocate_addresses): Fix format specification.
6157 Disable x86-64 with elf32. Remove unused variables.
6158 (add_fixup_entry): Avoid shadowing.
6159 (make_reloc_section): Fix format specification.
6160 Use assert.
6161 (locate_sections): Fix format specifications.
6162 (load_image): Avoid shadowing.
6163
6164 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6167 Fix format specifications. Respect format security.
6168 Don't translate already translated grub_errmsg.
6169 (argp_parser): Remove unused variable
6170
6171 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6174
6175 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6178 (main): Likewise. Use xmalloc. Respect format security.
6179
6180 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6183 a const char *.
6184 (argp_parser): Remove unused variable.
6185
6186 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6189 (add_pixel): Make static.
6190 (add_font): Likewise.
6191 (write_string_section): Make name and str a const char *.
6192 (write_be16_section): Make name a const char *.
6193 (print_glyphs): Make static.
6194 (write_font_ascii_bitmap): Likewise.
6195 (write_font_width_spec): Likewise.
6196 (write_font_pf2): Likewise.
6197 (argp_parser): Remove unused variable.
6198 Respect format security.
6199 (main): Avoid shadowing. Respect format security.
6200
6201 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * util/grub-editenv.c (argp_parser): Make static.
6204 (create_envblk_file): Use xmalloc.
6205 (open_envblk_file): Likewise.
6206 Resepect format security.
6207 (set_variables): Respect format security.
6208
6209 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * util/getroot.c (grub_find_device): Respect format security.
6212 (get_mdadm_uuid): Remove unused variable.
6213 (grub_util_pull_device): Dont call gettext on already translated
6214 grub_errmsg.
6215 (find_system_device): Remove unused variable.
6216 (grub_util_get_grub_dev): Likewise.
6217 (grub_make_system_path_relative_to_its_root): Respect format security.
6218
6219 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * util/grub-fstest.c (execute_command): Make first argument
6222 a const char *.
6223 (read_file): Avoid shadowing.
6224 Reuse underlying error message if device open fails.
6225 (cmd_cmp): Respect format security.
6226 (root): Make const char *.
6227 (fstest): Remove args argument and use global copy.
6228 Respect format security.
6229 (argp_parser): Make static.
6230 (main): Make default_root const char *.
6231
6232 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-mount.c (root): Make const char *.
6235 (execute_command): Make first argument a const char *.
6236 (fuse_init): Respect format security.
6237 (argp_parser): Make static. Remove unused variable.
6238 (main): Make default_root a const char *.
6239 Respect format security.
6240
6241 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * util/grub-probe.c (probe): Don't call gettext on already translated
6244 grub_errmsg.
6245 Remove unused variables.
6246 (argp_parser): Remove unused variable.
6247
6248 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/grub-script-check.c (argp_parser): Remove unused variable.
6251 (main): Rename read to curread to avoid shadowing.
6252
6253 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * util/misc.c (grub_util_write_image_at): Fix format specification.
6256 (grub_util_write_image): Likewise.
6257 (grub_script_execute_argument_to_string): Removed (unused).
6258 (grub_script_execute_menuentry): Likewise.
6259 (grub_putchar): Likewise.
6260
6261 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6264 (FUNCTION) [GRUB_UTIL]: Likewise.
6265 (VARIABLE) [GRUB_UTIL]: Likewise.
6266
6267 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6270 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6271
6272 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6275 buffer.
6276
6277 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6280 (LzmaEnc_SaveState): Removed (unused).
6281 (LzmaEnc_RestoreState): Likewise.
6282 (LzmaEnc_InitPriceTables): Made static.
6283 (LzmaEnc_Construct): Likewise.
6284 (LzmaEnc_FreeLits): Likewise.
6285 (LzmaEnc_Destruct): Likewise.
6286 (LzmaEnc_Init): Likewise.
6287 (LzmaEnc_InitPrices): Likewise.
6288 (LzmaEnc_Finish): Likewise.
6289 (LzmaEnc_PrepareForLzma2): Removed (unused).
6290 (LzmaEnc_MemPrepare): Likewise.
6291 (LzmaEnc_GetNumAvailableBytes): Likewise.
6292 (LzmaEnc_GetCurBuf): Likewise.
6293 (LzmaEnc_CodeOneMemBlock): Likewise.
6294
6295 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6298 (grub_util_ldm_embed): Likewise.
6299
6300 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * util/grub-editenv.c (print_var): Rename name to varname to
6303 avoid shadowing.
6304 (main): Rename index to curindex to avoid shadowing.
6305 Make filename a const char *.
6306
6307 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6310 to arg_getline to avoid shadowing.
6311
6312 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6315 disk_ to avoid shadowing.
6316
6317 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6320 curindex to avoid shadowing.
6321 Make static.
6322 (MatchFinder_GetNumAvailableBytes): Make static.
6323
6324 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6327 avoid shadowing.
6328
6329 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6332 argument from encrypt to do_encrypt to avoid shadowing.
6333
6334 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6337 incorrect nesting of #if's.
6338
6339 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6342 checks which are always false on some platforms.
6343 (grub_cmd_lsacpi): Likewise.
6344 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6345 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6346 Likewise.
6347
6348 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6351 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6352
6353 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6356 re_dfa_t to avoid breaking alignment invariants.
6357 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6358 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6359
6360 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6363 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6364
6365 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6368 Fix declaration.
6369
6370 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6373 conserve alignment invariants.
6374 (grub_ehci_ehcc_read16): Likewise.
6375 (grub_ehci_oper_read32): Likewise.
6376 (grub_ehci_oper_write32): Likewise.
6377 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6378 Conserve alignment invariants.
6379
6380 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6383 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6384 declarations.
6385
6386 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6389 Remove unused variable.
6390
6391 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6394 Remove set in if.
6395
6396 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 * include/grub/net.h: Remove double declarations.
6399
6400 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Remove "payload" command in ia64 Linux loader since I couldn't
6403 find any evidence of it being used for anything.
6404 Replace "relocate" command with an environment variable
6405
6406 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6407 fields.
6408 (ia64_boot_payload): Removed.
6409 (last_payload): Likewise.
6410 (RELOCATE_OFF): Likewise.
6411 (RELOCATE_ON): Likewise.
6412 (RELOCATE_FORCE): Likewise.
6413 (relocate): Likewise.
6414 (free_pages): Don't free payloads.
6415 (grub_load_elf64): Use common error messages.
6416 Use "linux_relocate" variable.
6417 Increase the space after boot_params.
6418 (grub_cmd_payload): Removed.
6419 (grub_cmd_relocate): Likewise.
6420 (grub_cmd_fpswa): Improve messages.
6421 (cmd_payload): Removed.
6422 (cmd_relocate): Likewise.
6423 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6424 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6425
6426 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 Convert UHCI to DMA framework.
6429
6430 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6431 (grub_uhci_pci_iter): Fill new members
6432 (grub_alloc_td): Use P2V and V2P functions.
6433 (grub_free_queue): Likewise.
6434 (grub_alloc_qh): Likewise.
6435 (grub_uhci_setup_transfer): Likewise.
6436 (grub_uhci_check_transfer): Likewise.
6437
6438 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6441 Remove assignment in if while on it.
6442
6443 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * util/grub-mkstandalone.in: Fix modules directory.
6446
6447 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6450 on i386-pc target.
6451 (argp_parser): Accept "auto" as compression specification.
6452
6453 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 Fix `help' with unloaded modules.
6456
6457 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
6458 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
6459 (grub_dyncmd_dispatcher): Small stylistic fix.
6460 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
6461 explicit help is requested.
6462
6463 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
6466 Explicitly init restart while on it.
6467
6468 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
6471 uninited variable.
6472
6473 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * util/grub-mknetdir.in: Use . rather than source for POSIX
6476 compatibility.
6477
6478 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
6481
6482 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
6485 variable.
6486
6487 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
6490 without quotes.
6491
6492 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
6495
6496 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
6499 iteration of partitions.
6500
6501 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Improve gettext support. Stylistic fixes and error handling fixes while
6504 on it.
6505
6506 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
6509 part. Instead setup the correct stack in RM.
6510 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
6511 for stack.
6512 * include/grub/i386/relocator_private.h: New file.
6513
6514 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
6517 argument.
6518 * util/grub-fstest.c (options): Add missing DEVICE part.
6519
6520 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Clarify and unify messages.
6523
6524 * grub-core/commands/hashsum.c (options): Unify messages.
6525 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
6526 literal-only message as translatable.
6527 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
6528 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
6529 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
6530 commands.
6531 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
6532 key, not the key used to unlock. Clarify what it's used for.
6533 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
6534 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
6535 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
6536 * util/grub-editenv.c (options): Unify "verbose" message.
6537 * util/grub-fstest.c (read_file): Unify error message.
6538 (fstest): Add quotes around commands.
6539 (options): Unify "verbose" message.
6540 * util/grub-install.in: Add quotes around variable name.
6541 * util/grub-kbdcomp.in: Unify error message.
6542 * util/grub-mkfont.c (main): Likewise.
6543 * util/grub-mkrescue.in: Likewise.
6544 * util/grub-mklayout.c (options): Unify "verbose" message.
6545 * util/grub-mkstandalone.in: Unify help and verbose messages.
6546 * util/grub-mount.c (options): Unify "verbose" message.
6547 * util/grub-probe.c (options): Likewise.
6548 * util/grub-script-check.c (options): Likewise.
6549 * util/grub-setup.c (setup): Unify no-terminator message.
6550 (options): Use DEVICE and not DEV.
6551 Unify "verbose" message.
6552 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
6553
6554 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Improve and unify messages.
6557
6558 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6559 name. All users updated.
6560 Print filename in error.
6561 (read_device_map): Print filename in error.
6562 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6563 (grub_util_get_os_disk): Likewise.
6564 (grub_util_biosdisk_get_grub_dev): Likewise.
6565 (grub_util_check_block_device): Likewise.
6566 (grub_util_check_char_device): Likewise.
6567 (grub_make_system_path_relative_to_its_root): Likewise.
6568 * util/grub-editenv.c (create_envblk_file): Likewise.
6569 (open_envblk_file): Likewise.
6570 (write_envblk): Likewise.
6571 * util/grub-fstest.c (cmd_cp): Likewise.
6572 (cmd_cat): Likewise.
6573 (cmd_cmp): Likewise.
6574 * util/grub-menulst2cfg.c (main): Likewise.
6575 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
6576 (write_font_width_spec): Likewise.
6577 (write_font_pf2): Likewise.
6578 * util/grub-mkimage.c (generate_image): New argument outname.
6579 All users updated.
6580 Remove unreacheable message.
6581 (options): Unify messages.
6582 (help_filter): Likewise.
6583 * util/grub-mklayout.c (usage): Removed (unused).
6584 (main): Print filename in error.
6585 * util/grub-mkrescue.in: Fix wrong quoting.
6586 * util/grub-setup.c (setup): Print filename in error.
6587 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
6588 (check_sas): Likewise.
6589 * util/misc.c (grub_util_get_fp_size): Removed.
6590 (grub_util_get_image_size): Print filename in error.
6591 (grub_util_read_at): Removed.
6592 (grub_util_read_image): Print filename in error.
6593 (grub_util_load_image): Likewise.
6594 (grub_util_write_image_at): New argument filename. All users updated.
6595 Print filename in error.
6596 (grub_util_write_image): New argument filename. All users updated.
6597 Print filename in error.
6598 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
6599 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
6600
6601 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/Makefile.core.def (pxechain): New module.
6604 * grub-core/loader/i386/pc/pxechainloader.c: New file.
6605 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
6606 function.
6607 (grub_pc_net_config_real): Use grub_pxe_get_cached.
6608 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
6609
6610 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
6613 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
6614 * include/grub/err.h (grub_error_saved): New struct.
6615 (grub_errmsg): Make array size explicit.
6616 * include/grub/misc.h (grub_error_save): New function.
6617 (grub_error_load): Likewise.
6618 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6619 (grub_error_push): Update `errno' member name.
6620 (grub_error_pop): Likewise
6621 * grub-core/net/tftp.c (tftp_data): New member save_err.
6622 (tftp_receive): Save error.
6623 (tftp_open): Restore error.
6624
6625 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6628 to real mode down to execute A20-related code in protected mode as
6629 intended.
6630
6631 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6632
6633 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6634 NULL when the argument `level' has an unexpected value.
6635
6636 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 Move platform-dependent files from $prefix to $prefix/$platform.
6639
6640 * config.h.in (GRUB_TARGET_CPU): New definition.
6641 (GRUB_PLATFORM): Likewise.
6642 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6643 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6644 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6645 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6646 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6647 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6648 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6649 * grub-core/normal/term.c (read_terminal_list): Likewise.
6650 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6651 $prefix/locale.
6652 (grub_gettext_init_ext): Likewise.
6653 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6654 grub_platform.
6655 * util/grub-install.in: Update directories.
6656 * util/grub-mknetdir.in: Likewise.
6657 * util/grub-mkrescue.in: Likewise.
6658
6659 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6662 grub_error framework. All users updated.
6663
6664 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6667 lists (by always binsearching), improve caching (cache strings
6668 used for binsearch, not only results), improve
6669 maintainability (by using more structured binary search) and correct
6670 error handling.
6671
6672 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/script/execute.c (grub_script_return): Fix warning.
6675
6676 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/script/execute.c (grub_script_return): Fix potential
6679 NULL-dereference.
6680 Reported by: Jim Meyering.
6681
6682 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * po/POTFILES.in: Regenerate.
6685 * util/grub-install.in: Gettextize the strings missed in first pass.
6686
6687 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * Makefile.util.def (grub-mkdevicemap): Removed.
6690 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6691 * include/grub/util/deviceiter.h: Removed.
6692 * util/deviceiter.c: Likewise.
6693 * util/getroot.c (grub_util_get_os_disk): New function.
6694 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6695 replacement for EFI.
6696 * util/grub-mkdevicemap.c: Removed.
6697 * util/grub-probe.c (probe): Handle PRINT_DISK.
6698 (argp_parser): Handle -t disk.
6699
6700 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * util/grub-mkfont.c: Migrate to argp.
6703 * util/grub-mklayout.c: Likewise.
6704 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6705 * util/grub-mkrelpath.c: Likewise.
6706 * util/grub-probe.c: Likewise.
6707 * util/grub-script-check.c: Likewise.
6708
6709 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * util/grub-reboot.in: Add missing datarootdir.
6712 Add missing newline.
6713 * util/grub-set-default.in: Add missing datarootdir.
6714 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6715 * util/grub-mkrescue.in: Likewise.
6716
6717 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6720
6721 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * util/grub-kbdcomp.in: Add decent help and gettextize.
6724 * docs/man/grub-kbdcomp.h2m: New file.
6725
6726 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Migrate grub-mkimage.c to argp.
6729
6730 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6731 (grub-setup): Likewise.
6732 * util/grub-setup.c (print_version): Move to ...
6733 * util/argp_common.c (print_version): ... here.
6734 * util/grub-setup.c (argp_program_version_hook): Move to ...
6735 * util/argp_common.c (argp_program_version_hook): ... here.
6736 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6737 safety.
6738 * util/grub-mkimage.c (main): Migrate to argp.
6739
6740 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * util/grub-mkrescue.in: Use same message as
6743 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6744 for better translations.
6745
6746 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6749 options with generic grub-mkrescue.in with the goal of future
6750 merge.
6751
6752 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/kern/mm.c: Add missing include of i18n.h
6755 * grub-core/lib/relocator.c: Likewise.
6756
6757 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6760 error.
6761 (allocate_pages): Check return value.
6762 Replace fatal with error.
6763 (grub_linux_boot): Replace printf with dprintf.
6764 Check find_mmap_size return value.
6765 Replace fatal with error.
6766 Don't call grub_machine_fini.
6767 (grub_load_elf64): Replace printf with dprintf.
6768 (grub_cmd_linux): Likewise.
6769 (grub_cmd_initrd): Likewise.
6770 (grub_cmd_payload): Likewise.
6771
6772 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6775 message.
6776 * grub-core/video/radeon_fuloong2e.c
6777 (grub_video_radeon_fuloong2e_setup): Likewise.
6778 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6779 * grub-core/video/video.c (grub_video_set_mode): Don't override
6780 standard out of memory message.
6781
6782 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6783
6784 NetBSD disk wedge support.
6785
6786 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6787 [__NetBSD__]: Handle NetBSD disk wedges.
6788 * util/getroot.c (convert_system_partition_to_system_disk)
6789 [__NetBSD__]: Likewise.
6790
6791 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
6792
6793 * util/grub-mkconfig.in: Use umask rather than chmod to create
6794 grub.cfg.new to avoid insecure grub.cfg.
6795
6796 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/commands/ls.c: Gettextize.
6799 * grub-core/commands/setpci.c: Likewise.
6800 * grub-core/commands/videotest.c: Likewise.
6801 * grub-core/disk/geli.c: Likewise.
6802 * grub-core/kern/mm.c: Likewise.
6803 * grub-core/lib/relocator.c: Likewise.
6804 * grub-core/loader/efi/appleloader.c: Likewise.
6805 * grub-core/loader/i386/xnu.c: Likewise.
6806 * grub-core/loader/ia64/efi/linux.c: Likewise.
6807 * grub-core/loader/xnu.c: Likewise.
6808 * grub-core/net/dns.c: Likewise.
6809 * grub-core/net/net.c: Likewise.
6810 * grub-core/script/lexer.c: Likewise.
6811 * grub-core/script/parser.y: Likewise.
6812 * grub-core/script/yylex.l: Likewise.
6813 * util/getroot.c: Likewise.
6814 * util/grub-setup.c: Likewise.
6815
6816 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6819 number.
6820
6821 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6824
6825 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6828 macro.
6829 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6830 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6831
6832 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6835 * util/grub-install.in: Gettextize.
6836 * util/grub-mkconfig.in: Likewise.
6837 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6838 if not available.
6839 (grub_warn): Gettextize.
6840 * util/grub-mknetdir.in: Gettextize.
6841 * util/grub-mkrescue.in: Likewise.
6842 * util/grub-mkstandalone.in: Likewise.
6843 * util/grub-reboot.in: Likewise.
6844 * util/grub-set-default.in: Likewise.
6845 * util/grub.d/00_header.in: Likewise.
6846 * util/grub.d/10_hurd.in: Likewise.
6847 * util/grub.d/10_kfreebsd.in: Likewise.
6848 * util/grub.d/10_linux.in: Likewise.
6849 * util/grub.d/10_netbsd.in: Likewise.
6850 * util/grub.d/10_windows.in: Likewise.
6851 * util/grub.d/20_linux_xen.in: Likewise.
6852 * util/grub.d/30_os-prober.in: Likewise.
6853 * po/POTFILES-shell.in: Regenerate.
6854
6855 2012-02-03 Richard Laager <rlaager@wiktel.com>
6856
6857 * util/grub-mkimage.c (main): Fix format-security warning.
6858 * util/grub-mkrelpath.c (main): Likewise.
6859 * util/grub-probe.c (main): Likewise.
6860
6861 2012-02-03 Richard Laager <rlaager@wiktel.com>
6862
6863 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6864 failure.
6865 Put back lost PRINT_DRIVE.
6866
6867 2012-02-03 Richard Laager <rlaager@wiktel.com>
6868
6869 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6870 (grub_guess_root_devices): Replace strlen with sizeof.
6871 Avoid crash.
6872 (find_root_devices_from_poolname): Remove unused variable.
6873 Handle raidzN.
6874
6875 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 Support install on multi-device filesystems.
6878
6879 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6880 (grub_guess_root_devices): ...this. Return char **. All users updated.
6881 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6882 Removed.
6883 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6884 (find_root_devices_from_poolname): ... here.
6885 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6886 Support zfs-fuse.
6887 (grub_guess_root_device): Rename to ...
6888 (grub_guess_root_devices): ... this. Return char **. All users updated.
6889 * util/grub-install.in: Handle multi-device filesystems.
6890 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6891 argument. All users updated.
6892 Handle multi-device filesystems.
6893 Use 'delim' as separator.
6894 Remove device check to allow filesystems on file.
6895 (main): Support -0 argument. Handle multi-device.
6896 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6897 Fix a cross-device check while on it.
6898 (arguments): Remove root_dev.
6899 (argp_parser): Remove -r.
6900 (main): Remove root_dev.
6901
6902 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6905
6906 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6909 symbol.
6910 Reported by: NODA, Kai <nodakai>.
6911
6912 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 Fix ehci on amd64.
6915
6916 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6917 pointers.
6918 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6919 (grub_ehci_setup_qh): Likewise.
6920 (grub_ehci_find_qh): Likewise.
6921 (grub_ehci_transaction): Likewise.
6922 (grub_ehci_setup_transfer): Likewise.
6923 (grub_ehci_check_transfer): Likewise.
6924 (grub_ehci_portstatus): Likewise.
6925 (grub_ehci_detect_dev): Likewise.
6926 (grub_ehci_transfer_controller_data): New field td_last_phys.
6927 (grub_ehci_setup_transfer): Fill td_last_phys.
6928 (grub_ehci_check_transfer): Use td_last_phys.
6929
6930 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6931
6932 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6933 if no submenu is present.
6934
6935 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6936
6937 CBI support.
6938
6939 * include/grub/usb.h (grub_usbms_protocol_t): New values
6940 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6941 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6942 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6943 (grub_usbms_dev): Add subclass, protocol and intrpt.
6944 Remove in_maxsz and out_maxsz.
6945 (grub_usbms_reset): Rename to ...
6946 (grub_usbms_bo_reset): .. this.
6947 (grub_usbms_cbi_cmd): New function.
6948 (grub_usbms_cbi_reset): Likewise.
6949 (grub_usbms_reset): Likewise.
6950 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6951 (grub_usbms_transfer): Rename to ...
6952 (grub_usbms_transfer_bo): ... this.
6953 (grub_usbms_transfer_cbi): Likewise.
6954 (grub_usbms_transfer): Likewise.
6955
6956 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6957 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6960 the support for the CS5536 modification thereos and few bugfixes.
6961
6962 * grub-core/Makefile.core.def (ehci): New module.
6963 * grub-core/bus/usb/ehci.c: New file.
6964 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6965 port and hubaddr. All users updated.
6966 Save port and hubaddr into dev structure.
6967 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6968 define.
6969 * include/grub/pci.h (grub_dma_phys2virt): New function.
6970 (grub_dma_virt2phys): Likewise.
6971 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6972
6973 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6976 check as some mkfs implementations omit it.
6977
6978 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6981
6982 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6985 Add new member volname2.
6986 (grub_jfs_label): Use volname2 if available.
6987
6988 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6991 over last_mounted as seen in image generated by mkfs.nilfs2.
6992 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6993
6994 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6997 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6998 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6999
7000 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7003 over the sector.
7004
7005 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7008 subvolume name (by removing a bogus and useless check).
7009
7010 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7013 sizeof while on it.
7014
7015 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7018 (grub_scsi_read_capacity10): ... this.
7019 (grub_scsi_read_capacity16): New function.
7020 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7021 0xffffffff.
7022 Fix off-by-one error.
7023 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7024 64-bit unsigned.
7025 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7026 (grub_scsi_read_capacity10): ... this.
7027 (grub_scsi_read_capacity_data): Rename to ...
7028 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7029 (grub_scsi_read_capacity16): New struct.
7030 (grub_scsi_read_capacity16_data): Likewise.
7031 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7032 grub_scsi_cmd_read_capacity10.
7033 New command grub_scsi_cmd_read_capacity16.
7034
7035 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 SCSI >2TiB support.
7038
7039 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7040 (grub_scsi_write16): Likewise.
7041 (grub_scsi_read): Use read16 when necessary.
7042 (grub_scsi_write): Likewise.
7043 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7044 (grub_scsi_write16): Likewise.
7045 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7046
7047 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 SCSI write support (for usbms mainly).
7050
7051 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7052 a const pointer.
7053 (grub_scsi_write): Implement.
7054 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7055
7056 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7059 variable.
7060
7061 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7064
7065 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * po/POTFILES.in: Regenerate.
7068
7069 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7072 with grub_printf to avoid unnecessary fatal failure.
7073
7074 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7077 (INT_MAX): Likewise.
7078 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7079 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7080 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7081 (strcpy): Likewise.
7082 (strstr): Likewise.
7083 (strchr): Likewise.
7084 (strncpy): Likewise.
7085 (strcat): Likewise.
7086 (strncat): Likewise.
7087 (strcoll): Likewise.
7088 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7089 (GRUB_INT_MAX): Likewise.
7090
7091 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7094 unexpected error.
7095 (optimize_utf8): Likewise.
7096 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7097
7098 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * grub-core/boot/i386/pc/lnxboot.S: Use
7101 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7102 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7103 location.
7104 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7105 definition.
7106 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7107
7108 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7111 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7112 now to avoid double free.
7113 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7114 hostdisk.
7115 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7116 * util/grub-probe.c (escape_of_path): Always return a new copy.
7117 (print_full_name): Escape path.
7118 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7119 Fix hints on abstractions.
7120
7121 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7124 Don't add "root" line if no compatibility hont is available.
7125 Suggested by: Seth Goldberg.
7126
7127 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7130 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7131 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7132 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7133
7134 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7137
7138 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * util/grub-pe2elf.c (ehdr): Make static.
7141 (shdr): Likewise.
7142 (num_sections): Likewise.
7143 (offset): Likewise.
7144
7145 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 Eliminate ofpath limits and possible overflows.
7148
7149 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7150 (OF_PATH_MAX): Removed.
7151 (MAX_DISK_CAT): New const.
7152 (find_obppath): Use allocated rather than preallocated buffer.
7153 Return result. Argument of_path removed. All users updated.
7154 Add missing fdstat.
7155 (xrealpath): New function.
7156 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7157 Allocate rather than use preallocated buffer. All users updated.
7158 (__of_path_common): Use allocated rather than preallocatecd buffer.
7159 Return result. Argument of_path removed. All users updated.
7160 (vendor_is_ATA): Read only needed part form the file.
7161 (check_sas): Allocate depending on contents rather than fixed.
7162 (main) [STANDALONE]: Handle NULL result.
7163
7164 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7167
7168 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Cryptodisk write support.
7171
7172 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7173 (grub_cryptodisk_decrypt): Moved logic to ...
7174 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7175 (grub_cryptodisk_write): Implement.
7176 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7177 (grub_util_fd_write): ... this. Make global.
7178 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7179
7180 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * include/grub/list.h (grub_list_remove): Don't crash if element is
7183 removed twice.
7184
7185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 Rename ofconsole to console.
7188
7189 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7190 as sysnonym to console.
7191 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7192 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7193 Rename grub_ofconsole_ to grub_console_. All users updated
7194 (grub_console_term_output): Rename "ofconsole" to "console".
7195 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7196 as "console".
7197
7198 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7201 handling.
7202 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7203 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7204 GRUB_DISK_DEVICE_FILE_ID.
7205
7206 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7209 and improve performance.
7210
7211 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7214 missing ieee1275/ prefix on whole disk.
7215
7216 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7219 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7220
7221 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7224
7225 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 Merge common RAID and LVM logic to an abstract diskfilter.
7228 Add LDM support using the same framework.
7229
7230 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7231 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7232 (libgrubmods): Remove grub-core/disk/raid.c and
7233 grub-core/partmap/gpt.c.
7234 * grub-core/Makefile.core.def (ldm): New module.
7235 (raid): Renamed to diskfilter. All users updated.
7236 * grub-core/disk/raid.c: Moved to ...
7237 * grub-core/disk/diskfilter.c: ... here.
7238 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7239 (lv_num): New var.
7240 (find_array): Renamed to ...
7241 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7242 (grub_is_array_readable): Renamed to ...
7243 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7244 (insert_array): New argument id.
7245 (is_node_readable): New function.
7246 (scan_device): Rename to ...
7247 (scan_disk): .. this. Restrict to one disk.
7248 (scan_devices): New function.
7249 (grub_diskfilter_iterate): Support multi-LV.
7250 Skip invisible and nameless LVs.
7251 (grub_diskfilter_memberlist): Support multi-LV.
7252 (grub_diskfilter_read_node): New function.
7253 (grub_raid_read): Most of logic moved to ...
7254 (read_segment): ... here
7255 (read_lv): New function.
7256 (grub_diskfilter_get_vg_by_uuid): New function.
7257 (grub_diskfilter_make_raid): Likewise.
7258 * grub-core/disk/ldm.c: New file.
7259 * grub-core/disk/lvm.c (vg_list): Removed.
7260 (lv_count): Likewise.
7261 (scan_depth): Likewise.
7262 (is_lv_readable): Likewise.
7263 (grub_lvm_getvalue): Advance pointer past the number.
7264 (find_lv): Removed.
7265 (do_lvm_scan): Refactored into ...
7266 (grub_lvm_detect): ... this. Support raid.
7267 (grub_lvm_iterate): Removed.
7268 (grub_lvm_memberlist): Likewise.
7269 (grub_lvm_open): Likewise.
7270 (grub_lvm_close): Likewise.
7271 (read_lv): Likewise.
7272 (read_node): Likewise.
7273 (is_node_readable): Likewise.
7274 (is_lv_readable): Likewise.
7275 (grub_lvm_read): Likewise.
7276 (grub_lvm_write): Likewise.
7277 (grub_lvm_dev): Use diskfilter
7278 (GRUB_MOD_INIT): Likewise.
7279 (GRUB_MOD_FINI): Likewise.
7280 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7281 new interface.
7282 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7283 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7284 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7285 grub_diskfilter_read_node.
7286 Fix a bug with xor.
7287 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7288 grub_diskfilter_read_node.
7289 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7290 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7291 (grub_disk_dev_iterate): Move from here...
7292 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7293 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7294 Make global.
7295 (grub_hostdisk_find_partition_start): Likewise.
7296 (grub_hostdisk_os_dev_to_grub_drive): New function.
7297 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7298 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7299 * util/getroot.c (make_device_name): ... here.
7300 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7301 Move to ...
7302 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7303 * grub-core/kern/emu/hostdisk.c
7304 (convert_system_partition_to_system_disk): Move to ...
7305 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7306 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7307 * util/getroot.c (device_is_wholedisk): ... here.
7308 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7309 * util/getroot.c (find_system_device): ... here.
7310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7311 Move to ...
7312 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7313 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7314 Move to ...
7315 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7316 Handle LDM.
7317 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7318 Move to ...
7319 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7320 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7321 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7322 DISKFILTER.
7323 * include/grub/raid.h: Renamed to ...
7324 * include/grub/diskfilter.h: ... this.
7325 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7326 (GRUB_RAID_LAYOUT_*): Make into array.
7327 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7328 (grub_diskfilter_vg): New struct.
7329 (grub_diskfilter_pv_id): Likewise.
7330 (grub_raid_member): Removed.
7331 (grub_raid_array): Likewise.
7332 (grub_diskfilter_pv): New struct.
7333 (grub_diskfilter_lv): Likewise.
7334 (grub_diskfilter_segment): Likewise.
7335 (grub_diskfilter_node): Likewise.
7336 (grub_diskfilter_get_vg_by_uuid): New proto.
7337 (grub_raid_register): Inline.
7338 (grub_diskfilter_unregister): Likewise.
7339 (grub_diskfilter_make_raid): New proto.
7340 (grub_diskfilter_vg_register): Likewise.
7341 (grub_diskfilter_read_node): Likewise.
7342 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7343 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7344 (grub_util_is_ldm): Likewise.
7345 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7346 (grub_hostdisk_find_partition_start): Likewise.
7347 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7348 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7349 New definition.
7350 (grub_gpt_partition_map_iterate): New proto.
7351 * include/grub/lvm.h (grub_lvm_vg): Removed.
7352 (grub_lvm_pv): Likewise.
7353 (grub_lvm_lv): Likewise.
7354 (grub_lvm_segment): Likewise.
7355 (grub_lvm_node): Likewise.
7356 * util/getroot.c [...]
7357 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7358 (probe_abstraction): Likewise.
7359 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7360 (main): Remove dead logic.
7361
7362 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 Simplify root device discover and don't fail when trying to open
7365 incorrect devices.
7366
7367 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7368 function.
7369 (get_diskname_from_path): Likewise.
7370 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7371 of iterating.
7372
7373 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7376
7377 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7380 pastthe end.
7381
7382 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * util/grub-install.in: Add missing \.
7385 Reported by: gentoofan
7386
7387 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7390 (direct_read): Use correct compressed size.
7391 (grub_squash_read_data): Likewise.
7392
7393 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * docs/grub.texi (Platform limitations): New section.
7396 (Platform-specific operations): Likewise.
7397 * docs/grub-dev.texi (Porting): Likewise.
7398
7399 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 IEEE1275 disk write support.
7402
7403 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7404 const void *.
7405 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7406 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7407 and seek loginc to ...
7408 (grub_ofdisk_prepare): ... here.
7409 (grub_ofdisk_write): Implement.
7410
7411 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 ARC disk write support.
7414
7415 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7416 (reopen): New argument writable. All users updated.
7417 Handle required access mode.
7418 (grub_arcdisk_write): Implement.
7419 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7420 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7421
7422 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7425 (read_sblock): Don't attempt to read superblocks outside the disk size.
7426
7427 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7430 first superblock to find the second one when possible.
7431
7432 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * util/grub-install.in: Fix an ARC bug.
7435 Print a warning if no platform-specific setup is available.
7436
7437 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Use static allocation rather than scratch pointer in reed_solomon.
7440 It decreases its size significantly and avoids a variable in .text.
7441
7442 * grub-core/lib/reed_solomon.c (scratch): Removed.
7443 (chosenstat): New const or static array.
7444 (sigma): Likewise.
7445 (errpot): Likewise.
7446 (errpos): Likewise.
7447 (sy): Likewise.
7448 (mstat): Likewise.
7449 (errvals): Likewise.
7450 (eqstat): Likewise.
7451 (pol_evaluate): Replace x with log_x argument. All users updated.
7452 (syndroms): Removed.
7453 (gauss_solve): Use statically allocated arrays.
7454 (rs_recover): Likewise.
7455 Calculate syndroms directly.
7456 (decode_block): Use statically allocated arrays.
7457 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
7458 (main) [TEST]: Allow -DTEST -DSTANDALONE.
7459
7460 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Eliminate fixed limit on reed solomon decoder length.
7463
7464 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
7465 rather than hardcoding the address.
7466 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
7467 no_reed_solomon_length.
7468 Move gate_a20 to no-reed-solomon part.
7469 Don't force a particular size of no reed-solomon part.
7470 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7471 Removed.
7472 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
7473 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
7474
7475 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/commands/wildcard.c (match_files): Handle filenames
7478 without explicit device.
7479 (wildcard_expand): Don't add explicit device if not already present.
7480 * tests/grub_script_echo1.in: Add a new expansion test.
7481
7482 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Replace single-linked with double-linked lists. It results in more
7485 compact and more efficient code.
7486
7487 * grub-core/kern/list.c (grub_list_push): Moved from here ...
7488 * include/grub/list.h (grub_list_push): ... to here. Set prev.
7489 (grub_list_remove): Moved from here ...
7490 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
7491 (grub_prio_list_insert): Set prev.
7492 * include/grub/list.h (grub_list): Add prev. All users updated.
7493
7494 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Handle newer autotools. Add some missing quotes while on it.
7497
7498 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
7499 (pkglib_DATA): Move grub-mkconfig_lib from here ...
7500 (pkgdata_DATA): ... here.
7501 * Makefile.util.def (update-grub_lib): Removed.
7502 * conf/Makefile.common (pkglib_DATA): Removed.
7503 (pkglib_SCRIPTS): Likewise.
7504 (pkgdata_DATA): New variable.
7505 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
7506 needed.
7507 Add missing quotes.
7508 Remove unused variable while on it.
7509 * tests/util/grub-shell.in: Likewise.
7510 * util/grub-install.in: Likewise.
7511 * util/grub-mkconfig.in: Likewise.
7512 * util/grub-mknetdir.in: Likewise.
7513 * util/grub-mkrescue.in: Likewise.
7514 * util/grub-mkstandalone.in: Likewise.
7515 * util/grub.d/00_header.in: Likewise.
7516 * util/grub.d/10_hurd.in: Likewise.
7517 * util/grub.d/10_illumos.in: Likewise.
7518 * util/grub.d/10_kfreebsd.in: Likewise.
7519 * util/grub.d/10_linux.in: Likewise.
7520 * util/grub.d/10_netbsd.in: Likewise.
7521 * util/grub.d/10_windows.in: Likewise.
7522 * util/grub.d/20_linux_xen.in: Likewise.
7523 * util/grub.d/30_os-prober.in: Likewise.
7524 * util/update-grub_lib.in: Removed.
7525
7526 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
7527
7528 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
7529 a workaround for intel problem.
7530
7531 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
7532 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7533 2012-01-23 pfsmorigo
7534
7535 * util/grub-install.in: Support dd'in into PreP partition.
7536 * util/grub-probe.c (probe): Support discovering partition type.
7537 (main): Support -t msdos_parttype.
7538
7539 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
7542 infinite recursion using counter.
7543 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
7544 init to skip it if the magic check fails.
7545 (dec_stream_header): Init s->crc32.
7546
7547 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7548 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
7549 2012-01-22 Richard Laager <rlaager@wiktel.com>
7550
7551 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
7552 All users updated.
7553 (find_bestub): Determine correct size.
7554 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
7555 (scan_disk): Align the size down.
7556 Call check pool before find_bestub to have ashift.
7557
7558 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7561 dprintf in no-malloc zone.
7562
7563 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
7564
7565 * configure.ac: Add back in test for limits.h.
7566
7567 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Support 4K-sector NTFS.
7570
7571 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
7572 (grub_ntfs_data): Remove blocksize.
7573 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
7574 Remove data argument. All users updated.
7575
7576 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
7579 being in .text to avoid dprel references.
7580 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
7581 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
7582 (grub_arch_highmemsize): Likewise.
7583 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
7584 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
7585 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
7586
7587 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
7590
7591 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
7592 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
7593
7594 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
7597 GRUB_UTIL.
7598 (grub_set_datetime_cmos): Likewise.
7599
7600 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 Make XZ compression parameters dependent on target and not host CPU.
7603
7604 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
7605 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
7606
7607 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
7610 set but not used variable.
7611
7612 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7615 created when no uuid support is compiled into mkfs.reiser.
7616
7617 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7620 (utf8_to_macroman): Do the opposite.
7621 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7622
7623 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * configure.ac: Refise build qemu_mips w/o unifont.
7626
7627 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Eliminate grub_min/grub_max prone to overflow usage.
7630
7631 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7632 (poll_nonroot_hub): Likewise.
7633 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7634 (grub_affs_label): Likewise.
7635 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7636 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7637 (grub_hfs_label): Likewise.
7638 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7639 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7640 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7641 (zap_leaf_array_get): Likewise.
7642 (dnode_get_path): Likewise.
7643 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7644 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7645 * grub-core/script/execute.c (grub_script_break): Likewise.
7646 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7647 grub_max.
7648 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7649 * include/grub/misc.h (grub_min): Removed.
7650 (grub_max): Likewise.
7651
7652 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7653
7654 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7655 direct.inode = 0.
7656
7657 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7660
7661 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7664
7665 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7668 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7669
7670 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7673 rather than a hack for grub_strncasemap.
7674
7675 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 Support multiple initrds
7678 Note: part of this was accidently committed in r3739.
7679
7680 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7681 initrd.
7682 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7683 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7684 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7685 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7686 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7687
7688 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7691 disks with unknown size.
7692 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7693
7694 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 Remove defines pertaining to arbitrary limits not affecting GRUB
7697 anymore.
7698
7699 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7700 (EXT2_MAX_SYMLINKCNT): Likewise.
7701 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7702 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7703 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7704 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7705 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7706 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7707 (DN_MAX_OBJECT_SHIFT): Likewise.
7708 (DN_MAX_OFFSET_SHIFT): Likewise.
7709 (DN_MAX_OBJECT): Likewise.
7710 (DNODES_PER_LEVEL_SHIFT): Likewise.
7711 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7712 (SPA_MAXBLOCKSIZE): Likewise.
7713 (SPA_BLOCKSIZES): Likewise.
7714 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7715 (MZAP_MAX_BLKSZ): Likewise.
7716
7717 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7720 handle NULL appropriately.
7721 Remove MIN.
7722
7723 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 Fix efiemu.
7726
7727 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7728 cpu/types.h.
7729 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7730 * configure.ac: Fix efiemu check.
7731
7732 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7735 grub_probe.
7736 Reported by: adamwill
7737
7738 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7739
7740 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7741
7742 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 Fix handling of wide characters in gfxterm.
7745
7746 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7747 (clear_char): Likewise.
7748 (paint_char): Skip code == NULL chars.
7749 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7750
7751 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * grub-core/normal/charset.c: Move comment to right place.
7754
7755 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7758 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7759 (grub_affs_mount): Revert the correct version checking.
7760
7761 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * docs/grub.texi (Unicode): Mention several other unsupported features.
7764
7765 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7768 case statements as compile-time one.
7769 (direct_read): Prevent spurious warnings.
7770 (grub_squash_read_data): Likewise.
7771
7772 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 Various squash4 fixes and LZO and XZ support.
7775
7776 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7777 Add xzembed source files.
7778 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7779 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7780 (grub_squash_inode): New subtype long_dir.
7781 (SQUASH_TYPE_LONG_DIR): New inode type.
7782 (COMPRESSION): New enum.
7783 (XZBUFSIZ): New const.
7784 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7785 (read_chunk): Use data->decompress.
7786 (zlib_decompress): New function.
7787 (lzo_decompress): Likewise.
7788 (xz_decompress): Likewise.
7789 (squash_mount): Set new data fields.
7790 (grub_squash_iterate_dir): Handle long dir.
7791 (squash_unmount): Free xzdec and xzbuf.
7792 (grub_squash_open): Check ino type.
7793 (direct_read): Stylistic fixes. Use data->decompress.
7794 (grub_squash_read_data): Likewise.
7795 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7796 (get_byte): Likewise.
7797 (grub_zlib_disk_read): Removed.
7798 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7799 (GRUB_POSIX_BOOL_DEFINED): New define.
7800 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7801 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7802 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7803 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7804
7805 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Don't override more informative errors.
7808
7809 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7810 * grub-core/font/font.c (open_section): Likewise.
7811 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7812 filename. Don't override errors.
7813 (grub_cmd_openbsd_ramdisk): Don't override errors.
7814 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7815 (grub_cmd_initrd): Likewise.
7816 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7817 (grub_cmd_initrd): Likewise.
7818 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7819 (grub_cmd_linux): Likewise.
7820 (grub_cmd_initrd): Likewise.
7821 (grub_cmd_payload): Likewise.
7822 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7823 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7824 (grub_cmd_module): Likewise.
7825 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7826 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7827 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7828 (grub_cmd_xnu_mkext): Likewise.
7829 (grub_cmd_xnu_ramdisk): Likewise.
7830 (grub_xnu_check_os_bundle_required): Likewise.
7831 (grub_xnu_load_kext_from_dir): Likewise.
7832 (grub_cmd_xnu_kextdir): Likewise.
7833 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7834
7835 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7838 as 1024 in block size field. Found on one of my test images.
7839 Small optimisation while on it.
7840
7841 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7844 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7845 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7846 performance fixes while on it.
7847 (grub_sfs_close): Fix memory leak while on it.
7848 (grub_sfs_label): Convert Latin1 to UTF-8.
7849
7850 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7853 space to avoid overflows.
7854 (grub_hfs_label): Convert from macroman to UTF-8.
7855
7856 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7859
7860 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7863
7864 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * unicode: Import Unicode 6.0 data.
7867
7868 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7871 outside of range.
7872
7873 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 Avoid cutting in the middle of UTF-8 character.
7876
7877 * include/grub/charset.h (grub_getend): New function.
7878 * grub-core/script/function.c (grub_script_function_find): Use
7879 grub_getend.
7880 * grub-core/normal/completion.c (add_completion): Likewise.
7881
7882 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7885 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7886 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7887 (GRUB_UNICODE_TAG_END): Likewise.
7888 (GRUB_UNICODE_LAST_VALID): Likewise.
7889
7890 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7893 len and make it smaller. All users updated.
7894 * util/import_unicode.py: Put length and not end character.
7895 Check length.
7896
7897 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 Make better Unicode-compliant and unify some UTF-8 code pathes.
7900
7901 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7902 valid character.
7903 (grub_is_valid_utf8): Use grub_utf8_process.
7904 Check resulting code range.
7905 (grub_utf8_to_ucs4): Use grub_utf8_process.
7906 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7907 valid character.
7908
7909 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7912
7913 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * docs/grub.texi (Filesystems): Mention AFS.
7916
7917 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * docs/grub.texi (Filesystems): Clarify restrictions.
7920 (Regexp): Mention non-Unicode regexp behaviour.
7921 (Other): Mention non-Unicode matching behaviour.
7922
7923 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 Make HFS implementation use MacRoman.
7926
7927 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7928 (macroman): New const array.
7929 (macroman_to_utf8): New function.
7930 (utf8_to_macroman): Likewise.
7931 (grub_hfs_find_dir): Use utf8_to_macroman.
7932 (grub_hfs_dir): Use macroman_to_utf8.
7933 Set case_insensitive.
7934
7935 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7938
7939 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 Integrate hints into autogeneration scripts.
7942
7943 * docs/grub.texi (Filesystems): Add a hostdisk example.
7944 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7945 (grub-probe): Add ofpath.
7946 * gentpl.py: Remove group nosparc64.
7947 * grub-core/commands/search.c (cache_entry): New struct.
7948 (cache): New var.
7949 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7950 * grub-core/commands/search_wrap.c (options): Add platform-specific
7951 hint options.
7952 (grub_cmd_search): Handle platform-specific hints.
7953 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7954 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7955 (grub_util_biosdisk_data): Likewise.
7956 (grub_util_biosdisk_open): Set device_map.
7957 (read_device_map): Handle "" as indication of no map.
7958 Set device_map.
7959 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7960 (grub_util_biosdisk_get_compatibility_hint): New function.
7961 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7962 * include/grub/emu/hostdisk.h
7963 (grub_util_biosdisk_get_compatibility_hint): New proto.
7964 * util/grub-install.in: Don't call grub-mkdevicemap.
7965 Add platform-specific hint to load.cfg.
7966 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7967 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7968 hints. Set root preliminary to compatibility hint, not to OS name.
7969 * util/grub-probe.c (PRINT_*): Add hints.
7970 (print): Make static.
7971 (escape_of_path): New function.
7972 (guess_bios_drive): Likewise.
7973 (guess_efi_drive): Likewise.
7974 (guess_baremetal_drive): Likewise.
7975 (print_full_name): Likewise.
7976 (probe): Handle hints.
7977 (main): Likewise.
7978 * util/ieee1275/devicemap.c: Removed.
7979 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7980 updated.
7981 (grub_util_devname_to_ofpath): Return NULL on failure.
7982
7983 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7984 resource leak.
7985 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7986
7987 * po/POTFILES.in: Regenerated.
7988
7989 Allow purely long options
7990
7991 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7992 (SHORT_ARG_USAGE): Likewise.
7993 (grub_arg_show_help): Compare opt with help_options.
7994 (parse_option): Receive opt as argument. If makes big simplificatons.
7995 All users updated
7996
7997 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8000 Restructure to avoid warning.
8001
8002 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * util/grub-install.in: Account for possible escaped comma in device
8005 name.
8006
8007 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8010 channel.
8011
8012 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8015 allocation and zero-setting.
8016 (grub_ieee1275_get_devname): Check that alias is complete.
8017
8018 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8021 unaligned segments.
8022
8023 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8026 prefix.
8027 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8028 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8029 Add ieee1275 prefix.
8030
8031 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * docs/grub.texi (Filesystems): Update.
8034
8035 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Support odc, newc and bigendian cpio formats.
8038
8039 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8040 * grub-core/Makefile.core.def (newc): New module.
8041 (odc): Likewise.
8042 (cpio_be): Likewise.
8043 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8044 (MAGIC): Likewise.
8045 (MAGIC2): Likewise.
8046 (head) [MODE_ODC]: Adapt for the format.
8047 (head) [MODE_NEWC]: Likewise.
8048 (head) [!MODE_*]: Write fields of interest as arrays.
8049 (MAGIC_USTAR): Removed.
8050 (read_number) [MODE_NEWC]: Change to hex.
8051 (read_number) [!MODE_*]: Parse binary arrays.
8052 (grub_cpio_find_file): Factor out the code for better structure and
8053 always use read_number.
8054 (grub_cpio_mount): Use MAGIC and MAGIC2.
8055 (grub_cpio_dir): Exit on first hook non-0 return.
8056 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8057 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8058 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8059 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8060 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8061 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8062 * grub-core/fs/newc.c: New file.
8063 * grub-core/fs/odc.c: Likewise.
8064 * grub-core/fs/cpio_be.c: Likewise.
8065
8066 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 Fix handling of tar numbers occupying the whole field.
8069
8070 * grub-core/fs/cpio.c (read_number): New function.
8071 (grub_cpio_find_file): Use read_number instead of strtoull.
8072
8073 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8076 occupying the whole field size.
8077
8078 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8079
8080 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8081
8082 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8085
8086 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8087
8088 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8089 TARGET_IMG_LDFLAGS.
8090
8091 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8094 (mountinfo_entry): Increase the field size to take escaping into
8095 account.
8096 (find_root_device_from_libzfs): Add one byte to size of strings for
8097 security.
8098
8099 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8102 an assert.
8103 * util/grub-setup.c (setup): Likewise.
8104
8105 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8108 _LzmaDecodeA.
8109
8110 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * docs/grub.texi (Internationalisation): New section.
8113
8114 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * docs/grub.texi (Loopback booting): New section.
8117
8118 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
8119
8120 * util/grub-mkstandalone.in: Fix minor typo errors.
8121
8122 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8125
8126 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8127 net/icmp.c and net/icmp6.c.
8128 (http): New module.
8129 (priority_queue): Likewise.
8130 * grub-core/io/bufio.c: Rewritten.
8131 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8132 TYPE_WITH_CONFIGFILE_OPTION.
8133 (legacy_commands): Add bootp and dhcp.
8134 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8135 (grub_legacy_parse): Likewise.
8136 * grub-core/lib/priority_queue.c: New file.
8137 * grub-core/net/arp.c: Add missing license header.
8138 (arp_find_entry): Removed.
8139 (arp_find_entry): Likewise.
8140 (grub_net_arp_resolve): Rename to ...
8141 (grub_net_arp_send_request): ...this.
8142 (grub_net_arp_receive): New card argument.
8143 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8144 Set router and DNS server.
8145 (grub_net_configure_by_dhcp_ack): Handle routing information.
8146 (grub_cmd_bootp): Set checksum.
8147 (grub_bootp_init): Remove net_dhcp.
8148 * grub-core/net/dns.c: New file.
8149 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8150 completion.
8151 (get_card_packet): Handle allocation.
8152 (grub_efinet_findcards): Set mtu.
8153 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8154 (get_card_packet): Handle allocation.
8155 (emucard): Set mtu.
8156 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8157 (GRUB_MOD_INIT): Set mtu.
8158 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8159 mtu.
8160 (get_card_packet): Handle allocation.
8161 (grub_ofnet_findcards): Set mtu.
8162 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8163 assert.
8164 (grub_net_recv_ethernet_packet): Handle IPv6.
8165 * grub-core/net/http.c: New file.
8166 * grub-core/net/icmp.c: Likewise.
8167 * grub-core/net/icmp6.c: Likewise.
8168 * grub-core/net/ip.c (ip6addr): New type.
8169 (ip6hdr): Likewise.
8170 (reassemble): Likewise.
8171 (cmp): New function.
8172 (reassembles): New variable.
8173 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8174 (id): New variable.
8175 (send_fragmented): New function.
8176 (grub_net_send_ip_packet): Rename to ...
8177 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8178 Handle non-UDP.
8179 (grub_net_recv_ip_packets): Rename to ...
8180 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8181 (free_rsm): New function.
8182 (free_old_fragments): Likewise.
8183 (grub_net_recv_ip4_packets): New function.
8184 (grub_net_send_ip6_packet): Likewise.
8185 (grub_net_send_ip_packet): Likewise.
8186 (grub_net_recv_ip6_packets): Likewise.
8187 (grub_net_recv_ip_packets): Likewise.
8188 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8189 (LINK_LAYER_CACHE_SIZE): New const.
8190 (link_layer_find_entry): New function.
8191 (grub_net_link_layer_add_address): Likewise.
8192 (grub_net_link_layer_resolve_check): Likewise.
8193 (grub_net_link_layer_resolve): Likewise.
8194 (grub_net_ipv6_get_slaac): Likewise.
8195 (grub_net_ipv6_get_link_local): Likewise.
8196 (grub_cmd_ipv6_autoconf): Likewise.
8197 (parse_ip): Handle one number representation.
8198 (parse_ip6): New functoion.
8199 (match_net): Handle IPv6.
8200 (grub_net_resolve_address): Handle IPv6 and DNS.
8201 (grub_net_resolve_net_address): Handle IPv6.
8202 (route_cmp): New function.
8203 (grub_net_route_address): Find best route.
8204 (grub_net_addr_to_str): Handle IPv6.
8205 (grub_net_addr_cmp): New function.
8206 (grub_net_add_addr): Register local route.
8207 (print_net_address): Handle net address.
8208 (grub_net_poll_cards): Retransmit TCP.
8209 (grub_net_poll_cards_idle_real): Likewise.
8210 (have_ahead): New function.
8211 (grub_net_seek_real): Use underlying seek.
8212 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8213 * grub-core/net/tcp.c: New file.
8214 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8215 (cmp): New function.
8216 (ack): Likewise.
8217 (tftp_receive): Handle unordered input.
8218 (destroy_pq): New function.
8219 (tftp_close): Close pq.
8220 * grub-core/net/udp.c: Put missing license header.
8221 (grub_net_udp_socket): New function.
8222 (udp_socket_register): Likewise.
8223 (grub_net_udp_close): Likewise.
8224 (grub_net_recv_udp_packet): Check checksum.
8225 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8226 * include/grub/misc.h (grub_memchr): New function.
8227 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8228 (grub_net_card_driver): Return buf in recv.
8229 (grub_net_slaac_mac_list): New struct.
8230 (grub_network_level_protocol_id): Add ipv6.
8231 (grub_net_network_level_addr): Likewise.
8232 (grub_net_network_level_net_addr): Likewise.
8233 (grub_net_app_protocol): Add seek.
8234 (grub_net_socket): Removed.
8235 (grub_net_sockets): Likewise.
8236 (grub_net_socket_register): Likewise.
8237 (grub_net_socket_unregister): Likewise.
8238 (FOR_NET_SOCKETS): Likewise.
8239 (grub_net_add_addr): Add const.
8240 (GRUB_NET_BOOTP_*): New enum.
8241 (grub_net_addr_cmp): New proto.
8242 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8243 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8244 (grub_net_hwaddr_to_str): NEw proto.
8245 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8246 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8247 (grub_dns_init): New proto.
8248 (grub_dns_fini): Likewise.
8249 (grub_net_tcp_retransmit): Likewise.
8250 (grub_net_link_layer_add_address): Likewise.
8251 (grub_net_link_layer_resolve_check): Likewise.
8252 (grub_net_link_layer_resolve): Likewise.
8253 (grub_net_dns_lookup): Likewise.
8254 (grub_net_add_dns_server): Likewise.
8255 (grub_net_remove_dns_server): Likewise.
8256 (GRUB_NET_TRIES): New const.
8257 (GRUB_NET_INTERVAL): Likewise.
8258 * include/grub/net/arp.h: Mostly rewritten.
8259 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8260 * include/grub/net/ip.h: Mostly rewritten.
8261 * include/grub/net/netbuff.h: Indent.
8262 * include/grub/net/tcp.h: New file.
8263 * include/grub/net/udp.h: Mostly rewritten.
8264 * include/grub/priority_queue.h: New file.
8265 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8266 (grub_swap_bytes64_compile_time): Likewise.
8267 (grub_cpu_to_be16_compile_time): Likewise.
8268 (grub_cpu_to_be32_compile_time): Likewise.
8269 (grub_cpu_to_be64_compile_time): Likewise.
8270 (grub_be_to_cpu64_compile_time): Likewise.
8271
8272 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8275 UINT_TO_PTR with cast.
8276
8277 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8280 don't use them.
8281
8282 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8285 already there.
8286
8287 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8290 confusing ipxe.
8291
8292 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8295 Add missing const attribute.
8296 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8297 Likewise.
8298 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8299 Likewise.
8300
8301 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8304 misaligned access.
8305 (serpent_setkey): Likewise.
8306 (serpent_encrypt_internal): Likewise.
8307 (serpent_decrypt_internal): Likewise.
8308 (serpent_encrypt): Don't put an alignment-increasing cast.
8309 (serpent_decrypt): Likewise.
8310 (serpent_test): Likewise.
8311
8312 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8315
8316 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8319
8320 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8321 grub_addr_t casts.
8322 (PTR_TO_UINT64): Likewise.
8323 (PTR_TO_UINT32): Likewise.
8324
8325 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8328 because of stack.
8329 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8330 limit.
8331
8332 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8335 text_width > available width a bit more gracefully.
8336
8337 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8340 current address calculation.
8341
8342 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8345 stack.
8346 (encode_block): Likewise.
8347
8348 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8351 certainety.
8352
8353 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8356 non-RS part to avoid RS messing with GDT.
8357 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8358 Increase to suit in realmode routines.
8359
8360 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/kern/i386/realmode.S: Increase alignment.
8363 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8364
8365 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8368 be deterministic.
8369 (syndroms): Compute 0 syndrom.
8370 (rs_recover): Use 0 syndrom.
8371
8372 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8375
8376 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8379 brackets.
8380
8381 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8384 account.
8385 (get_top_pad): Likewise.
8386 (get_right_pad): Likewise.
8387 (get_bottom_pad): Likewise.
8388
8389 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
8392
8393 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8396 attribute as the structure isn't guaranteed to be properly aligned.
8397 (grub_efi_pci_device_path): Likewise.
8398 (grub_efi_pccard_device_path): Likewise.
8399 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8400 specify the size of `memory_type'.
8401 (grub_efi_vendor_device_path): Likewise.
8402 (grub_efi_controller_device_path): Likewise.
8403 (grub_efi_acpi_device_path): Likewise.
8404 (grub_efi_expanded_acpi_device_path): Likewise.
8405 (grub_efi_atapi_device_path): Likewise.
8406 (grub_efi_scsi_device_path): Likewise.
8407 (grub_efi_fibre_channel_device_path): Likewise.
8408 (grub_efi_1394_device_path): Likewise.
8409 (grub_efi_usb_device_path): Likewise.
8410 (grub_efi_usb_class_device_path): Likewise.
8411 (grub_efi_i2o_device_path): Likewise.
8412 (grub_efi_mac_address_device_path): Likewise.
8413 (grub_efi_ipv4_device_path): Likewise.
8414 (grub_efi_ipv6_device_path): Likewise.
8415 (grub_efi_infiniband_device_path): Likewise.
8416 (grub_efi_uart_device_path): Likewise.
8417 (grub_efi_vendor_messaging_device_path): Likewise.
8418 (grub_efi_hard_drive_device_path): Likewise.
8419 (grub_efi_cdrom_device_path): Likewise.
8420 (grub_efi_vendor_media_device_path): Likewise.
8421 (grub_efi_file_path_device_path): Likewise.
8422 (grub_efi_protocol_device_path): Likewise.
8423 (grub_efi_piwg_device_path): Likewise.
8424 (grub_efi_bios_device_path): Likewise.
8425
8426 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8429 (grub_ucs4_to_utf8_alloc): Likewise.
8430 (grub_ucs4_to_utf8): Likewise.
8431 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8432 (grub_ucs4_to_utf8_alloc): Likewise.
8433
8434 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 AFFS never uses unicode.
8437
8438 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8439 (grub_latin1_to_utf8): New inline function.
8440 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8441
8442 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8445 overflow.
8446
8447 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8450 (grub_squash_dirent_header): Likewise.
8451 (read_chunk): Don't double swap.
8452 (grub_squash_iterate_dir): Fix swap sizes.
8453
8454 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
8457
8458 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
8461 (grub_hfs_iterate_dir): Likewise.
8462
8463 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 Fix video on platforms where unaligned access is forbidden.
8466 Make several optimisations while on it.
8467
8468 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
8469 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8470 (grub_video_fbblit_replace_32bit_1bit): Likewise.
8471 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8472 Disable.
8473 (grub_video_fbblit_replace_16bit_1bit):
8474 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8475 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8476 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
8477 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
8478 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8479 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8480 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
8481 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
8482 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
8483 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
8484 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
8485 (grub_video_fbblit_replace_index_RGB888): Likewise.
8486 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
8487 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
8488 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
8489 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
8490 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
8491 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8492 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8493 Disable.
8494 (grub_video_fbblit_blend_XXX565_1bit):
8495 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8496 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
8497 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
8498 void *.
8499 * grub-core/video/fb/video_fb.c (common_blitter)
8500 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
8501 (grub_video_fb_create_render_target_from_pointer)
8502 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8503 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
8504 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
8505 definition.
8506 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
8507
8508 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
8511 HH22 and HM10 relocations.
8512
8513 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
8516
8517 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
8520 allocation succeeded.
8521
8522 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
8525 argument a u8 pointer. All users updated.
8526 Handle unaligned buffers.
8527
8528 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
8531 add_part to workaround compiler bug.
8532
8533 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
8536
8537 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
8540 Reserve alignment invariants.
8541 (grub_multiboot_load): Likewise.
8542 (retrieve_video_parameters): Likewise.
8543 (grub_multiboot_make_mbi): Likewise.
8544
8545 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
8548 incorrect pointer.
8549
8550 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
8553 (grub_pata_pio_write): Likewise.
8554
8555 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 Add noreturn attributes and remove unreachable code.
8558
8559 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8560 code.
8561 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8562 code. Mark as noreturn.
8563 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
8564 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
8565 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
8566 unreachable code.
8567 * grub-core/kern/main.c (grub_main): Mark as noreturn.
8568 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
8569 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
8570 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
8571 * include/grub/kernel.h (grub_main): Mark as noreturn.
8572 * include/grub/reader.h (grub_rescue_run): Likewise.
8573
8574 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
8577 redundant declaration.
8578
8579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * include/grub/net.h (grub_net_network_level_interfaces): Remove
8582 redundant declaration.
8583 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
8584
8585 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
8588 to ensure alignment.
8589 (grub_hdparm_print_identify): Make argument uint16 * to ensure
8590 alignment. Ensure tmp alignment.
8591 (grub_cmd_hdparm): Ensure buf alignment.
8592 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
8593 to ensure alignment.
8594 (grub_ata_dumpinfo): Ensure text alignment.
8595 (grub_atapi_identify): Preserve alignment invariant.
8596 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
8597
8598 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
8601 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
8602 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
8603 * include/grub/misc.h (grub_reboot)
8604 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
8605 (grub_halt) [__mips__]: Likewise.
8606
8607 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
8610 Remove redundant declaration.
8611 (grub_mmap_get_post64): Likewise.
8612 (grub_mmap_get_upper): Likewise.
8613 (grub_mmap_get_lower): Likewise.
8614
8615 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8618 uint32_t * to ensure alignment.
8619 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8620
8621 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8624 uint16_t * to ensure alignment.
8625 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8626 alignment.
8627
8628 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
8631 to ensure alignment.
8632 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8633
8634 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8637 Handle unaligned pointers.
8638 (u32at): Likewise.
8639 (u64at): Likewise.
8640 (fixup): Use byte access instead of v16at.
8641 (find_attr): Fix imporper usage of v32at.
8642 (read_data): Likewise.
8643 (list_file): Handle byte-swapping and unaligned strings.
8644 (grub_ntfs_label): Likewise.
8645
8646 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8649 as it's not necessarily aligned.
8650
8651 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8654 redundant declaration.
8655 (grub_serial_init): Likewise.
8656 (grub_terminfo_init): Likewise.
8657
8658 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8661 function.
8662 (ZAP_HASH_IDX): Likewise.
8663 (ZAP_LEAF_HASH_SHIFT): Likewise.
8664 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8665 (LEAF_HASH): Likewise.
8666 (ZAP_LEAF_NUMCHUNKS): Likewise.
8667 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8668 alignment invariants. Return pointer. All users updated.
8669 (ZAP_LEAF_ENTRY): Make into inline function.
8670 (NBBY): Removed.
8671 (xor): LIkewise.
8672 (xor_out): Use grub_crypto_xor.
8673 (dnode_get_path): Use grub_get_unaligned.
8674 (nvlist_find_value): Likewise.
8675 (grub_zfs_nvlist_lookup_uint64): Likewise.
8676 (grub_zfs_nvlist_lookup_string): Likewise.
8677 (get_nvlist_size): Likewise.
8678 (grub_zfs_open): Likewise.
8679 (fill_fs_info): Likewise.
8680 (grub_zfs_dir): Likewise.
8681 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8682 alignment invariants.
8683 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8684 necessarily aligned.
8685
8686 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8689
8690 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8693 arithmetic to conserve alignment invariants.
8694
8695 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8698 redundant declaration.
8699 (grub_efiemu_mm_obtain_request): Likewise.
8700 (grub_efiemu_prepare): Likewise.
8701
8702 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8705 to match types.
8706
8707 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8710 case of aunaligned recptr.
8711 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8712 alignment.
8713 (grub_hfsplus_btree_search): Handle unaligned index.
8714
8715 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8718 to get freetag and skip.
8719
8720 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8723 array.
8724 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8725 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8726
8727 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8730 name for checksum and fix allocation algorithm.
8731
8732 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * include/grub/types.h (grub_properly_aligned_t): New type.
8735 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8736 (grub_get_unaligned16): Add explicit casts.
8737 (grub_get_unaligned32): Likewise.
8738 (grub_get_unaligned64): Likewise.
8739 (grub_set_unaligned16): New function.
8740 (grub_set_unaligned32): Likewise.
8741
8742 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8745
8746 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8749 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8750 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8751
8752 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8755 conditionals.
8756
8757 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8760 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8761
8762 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 Unify and improve RAID and crypto xor.
8765
8766 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8767 changed to grub_crypto_xor
8768 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8769 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8770 Use bigger types when possible.
8771
8772 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/disk/raid.c (scan_devices): Fix condition.
8775
8776 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8779 Make name a const ptr.
8780
8781 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8784 first argument a const pointer.
8785 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8787 proto.
8788 (grub_children_iterate): Likewise.
8789 (grub_machine_mmap_iterate): Remove redundant declaration.
8790
8791 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8794 (grub_cmd_acpi) [!x86]: Disable EBDA.
8795
8796 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Enable UTF8 in gnulib regexp.
8799
8800 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8801 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8802 (isupper): Use grub_isupper.
8803 (isascii): New inline function.
8804 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8805 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8806 * grub-core/normal/charset.c (grub_utf8_process): New function.
8807 (grub_utf8_to_utf16): Use grub_utf8_process.
8808 (grub_encode_utf8_character): New function.
8809 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8810 * include/grub/charset.h (grub_utf8_process): New declaration.
8811 (grub_encode_utf8_character): Likewise.
8812 * include/grub/misc.h (grub_islower): New inline function.
8813 (grub_isupper): Likewise.
8814 (grub_strchrsub): Moved down to fix the definitions.
8815
8816 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8819 specification.
8820
8821 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * include/grub/loader.h (grub_loader_register_preboot_hook):
8824 Use struct preboot * and not void * for handle. All users updated.
8825 (grub_loader_unregister_preboot_hook): Likewise.
8826
8827 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8830 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8831 UTF-16-BE. All users updated.
8832 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8833 (grub_hfsplus_iterate_dir): Likewise.
8834 (grub_hfsplus_label): Likewise.
8835
8836 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8839
8840 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 Add missing const qualifiers.
8843
8844 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8845 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8846 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8847 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8848 (grub_lvm_check_flag): Likewise.
8849 * grub-core/efiemu/i386/coredetect.c
8850 (grub_efiemu_get_default_core_name): Likewise
8851 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8852 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8853 * grub-core/fs/ntfs.c (fixup): Likewise.
8854 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8855 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8856 (fzap_lookup): Likewise.
8857 (zap_lookup): Likewise.
8858 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8859 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8860 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8861 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8862 (grub_freebsd_add_meta_module): Likewise.
8863 (grub_cmd_freebsd_module): Likewise.
8864 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8865 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8866 (grub_xnu_writetree_get_size): Likewise.
8867 (grub_xnu_writetree_toheap_real): Likewise.
8868 (grub_xnu_find_key): Likewise.
8869 (grub_xnu_create_key): Likewise.
8870 (grub_xnu_create_value): Likewise.
8871 (grub_xnu_register_memory): Likewise.
8872 (grub_xnu_check_os_bundle_required): Likewise.
8873 (grub_xnu_scan_dir_for_kexts): Likewise.
8874 (grub_xnu_load_kext_from_dir): Likewise.
8875 * grub-core/normal/color.c (color_list): Likewise.
8876 * grub-core/normal/completion.c (current_word): Likewise.
8877 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8878 * grub-core/term/serial.c (grub_serial_find): Likewise.
8879 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8880 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8881 Likewise.
8882 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8883 (grub_freebsd_add_meta_module): Likewise.
8884 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8885 * include/grub/net.h (grub_net_card_driver): Likewise.
8886 (grub_net_card): Likewise.
8887 (grub_net_app_protocol): Likewise.
8888 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8889 * include/grub/serial.h (grub_serial_find): Likewise.
8890 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8891 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8892 (grub_xnu_create_value): Likewise.
8893 (grub_xnu_find_key): Likewise.
8894 (grub_xnu_scan_dir_for_kexts): Likewise.
8895 (grub_xnu_load_kext_from_dir): Likewise.
8896
8897 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8898 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8899 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8900 Moved from here ...
8901 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8902
8903 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
8904
8905 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8906
8907 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8910 (read_device): Fix size calculation.
8911
8912 2011-11-25 Robert Millan <rmh@gnu.org>
8913
8914 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8915 (find_root_device_from_libzfs): Add zpool output parser to be used
8916 as fallback when libzfs isn't available.
8917
8918 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8919
8920 * po/Makefile.in.in: Add missing escape-continuation.
8921
8922 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8925
8926 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8929
8930 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8933
8934 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8937
8938 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/lib/adler32.c: Add missing license specification.
8941 * grub-core/lib/crc64.c: Likewise.
8942 * grub-core/loader/i386/pc/plan9.c: Likewise.
8943 * grub-core/partmap/plan.c: Likewise.
8944
8945 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8946
8947 Add facility to debug GRUB with gdb under qemu.
8948
8949 * grub-core/gdb_grub.in: New file.
8950 * grub-core/gmodule.pl.in: Likewise.
8951 * grub-core/Makefile.core.def (gmodule.pl): New script.
8952 (gdb_grub): Likewise.
8953
8954 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * util/grub-mount.c (argp_parser): Accept relative pathes.
8957 * util/grub-fstest.c (argp_parser): Likewise.
8958
8959 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Plan9 support.
8962
8963 * Makefile.util.def (libgrubmods): Add
8964 grub-core/partmap/plan.c.
8965 * docs/grub.texi: Notice Plan9 support.
8966 * grub-core/Makefile.core.def (plan9): New module.
8967 (part_plan): Likewise.
8968 * grub-core/loader/i386/pc/plan9.c: New file.
8969 * grub-core/partmap/plan.c: Likewise.
8970 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8971 define.
8972 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8973 * include/grub/mm.h (grub_extend_alloc): New inline function.
8974
8975 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 Make Reed-Solomon faster by using power of generator representation of
8978 GF(256)*.
8979
8980 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8981 (gf_double_t): Likewise.
8982 (gf_invert): Removed.
8983 (gf_powx): New array.
8984 (gf_powx_inv): Likewise.
8985 (scratch): Move higher.
8986 (gf_reduce): Removed.
8987 (gf_mul): Use powx.
8988 (gf_invert): Likewise.
8989 (init_inverts): Replaced with ...
8990 (init_powx): ...this. All users updated.
8991 (pol_evaluate): Replace multiplications with additions.
8992 (rs_encode): Likewise.
8993 (gauss_eliminate): Call gf_invert.
8994 (grub_reed_solomon_add_redundancy): Call init_powx.
8995 (grub_reed_solomon_recover): Call init_powx unconditionally.
8996
8997 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9000
9001 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9004 disk->partiton for safety.
9005
9006 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9009 Fix a memory leak.
9010 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9011
9012 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9015
9016 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9019
9020 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 Fix spaces handling in proc/self/mountinfo.
9023
9024 * util/getroot.c (unescape): New function.
9025 (grub_find_root_device_from_mountinfo): Use unescape.
9026
9027 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 Support ZFS embedding.
9030
9031 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9032 (grub_zfs_fs): Register grub_zfs_embed.
9033
9034 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 Fix MIPS compilation.
9037
9038 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9039 * include/grub/offsets.h: Rename decompressor fields from
9040 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9041 * util/grub-mkimage.c (image_targets): Use new names.
9042
9043 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 Defer multiboot device parsing until we're in compressed part.
9046
9047 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9048 bsd_part. setdevice has fallen into disuse.
9049 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9050 (bsd_part): Likewise.
9051 (boot_dev): New variable.
9052 (multiboot_trampoline): Don't parse multiboot device.
9053 Pass multiboot device in %edx.
9054 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9055 grub_boot_device.
9056 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9057 Likewise.
9058 * grub-core/kern/i386/pc/startup.S: Save edx.
9059 (grub_boot_drive): Removed.
9060 (grub_install_dos_part): Likewise.
9061 (grub_install_bsd_part): Likewise.
9062 (grub_boot_device): New variable.
9063 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9064 (grub_install_bsd_part): Likewise.
9065 (grub_boot_drive): Likewise.
9066 (grub_boot_device): New variable.
9067 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9068 Removed.
9069 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9070 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9071 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9072 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9073 * util/grub-install.in: Remove redundant condition.
9074
9075 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 Fix bug introduced by previous commit.
9078
9079 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9080
9081 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 Use decompressors framework on i386-pc. It increases core size
9084 by 46 bytes but improves compatibility and maintainability.
9085
9086 * grub-core/Makefile.core.def (lzma_decompress): New image.
9087 (kernel): Add i386_pc_ldflags.
9088 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9089 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9090 to real_to_prot, prot_to_real and device info.
9091 * include/grub/offsets.h: Renamed decompressor offsets.
9092 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9093 (image_target_desc): Remove raw_size and rename decompressor fields.
9094 (compress_kernel): Handle lzma.
9095 (generate_image): Handle decompressors on i386-pc.
9096
9097 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * configure.ac: Add -fno-asynchronous-unwind-tables.
9100
9101 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 Move assembly code to C by using intwrap. It increases core size
9104 by 88 bytes but improves compatibility and maintainability.
9105
9106 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9107 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9108 ... here. Translated to C.
9109 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9110 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9111 ... here. Translated to C.
9112 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9113 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9114 ... here. Translated to C.
9115 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9116 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9117 ... here. Translated to C.
9118 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9119 * grub-core/term/i386/pc/console.c (grub_console_cls):
9120 ... here. Translated to C.
9121 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9122 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9123 ... here. Translated to C.
9124 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9125 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9126 Translated to C.
9127 * grub-core/term/i386/pc/console.c (int10_9): New function.
9128 (grub_console_putchar): Likewise.
9129 * include/grub/i386/pc/console.h: Removed the not anymore shared
9130 functions.
9131
9132 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 Move grub_chainloader_real_boot out of the kernel.
9135
9136 * grub-core/Makefile.am: Remove machine/loader.h.
9137 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9138 Removed.
9139 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9140 variable.
9141 (grub_relocator16_keep_a20_enabled): Likewise.
9142 (grub_relocator16_boot): Fill new variables.
9143 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9144 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9145 relocator.
9146 (grub_chainloader_unload): Likewise.
9147 (grub_chainloader_cmd): Likewise.
9148 * include/grub/i386/pc/loader.h: Removed.
9149 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9150 and esi. All initialisers updated.
9151
9152 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9153 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
9154
9155 * Makefile.util.def (grub-mount): New util.
9156 * .bzrignore: Add grub-mount.
9157 * configure.ac: Check for fuse and enable grub-mount if available.
9158 * docs/man/grub-mount.h2m: New file.
9159 * util/grub-mount.c: Likewise.
9160
9161 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/commands/efi/fixvideo.c: Gettextize.
9164 * grub-core/commands/hashsum.c: Likewise.
9165 * grub-core/commands/i386/cmostest.c: Likewise.
9166 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9167 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9168 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9169 * grub-core/commands/lsmmap.c: Likewise.
9170 * grub-core/commands/menuentry.c: Likewise.
9171 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9172 * grub-core/commands/setpci.c: Likewise.
9173 * grub-core/loader/i386/bsd.c: Likewise.
9174 * grub-core/loader/i386/linux.c: Likewise.
9175 * util/getroot.c: Likewise.
9176 * util/grub-editenv.c: Likewise.
9177 * util/grub-fstest.c: Likewise.
9178 * util/grub-mkfont.c: Likewise.
9179 * util/grub-mkimage.c: Likewise.
9180 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9181 * util/grub-pe2elf.c: Likewise.
9182 * util/grub-probe.c: Likewise.
9183 * util/grub-setup.c: Likewise.
9184 * util/ieee1275/ofpath.c: Likewise.
9185 * util/misc.c: Likewise.
9186 * util/raid.c: Likewise.
9187
9188 2011-11-11 Robert Millan <rmh@gnu.org>
9189
9190 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9191 __attribute__((unused)) from `os_dev', which *is* being used.
9192
9193 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9196 forgotten define.
9197 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9198 GRUB_IA64_DL_GOT_ALIGN.
9199 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9200 GRUB_IA64_DL_TRAMP_ALIGN.
9201
9202 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 Replace grub_fatal with normal errors in i386 linux loader.
9205
9206 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9207 (allocate_pages): Check find_efi_mmap_size return value.
9208 (grub_e820_add_region): Return error.
9209 (grub_linux_boot): Check mmap return value.
9210
9211 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/commands/acpihalt.c: Gettextized.
9214 * grub-core/commands/cacheinfo.c: Likewise.
9215 * grub-core/commands/cmp.c: Likewise.
9216 * grub-core/commands/efi/loadbios.c: Likewise.
9217 * grub-core/commands/gptsync.c: Likewise.
9218 * grub-core/commands/ieee1275/suspend.c: Likewise.
9219 * grub-core/commands/legacycfg.c: Likewise.
9220 * grub-core/commands/memrw.c: Likewise.
9221 * grub-core/commands/minicmd.c: Likewise.
9222 * grub-core/commands/parttool.c: Likewise.
9223 * grub-core/commands/time.c: Likewise.
9224 * grub-core/commands/videoinfo.c: Likewise.
9225 * grub-core/disk/geli.c: Likewise.
9226 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9227 * grub-core/disk/luks.c: Likewise.
9228 * grub-core/disk/lvm.c: Likewise.
9229 * grub-core/font/font_cmd.c: Likewise.
9230 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9231 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9232 * grub-core/gfxmenu/view.c: Likewise.
9233 * grub-core/kern/emu/hostdisk.c: Likewise.
9234 * grub-core/kern/emu/main.c: Likewise.
9235 * grub-core/kern/emu/misc.c: Likewise.
9236 * grub-core/kern/emu/mm.c: Likewise.
9237 * grub-core/kern/mips/arc/init.c: Likewise.
9238 * grub-core/kern/mips/loongson/init.c: Likewise.
9239 * grub-core/kern/partition.c: Likewise.
9240 * grub-core/lib/i386/halt.c: Likewise.
9241 * grub-core/lib/mips/arc/reboot.c: Likewise.
9242 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9243 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9244 * grub-core/loader/i386/xnu.c: Likewise.
9245 * grub-core/loader/multiboot.c: Likewise.
9246 * grub-core/net/bootp.c: Likewise.
9247 * grub-core/net/net.c: Likewise.
9248 * grub-core/normal/term.c: Likewise.
9249 * grub-core/partmap/bsdlabel.c: Likewise.
9250 * grub-core/parttool/msdospart.c: Likewise.
9251 * grub-core/term/gfxterm.c: Likewise.
9252 * grub-core/term/terminfo.c: Likewise.
9253 * grub-core/video/i386/pc/vbe.c: Likewise.
9254 * util/grub-menulst2cfg.c: Likewise.
9255 * util/grub-mkdevicemap.c: Likewise.
9256 * util/grub-mklayout.c: Likewise.
9257 * util/grub-mkrelpath.c: Likewise.
9258 * util/grub-script-check.c: Likewise.
9259 * util/ieee1275/grub-ofpathname.c: Likewise.
9260 * util/resolve.c: Likewise.
9261
9262 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Support %1$d syntax.
9265
9266 * tests/printf_unit_test.c: New file.
9267 * Makefile.util.def (printf_test): New test.
9268 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9269
9270 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9273 fix.
9274
9275 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9278 dprintf.
9279 * grub-core/font/font.c (grub_font_load): Likewise.
9280
9281 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * util/grub-macho2img.c: Add comment concerning gettext.
9284 * grub-core/lib/legacy_parse.c: Likewise.
9285
9286 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9289 (grub_xvasprintf): Likewise.
9290
9291 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 Add const keyword to grub_env_get and gettextize week days.
9294
9295 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9296 (grub_read_hook_datetime): Return const char *.
9297 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9298 updated.
9299 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9300 Mark for gettext.
9301 (grub_get_weekday_name): Return const char *. Call gettext.
9302 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9303 char * and len as the argument. All users updated.
9304 (grub_script_argv_split_append): Receive const char *.
9305 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9306 * include/grub/env.h (grub_env_get): Likewise.
9307 (grub_env_read_hook_t): Return const char *.
9308 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9309 (grub_script_argv_split_append): Likewise.
9310
9311 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9314
9315 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9318 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9319
9320 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9323 Fix prototype.
9324
9325 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 Fix mips compilation.
9328
9329 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9330 normal decoder.
9331 (hashes): Use in embed decoder as well (for sizes).
9332 (dec_stream_header): Fix embed decompressor logic.
9333 (dec_stream_footer): Likewise.
9334
9335 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9338 an error and not a fatal on unrecognised relocation types.
9339
9340 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9343 Issue error rather than printf on unknown arguments.
9344
9345 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9348 Make buf a const.
9349
9350 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9353 Fix module name.
9354
9355 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9358 leftover debug printf.
9359
9360 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9361
9362 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9363
9364 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9367 A stylistic fix.
9368
9369 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9372
9373 2011-11-10 Shea Levy <slevy@tieronedesign.com>
9374
9375 Allow all modules to perform serial IO
9376
9377 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9378 * include/grub/serial.h (grub_serial_port_configure): New inline
9379 function.
9380 (grub_serial_port_fetch): Likewise.
9381 (grub_serial_port_put): Likewise.
9382 (grub_serial_port_fini): Likewise.
9383 (grub_serial_find): New proto.
9384
9385 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Put symlink at the end of the node and fix a potential
9388 memory corruption.
9389
9390 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9391 Make symlink into an array.
9392 (set_rockridge): Set have_symlink and alloc_dirents.
9393 (grub_iso9660_read_symlink): Use new layout.
9394 (grub_iso9660_iterate_dir): Fix memory corruption.
9395 Use new layout.
9396 (grub_iso9660_dir): Set have_symlink.
9397 (grub_iso9660_open): Likewise.
9398
9399 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 Remove local keyword.
9402
9403 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9404 (version_test_gt): Likewise.
9405 (version_find_latest): Likewise.
9406 (gettext_printf): Likewise.
9407 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9408
9409 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9412
9413 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 Fix ZFS memory and resource leaks.
9416
9417 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9418 All users updated.
9419 Free type on exit.
9420 (fill_vdev_info): New parameter inserted. All users updated.
9421 (check_pool_label): Likewise.
9422 (scan_disk): Likewise.
9423 (scan_devices): Close non-inserted disks.
9424 (fzap_iterate): Free l.
9425 (unmount_device): Free children descripto memory.
9426
9427 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9430 argument (access out of bounds).
9431
9432 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9435 >= 6 drives.
9436
9437 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9440 Fix declaration.
9441
9442 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 Fix several memory leaks.
9445
9446 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9447 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9448 (grub_cpio_dir): Likewise.
9449 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9450 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9451 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9452 (grub_romfs_label): Likewise.
9453 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
9454 (squash_unmount): New function.
9455 (grub_squash_dir): Fix memory leak.
9456 (grub_squash_open): Likewise.
9457 (grub_squash_read): Likewise.
9458 (grub_squash_mtime): Likewise.
9459 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
9460 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
9461 * util/grub-fstest.c (fstest): Likewise.
9462
9463 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
9466 avoid accessing beyond the array.
9467
9468 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
9471
9472 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Several AFFS fixes.
9475
9476 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
9477 (GRUB_AFFS_FLAG_FFS): Removed.
9478 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
9479 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
9480 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
9481 (grub_fshelp_node): Make block 32-bit.
9482 Add block_cache and last_block_cache.
9483 (grub_affs_read_block): Fill and use block cache.
9484 (grub_affs_read_file): Removed.
9485 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
9486 boot block.
9487 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
9488 safety.
9489 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
9490 space.
9491 (grub_affs_close): Free block cache.
9492 (grub_affs_read): Use grub_fshelp_read_file directly.
9493
9494 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
9497 with no error set.
9498
9499 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
9502 used variable.
9503 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9504 Likewise.
9505
9506 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
9509
9510 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
9511 byteswap when needed.
9512
9513 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Fix FreeBSD compilation.
9516
9517 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
9518 to avoid circular dependency.
9519 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
9520 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
9521 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
9522
9523 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 Fix ZFS crypto error types.
9526
9527 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
9528 (grub_gcm_decrypt): Likewise.
9529 (grub_zfs_load_key_real): Fix error code type. Handle possible error
9530 from PBKDF2.
9531
9532 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 Illumos support.
9535
9536 * Makefile.util.def (10_illumos): New script.
9537 * configure.ac: Set COND_HOST_ILLUMOS.
9538 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
9539 Support Illumos calls.
9540 (find_partition_start) [__sun__]: Likewise.
9541 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
9542 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
9543 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
9544 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
9545 device.
9546 * util/grub-probe.c (probe) [__sun__]: Do character check.
9547 * util/grub.d/10_illumos.in: New file.
9548
9549 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 Support escaped commas in hostdisk.
9552
9553 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
9554 (find_grub_drive): Use unescape_cmp.
9555 (make_device_name): Escape commas.
9556
9557 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9560
9561 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
9564 variable.
9565
9566 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 Support trampoline jumps on powerpc.
9569
9570 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
9571 __ia64__ path.
9572 (grub_dl_load_segments): Set mod->sz.
9573 (grub_dl_flush_cache): Flush whole space occupied by module, not just
9574 segments.
9575 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
9576 (jump): Likewise.
9577 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
9578 function.
9579 (trampoline): New struct.
9580 (trampoline_template): New const.
9581 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
9582 * include/grub/dl.h (grub_dl): Add sz element.
9583 [__powerpc__]: Follow __ia64__.
9584 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
9585 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
9586 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
9587 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
9588
9589 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 ZFS crypto support.
9592
9593 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
9594 * grub-core/Makefile.core.def (zfscrypt): New module.
9595 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
9596 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
9597 it. All users updated.
9598 (grub_zfs_decrypt): New var.
9599 (grub_zfs_load_key): Likewise.
9600 (zio_checksum_functions): Add SHA256+MAC.
9601 (zio_checksum_verify): Handle incomplete comparison due to MAC.
9602 (zio_read): Handle encrypted blocks.
9603 (zap_verify): Remove incorrect check.
9604 (fzap_iterate): Handle non-standard fzap.
9605 (zap_iterate): Likewise.
9606 (zap_iterate_u64): New function.
9607 (dnode_get_fullpath): Load keys.
9608 * grub-core/fs/zfs/zfscrypt.c: New file.
9609 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
9610 (grub_crypto_ecb_encrypt): Make input const.
9611 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
9612 (grub_crypto_ecb_encrypt): Make input const.
9613 (GRUB_CIPHER_AES): New macro.
9614 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9615 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9616 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9617 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9618 prefix. All users updated.
9619 (grub_zfs_add_key): New proto.
9620 (grub_zfs_decrypt): Likewise.
9621 (grub_zfs_load_key): Likewise.
9622 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9623 * util/grub-fstest.c (options): Add -K option.
9624 (argp_parser): Likewise.
9625
9626 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 Support zle compression on ZFS.
9629
9630 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9631 (decomp_table): Add zle.
9632 * include/grub/zfs/zio.h (zio_compress): Add zle.
9633
9634 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 Support BtrFS embedding.
9637
9638 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9639 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9640 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9641 * util/grub-setup.c (setup): Use fs embedding if available.
9642 Add additional sanity check.
9643
9644 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * util/grub-install.in: Fix condition for config_opt.
9647
9648 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 Support third redundancy strip on raidz3.
9651
9652 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9653 Return error on singularity. All users updated.
9654 (read_device): Don't stop on 3rd failure on raidz3.
9655
9656 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Support case-insensitive ZFS subvolumes.
9659
9660 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9661 All users updated.
9662 (zap_hash): Likewise.
9663 (name_cmp): New function.
9664 (zap_leaf_array_equal): New parameter case_insensitive.
9665 All users updated.
9666 (zap_leaf_lookup): Likewise.
9667 (fzap_lookup): Likewise.
9668 (zap_lookup): Likewise.
9669 (dnode_get_path): New parameter case_insensitive. Retrieve case
9670 sensitiviness of a volume. All users updated.
9671 (dnode_get_fullpath): New parameter case_insensitive.
9672 All users updated.
9673 (grub_zfs_dir): Set info.case_insensitiveness.
9674
9675 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 Support second redundancy strip on raidz(2,3).
9678
9679 * grub-core/fs/zfs/zfs.c (powx): New array.
9680 (powx_inv): Likewise.
9681 (poly): New const.
9682 (xor_out): New function.
9683 (gf_mul): Likewise.
9684 (recovery): Likewise.
9685 (read_device): Use second redundancy strip.
9686
9687 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 Use a power of generator representation of GF(256) multiplication group
9690 to save space time and complexity.
9691
9692 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9693 (raid6_table2): Likewise.
9694 (powx): New array.
9695 (powx_inv): Likewise.
9696 (poly): New const.
9697 (grub_raid_block_mul): Replace with ...
9698 (grub_raid_block_mulx): ...this.
9699 (grub_raid6_init_table): Rewritten.
9700 (grub_raid6_recover): Use power of generator representation.
9701
9702 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9705 for the right device.
9706
9707 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9710 expected by grub-mkimage and it's more clear since there is no implicit
9711 padding.
9712
9713 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9716 disk.
9717 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9718
9719 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9720
9721 * util/grub-mkrescue.in: Fix handling xorriso option.
9722
9723 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9726 NULL.
9727
9728 2011-11-03 crocket <crockabiscuit@gmail.com>
9729
9730 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9731
9732 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 XZ CRC64 and SHA256 support.
9735
9736 * Makefile.util.def (libgrubmods): Add crc64.c.
9737 * grub-core/Makefile.core.def (crc64): New module.
9738 * grub-core/lib/crc64.c: New file.
9739 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9740 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9741 Fix the type.
9742 (MAX_HASH_SIZE): New define.
9743 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9744 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9745 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9746 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9747 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9748 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9749 Handle non-crc32 hashes.
9750 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9751 (dec_stream_header): Handle non-crc32 hashes.
9752 (dec_stream_footer): Likewise.
9753 (dec_block_header): Likewise.
9754 (dec_main): Likewise.
9755 (xz_dec_init): Likewise.
9756 (xz_dec_reset): Likewise.
9757 (xz_dec_end): Likewise.
9758 * util/import_gcry.py: Add CRC64 line.
9759
9760 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9763 as well.
9764
9765 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 Make reiserfs label retrieval similar to other *_label functions.
9768
9769 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9770 (REISERFS_MAX_LABEL_LENGTH): Removed.
9771 (REISERFS_LABEL_OFFSET): Likewise.
9772 (grub_reiserfs_label): Rewritten.
9773
9774 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9777 field.
9778
9779 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9782
9783 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9786 drive failure on both raidz and raidz2.
9787
9788 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Fix RAIDZ(2) for >= 5 devices.
9791
9792 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9793 asize argument. All users updated.
9794
9795 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 Fix RAIDZ(2).
9798
9799 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9800 (fill_vdev_info_real): Set ashift.
9801 (read_device): Rewrite RAIDZ part based on reverse engineering.
9802
9803 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9806 don't report potentially unavialiable fields in debug output.
9807 (find_path): Fix double-free and memory leak.
9808
9809 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 Read label on UFS1.
9812
9813 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9814 (grub_ufs_fs): Always set .label.
9815
9816 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 Use shifts in UFS.
9819
9820 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9821 (grub_ufs_data): New field log2_blksz.
9822 (grub_ufs_read_file): Use shifts.
9823 (grub_ufs_mount): Check block size and logarithm it.
9824
9825 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9828 long symlinks.
9829
9830 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 Handle symlinks and long names on tar and cpio.
9833
9834 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9835 (ATTR_FILE): Likewise.
9836 (ATTR_DIR): Likewise.
9837 (ATTR_LNK): Likewise.
9838 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9839 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9840 L and K entries.
9841 (grub_cpio_mount): Zero-fill data.
9842 (handle_symlink): New function.
9843 (grub_cpio_dir): Handle symlinks.
9844 (grub_cpio_open): Likewise.
9845 (grub_cpio_close) [MODE_USTAR]: Free linkname.
9846
9847 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 Fix iso9660 filename limitations and fix memory leaks.
9850
9851 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9852 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9853
9854 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 Fix JFS file name length limitations.
9857
9858 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9859 (grub_jfs_diropen): Fix maximum filename length.
9860 (grub_jfs_getent): Fix filename length.
9861 (grub_jfs_lookup_symlink): Fix size checks.
9862
9863 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9864
9865 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9866 string.
9867
9868 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 Leverage BFS implementation to read AFS.
9871
9872 * Makefile.util.def (libgrubmods): Add afs.c.
9873 * grub-core/Makefile.core.def (afs): New module
9874 * grub-core/fs/afs.c: New file.
9875 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9876
9877 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
9880
9881 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/fs/bfs.c: Run indent.
9884
9885 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 BFS implementation based on the specification.
9888
9889 * grub-core/fs/bfs.c: New file.
9890 * Makefile.util.def (libgrubmods): Add bfs.c.
9891 * grub-core/Makefile.core.def (bfs): New module.
9892
9893 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/grub-fstest.c (cmd_cp): Clarify error message.
9896 (cmd_cmp): Likewise.
9897
9898 2011-10-30 Yves Blusseau <blusseau@zetam.org>
9899
9900 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9901 and befs_be.
9902
9903 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Remove afs and befs because of copyright problem.
9906
9907 * grub-core/fs/afs.c: Removed.
9908 * grub-core/fs/afs_be.c: Removed.
9909 * grub-core/fs/befs.c: Removed.
9910 * grub-core/fs/befs_be.c: Removed.
9911 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9912 * grub-core/Makefile.core.def (afs): Removed.
9913 (afs_be): Likewise.
9914 (befs): Likewise.
9915 (befs_be): Likewise.
9916
9917 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 Prefer rockridge over Joliet.
9920
9921 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9922 to ...
9923 (set_rockridge): ... here.
9924 (grub_iso9660_mount): Check rockridge on the primary label when
9925 discovering. Ignore Joliet if Rockridge is present.
9926
9927 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 Use shifts in nilfs2.
9930
9931 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9932 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9933 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9934 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9935 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9936 (grub_nilfs2_entries_per_block): Replaced with ...
9937 (grub_nilfs2_log_entries_per_block_log): ... this.
9938 (grub_nilfs2_blocks_per_group): Replaced with ...
9939 (grub_nilfs2_blocks_per_group_log): ... this.
9940 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9941 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9942 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9943 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9944 (grub_nilfs2_palloc_entry_offset): Replaced ...
9945 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9946 (grub_nilfs2_dat_translate): Use shifts.
9947 (grub_nilfs2_read_inode): Likewise.
9948 (GRUB_MOD_INIT): Ensure that logs are correct.
9949
9950 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 Use shifts in minix filesystem.
9953
9954 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9955 (GRUB_MINIX_ZONE2SECT): Likewise.
9956 (grub_minix_data): Replace block_size with log_block_size.
9957 (grub_minix_read_file): Use shifts.
9958 (grub_minix_mount): Check block size and take a logarithm.
9959
9960 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Use shifts in squash4.
9963
9964 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9965 (squash_mount): Check block size and take logarithm.
9966 (direct_read): Use shifts.
9967
9968 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 Correct befs block counting logic.
9971
9972 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9973 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9974 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9975 (grub_afs_read_inode): Use block_shift.
9976 (RANGE_SHIFT): New definition.
9977 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9978 unexpected conditions, use shifts and appropriate types.
9979 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9980
9981 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/disk/raid.c (scan_devices): Check partition.
9984 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9985
9986 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 Support BFS (befs) UUID.
9989
9990 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9991 (grub_afs_small_data_element_header): New struct.
9992 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9993 (grub_afs_read_attribute) [MODE_BFS]: New function.
9994 (grub_afs_iterate_dir): Allocate for complete inode.
9995 (grub_afs_mount): Likewise.
9996 (grub_afs_uuid) [MODE_BFS]: New function.
9997 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9998
9999 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10002 (zfs_unmount): Fix memory leak.
10003
10004 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 Support NTFS reparse points.
10007
10008 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10009 (symlink_descriptor): New struct.
10010 (grub_ntfs_read_symlink): New function.
10011 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10012 (grub_ntfs_open): Likewise.
10013
10014 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10017
10018 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 fstest xnu_uuid subcommand.
10021
10022 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10023 grub-core/commands/xnu_uuid.c.
10024 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10025 (fstest): Handle xnu_uuid.
10026 (options): Document xnu_uuid.
10027 (argp_parser): Parse xnu_uuid.
10028
10029 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10032 -l argument. Add newline at the end if printing.
10033 (GRUB_MOD_INIT): Document -l.
10034
10035 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10038
10039 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 ZFS multi-device and version 33 support.
10042
10043 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10044 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10045 (grub_zfs_data): Add multidev-ice-related fields.
10046 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10047 (dva_get_offset): Make dva const.
10048 (zfs_fetch_nvlist): New function.
10049 (fill_vdev_info_real): Likewise.
10050 (fill_vdev_info): Likewise.
10051 (check_pool_label): Likewise.
10052 (scan_disk): Likewise.
10053 (scan_devices): Likewise.
10054 (read_device): Likewise.
10055 (read_dva): Likewise.
10056 (zio_read_gang): Use read_dva.
10057 (zio_read_data): Likewise.
10058 (zap_leaf_lookup): Add missing endian conversion.
10059 (zap_verify): Add missing endian conversion. All users updated.
10060 (fzap_lookup): Likewise.
10061 (fzap_iterate): Likewise.
10062 (dnode_get_path): Handle SA bonus.
10063 (nvlist_find_value): Make input const. All users updated.
10064 (unmount_device): New function.
10065 (zfs_unmount): Use unmount_device.
10066 (zfs_mount): Use scan_disk.
10067 (zfs_mtime): New function.
10068 (grub_zfs_open): Handle system attributes.
10069 (fill_fs_info): Likewise.
10070 (grub_zfs_dir): Likewise.
10071 (grub_zfs_fs): Add mtime.
10072 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10073 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10074 (SA_MTIME_OFFSET): Likewise.
10075 (SA_SYMLINK_OFFSET): Likewise.
10076 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10077 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10078 (fstest): Support zfsinfo.
10079 (argp_parser): Likewise.
10080
10081 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10084 error.
10085
10086 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 ZFS fixes.
10089
10090 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10091 sharing the same block. Iterate over correct number of indices.
10092 (dnode_get_path): Handle symlinks correctly.
10093
10094 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10097
10098 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Read label on HFS+.
10101
10102 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10103 (grub_hfsplus_btree_search): Fix types.
10104 (grub_hfsplus_label): Implement.
10105
10106 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10109
10110 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10113
10114 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 Fix symlink handling on iso9660.
10117
10118 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10119 All users updated.
10120 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10121 (grub_iso9660_read_symlink): Moved most of code ...
10122 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10123
10124 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10127 Use union to avoid breaking strict-aliasing rules.
10128
10129 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 Support multi-extent iso files.
10132
10133 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10134 Add node.
10135 (grub_fshelp_node): Revamp. All users updated.
10136 (FLAG_*): New enum.
10137 (read_node): New function.
10138 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10139 All users updated.
10140 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10141 (get_node_size): New function.
10142 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10143 entries.
10144 Fix memory leak on . and ..
10145 (grub_iso9660_read): Use read_node.
10146 (grub_iso9660_close): Free node.
10147
10148 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 Fix tar 4G limit and handle paths containing dot.
10151
10152 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10153 (canonicalize): New function.
10154 (grub_cpio_find_file): Use canonicalize. Store offs in
10155 grub_disk_addr_t.
10156 (grub_cpio_dir): Use grub_disk_addr_t.
10157 (grub_cpio_open): Likewise.
10158
10159 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10162
10163 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10164 unused flags.
10165 (grub_squash_inode): Add long_file and block_size.
10166 (grub_squash_cache_inode): New struct.
10167 (grub_squash_dirent): Make types into enum.
10168 (SQUASH_TYPE_LONG_REGULAR): New type.
10169 (grub_squash_frag_desc): Add field size.
10170 (SQUASH_BLOCK_FLAGS): New enum.
10171 (grub_squash_data): Use grub_squash_cache_inode.
10172 (grub_fshelp_node): Make ino_chunk 64-bit.
10173 (read_chunk): Minor argument change. All users updated.
10174 (squash_mount): Use correct le_to_cpu.
10175 (grub_squash_open): Handle LONG_REGULAR.
10176 (direct_read): New function.
10177 (grub_squash_read_data): Handle blocks correctly.
10178
10179 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10182
10183 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10186
10187 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 Fix 2G limit on ZFS.
10190
10191 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10192 types.
10193 (uberblock_verify): Likewise.
10194 (dmu_read): Likewise.
10195 (grub_zfs_read): Likewise. Remove invalid cast.
10196
10197 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10200 (grub_jfs_blkno): Fix incorrect shift.
10201 (grub_jfs_read_file): Use more appropriate types.
10202
10203 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Support triple indirect on minix2 and minix3.
10206
10207 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10208 Declare triple_indir_zone.
10209 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10210 indirect.
10211
10212 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 Minix FS fixes.
10215
10216 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10217 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10218 Rename ctime to mtime. All users updated.
10219 (grub_minix_get_file_block): Fix types and double indirect computations.
10220
10221 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10224 if no label is found.
10225 (grub_fat_iterate_dir): Fix file size type.
10226 (grub_fat_iterate_dir): Likewise.
10227
10228 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10231 save some space.
10232 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10233 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10234
10235 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10238
10239 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * util/import_gcry.py: Accept space between # and include.
10242
10243 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10246
10247 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10250
10251 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10252 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10253 yylex_strncpy.
10254 * grub-core/script/yylex.l: Add fine-grained #pragma.
10255
10256 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10259 New inline function.
10260 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10261 Likewise.
10262 (memset) [GRUB_UTIL]: Likewise.
10263 (memcmp) [GRUB_UTIL]: Likewise.
10264
10265 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10268 inline function rather than a define.
10269
10270 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/grub-setup.c: Add missing include.
10273
10274 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 * util/ieee1275/grub-ofpathname.c: Add missing include.
10277
10278 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10281 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10282 Likewise.
10283
10284 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10287 grub_memcmp usage.
10288
10289 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * util/grub-install.in: Add datarootdir as per automake manual
10292 suggestion.
10293 * util/grub-mknetdir.in: Likewise.
10294
10295 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10298 suggestion.
10299 * util/grub.d/10_kfreebsd.in: Likewise.
10300 * util/grub.d/10_linux.in: Likewise.
10301 * util/grub.d/10_netbsd.in: Likewise.
10302 * util/grub.d/10_windows.in: Likewise.
10303 * util/grub.d/20_linux_xen.in: Likewise.
10304
10305 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 Remove redundant grub_kernel_image_size.
10308
10309 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10310 _edata and _start.
10311 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10312 the small code. It moves it only by few bytes but simplifies the code.
10313 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10314 _start.
10315 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10316 (grub_kernel_image_size): Removed.
10317 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10318 (grub_kernel_image_size): Removed.
10319 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10320 compiled with Apple toolchain.
10321 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10322 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10323 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10324 (grub_total_module_size): Likewise.
10325 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10326 Removed.
10327 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10328 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10329 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10330 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10331 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10332 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10333 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10334 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10335 Removed.
10336 (grub_total_module_size): Removed.
10337 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10338 (image_targets): Likewise.
10339 Set .compressed_size to no field on sparc.
10340 (generate_image): Remove kernel_image_size handling.
10341
10342 2011-10-19 Szymon Janc <szymon@janc.net.pl>
10343
10344 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10345 NULL pointer dereference.
10346
10347 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10350 done with a dedicated section.
10351
10352 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10353 Ensure the correct position of boot_path.
10354 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10355 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10356 other fields.
10357 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10358 * include/grub/boot.h: Removed. All references removed.
10359 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10360 Removed.
10361 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10362
10363 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10366 name.
10367
10368 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10371
10372 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10375 Don't add the bogus brackets.
10376
10377 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 ExFAT support.
10380
10381 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10382 * grub-core/Makefile.core.def (exfat): New module.
10383 * grub-core/fs/exfat.c: New file.
10384 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10385 (GRUB_FAT_ATTR_*): Make into an enum.
10386 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10387 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10388 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10389 (GRUB_FAT_MAXFILE): Removed.
10390 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10391 (grub_current_fat_bpb_t): New type.
10392 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10393 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10394 (grub_fat_dir_node_t): New type.
10395 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10396 (fat_log2) [MODE_EXFAT]: Removed.
10397 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10398 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10399 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10400 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10401 (grub_fat_label) [MODE_EXFAT]: New function.
10402 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10403 reserved_first_sector to 0.
10404
10405 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 Move grub_reboot out of the kernel.
10408
10409 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10410 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10411 * grub-core/lib/efi/reboot.c: ... here.
10412 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10413 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10414 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10415 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10416 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10417 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10418 * grub-core/lib/ieee1275/reboot.c: ... here.
10419 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10420 * grub-core/lib/mips/arc/reboot.c: ... here.
10421 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10422 * grub-core/lib/mips/loongson/reboot.c: ...here.
10423 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10424 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10425 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10426 * include/grub/i386/reboot.h: New file.
10427 * include/grub/mips/loongson/ec.h: Fix includes.
10428 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10429 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10430 * grub-core/lib/i386/reboot.c: New file.
10431
10432 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 Make grub_prefix into module to fix the arbitrary limit and save
10435 some space.
10436
10437 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10438 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10439 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10440 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10441 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10442 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10443 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10444 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10445 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10446 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10447 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10448 * include/grub/ia64/efi/kernel.h: Removed.
10449 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10450 (grub_prefix): Removed.
10451 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10452 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
10453 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
10454 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
10455 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
10456 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
10457 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
10458 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
10459 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
10460 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
10461 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10462 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10463 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10464 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10465 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
10466 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
10467 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
10468 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10469 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
10470 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
10471 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
10472 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
10473 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
10474 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
10475 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
10476 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
10477 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
10478 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
10479 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
10480 from module.
10481 * util/grub-mkimage.c (image_target_desc): Removed prefix and
10482 prefix_end.
10483 (image_targets): Likewise.
10484 (generate_image): Put prefix as a module.
10485
10486 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 Replace grub_module_iterate with FOR_MODULES.
10489
10490 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
10491 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
10492 (grub_efi_modules_addr): ...this.
10493 * grub-core/kern/efi/init.c (grub_modbase): New variable.
10494 (grub_efi_init): Set grub_modbase.
10495 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
10496 (grub_modbase): New variable.
10497 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
10498 (grub_modbase): New variable.
10499 (grub_machine_init): Set grub_modbase.
10500 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
10501 (grub_modbase): New variable.
10502 (grub_machine_init): Set grub_modbase.
10503 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
10504 (grub_modbase): New variable.
10505 (grub_machine_init): Set grub_modbase.
10506 * grub-core/kern/main.c (grub_module_iterate): Remove.
10507 (grub_modules_get_end): Use grub_modbase.
10508 (grub_load_modules): Use FOR_MODULES.
10509 (grub_load_config): Likewise.
10510 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
10511 (grub_modbase): New variable.
10512 (grub_machine_init): Set grub_modbase.
10513 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
10514 (grub_modbase): New variable.
10515 (grub_machine_init): Set grub_modbase.
10516 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
10517 Removed.
10518 (grub_modbase): New variable.
10519 (grub_machine_init): Set grub_modbase.
10520 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
10521 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
10522 (grub_module_iterate): Likewise.
10523 (grub_modbase): New variable declaration.
10524 (FOR_MODULES): New macro.
10525
10526 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * configure.ac: Check for __ctzdi2 and __ctzsi2.
10529 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
10530
10531 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 Fix few obvious type discrepancies.
10534
10535 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
10536 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
10537 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
10538 variable.
10539 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
10540 and connected types.
10541 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
10542 offset.
10543 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
10544 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
10545 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
10546 and connected types.
10547
10548 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 Fix python 3.x incompatibilities.
10551
10552 * gentpl.py: Put brackets around print strings.
10553 * util/import_gcry.py: Open explicitly as utf-8.
10554 Use in instead of has_key.
10555
10556 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10559 (GRUB_XFS_INO_AGBITS): Make into inline function.
10560 (GRUB_XFS_INO_INOINAG): Likewise.
10561 (GRUB_XFS_INO_AG): Likewise.
10562 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10563 (GRUB_XFS_EXTENT_OFFSET): Likewise.
10564 (GRUB_XFS_EXTENT_BLOCK): Likewise.
10565 (GRUB_XFS_EXTENT_SIZE): Likewise.
10566 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
10567 (GRUB_XFS_NEXT_DIRENT): Likewise.
10568 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
10569 (grub_xfs_read_file): Fix offset type.
10570
10571 2011-10-15 Robert Millan <rmh@gnu.org>
10572
10573 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
10574
10575 2011-10-15 Robert Millan <rmh@gnu.org>
10576
10577 Fix build problem on FreeBSD and GNU/kFreeBSD.
10578
10579 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
10580
10581 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
10584
10585 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
10586 types.
10587 (grub_hfsplus_btree_recoffset): Likewise.
10588 (grub_hfsplus_btree_recptr): Likewise.
10589 (grub_hfsplus_find_block): Likewise.
10590 (grub_hfsplus_btree_search): Likewise.
10591 (grub_hfsplus_read_block): Likewise.
10592 (grub_hfsplus_read_file): Likewise.
10593 (grub_hfsplus_mount): Likewise.
10594 (grub_hfsplus_btree_iterate_node): Likewise.
10595 (grub_hfsplus_btree_search): Likewise.
10596 (grub_hfsplus_iterate_dir): Likewise.
10597 (grub_hfsplus_read): A small code simplification.
10598
10599 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/kern/emu/hostdisk.c
10602 (convert_system_partition_to_system_disk): Don't assume that children
10603 of mapper nodes are mapper nodes.
10604
10605 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
10608 * include/grub/misc.h (grub_isxdigit): New function.
10609 * grub-core/video/colors.c (my_isxdigit): Removed. All users
10610 switched to grub_isxdigit.
10611 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
10612 number starting with a letter.
10613
10614 2011-10-09 Robert Millan <rmh@gnu.org>
10615
10616 LVM support for FreeBSD and GNU/kFreeBSD.
10617
10618 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10619 GNU/kFreeBSD.
10620 (LVM_DEV_MAPPER_STRING): Move from here ...
10621 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10622 * util/getroot.c: Include `<grub/util/lvm.h>'.
10623 (grub_util_get_dev_abstraction): Enable
10624 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10625 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10626 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10627 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10628 support it.
10629 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10630 GNU/kFreeBSD.
10631 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10632 when LVM abstraction is required for ${GRUB_DEVICE}.
10633
10634 2011-10-06 Szymon Janc <szymon@janc.net.pl>
10635
10636 Add support for LZO compression in GRUB:
10637 - import of minilzo library,
10638 - LZO decompression for btrfs,
10639 - lzop files decompression.
10640
10641 * grub-core/io/lzopio.c: New file.
10642 * grub-core/lib/adler32.c: Likewise.
10643 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10644 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10645 * grub-core/lib/minilzo/minilzo.c: Likewise.
10646 * grub-core/lib/minilzo/minilzo.h: Likewise.
10647 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10648 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10649 grub-core/lib/minilzo/minilzo.c to common.
10650 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10651 cflags in cppflags.
10652 * grub-core/Makefile.core.def (btrfs): Likewise.
10653 * grub-core/Makefile.core.def (lzopio): New module.
10654 (adler32): Likewise.
10655 * grub-core/fs/btrfs.c: Include minilzo.h.
10656 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10657 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10658 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10659 (grub_btrfs_lzo_decompress): New function.
10660 (grub_btrfs_extent_read): Add support for LZO compression type.
10661 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10662 (GRUB_USHRT_MAX): Likewise.
10663 (GRUB_UINT_MAX): Likewise.
10664 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10665 (UINT_MAX): Likewise.
10666 (CHAR_BIT): Likewise.
10667 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10668 grub-core/lib/posix_wrap/limits.h
10669 (UCHAR_MAX): Likewise.
10670 * include/grub/file.h (grub_file_filter_id): New compression filter
10671 GRUB_FILE_FILTER_LZOPIO.
10672 * include/grub/file.h (grub_file_filter_id): Set
10673 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10674 * include/grub/types.h (grub_get_unaligned16): New function.
10675 (grub_get_unaligned32): Likewise.
10676 (grub_get_unaligned64): Likewise.
10677 * util/import_gcry.py (cryptolist): Add adler32.
10678
10679 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10682 in perspective decreases the complexity of build system and fixes
10683 compilation right now.
10684
10685 2011-10-01 Ales Nesrsta <starous@volny.cz>
10686
10687 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10688 (fixed problem related to using UHCI with coreboot).
10689
10690 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10691
10692 * gentpl.py: Use Autogen macros so that the output template file
10693 (Makefile.tpl) size is reduced.
10694
10695 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
10696
10697 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10698 extra_dist.
10699
10700 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10701
10702 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10703 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10704
10705 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10706
10707 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10708 _fullpath.
10709
10710 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10711
10712 Remove extra declaration of sleep for mingw32.
10713
10714 * util/misc.c (sleep) [__MINGW32__]: Removed.
10715 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10716
10717 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10718
10719 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10720 type and packname.
10721 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10722 Resurrected.
10723 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10724 (grub_netbsd_btinfo_bootwedge): New struct.
10725 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10726 New function.
10727 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10728
10729 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10730
10731 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10732 loader.
10733
10734 2011-09-28 Andreas Born <futur.andy@googlemail.com>
10735
10736 Fix incorrect identifiers in bash-completion.
10737
10738 * util/bash-completion.d/grub-completion.bash.in
10739 (_grub_mkpasswd-pbkdf2): Rename to ...
10740 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10741 (_grub_script-check): Rename to ...
10742 (_grub_script_check): ... this. All users updated.
10743
10744 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10747 Return 0 if disk isn't biosdisk.
10748
10749 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10750
10751 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10752 on NetBSD.
10753 * Makefile.util.def (grub-fstest): Likewise.
10754
10755 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10756
10757 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10758 Get sector size from disk label.
10759
10760 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
10761
10762 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10763 */README* as well as README*.
10764 Reported by: Axel Beckert.
10765
10766 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10769 case of less than 256 MiB of RAM.
10770
10771 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/commands/wildcard.c (make_regex): Handle @.
10774
10775 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10778
10779 2011-08-21 Szymon Janc <szymon@janc.net.pl>
10780
10781 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10782 AC_LANG_CONFTEST macros.
10783
10784 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10785
10786 Add grub-fstest option to uncompress data for commands.
10787
10788 * util/grub-fstest.c (uncompress): New var.
10789 (options): New option -u.
10790
10791 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10792
10793 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10794 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10795
10796 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10797
10798 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10799 file type was not recognized correctly (not gzip or corrupted).
10800
10801 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10804 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10805
10806 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10809 loongson.
10810 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10811 video_radeon_fuloong2e.
10812 * grub-core/video/radeon_fuloong2e.c: New file.
10813 * include/grub/video.h (grub_video_id_t): Add new ID
10814 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10815
10816 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10819 define.
10820 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10821 that PRID matches the detected subplatform and reset the subplatform
10822 if it doesn't.
10823
10824 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10827
10828 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 Fix PCI iterating on functions >= 4.
10831
10832 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10833 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10834 Removed.
10835 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10836 (grub_pci_read): Fix bitmask.
10837 (grub_pci_read_word): Likewise.
10838 (grub_pci_read_byte): Likewise.
10839 (grub_pci_write): Likewise.
10840 (grub_pci_write_word): Likewise.
10841 (grub_pci_write_byte): Likewise.
10842
10843 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10846 can still be specified in TARGET_CFLAGS)
10847
10848 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10851
10852 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10853 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10854 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10855 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10856 (FULOONG): Rename to ...
10857 (FULOONG2F): ... this. All users updated.
10858 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10859 (machtype_fuloong2f_str): ... this.
10860 (machtype_fuloong2e_str): New string.
10861 Check for machtype_fuloong2e_str.
10862 * grub-core/loader/mips/linux.c (loongson_machtypes)
10863 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10864 * grub-core/term/serial.c (loongson_defserial)
10865 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10866 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10867 loongson_defserial.
10868 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10869 Rename to ...
10870 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10871 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10872 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10873 to IMAGE_FULOONG2F_FLASH. All users updated.
10874 (image_targets): Rename images.
10875 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10876
10877 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10878
10879 Make enable of disk cache statistics code configurable.
10880
10881 * configure.ac: --enable-cache-stats added.
10882 * config.h.in (DISK_CACHE_STATS): New define.
10883 * grub-core/Makefile.core.def (cacheinfo): New command.
10884 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10885 * grub-core/commands/cacheinfo.c: New file.
10886 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10887 moved to cacheinfo.c.
10888 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10889 debug code.
10890 * include/grub/disk.h: Likewise.
10891
10892 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10893
10894 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10895 * grub-core/Makefile.am: Likewise.
10896
10897 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10900 non-zero pull.
10901
10902 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10905 All users updated.
10906 (grub_jfs_lookup_symlink): Use correct starting inode.
10907
10908 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * util/grub-setup.c (main): Add missing gcry initialisation.
10911
10912 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 Don't accept text modes on EFI when booting Linux.
10915
10916 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10917 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10918
10919 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
10920 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10921
10922 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10923 use of "/path/.." as in grub-install for EFI as well as handling
10924 symlinks correctly.
10925 Fixes Debian bug #637768.
10926
10927 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * util/grub-probe.c: Remove duplicate #include.
10930
10931 2011-08-10 Robert Millan <rmh@gnu.org>
10932
10933 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10934
10935 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10936 function.
10937 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10938 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10939
10940 2011-08-03 Robert Millan <rmh@gnu.org>
10941
10942 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10943 la_array as packed.
10944 Reported by: Zachary Bedell
10945
10946 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10947
10948 * configure.ac: The Loongson port requires grub-mkfont due to its
10949 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10950 be built.
10951
10952 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10953
10954 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10955 processing arguments (otherwise help2man fails when GRUB has not yet
10956 been installed).
10957
10958 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 New script grub-mkstandalone.
10961
10962 * Makefile.util.def (grub-mkstandalone): New script.
10963 * docs/man/grub-mkstandalone.h2m: New file.
10964 * util/grub-mkstandalone.in: Likewise.
10965
10966 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 Support ATA disks with 4K sectors.
10969
10970 * include/grub/ata.h (grub_ata): New member log_sector_size.
10971 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10972 (grub_ata_identify): Read sector size.
10973 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10974
10975 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * util/grub-install.in: Don't use uhci outside of x86.
10978
10979 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * util/grub-mkrescue.in: Add missing quotes.
10982
10983 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10986 dereference.
10987
10988 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10991
10992 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * include/grub/video.h: add missing EXPORT_FUND on
10995 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10996
10997 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * include/grub/mips/kernel.h: Fix define conflict.
11000
11001 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11004 all four ways.
11005
11006 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
11007
11008 Preferred resolution detection for VBE.
11009
11010 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11011 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11012 the Flat Panel extension, in line with the X.org VESA driver.
11013 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11014 New function.
11015 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11016 (grub_vbe_bios_read_edid): Likewise.
11017 (grub_vbe_get_preferred_mode): Likewise.
11018 (grub_video_vbe_setup): When the mode is "auto", try to get the
11019 preferred mode from VBE, and use the largest mode that is no larger
11020 than the preferred mode (some BIOSes expose a preferred mode that is
11021 not in their mode list!). If this fails, fall back to 640x480 as a
11022 safe conservative choice.
11023 (grub_video_vbe_get_edid): New function.
11024 (grub_video_vbe_adapter): Add get_edid.
11025 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11026 (struct grub_video_adapter): Add get_edid.
11027 (grub_video_edid_checksum): Add prototype.
11028 (grub_video_edid_preferred_mode): Likewise.
11029 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11030 structure.
11031
11032 * grub-core/commands/videoinfo.c (print_edid): New function.
11033 (grub_cmd_videoinfo): Print EDID if available.
11034
11035 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11036 is more appropriate on a wider range of platforms than 640x480.
11037 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11038 documentation.
11039
11040 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11043
11044 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * po/POTFILES.in: Regenerate.
11047
11048 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11051 incorrect memory usage.
11052
11053 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * util/grub-install.in: Source grub-mkconfig_lib.
11056
11057 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 Remove getroot.c from core on emu platform.
11060
11061 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11062 kern/emu/raid.c.
11063 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11064 useless.
11065 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11066 * util/getroot.c (get_win32_path): ... here.
11067 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11068 * util/getroot.c (fini_libzfs): ... here.
11069 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11070 * util/getroot.c (grub_get_libzfs_handle): ... here.
11071 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11072 Moved from here...
11073 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11074 * grub-core/kern/emu/misc.c
11075 (grub_make_system_path_relative_to_its_root): Moved from here...
11076 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11077 * grub-core/kern/emu/getroot.c: Moved from here ...
11078 * util/getroot.c: ... here. All users updated.
11079 * grub-core/kern/emu/raid.c: Moved from here ...
11080 * util/raid.c: ... here. All users updated.
11081
11082 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * po/POTFILES.in: Regenerate.
11085
11086 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Fix compilation on GNU/Linux.
11089
11090 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11091 Disable geli.
11092 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11093 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11094 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11095
11096 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11097 2011-07-07 Michael Gorven <michael@gorven.za.net>
11098 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11099
11100 LUKS and GELI support.
11101
11102 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11103 grub-core/disk/luks.c, grub-core/disk/geli.c,
11104 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11105 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11106 grub-core/lib/arg.c.
11107 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11108 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11109 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11110 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11111 (grub-bin2h): Add libgcry.a.
11112 (grub-mkimage): Likewise.
11113 (grub-mkrelpath): Likewise.
11114 (grub-script-check): Likewise.
11115 (grub-editenv): Likewise.
11116 (grub-mkpasswd-pbkdf2): Likewise.
11117 (grub-pe2elf): Likewise.
11118 (grub-fstest): Likewise.
11119 (grub-mkfont): Likewise.
11120 (grub-mkdevicemap): Likewise.
11121 (grub-probe): Likewise.
11122 (grub-ofpath): Likewise.
11123 (grub-mklayout): Likewise.
11124 (example_unit_test): Likewise.
11125 (grub-menulst2cfg): Likewise.
11126 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11127 * grub-core/Makefile.core.def (cryptodisk): New module.
11128 (luks): Likewise.
11129 (geli): Likewise.
11130 * grub-core/disk/AFSplitter.c: New file.
11131 * grub-core/disk/cryptodisk.c: Likewise.
11132 * grub-core/disk/geli.c: Likewise.
11133 * grub-core/disk/luks.c: Likewise.
11134 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11135 grub_util_is_lvm.
11136 (grub_util_get_dm_abstraction): New function.
11137 (grub_util_follow_gpart_up): Likewise.
11138 (grub_util_get_geom_abstraction): Likewise.
11139 (grub_util_get_dev_abstraction): Use new functions.
11140 (grub_util_pull_device): Pull GELI and LUKS.
11141 (grub_util_get_grub_dev): Handle LUKS and GELI.
11142 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11143 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11144 (follow_geom_up): Removed.
11145 (grub_util_fd_seek): New function.
11146 (open_device): Use grub_util_fd_seek.
11147 (nread): Rename to ..
11148 (grub_util_fd_read): ... this. All users updated.
11149 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11150 (grub_crypto_cbc_decrypt): Likewise.
11151 (grub_crypto_hmac_write): Likewise.
11152 (grub_crypto_hmac_buffer): Likewise.
11153 (grub_password_get): Extend to util.
11154 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11155 New member modname.
11156 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11157 * include/grub/cryptodisk.h: New file.
11158 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11159 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11160 LUKS and GELI.
11161 (grub_util_follow_gpart_up): New proto.
11162 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11163 (grub_util_fd_read): Likewise.
11164 (grub_cryptodisk_cheat_mount): Likewise.
11165 (grub_util_cryptodisk_print_uuid): Likewise.
11166 (grub_util_get_fd_sectors): Likewise.
11167 * util/grub-fstest.c (mount_crypt): New var.
11168 (fstest): Mount crypto if requested.
11169 (options): New option -C.
11170 (argp_parser): Parse -C.
11171 (main): Init and fini gcry.
11172 * util/grub-install.in: Support cryptodisk install.
11173 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11174 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11175 cryptodisk.
11176 (prepare_grub_to_access_device): Likewise.
11177 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11178 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11179 (probe_cryptodisk_uuid): New function.
11180 (probe_abstraction): Likewise.
11181 (probe): Use new functions.
11182 * util/import_gcry.py: Create Makefile.utilgcry.def.
11183 Add modname member.
11184
11185 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 Lazy device scanning.
11188
11189 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11190 (grub-setup): Remove util/raid.c.
11191 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11192 * grub-core/disk/lvm.c (scan_depth): New variable.
11193 (grub_lvm_iterate): Rescan if necessary.
11194 (find_lv): New function based on grub_lvm_open.
11195 (grub_lvm_open): Use find_lv. Rescan on error.
11196 (is_node_readable): New function.
11197 (is_lv_readable): Likewise.
11198 (grub_lvm_scan_device): Skip already found disks.
11199 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11200 Stop if searched device is found and readable.
11201 * grub-core/disk/raid.c (inscnt): New variable.
11202 (scan_depth): Likewise.
11203 (scan_devices): New function based on grub_raid_register. Abort if
11204 looked for device is found.
11205 (grub_raid_iterate): Rescan if needed.
11206 (find_array): NEw function based on -grub_raid_open.
11207 (grub_raid_open): Use find_array and rescan.
11208 (insert_array): Set became_readable_at.
11209 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11210 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11211 New function.
11212 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11213 (grub_util_pull_device): New function.
11214 (grub_util_get_grub_dev): Call grub_util_pull_device.
11215 * util/raid.c: Moved to ..
11216 * grub-core/kern/emu/raid.c: ... here.
11217 (grub_util_raid_getmembers): New parameter "bootable".
11218 All users updated. Support 1.x.
11219 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11220 All users updated.
11221 * include/grub/disk.h (grub_disk_pull_t): New enum.
11222 (grub_disk_dev): Change iterate prototype.
11223 All users updated.
11224 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11225 New proto.
11226 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11227 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11228 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11229 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11230 All users updated.
11231 * include/grub/util/raid.h: Removed.
11232
11233 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * po/POTFILES.in: Regenerate.
11236
11237 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 Unify sparc init with other ieee1275.
11240
11241 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11242 instead of kern/sparc64/ieee1275/init.c.
11243 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11244 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11245 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11246 grub/machine/kernel.h.
11247 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11248 (grub_claim_heap) [__sparc__]: Use sparc version.
11249 (grub_machine_init): Moved args parsing to
11250 (grub_parse_cmdline): ...this.
11251 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11252 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11253 New definition.
11254 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11255
11256 Move BOOTP to separate file.
11257
11258 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11259 * grub-core/net/net.c: Move all BOOTP functions to
11260 * grub-core/net/bootp.c: ... here.
11261
11262 Use frame interface on PXE.
11263
11264 * grub-core/Makefile.core.def (pxecmd): Removed.
11265 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11266 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11267 * grub-core/i386/pc/pxe.c: Moved from here ...
11268 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11269 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11270 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11271
11272 EFI network support.
11273
11274 * grub-core/Makefile.core.def (efinet): New module.
11275 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11276 here...
11277 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11278 All users updated.
11279 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11280 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11281 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11282 * grub-core/net/drivers/efi/efinet.c: New file.
11283 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11284 (grub_efi_net_config): New extern var.
11285
11286 Various cleanups and bugfixes.
11287
11288 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11289 error.
11290 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11291 disk declared as partition.
11292 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11293 leak on failure.
11294 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11295 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11296 (grub_debug_zalloc): Likewise.
11297 (grub_debug_realloc): Likewise.
11298 (grub_debug_memalign): Likewise.
11299 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11300 Check that target is IPv4.
11301 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11302 local-mac-address as fallback.
11303 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11304 memory leak.
11305 * grub-core/net/ip.c (ipchksum): Rename to ...
11306 (grub_net_ip_chksum): ... this. All users updated.
11307 (grub_net_recv_ip_packets): Special handling for DHCP.
11308 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11309
11310 Unify prefix handling
11311
11312 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11313 (grub_machine_get_bootlocation): ... this.
11314 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11315 (grub_machine_get_bootlocation): ... this.
11316 (grub_prefix): New variable.
11317 (prefix): Removed.
11318 (root_dev): New variable.
11319 (dir): Likewise.
11320 (main): Use new variables.
11321 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11322 Revamped into ...
11323 (grub_machine_get_bootlocation): ... this.
11324 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11325 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11326 (grub_machine_get_bootlocation): ... this.
11327 (grub_machine_set_prefix): Removed.
11328 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11329 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11330 Revamped into ...
11331 (grub_machine_get_bootlocation): ... this.
11332 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11333 (grub_set_prefix_and_root): ... this. All users updated.
11334 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11335 Revamped into ...
11336 (grub_machine_get_bootlocation): ... this.
11337 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11338 (grub_machine_get_bootlocation): New proto.
11339 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11340
11341 Less intrusive and more reliable seek on network implementation.
11342
11343 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11344 (grub_file_seek): Don't call grub_file_net_seek.
11345 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11346 (grub_net_fs_read_real): .. this.
11347 (grub_net_seek_real): Use net->offset.
11348 (grub_net_fs_read): Seek if necessary.
11349
11350 Unify IEEE1275 netwotk config with the other platforms.
11351
11352 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11353 New variable.
11354 (grub_machine_get_bootlocation): Support network.
11355 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11356 Support type and device parsing.
11357 (grub_ieee1275_get_device_type): New function.
11358 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11359 into ...
11360 (grub_ieee1275_net_config_real): ... this.
11361 (grub_ofnet_probecards): Removed.
11362 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11363 * include/grub/ieee1275/ofnet.h: Removed.
11364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11365 extern var.
11366 (grub_ieee1275_get_device_type): New function.
11367
11368 Unify network device closing across platforms and make more robust.
11369
11370 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11371 grub_grubnet_fini.
11372 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11373 already.
11374 * grub-core/net/net.c (grub_net_network_level_interface_register):
11375 Update num_ifaces.
11376 (grub_net_card_unregister): Close all interfaces.
11377 (receive_packets): Don't poll if no iterfaces are registered.
11378 Open if necessary.
11379 (grub_net_fini_hw): New function.
11380 (grub_net_restore_hw): Likewise.
11381 (fini_hnd): New variable.
11382 (GRUB_MOD_INIT): Register preboot hook.
11383 (GRUB_MOD_FINI): Run and unregister preboot hook.
11384
11385 Poll network cards when idle.
11386
11387 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11388 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11389 * grub-core/net/net.c (receive_packets): Save last poll time.
11390 (grub_net_poll_cards_idle_real): New function.
11391 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11392 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11393 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11394
11395 Rename ofnet interfaces.
11396
11397 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11398 (grub_ofnet_findcards): Use ofnet_%s names.
11399
11400 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11401
11402 Cleanup socket opening.
11403
11404 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11405 (grub_net_fs_close): Likewise.
11406 (grub_net_fs_read_real): Use eof member.
11407 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11408 (+grub_net_udp_close): New inline function.
11409
11410 * include/grub/net/tftp.h: Moved to the top of ...
11411 * grub-core/net/tftp.c: ... here.
11412 * include/grub/net/ip.h: Moved mostly to the top of ...
11413 * grub-core/net/ip.c: ... here.
11414 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11415 * grub-core/net/ethernet.c: ... here.
11416
11417 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11418
11419 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11420 FS name.
11421
11422 * include/grub/net/ip.h (ipv4_ini): Removed.
11423 (ipv4_fini): Likewise.
11424
11425 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11426 (grub_net_send_ip_packets): Likewise.
11427
11428 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11431 grub_read_cmos prototype.
11432
11433 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 VGA text support in qemu-mips
11436
11437 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11438 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11439 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11440 text.
11441 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11442 * grub-core/kern/vga_init.c: ... this.
11443 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11444 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11445 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11446 Adjust.
11447 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11448 GRUB_MACHINE_PCI_IO_BASE.
11449
11450 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 MIPS qemu flash support.
11453
11454 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
11455 magic.
11456 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
11457 (grub_machine_init): Probe memory if its size isn't known.
11458 * util/grub-mkimage.c (image_targets): Add flash targets.
11459 (generate_image): Handle flash targets.
11460
11461 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 MIPS qemu at_keyboard support.
11464
11465 * gentpl.py (videoinkernel): Add qemu-mips.
11466 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
11467 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
11468 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
11469 modules.
11470 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
11471 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
11472 * grub-core/term/serial.c (grub_serial_register)
11473 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
11474
11475 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 CMOS support on sparc.
11478
11479 * gentpl.py (cmos): Add powerpc and sparc.
11480 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
11481 powerpc and sparc.
11482 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
11483 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
11484 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
11485 grub_set_datetime_cmos.
11486 * grub-core/lib/ieee1275/cmos.c: New file.
11487 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
11488 (find_rtc): Set no_ieee1275_rtc on error.
11489 (grub_get_datetime): Call grub_get_datetime_cmos on error.
11490 (grub_set_datetime): Call grub_set_datetime_cmos on error.
11491 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
11492 fail. Move value to argument. All users updated
11493 (grub_cmos_write): Likewise.
11494 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
11495 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
11496 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
11497 grub_get_datetime_cmos and grub_set_datetime_cmos.
11498
11499 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11500
11501 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
11502 sourcing grub-mkconfig_lib.
11503 * util/update-grub_lib.in: Likewise.
11504 * util/grub.d/00_header.in: Likewise.
11505 * util/grub.d/10_hurd.in: Likewise.
11506 * util/grub.d/10_kfreebsd.in: Likewise.
11507 * util/grub.d/10_linux.in: Likewise.
11508 * util/grub.d/10_netbsd.in: Likewise.
11509 * util/grub.d/10_windows.in: Likewise.
11510 * util/grub.d/20_linux_xen.in: Likewise.
11511 * util/grub.d/30_os-prober.in: Likewise.
11512
11513 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
11514
11515 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
11516 default_bg_color rather than black.
11517 (grub_gfxterm_fullscreen): Likewise.
11518 (grub_gfxterm_background_color_cmd): Save new background color in
11519 default_bg_color.
11520
11521 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
11524
11525 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
11528 mismerge.
11529
11530 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 Chainloading on coreboot support.
11533
11534 * grub-core/Makefile.core.def (chain): Add coreboot.
11535 * grub-core/loader/i386/coreboot/chainloader.c: New file.
11536
11537 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
11540 if it happens.
11541
11542 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 Implement time command.
11545
11546 * grub-core/Makefile.core.def (time): New module.
11547 * grub-core/commands/time.c: New file.
11548 * grub-core/script/parser.y: Remove "time" keyword.
11549 * grub-core/script/yylex.l: Likewise.
11550
11551 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
11554
11555 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11558 when handling leftovers.
11559
11560 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11563 so that help2man doesn't fail.
11564
11565 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
11568 type in pointers on sparc64.
11569 (get_card_packet): Likewise.
11570
11571 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
11572
11573 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
11574 with `*'.
11575 (grub_cmd_videoinfo): Fetch current video mode.
11576
11577 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
11580 because of underlying system restrictions.
11581
11582 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
11585 necessary.
11586
11587 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Coreboot video support.
11590
11591 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
11592 (vbe): Likewise.
11593 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
11594 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
11595 here ...
11596 * grub-core/kern/i386/int.S: ... here.
11597 * grub-core/video/i386/pc/vbe.c: Updated includes.
11598 * grub-core/video/i386/pc/vga.c: Likewise.
11599 * include/grub/i386/coreboot/memory.h
11600 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
11601 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
11602 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
11603 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
11604 Disable interrupts.
11605 * include/grub/i386/pc/vga.h: Removed. All users updated.
11606
11607 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
11610 definitions for dprintf.
11611 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
11612
11613 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11616 prototype.
11617 (get_card_packet): Likewise.
11618
11619 2011-06-26 Yves Blusseau <blusseau@zetam.org>
11620
11621 Display the path of the file when file is not found
11622
11623 * grub-core/fs/fat.c: Display the filename when file is not found.
11624 * grub-core/fs/fshelp.c: Likewise.
11625 * grub-core/fs/hfs.c: Likewise.
11626 * grub-core/fs/jfs.c: Likewise.
11627 * grub-core/fs/minix.c: Likewise.
11628 * grub-core/fs/ufs.c: Likewise.
11629 * grub-core/fs/btrfs.c: Likewise.
11630 * grub-core/commands/i386/pc/play.c: Likewise.
11631
11632 2011-06-26 Szymon Janc <szymon@janc.net.pl>
11633
11634 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11635 pointer checks before calling grub_free().
11636 * grub-core/commands/wildcard.c (match_devices): Likewise.
11637 * grub-core/commands/wildcard.c (match_files): Likewise.
11638 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11639 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11640 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11641 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11642 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11643 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11644 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11645 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11646 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11647
11648 2011-06-25 Patrick <p55@mailinator.com>
11649
11650 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11651
11652 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11655 (grub_pxe_send): Likewise.
11656 (GRUB_MOD_INIT): Fix types.
11657
11658 2011-06-24 Szymon Janc <szymon@janc.net.pl>
11659
11660 * grub-core/io/xzio.c: Fix code style issues
11661
11662 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11663 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
11664
11665 Network infrastructure.
11666 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11667
11668 * include/grub/net/arp.h: New file.
11669 * include/grub/net/device.h: Likewise.
11670 * include/grub/net/ethernet.h: Likewise.
11671 * include/grub/net/ip.h: Likewise.
11672 * include/grub/net/netbuff.h: Likewise.
11673 * include/grub/net/tftp.h: Likewise.
11674 * include/grub/net/udp.h: Likewise.
11675 * include/grub/ieee1275/ofnet.h: Likewise.
11676 * include/grub/emu/export.h: Likewise.
11677 * include/grub/net.h: Likewise.
11678 * grub-core/net/arp.c: Likewise.
11679 * grub-core/net/ethernet.c: Likewise.
11680 * grub-core/net/ip.c: Likewise.
11681 * grub-core/net/udp.c: Likewise.
11682 * grub-core/net/tftp.c: Likewise.
11683 * grub-core/net/netbuff.c: Likewise.
11684 * grub-core/net/net.c: Likewise.
11685 * grub-core/net/drivers/emu/emunet.c: Likewise.
11686 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11687 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11688 export.h.
11689 * grub-core/Makefile.core.def (net): New module.
11690 (tftp): Likewise.
11691 (ofnet): Likewise.
11692 (emunet): Likewise.
11693 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11694 network protocols.
11695 * grub-core/kern/device.c (grub_net_open) : New variable.
11696 (grub_device_open): Handle network device.
11697 (grub_device_close): Likewise.
11698 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11699 (grub_grubnet_fini): Likewise.
11700 (grub_file_seek): Seek in network device.
11701 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11702 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11703 network root.
11704 (grub_machine_fini): Call grub_grubnet_fini.
11705 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11706 network.
11707 (grub_ieee1275_get_aliasdevname): New function.
11708 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11709 Add unofficial Solaris network info.
11710 (grub_multiboot_make_mbi): Likewise.
11711 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11712 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11713 * include/grub/device.h (grub_fs): Removed.
11714 * include/grub/err.h (grub_err_t): Add network-related values.
11715 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11716 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11717 (grub_ieee1275_get_aliasdevname): New proto.
11718 * include/grub/net.h: Rewritten.
11719
11720 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11723 names.
11724
11725 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11728 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11729 it truncates the output.
11730 Reported by: Ximin Luo.
11731
11732 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11735
11736 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11739 partmap before abstraction.
11740
11741 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11742
11743 * util/grub-mkconfig_lib.in: Add missing quotes.
11744
11745 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11748 old method if mountinfo would return /dev/root and /dev/root doesn't
11749 exist.
11750
11751 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 ZFS zlib support
11754
11755 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11756 (decomp_table): Add zlib entries.
11757 (zio_read): USe 8 bits for compression function rather than 3.
11758 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11759
11760 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/disk/ahci.c: Add missing license statements.
11763 * grub-core/fs/romfs.c: Likewise.
11764 * grub-core/lib/ia64/setjmp.S: Likewise.
11765 * grub-core/loader/i386/pc/freedos.c: Likewise.
11766 * grub-core/loader/ia64/efi/linux.c: Likewise.
11767 * grub-core/video/colors.c: Likewise.
11768 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11769
11770 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 AHCI support.
11773
11774 * grub-core/Makefile.core.def (ata_pthru): Removed.
11775 (ahci): New module.
11776 (pata): Likewise.
11777 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11778 on unload.
11779 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11780 readwrite.
11781 (grub_hdparm_do_check_powermode_cmd): Likewise.
11782 (grub_hdparm_do_smart_cmd): Likewise.
11783 (grub_hdparm_set_val_cmd): Likewise.
11784 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11785 * grub-core/disk/ahci.c: New file.
11786 * grub-core/disk/ata.c: Factor out the low-level part into ...
11787 * grub-core/disk/pata.c: ... here.
11788 * grub-core/disk/ata_pthru.c: Contents moved to ...
11789 * grub-core/disk/pata.c: ... here.
11790 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11791 (grub_scsi_iterate): Use grub_scsi_names.
11792 (grub_scsi_open): Likewise.
11793 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11794 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11795 (grub_ata_regs_t): New struct.
11796 (grub_disk_ata_pass_through_parms): Likewise.
11797 (grub_ata_device): Renamed to ...
11798 (grub_ata): ... this.
11799 (grub_ata_dev): New struct.
11800 Removed all low-level inline functions.
11801 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11802 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11803 iterate hooks and open. All users updated.
11804 * util/grub-install.in: Handle AHCI disk module.
11805
11806 2011-06-23 Szymon Janc <szymon@janc.net.pl>
11807
11808 Add support for DRI and RSTn markers in JPEG files.
11809
11810 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11811 (JPEG_MARKER_RST0): Likewise.
11812 (JPEG_MARKER_RST1): Likewise.
11813 (JPEG_MARKER_RST2): Likewise.
11814 (JPEG_MARKER_RST3): Likewise.
11815 (JPEG_MARKER_RST4): Likewise.
11816 (JPEG_MARKER_RST5): Likewise.
11817 (JPEG_MARKER_RST6): Likewise.
11818 (JPEG_MARKER_RST7): Likewise.
11819 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11820 (grub_jpeg_decode_dri): New function.
11821 (grub_jpeg_decode_sos): Move image data related part into
11822 grub_jpeg_decode_data function.
11823 (grub_jpeg_decode_data): New function.
11824 (grub_jpeg_reset): New function.
11825 (grub_jpeg_decode_jpeg): Handle new markers.
11826
11827 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * util/ieee1275/ofpath.c (check_sas): Close fd.
11830 (main): Free of_path.
11831 Reported by: David Volgyes <dvolgyes>.
11832
11833 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11836 Reported by: David Volgyes <dvolgyes>.
11837
11838 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11841 file after stat.
11842 Reported by: David Volgyes <dvolgyes>.
11843
11844 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11847
11848 Reported by: David Volgyes <dvolgyes>.
11849
11850 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11853 Prevent memory leak.
11854
11855 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11858 (main): Close file.
11859 Reported by: David Volgyes <dvolgyes>.
11860
11861 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11864 to continue if allocation is failed.
11865
11866 Reported by: David Volgyes <dvolgyes>.
11867
11868 2011-06-23 David Volgyes <dvolgyes>
11869
11870 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11871 dereference.
11872
11873 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 Fix spurious warning.
11876
11877 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11878 (acorn_partition_map_find): Use .bin member.
11879
11880 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11883 /dev/root as a valid device.
11884
11885 2011-06-23 Jim Meyering <meyering@redhat.com>
11886
11887 Avoid NULL deref in grub_device_open.
11888
11889 * grub-core/kern/device.c (grub_device_open): Don't dereference
11890 a NULL pointer upon failed grub_env_get.
11891
11892 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 Support non-512B sectors and agglomerate reads.
11895
11896 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11897 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11898 (disk_io_guid): Removed.
11899 (make_devices): Locate solely by BlockIO.
11900 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11901 (grub_efidisk_read): Use read_blocks.
11902 (grub_efidisk_write): Use write_blocks.
11903 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11904 log_sector_size.
11905 (get_safe_sectors): Handle non-512B sectors.
11906 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11907 sectors.
11908 (grub_biosdisk_write): Handle non-512B sectors.
11909 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11910 (grub_scsi_read): Remove special non-512B block handling (now handled
11911 one level up).
11912 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11913 and do sanity checks.
11914 (grub_disk_adjust_range): Handle non-512B sectors.
11915 (transform_sector): New function.
11916 (grub_disk_read_small): Likewise.
11917 (grub_disk_read): Rewritten.
11918 (grub_disk_write): Handle non-512B sectors.
11919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11920 log_sector_size.
11921 (open_device): Use log_sector_size.
11922 (grub_util_biosdisk_read): Likewise.
11923 (grub_util_biosdisk_write): Likewise.
11924 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11925 non-512B sectors.
11926 (pc_partition_map_embed): Likewise.
11927 * include/grub/disk.h (grub_disk): New field log_sector_size.
11928 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11929 (GRUB_DISK_CACHE_BITS): Increased to 6.
11930 * util/grub-fstest.c (fstest): New command testload.
11931 (argp_parser): Likewise.
11932
11933 2011-06-16 Robert Millan <rmh@gnu.org>
11934
11935 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11936 `ata' driver on kernel of FreeBSD 9.
11937
11938 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11939 (get_ataraid_disk_name): New functions.
11940 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11941 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11942 get_ataraid_disk_name() and get_ada_disk_name().
11943
11944 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
11945
11946 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11947 input format.
11948
11949 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
11950
11951 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11952 `ftp.gnu.org' for `alpha.gnu.org'.
11953
11954 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11955
11956 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11957 partitions under /dev/disk/by-id/.
11958
11959 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11962 after ten consecutive open failures. Scanning all the way up to
11963 10000 is excessive and can cause serious performance problems in
11964 some configurations.
11965 Fixes Ubuntu bug #787461.
11966
11967 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11970 opening new one.
11971
11972 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
11973 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 Don't stat devices unless we have to.
11976
11977 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11978 dir == /dev/mapper.
11979 (grub_guess_root_device): Use already known os_dev if possible.
11980 * grub-core/kern/emu/hostdisk.c
11981 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11982 if device is known to be a dm one.
11983
11984 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11987 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11988 Reported by: Pawel Tecza.
11989
11990 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11993 (lsefisystab): Likewise.
11994 (lssal): Likewise.
11995 (lsefimmap): Likewise.
11996 (hdparm): Enable on qemu-mips.
11997 (setjmp): Add ia64 nodist.
11998 (serial): Simplify tags.
11999
12000 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12001
12002 * Makefile.util.def (grub-ofpathname): Install manual page.
12003
12004 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12005
12006 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12007
12008 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12009
12010 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12011
12012 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12015 into dprintf.
12016
12017 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Use full 64-bit division.
12020
12021 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12022 (grub_divmod64): ... this.
12023 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12024 version.
12025
12026 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12027
12028 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12029 `source'.
12030
12031 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12032
12033 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12034 to avoid accidents when debugging with 'sh -x'.
12035 * grub-core/gensyminfo.sh.in: Likewise.
12036 * tests/example_scripted_test.in: Likewise.
12037 * tests/grub_cmd_regexp.in: Likewise.
12038 * tests/grub_script_blanklines.in: Likewise.
12039 * tests/grub_script_dollar.in: Likewise.
12040 * tests/grub_script_expansion.in: Likewise.
12041 * tests/grub_script_final_semicolon.in: Likewise.
12042 * tests/partmap_test.in: Likewise.
12043 * tests/util/grub-shell-tester.in: Likewise.
12044 * tests/util/grub-shell.in: Likewise.
12045
12046 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12047
12048 Move gfxmenu color handling to video, so that gfxterm can use it
12049 too.
12050
12051 * grub-core/gfxmenu/named_colors.c: Move to ...
12052 * grub-core/video/colors.c: ... here. Rename
12053 grub_gui_get_named_color to grub_video_get_named_color.
12054 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12055 * grub-core/video/colors.c (my_isxdigit): ... here.
12056 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12057 Move to ...
12058 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12059 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12060 to ...
12061 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12062
12063 * include/grub/gui.h (grub_gui_color_t): Move to ...
12064 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12065 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12066 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12067 * include/grub/gui.h (grub_gui_map_color): Move to ...
12068 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12069 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12070 to ...
12071 * include/grub/video.h (grub_video_get_named_color): ... here.
12072 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12073 * include/grub/video.h (grub_video_parse_color): ... here.
12074
12075 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12076 video/colors.c.
12077 (gfxmenu): Remove gfxmenu/named_colors.c.
12078 (video) [videomodules]: Add video/colors.c.
12079
12080 Add a background_color command.
12081
12082 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12083 function.
12084 (GRUB_MOD_INIT): Register background_color command.
12085 (GRUB_MOD_FINI): Unregister background_color command.
12086 (redraw_screen_rect): Allow blend/replace of text layer to be
12087 controlled independently from whether there is a background bitmap.
12088 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12089 changing bitmap.
12090
12091 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 Patch BPB in ntldr and chainloader --bpb.
12094
12095 * grub-core/fs/fat.c: Include grub/fat.h.
12096 (grub_fat_bpb): Moved to ...
12097 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12098 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12099 grub/ntfs.h.
12100 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12101 Moved from here...
12102 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12103 here.
12104 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12105 New function.
12106 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12107 (GRUB_MOD_INIT): Show --bpb.
12108 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12109 * grub-core/normal/main.c (features): New variable.
12110 (GRUB_MOD_INIT): Set feature_* variables.
12111 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12112 proto.
12113 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12114
12115 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12118 for cleanness.
12119
12120 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 FreeDOS direct loading support.
12123
12124 * docs/grub.texi (Supported OS): Add FreeDOS.
12125 * grub-core/Makefile.core.def (freedos): New module.
12126 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12127 variable.
12128 (grub_relocator16_boot): Handle %ebx.
12129 * grub-core/lib/i386/relocator16.S: Likewise.
12130 * grub-core/loader/i386/pc/freedos.c: New file.
12131
12132 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 Long Linux command line support.
12135
12136 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12137 (maximal_cmdline_size): New variable.
12138 (allocate_pages): Use maximal_cmdline_size.
12139 (grub_cmd_linux): Set and use maximal_cmdline_size.
12140 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12141 (allocate_pages): Use maximal_cmdline_size.
12142 (grub_cmd_linux): Set and use maximal_cmdline_size.
12143 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12144 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12145 and cmdline_size.
12146
12147 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12148 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12149
12150 Improve devmapper support
12151
12152 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12153 (grub_util_is_lvm): New function.
12154 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12155 than lvm if not dmraid.
12156 Handle mapped md nodes.
12157 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12158 (grub_util_device_is_mapped): ... this. Make always available. All users
12159 updated.
12160 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12161 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12162 dmraid nodes.
12163 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12164
12165 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12168
12169 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12170 * grub-core/modinfo.sh.in: New file.
12171 * grub-core/Makefile.core.def (modinfo.sh): New script.
12172 * util/grub-mknetdir.in: Use modinfo.sh.
12173 * util/grub-mkrescue.in: Likewise.
12174
12175 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12178 Fix potential usage of Elf32 instead of Elf64 when compiling on
12179 32-bit architecture. Add endianness macros while on it.
12180
12181 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Use mipsel- rather than mips- in directories involving mipsel ports to
12184 allow both endiannesses coexist.
12185
12186 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12187 mips. All conditions adjusted.
12188 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12189 variable.
12190 * util/grub-install.in: Adjust conditions to take renaming into account.
12191 * util/grub-mkimage.c (image_targets): Likewise. New target
12192 mips-qemu_mips-elf for bigendian mips.
12193
12194 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 Avoid unnecessary copying on MIPS.
12197
12198 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12199 early if src == dest.
12200 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12201 compression is none.
12202
12203 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 Reduce memory footprint on SGI by putting modules before the kernel
12206 as opposed to after.
12207
12208 * grub-core/Makefile.core.def (kernel): Increase linking address.
12209 (none_decompress): Likewise.
12210 (xz_decompress): Likewise.
12211 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12212 address.
12213 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12214 layout change.
12215 (grub_arch_modules_addr): New function.
12216 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12217 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12218 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12219 here.
12220 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12221 (grub_total_modules_size): ... this. Make global.
12222 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12223 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12224 New definition.
12225 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12226 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12227 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12228 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12229 * util/grub-mkimage.c (image_target_desc): New flag
12230 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12231 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12232 (generate_image): Handle images with modules before kernel.
12233
12234 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 Prevent potential loss of memory map by overwrite on qemu-mips.
12237
12238 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12239 Save ram size in $s4.
12240 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12241 All users changed to grub_arch_memsize.
12242 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12243 Loongson.
12244 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12245 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12246 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12247 external variable.
12248
12249 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12250
12251 * .bzrignore: Remove grub-dumpbios.
12252
12253 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12256 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12257 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12258 existing options which append).
12259 * docs/grub.texi (Simple configuration): Document new options.
12260 Reported by: Ian Jackson. Fixes Debian bug #617538.
12261
12262 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12263
12264 * util/grub-fstest.c (cmd_cat): New function.
12265 (fstest): Handle CMD_CAT.
12266 (options): Add cat.
12267 (argp_parser): Handle cat.
12268
12269 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12270
12271 * Makefile.util.def (grub-bin2h): Don't install.
12272 * docs/man/grub-bin2h.h2m: Remove.
12273
12274 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12277 place.
12278
12279 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 Reenable qemu-mips port.
12282
12283 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12284 Fix small arc bug while on it.
12285 * gentpl.py: Handle qemu_mips.
12286 * grub-core/Makefile.am: Likewise.
12287 * grub-core/Makefile.core.def: Likewise.
12288 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12289 inappropriate includes.
12290 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12291 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12292 * grub-core/kern/main.c (grub_modules_get_end)
12293 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12294 * grub-core/kern/mips/qemu-mips: Moved to ..
12295 * grub-core/kern/mips/qemu_mips: ... this.
12296 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12297 (grub_machine_init): Call terminfo_init and serial_init.
12298 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12299 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12300 New variable.
12301 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12302 parameter passing.
12303 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12304 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12305 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12306 * include/grub/mips/qemu_mips/cmos.h: New file.
12307 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12308 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12309 Removed.
12310 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12311 Use correct mips-style address.
12312 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12313 (GRUB_TICKS_PER_SECOND): Removed.
12314 (grub_get_rtc): Likewise.
12315 (grub_cpu_idle): Likewise.
12316 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12317 New definition.
12318 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12319 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12320 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12321 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12322 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12323 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12324 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12325 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12326
12327 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 SGI ARCS port.
12330
12331 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12332 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12333 platforms.
12334 * configure.ac: New target mips-arc.
12335 * gentpl.py: Likewise.
12336 * grub-core/Makefile.am: Likewise.
12337 * grub-core/Makefile.core.def: Likewise.
12338 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12339 (none_decompress): Likewise.
12340 (lsdev): New module.
12341 (datetime): Use lib/arc/datetime.c on ARC.
12342 (part_dvh): New module.
12343 * grub-core/commands/arc/lsdev.c: New file.
12344 * grub-core/disk/arc/arcdisk.c: Likewise.
12345 * grub-core/kern/mips/arc/init.c: Likewise.
12346 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12347 aligned addresses.
12348 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12349 support.
12350 (grub_arch_dl_relocate_symbols): Likewise.
12351 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12352 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12353 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12354 platforms.
12355 * grub-core/lib/arc/datetime.c: New file.
12356 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12357 pci.h on non-loongson.
12358 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12359 (grub_linux_boot): Set unused registers to 0.
12360 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12361 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12362 * grub-core/mmap/mips/uppermem.c: ...here.
12363 * grub-core/partmap/dvh.c: New file.
12364 * grub-core/term/arc/console.c: Likewise.
12365 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12366 (grub_terminfo_set_current): Add terminal "arc".
12367 (grub_terminfo_readkey): Support ARC sequences.
12368 * include/grub/arc/arc.h: New file.
12369 * include/grub/arc/console.h: Likewise.
12370 * include/grub/disk.h (grub_disk_dev_id): Add
12371 GRUB_DISK_DEVICE_ARCDISK_ID.
12372 * include/grub/mips/arc/kernel.h: New file.
12373 * include/grub/mips/arc/memory.h: Likewise.
12374 * include/grub/mips/arc/time.h: Likewise.
12375 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12376 * include/grub/mips/kernel.h (grub_halt): ... here.
12377 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12378 here...
12379 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12380 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12381 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12382 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12383 proto.
12384 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12385 from here ...
12386 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12387 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12388 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12389 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12390 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12391 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12392 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12393 (grub_phys_addr_t): Moved from here ...
12394 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12395 (grub_vtop): Moved from here ...
12396 * include/grub/mips/memory.h (grub_vtop): ... here.
12397 (grub_map_memory): Moved from here ...
12398 * include/grub/mips/memory.h (grub_map_memory): ... here.
12399 (grub_unmap_memory): Moved from here ...
12400 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12401 (grub_machine_mmap_iterate): Moved from here ...
12402 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12403 (grub_mmap_get_lower): Moved from here ...
12404 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12405 (grub_mmap_get_upper): Moved from here ...
12406 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12407 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12408 here ...
12409 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12410 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12411 here ...
12412 * include/grub/mips/time.h (grub_get_rtc): ... here.
12413 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12414 here ...
12415 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12416 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12417 here ...
12418 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12419 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12420 definition.
12421 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12422 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12423 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12424 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12425 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12426 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12427 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12428 (GRUB_MACHINE_LINK_ADDR): Likewise.
12429 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12430 to 6.
12431 * util/grub-install.in: Run dvhtool on ARC.
12432 * util/grub-mkimage.c (image_targets): Add mips-arc.
12433 (generate_image): Handle ECOFF output for mips-arc.
12434
12435 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12438 blocks.
12439
12440 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12443 after enabling port.
12444
12445 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 Skip incorrect USB devices.
12448
12449 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12450 configcnt == 0.
12451 * include/grub/usb.h (grub_usb_err_t): New enum value
12452 GRUB_USB_ERR_BADDEVICE.
12453
12454 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 Fuloong video init support.
12457
12458 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
12459 well.
12460 (grub_vga_read_arx): New function.
12461 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
12462 definition.
12463 (framebuffer): New members io, mmioptr and mmiobase.
12464 (read_sis_cmd): New function.
12465 (write_sis_cmd): Likewise.
12466 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
12467 rather than 640x400.
12468 * grub-core/video/sis315_init.c: New file.
12469
12470 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
12473 non-loongson.
12474 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
12475 to grub_dl_register_symbol.
12476
12477 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 Fix compilation errors.
12480
12481 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
12482 potentially unused.
12483 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
12484 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
12485 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
12486 to loongson machines.
12487
12488 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 Several FS mtime support.
12491
12492 * grub-core/fs/affs.c (grub_affs_time): New struct.
12493 (grub_affs_file): New field mtime.
12494 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
12495 type. Removed 'size'. New field 'di'. All users updated.
12496 (grub_affs_mount): Simplify checsum checking.
12497 (grub_affs_iterate_dir): New helper grub_affs_create_node.
12498 (grub_affs_dir): Handle mtime.
12499 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
12500 (grub_cpio_dir): Likewise.
12501 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
12502 (grub_hfs_filerec): New field mtime.
12503 (grub_hfs_dir): Handle mtime.
12504 (grub_hfs_mtime): New function.
12505 (grub_hfs_fs): Register grub_hfs_mtime.
12506 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
12507 (grub_iso9660_dir): New field mtime.
12508 (grub_fshelp_node): New field dirent.
12509 (iso9660_to_unixtime): New function.
12510 (iso9660_to_unixtime2): Likewise.
12511 (grub_iso9660_read_symlink): Use node->dirent.
12512 (grub_iso9660_iterate_dir): Likewise.
12513 (grub_iso9660_dir): Set mtime.
12514 (grub_iso9660_mtime): New function.
12515 (grub_iso9660_fs): Register grub_iso9660_mtime.
12516 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
12517 (grub_jfs_inode): New fields atime, ctime and mtime.
12518 (grub_jfs_dir): Set mtime.
12519 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12520 * grub-core/fs/ntfs.c (list_file): Set mtime.
12521 (grub_ntfs_dir): Likewise.
12522 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
12523 (grub_reiserfs_iterate_dir): Set mtime.
12524 (grub_reiserfs_dir): Likewise.
12525 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
12526 (grub_fshelp_node): Likewise.
12527 (grub_sfs_iterate_dir): Set mtime.
12528 (grub_sfs_dir): Likewise.
12529 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
12530 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
12531 (grub_xfs_inode): New fields atime, mtime, ctime.
12532 (grub_xfs_dir): Set mtime.
12533 * include/grub/datetime.h (grub_datetime2unixtime): New function.
12534 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
12535 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
12536
12537 Support UDF symlinks.
12538
12539 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
12540 (grub_ufs_read_symlink): New function. All users updated.
12541
12542 Check amiga partmap checksum.
12543
12544 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
12545 (grub_amiga_partition): Likewise.
12546 (amiga_partition_map_checksum): New function.
12547 (amiga_partition_map_iterate): Check checksum.
12548
12549 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 ROMFS support.
12552
12553 * Makefile.util.def (libgrubmods.a): Add romfs.
12554 * grub-core/Makefile.core.def (romfs): New module.
12555 * grub-core/fs/romfs.c: New file.
12556
12557 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 Squashfs v4 support.
12560
12561 * Makefile.util.def (libgrubmods.a): Add squash4.
12562 * grub-core/Makefile.core.def (squash4): New module.
12563 * grub-core/fs/squash4.c: New file.
12564 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
12565 disk_input_start, disk_input.
12566 (get_byte): Handle disk_input.
12567 (grub_zlib_disk_read): New function.
12568 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
12569
12570 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12571 2011-05-15 Feiran Zheng <famcool@gmail.com>
12572
12573 * Makefile.util.def (libgrubmods.a): Add minix3.
12574 * grub-core/Makefile.core.def (minix3): New module.
12575 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
12576 (GRUB_MINIX_BSIZE): Removed.
12577 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
12578 (grub_minix_ino_t): New type.
12579 (grub_minix_le_to_cpu_ino): New macro.
12580 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
12581 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
12582 (grub_minix_data): New field block_size.
12583 (grub_minix_read_file): Handle 64-bit correctly.
12584 * grub-core/fs/minix3.c: New file.
12585
12586 2011-05-15 Tristan Gingold <gingold@free.fr>
12587 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
12588 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 IA64 support.
12591
12592 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
12593 * configure.ac: Add ia64-efi target.
12594 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
12595 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
12596 * gentpl.py: Add ia64_efi platform.
12597 Rename x86_efi to efi and Add ia64-efi. All users updated.
12598 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
12599 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
12600 Remove kern/generic/rtc_get_time_ms.c on EFI.
12601 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
12602 kern/ia64/dl_helper.c on ia64-efi.
12603 Add kern/emu/cache.c on emu.
12604 (linux): Use on loader/ia64/efi/linux.c on ia64.
12605 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
12606 whether symbol is a function.
12607 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
12608 (grub_symbol): New field 'isfunc'.
12609 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
12610 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
12611 (grub_dl_load_segments): Place all sections into the same region.
12612 [__ia64__]: Create trampolines and got.
12613 [GRUB_MACHINE_EMU]: Call mprotect.
12614 (grub_dl_resolve_symbols): Resolve symbol type as well.
12615 [__ia64__]: Create function descriptors.
12616 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12617 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12618 (grub_get_rtc): New function.
12619 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12620 * grub-core/kern/emu/cache.S: Renamed to ...
12621 * grub-core/kern/emu/cache_s.S: ... this.
12622 [__ia64__]: Add a nop.
12623 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12624 [__ia64__]: New function.
12625 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12626 * grub-core/kern/ia64/dl.c: New file.
12627 * grub-core/kern/ia64/dl_helper.c: Likewise.
12628 * grub-core/kern/ia64/efi/init.c: New file.
12629 * grub-core/kern/ia64/efi/startup.S: Likewise.
12630 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12631 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12632 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12633 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12634 * grub-core/loader/ia64/efi/linux.c: New file.
12635 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12636 (GRUB_MOD_DEP): Likewise.
12637 (grub_dl) [__ia64__]: New fields got and tramp.
12638 (grub_dl): New field 'base'.
12639 (grub_dl_register_symbol): New argument isfunc. All users updated.
12640 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12641 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12642 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12643 (grub_ia64_dl_get_tramp_got_size): New proto.
12644 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12645 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12646 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12647 * include/grub/efi/api.h: Skip call wrappers on ia64.
12648 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12649 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12650 * include/grub/elf.h (ELF_ST_INFO): New definition.
12651 * include/grub/ia64/efi/kernel.h: New file.
12652 * include/grub/ia64/efi/memory.h: Likewise.
12653 * include/grub/ia64/efi/time.h: Likewise.
12654 * include/grub/ia64/kernel.h: Likewise.
12655 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12656 * include/grub/ia64/time.h: New file.
12657 * include/grub/ia64/types.h: Likewise.
12658 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12659 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12660 New protos.
12661 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12662 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12663 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12664 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12665 All users updated.
12666 (EFI64_HEADER_SIZE): New definition. All users updated.
12667 (image_targets): Add ia64-efi.
12668 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12669 jumpers_addr. All users updated.
12670 Create function descriptors.
12671 (count_funcs): New function.
12672 (unaligned_uint32): New struct.
12673 (MASK20): New definition.
12674 (MASK19): Likewise.
12675 (MASKF21): Likewise.
12676 (add_value_to_slot_20b): New function.
12677 (add_value_to_slot_21_real): Likewise.
12678 (add_value_to_slot_21): Likewise.
12679 (ia64_kernel_trampoline): New struct.
12680 (nopm): New variable.
12681 (jump): Likewise.
12682 (make_trampoline): New function.
12683 (relocate_addresses): Handle ia64.
12684 (make_reloc_section): Likewise.
12685 (load_image): Likewise.
12686
12687 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12690 warning. Move variables before code while on it.
12691
12692 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 Fuloong support.
12695
12696 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12697 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12698 * grub-core/boot/mips/loongson/fuloong.S: New file.
12699 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12700 Explicitly init CS5536.
12701 [FULOONG]: Don't use serial until CS5536 is available.
12702 Set GPIO based on dumps.
12703 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12704 [FULOONG]: Handle GPIO and memory controller differences.
12705 Parse machine type in $a2.
12706 * grub-core/boot/mips/startup_raw.S: Determine and save the
12707 architecture.
12708 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12709 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12710 init on architecture type.
12711 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12712 SIS315E. Don't init at_keyboard on fuloong.
12713 (grub_halt): Support Fuloong.
12714 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12715 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12716 (loongson_machtypes): New array.
12717 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12718 type.
12719 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12720 config. All users updated. Handle CS5536 serial.
12721 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12722 default port on machine type. Register serial as inactive.
12723 * grub-core/video/sis315pro.c: New file.
12724 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12725 definition.
12726 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12727 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12728 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12729 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12730 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12731 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12732 to ...
12733 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12734 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12735 definition.
12736 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12737 (grub_arch_machine): New extern var.
12738 * include/grub/mips/loongson/serial.h
12739 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12740 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12741 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12742 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12743 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12744 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12745 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12746 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12747 * include/grub/term.h (grub_term_register_input_inactive): New inline
12748 function.
12749 (grub_term_register_output_inactive): Likewise.
12750 * include/grub/video.h (grub_video_driver_id): New value
12751 GRUB_VIDEO_DRIVER_SIS315PRO.
12752 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12753 New field "names". All users updated.
12754 New field value IMAGE_FULOONG_FLASH.
12755 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12756
12757 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12758
12759 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12760 and add some clarification.
12761
12762 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12765 platforms if kernel is compressed.
12766
12767 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12770 unused modules since currently referrence counter isn't reliable and
12771 there isn't much memory to recover there anyway.
12772
12773 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12776 rather than resetting it to allow modules to reference themselves
12777 in init.
12778
12779 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12782 counter on dependencies since grub_dl_unref already handles this.
12783
12784 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12787 on error if not already done.
12788
12789 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 Fix few potential memory misusage.
12792
12793 * grub-core/font/font.c (load_font_index): Don't free char_index to
12794 avoid double free.
12795 (grub_font_load): Zero-fill font at alloc for safety.
12796 Close file on error.
12797 (free_font): Free bmp_idx.
12798
12799 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 * docs/grub.texi (Installation): Fix several outdated claims.
12802
12803 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Handle module_license on windows.
12806
12807 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12808 sections shifted.
12809 (insert_string): Make argument const char * instead of char *.
12810 (write_section_data): Handle long section names.
12811 Handle module_license.
12812
12813 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12816 handle class-free menuentries.
12817 (grub_normal_add_menu_entry): Add a check to be sure.
12818
12819 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12822 PgUp and PgDown.
12823
12824 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * configure.ac: Bump version to 1.99.
12827
12828 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 Give ATA device a bit more time on first try in order to allow disks
12831 to spin up.
12832
12833 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12834 if dev->present is 1. Reset dev->present on failure.
12835 (grub_ata_device_initialize): Set dev->present to 1.
12836 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12837 (grub_ata_device): New member 'present'.
12838
12839 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * util/grub-mkimage.c (generate_image): Update hash.
12842
12843 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Flush caches on DMA memory.
12846
12847 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12848 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12849 (grub_dma_free): Likewise.
12850 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12851
12852 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12855 to avoid asm treating ld and sd as macros.
12856
12857 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12860 decompressor.
12861
12862 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12865 grub_decompress_core since later would fail if grub_decompress_core
12866 is too far.
12867
12868 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12871 R_MIPS_JALR since it's used by newer compiler.
12872
12873 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12876
12877 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12880 file_path to 0 for surety.
12881 (grub_chainloader_boot): Set exit_data to NULL.
12882 Unset the loader once done.
12883 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12884
12885 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12888 unknown key into a dprintf.
12889
12890 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12893 on first non-existant partition.
12894
12895 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12898 openning fails.
12899 Reported by: Mark Korenberg.
12900
12901 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12904 overflow.
12905
12906 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12909 before closing to ensure that it will be readable by grub-setup.
12910
12911 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12914 (devpath_1): Use MAKE_PIWG_PATH.
12915 (devpath_2): Likewise.
12916 (devpath_3): Likewise.
12917 (devpath_4): Likewise.
12918 (devpath_5): Likewise.
12919 (devpath_6): Likewise.
12920
12921 The appleldr.mod was checked that to be binary identical to previous
12922 version.
12923
12924 2011-05-05 Zach <mikezackles>
12925
12926 Support 2010 Macbooks.
12927
12928 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12929 (devs): Add devpath_6.
12930
12931 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12934 /dev/random. /dev/urandom is good enough for our purposes (salting).
12935
12936 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12939
12940 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12943 hexadecimal.
12944
12945 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12948 and not 0 on failure.
12949
12950 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12951
12952 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12953 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12954 disk; otherwise grub_fs_probe will not fall back to the next
12955 filesystem.
12956 (grub_pxefs_open): Likewise, for consistency.
12957 Reported and tested by: Ezekiel Grave.
12958
12959 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12960
12961 * tests/partmap_test.in: Don't hardcode path to parted.
12962 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12963
12964 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
12965
12966 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12967 of `ls' to find out which devices are available.
12968
12969 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12972 than source address for efi mmap buffer.
12973
12974 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12977 wrong action on non-detecting the magic.
12978
12979 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12982 already supplied by another part of the module (fixes compilation on
12983 FreeBSD).
12984
12985 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12988 match the one used by mdadm.
12989
12990 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12991
12992 * po/README: Add instructions for creating po/LINGUAS.
12993
12994 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12995
12996 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12997 #551428.
12998
12999 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13000 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13001 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13002 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13003 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13004 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13005 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13006 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13007 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13008 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13009 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13010 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13011 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13012 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13013 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13014 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13015 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13016 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13017 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13018 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13019 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13020 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13021
13022 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13023
13024 * grub-core/kern/emu/getroot.c
13025 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13026 test that was incorrectly reintroduced in r3214.
13027 Reported by: Ian Dall. Fixes Savannah bug #33133.
13028
13029 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13030
13031 Fix stack pointer handling in 16-bit relocator.
13032
13033 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13034 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13035 Fixes Ubuntu bug #683904.
13036
13037 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * configure.ac: Bump version to 1.99~rc2.
13040
13041 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13044 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13045 * grub-core/lib/x86_64/setjmp.S: Likewise.
13046 * grub-core/lib/mips/setjmp.S: Likewise.
13047 * grub-core/lib/powerpc/setjmp.S: Likewise.
13048 * grub-core/lib/sparc64/setjmp.S: Likewise.
13049
13050 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13053 * grub-core/lib/efi/datetime.c: Likewise.
13054
13055 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13058 New function.
13059 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13060 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13061 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13062
13063 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13066 bitmap.
13067 (grub_gfxterm_term_init): Likewise.
13068
13069 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 Take into account the decorations the computing menu entry width.
13072
13073 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13074 (grub_gfxmenu_create_box): Register get_border_width.
13075 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13076 if available.
13077 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13078 get_border_width.
13079
13080 2011-04-18 Endres Puschner <code@e7p.de>
13081
13082 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13083 Don't skip first class.
13084
13085 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13088 chunks.
13089 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13090
13091 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 Complete 64-bit division support.
13094
13095 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13096 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13097 * include/grub/misc.h (grub_divmod64): Rename to ...
13098 (grub_divmod64_full): ... this.
13099 (grub_divmod64): New inline function.
13100
13101 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13104
13105 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13108 performing the necessary test.
13109
13110 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13113 (kfreebsd.elf): Likewise.
13114 (pc-chainloader.elf): Likewise.
13115 (ntldr.elf): Likewise.
13116
13117 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 Identify RAID by its UUID rather than (guessed) name.
13120
13121 * grub-core/disk/raid.c (ascii2hex): New function.
13122 (grub_raid_open): Accept mduuid/%s specification.
13123 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13124 (get_mdadm_uuid): ... this.
13125 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13126
13127 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13130 to negative size.
13131
13132 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13135 btrfs subvolume.
13136 * util/grub.d/20_linux_xen.in: Likewise.
13137
13138 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13139
13140 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13141 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13142
13143 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13144 Build a list of relevant visible mounts using the mnt_id and
13145 parent_mnt_id fields, and then scan that list at the end.
13146
13147 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * docs/grub.texi (normal): New section.
13150 (normal_exit): New section.
13151 (Embedded configuration): Add reference to normal.
13152 (GRUB only offers a rescue shell): Likewise.
13153 * docs/grub-dev.texi (Error Handling): Fix typo.
13154
13155 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13156
13157 * NEWS: Drop obsolete entry about probe-only btrfs support.
13158
13159 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13160
13161 * util/import_gcry.py: Fix typo.
13162
13163 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * NEWS: Add btrfs support.
13166
13167 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13168 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13169
13170 BtrFS support. Written by me (Vladimir) with important bugfixes and
13171 even more important testing by Colin.
13172
13173 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13174 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13175 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13176 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13177 mem_input_off and mem_input. All users updated to accept in-RAM input.
13178 (gzio_seek): New function.
13179 (test_zlib_header): Likewise.
13180 (grub_gzio_read): Likewise.
13181 (grub_zlib_decompress): Likewise.
13182 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13183 Accept partial and non-virtual mounts.
13184 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13185 avoid receiving /dev/dm-X as device.
13186 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13187 Handle bind and partial mounts.
13188 * grub-core/lib/crc.c: New file.
13189 * include/grub/deflate.h: Likewise.
13190 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13191 proto.
13192 * include/grub/lib/crc.h: New file.
13193
13194 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 Implement automatic module license checking according to new GNU
13197 guidelines.
13198
13199 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13200 (grub_dl_load_core): Use grub_dl_check_license.
13201 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13202 (GRUB_MOD_LICENSE): Likewise.
13203 (GRUB_MOD_DUAL_LICENSE): Likewise.
13204 All modules updated.
13205
13206 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13207
13208 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13209 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13210 loaders.
13211 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13212
13213 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13216
13217 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13220 failed.
13221
13222 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13225 parenthesis in the middle of the filename.
13226
13227 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13230 rather than trying to put initrd way too high.
13231 Reported by: Ryan Lortie <desrt@desrt.ca>
13232
13233 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13234
13235 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13236 improperly removed string.
13237
13238 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13241 is_disk.
13242 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13243 (open_device) Likewise.
13244 (grub_util_biosdisk_close): Likewise.
13245 Reported by: Mark Korenberg.
13246
13247 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13248
13249 * util/grub-mkconfig_lib.in: Add missing quotes.
13250
13251 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
13252
13253 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13254 is NULL.
13255
13256 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 Dynamically count the number of lines for the lower banner.
13259
13260 * grub-core/normal/menu_entry.c (per_term_screen): New member
13261 num_entries.
13262 (print_down): Use num_entries.
13263 (update_screen): Likewise.
13264 (grub_menu_entry_run): Set num_entries.
13265 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13266 num_entries.
13267 (grub_print_message_indented): Move real part to ...
13268 (grub_print_message_indented_real): ... here. Additional argument
13269 dry_run.
13270 (draw_border): Additional argument num_entries.
13271 (print_message): Additional argument dry_run.
13272 (print_entries): Receive menu viewer data.
13273 (grub_menu_init_page): New argment num_entries.
13274 (menu_text_set_chosen_entry): Use num_entries.
13275 (grub_menu_try_text): Likewise.
13276 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13277 All users updated.
13278 (grub_ucs4_count_lines): New function.
13279 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13280 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13281 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13282 (grub_term_border_height): Likewise.
13283 (grub_term_num_entries): Likewise.
13284
13285 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13288 Remove now unused string.
13289
13290 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13291
13292 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13293 build system.
13294 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13295
13296 (Comment): Fix typo.
13297 (Getting started): General copy-editing.
13298 (Typical Development Experience): Likewise.
13299 (Error Handling): Likewise.
13300 (Video API): Likewise.
13301
13302 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13303
13304 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13305 throughout.
13306
13307 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13310 directory.
13311
13312 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13313
13314 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13315 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13316 "development".
13317
13318 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13321 grub_strcpy since the lines aren't necessarily 0-terminated.
13322
13323 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13326 root on legacy.
13327
13328 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13331 (GRUB_MOD_INIT): DEVICE isn't optional.
13332
13333 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13336 word on new line if it's too long anyway. Fixes a hang.
13337
13338 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13341 const.
13342 * util/grub-setup.c (main): Reuse md device name if available.
13343 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13344 not GRUB name as argument.
13345 Based on patch by: Florian Wagner <fwagner>.
13346
13347 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13350 Place mbi on low memory for better compatibility.
13351
13352 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13355
13356 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13357 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13358
13359 * autogen.sh: Ensure that collate and ctype locale is C.
13360 * conf/Makefile.common: Likewise.
13361
13362 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/normal/menu.c: Add missing include.
13365
13366 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
13369
13370 2011-04-08 Martin Zuther <mzuther@mzuther.de>
13371
13372 * util/grub-mkconfig.in: Ignore emacsen backup.
13373
13374 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13377 on open.
13378 (grub_util_biosdisk_close): Likewise.
13379
13380 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13383 const attribute and use grub_isdigit.
13384
13385 2011-04-06 Andrey <dev_null@ukr.net>
13386
13387 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13388 gcc warning.
13389
13390 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13393 useful grub_dprintf's.
13394
13395 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13398
13399 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13402
13403 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Output errors if theme loading failed.
13406
13407 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13408 grub_gfxterm_fullscreen on error paths to ...
13409 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13410 theme loading error.
13411
13412 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13415 space for older compilers.
13416 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13417
13418 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13419
13420 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13421 and report them as not RAID members since they are useless for GRUB.
13422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13423
13424 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13425
13426 Increase LVM implementation robustness in order not to crash on
13427 configurations like pvmove. Previously code assumed that in some places
13428 only lvs or only pvs are used whereas it seems that they are used
13429 interchangeably.
13430
13431 * grub-core/disk/lvm.c (read_node): New function.
13432 (read_lv): Use read_node.
13433 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13434 Match volumes only at the end when all lvs are found. Take both
13435 pvs (first) and lvs (second) into account.
13436 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13437 mirror_* into node_*. All users updated.
13438 (grub_lvm_stripe): Merge this ...
13439 (grub_lvm_mirror): ... and this ...
13440 (grub_lvm_node): ... into this. All users updated.
13441
13442 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13445 of function to allow further scanning for LVMs.
13446
13447 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13450 on failed seek as it breaks open fd reusage.
13451
13452 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * util/grub-install.in: Add a recommendation to use --recheck before
13455 reporting bugs.
13456
13457 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
13460 are obtained.
13461
13462 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 GRUB developper manual based on existing Internals section and
13465 contributions by the various authors with active copyright assignment.
13466
13467 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
13468 * docs/font_char_metrics.png: New file.
13469 * docs/font_char_metrics.txt: Likewise.
13470 * docs/grub-dev.texi: Likewise.
13471 * docs/grub.texi (Internals): Move from here ...
13472 * docs/grub-dev.texi: ... here.
13473
13474 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13475
13476 Store the loopback device as data on loopback grub_disk structures,
13477 rather than the file it points to. This fixes use of freed memory
13478 if an existing loopback device is replaced.
13479
13480 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
13481 disk->data, not dev->file.
13482 (grub_loopback_read): Adjust file assignment to match.
13483 Fixes Ubuntu bug #742967.
13484
13485 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13486
13487 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
13488 when replacing an existing device.
13489
13490 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
13493 memory corruptions.
13494
13495 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
13496 unsigned.
13497 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
13498 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
13499 (grub_jfs_read_inode): Likewise.
13500 (grub_jfs_opendir): Likewise. Remove now useless casts.
13501 (grub_jfs_getent): Likewise.
13502 Make ino a grub_uint32_t rather than int.
13503 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
13504 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
13505 division and module with bit operations.
13506 (grub_jfs_find_file): Make ino a grub_uint32_t.
13507 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
13508
13509 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13510
13511 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
13512 warning. (This was in fact always initialised before use, but GCC
13513 wasn't smart enough to prove that.)
13514 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13515
13516 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
13519 stack alignment.
13520 (efi_wrap_1): Likewise.
13521 (efi_wrap_2): Likewise.
13522 (efi_wrap_3): Likewise.
13523 (efi_wrap_4): Likewise.
13524 (efi_wrap_5): Likewise.
13525 (efi_wrap_6): Likewise.
13526 (efi_wrap_10): Likewise.
13527 Based on information by: Red Hat/Peter Jones.
13528
13529 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13530
13531 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
13532 set-but-not-used variable.
13533
13534 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13535
13536 * docs/grub.texi (Simple configuration): Be more explicit about
13537 GRUB_DEFAULT, and add an example.
13538 Reported by: Leslie Rhorer.
13539
13540 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
13543 shell".
13544
13545 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13546
13547 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
13548 * util/grub.d/20_linux_xen.in: Likewise.
13549
13550 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * util/grub.d/10_linux.in: Try alternative config filenames where
13553 we parse config file.
13554 * util/grub.d/20_linux_xen.in: Likewise.
13555
13556 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13557
13558 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13559 * util/grub.d/20_linux_xen.in: Likewise.
13560
13561 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/disk/raid.c (insert_array): Add few potentially
13564 useful grub_util_info.
13565 (grub_raid_register): Likewise.
13566
13567 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
13570 Preserve partition number in mdadm code path.
13571
13572 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
13575 few potentially useful grub_util_info.
13576
13577 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
13580
13581 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13582
13583 * docs/grub.texi (default): Use @example rather than nested
13584 itemized lists to avoid breaking gendocs.
13585
13586 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13587
13588 * docs/grub.texi (Future): Update.
13589
13590 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13591
13592 * docs/grub.texi (Environment): New chapter.
13593 (Changes from GRUB Legacy): Link to "Environment block" section for
13594 details of limitations.
13595 (Simple configuration): Likewise. Link to documentation of gfxmode
13596 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
13597 respectively.
13598 (Shell-like scripting): Note that normal variables are stored in the
13599 environment.
13600 (gettext): Link to documentation of lang and locale_dir.
13601 (list_env): New section.
13602 (load_env): New section.
13603 (save_env): New section.
13604
13605 (Reporting bugs): Fix typo.
13606
13607 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
13610 the example.
13611
13612 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * grub-core/term/at_keyboard.c (set_scancodes)
13615 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13616
13617 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13618
13619 * docs/grub.texi (Menu-specific commands): Remove some semantics
13620 that were true in GRUB Legacy but not in GRUB 2.
13621 (submenu): New section.
13622 (false): New section.
13623 (read): New section.
13624 (true): New section.
13625
13626 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13627
13628 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13629
13630 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * docs/grub.texi (Simple configuration): Explain some of the
13633 current limitations of grub-mkconfig.
13634 Reported by: Leslie Rhorer.
13635
13636 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 Old macs search for boot.efi rather than for bootia32.efi.
13639
13640 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13641 * util/grub-mkrescue.in: Likewise.
13642 Suggested by: Peter Jones.
13643
13644 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13647
13648 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13651 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13652 (grub_lvm_mirror): New struct.
13653 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13654 (grub_lvm_iterate): Iterate only visible volumes.
13655 (grub_lvm_read): Factor out to ..
13656 (read_lv): ... this. Support mirrors.
13657 (grub_lvm_read): New wrapper function.
13658 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13659 stripped or mirrored.
13660
13661 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13664
13665 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13666
13667 * docs/grub.texi (loopback): New section.
13668
13669 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13672 removed -p option.
13673
13674 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13675
13676 * docs/grub.texi (BIOS installation): New section, partly based on
13677 previous text in other sections.
13678 (Installing GRUB using grub-install): Replace BIOS discussion with a
13679 cross-reference.
13680 (Images): Likewise.
13681
13682 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13685 [HAVE_DIOCGDINFO]: Add safety checks.
13686
13687 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13690 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13691
13692 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13693
13694 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13695 real_sb->size is zero (e.g. RAID-0), get the disk size from
13696 real_sb->data_size instead.
13697 Fixes Ubuntu bug #743136.
13698
13699 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13702 printf clauses for printing size and start.
13703
13704 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13707 Reported and tested by: Timothy Nikkel.
13708
13709 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13712 (dirty_region_add_real): ... this.
13713 (dirty_region_add): Don't discard margin refresh when performing
13714 scheduled repaint.
13715
13716 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/lib/relocator.c (allocate_regstart)
13719 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13720 terminals are capabple of malloc-free operation.
13721 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13722 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13723
13724 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13725
13726 * util/grub-setup.c: Copy the partition table zone if floppy support
13727 is disabled, even if no partition table is found.
13728
13729 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13730 during POST if an invalid partition table is contained in the PBR
13731 of the active partition when GRUB is installed to a partition.
13732
13733 2011-03-28 Colin Watson <cjwatson@debian.org>
13734
13735 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13736 comment.
13737
13738 2011-03-28 Colin Watson <cjwatson@debian.org>
13739
13740 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13741 to be specific about what kind of RAID device we're scanning for.
13742
13743 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13744
13745 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13746 return freed string.
13747
13748 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13751
13752 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Use libgeom on FreeBSD to detect partitions.
13755
13756 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13757 (grub-mkrelpath): Likewise.
13758 (grub-script-check): Likewise.
13759 (grub-editenv): Likewise.
13760 (grub-mkpasswd-pbkdf2): Likewise.
13761 (grub-fstest): Likewise.
13762 (grub-mkfont): Likewise.
13763 (grub-mkdevicemap): Likewise.
13764 (grub-probe): Likewise.
13765 (grub-setup): Likewise.
13766 (grub-ofpathname): Likewise.
13767 (grub-mklayout): Likewise.
13768 (example_unit_test): Likewise.
13769 (grub-menulst2cfg): Likewise.
13770 * grub-core/Makefile.core.def (grub-emu): Likewise.
13771 (grub-emu-lite): Likewise.
13772 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13773 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13774 define HAVE_DIOCGDINFO.
13775 (follow_geom_up) [FreeBSD]: New function.
13776 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13777 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13778 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13779 unconditionally of HAVE_DIOCGDINFO.
13780
13781 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 Fix FreeBSD compilation problem.
13784
13785 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13786 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13787
13788 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
13789
13790 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13791 Switch back to page zero before loading a kernel, since some kernel
13792 drivers expect that.
13793 Thanks to: Felix Kuehling.
13794
13795 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13798 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13799 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13800
13801 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13804 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13805
13806 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13809 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13810 malloc is disabled.
13811
13812 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13815 for modules headers when counting the needed allocation size.
13816
13817 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13820 if no ASCII character is found to prevent crash.
13821
13822 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13823
13824 * grub-core/video/bitmap.c (match_extension): Ignore case.
13825
13826 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13829
13830 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * grub-core/script/parser.y: Declare "time" as valid argument.
13833
13834 2011-03-23 Peter Jones <pjones@redhat.com>
13835
13836 Fix incorrect assert failure reporting.
13837
13838 * grub-core/tests/example_functional_test.c (example_test): Add
13839 a failure comment.
13840 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13841 (failure_start): ...this. Check that malloc succeeded.
13842 Don't call xvasprintf. Return failure struct.
13843 (failure_append_vtext): New function.
13844 (failure_append_text): Likewise.
13845 (add_failure): Likewise.
13846 (grub_test_assert_helper): Likewise.
13847 * include/grub/test.h (grub_test_assert_helper): New declaration.
13848 (grub_test_assert): Macro rewritten.
13849
13850 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13851
13852 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13853
13854 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13857
13858 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13861 into GRUB-style one.
13862
13863 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13866 error and not grub_errno.
13867 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13868
13869 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13872 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13873
13874 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/efiemu/i386/pc/cfgtables.c
13877 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13878 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13879 (grub_xnu_unlock): Likewise.
13880 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13881
13882 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13885 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13886 * grub-core/commands/hashsum.c (aliases): Likewise.
13887 * grub-core/commands/setpci.c (pci_registers): Likewise.
13888 * grub-core/disk/usbms.c (attach_hook): Likewise.
13889 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13890 (zio_checksum_table): Likewise.
13891 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13892 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13893 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13894 * grub-core/lib/relocator.c (leftovers): Likewise.
13895 (extra_blocks): Likewise.
13896 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13897 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13898 (modules_last): Likewise.
13899 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13900 (devices): Likewise.
13901 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13902 (modules_last): Likewise.
13903 * grub-core/normal/auth.c (users): Likewise.
13904 * grub-core/normal/context.c (initial_menu): Likewise.
13905 (current_menu): Likewise.
13906 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13907 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13908 (grub_serial_terminfo_input_template): Likewise.
13909 (grub_serial_terminfo_output_template): Likewise.
13910 (grub_serial_terminfo_input): Likewise.
13911 (grub_serial_terminfo_output): Likewise.
13912 (registered): Likewise.
13913 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13914
13915 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13918 grub_video_mode_type_t.
13919 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13920 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13921 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13922
13923 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * util/grub-install.in: Correct the x86-64 name as x86_64.
13926
13927 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
13928
13929 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13930 initial chunk read from the kernel always includes GRUB's multiboot
13931 header, which is now outside the first sector.
13932
13933 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13934
13935 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13936 cached mmap_size, so that this works correctly when called multiple
13937 times.
13938 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13939
13940 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13941
13942 * docs/grub.texi (Simple configuration): Tidy up formatting.
13943
13944 2011-03-07 Szymon Janc <szymon@janc.net.pl>
13945
13946 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13947 Set-but-not-used variable removed.
13948
13949 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 Workaround yet another IEEE1275 bug.
13952
13953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13954 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13955 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13956 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13957 is set.
13958 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13959 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13960
13961 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13964 error.
13965
13966 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
13967
13968 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13969 empty, since in that case we can only generate either nothing or a
13970 syntactically invalid configuration file.
13971 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13972
13973 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13974
13975 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13976 (Making a GRUB bootable CD-ROM): Likewise.
13977 (Invoking grub-mkrescue): New section.
13978 Reported by: Yann Dirson. Fixes Debian bug #612585.
13979
13980 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13981
13982 * util/grub-install.in: Remove unnecessary brackets from tr
13983 arguments.
13984 * util/grub.d/10_hurd.in: Likewise.
13985 * util/grub.d/10_kfreebsd.in: Likewise.
13986 * util/grub.d/10_linux.in: Likewise.
13987 * util/grub.d/20_linux_xen.in: Likewise.
13988 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13989
13990 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
13991
13992 * include/grub/file.h (not_easly_seekable): Rename to ...
13993 (not_easily_seekable): ... this. Update all users.
13994
13995 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
13996
13997 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13998 grub-mkrescue.
13999
14000 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * util/grub-mkimage.c (generate_image): Refuse to create the images
14003 bigger than the actual flash (512K) in Loongson machines. 512K is also
14004 the biggest chip supported by them.
14005
14006 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14009
14010 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
14011
14012 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14013 super_offset field.
14014
14015 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14016
14017 * util/grub-install.in: Ignore install device on platforms
14018 where it doesn't make sense. Always use UUIDs except on pc, efi and
14019 sparc64.
14020 Reported by: Daniel Kahn Gillmor.
14021
14022 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14025
14026 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14029 (iterate_real): Don't rely on partition being non-NULL.
14030
14031 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14034 supported platforms. Put a compile time assert for this rather than
14035 generate a warning with 32-bit shift.
14036
14037 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14040 logical expression more readable.
14041
14042 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14045 even if some elements have a name.
14046 Reported by: Alexander GQ Gerasiov.
14047
14048 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
14049
14050 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14051 path unreadable if `grub-probe -t abstraction' fails, for example if
14052 memberlist fails on an LVM volume group.
14053 Reported by: Darius Jahandarie.
14054
14055 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
14056
14057 * docs/grub.texi (Simple configuration): Document
14058 GRUB_PRELOAD_MODULES.
14059
14060 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
14061
14062 * .bzrignore: Remove nonexistent grub-pbkdf2.
14063
14064 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * configure.ac: Bump version to 1.99~rc1.
14067
14068 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14071 for safety.
14072
14073 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14076 module.
14077
14078 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14081
14082 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14085 diskdevid.
14086
14087 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 Fix compilation on cygwin.
14090
14091 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14092 -R .drectve on cygwin.
14093 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14094 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14095 (COND_CYGWIN): New condition.
14096 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14097 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14098 not @TARGET_OBJ2ELF@.
14099 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14100 type to determine whether aux is to be used.
14101
14102 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14105 realpath'ed device string.
14106 Handle floppy (somewhat).
14107 Issue error in unknown case rather than garbage.
14108 Reported by: Axel Beckert.
14109
14110 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 * util/grub.d/00_header.in (load_video): Handle the case when no video
14113 drivers available.
14114 Thanks to: Axel Beckert.
14115
14116 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14119 variable. Fixes problem on big endian platforms.
14120
14121 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14124 It doesn't work well there.
14125
14126 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14129 warning.
14130 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14131 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14132 counter.
14133
14134 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 Use alias->path rather than buggy "canon".
14137
14138 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14139 (ofdisk_hash_add): New argument curcan. All users updated.
14140
14141 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14142
14143 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14144
14145 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14148 loadmask before doing any calculations. Use correct type for offset.
14149 (grub_linux_load64): Likewise.
14150
14151 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14152
14153 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14154 with NULL.
14155 (console_grub_equivalences_unshift): Likewise.
14156 Reported by: Daniel Dehennin.
14157
14158 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14161 (set_env_limn_ro): Likewise.
14162 (GRUB_MOD_INIT): Likewise.
14163 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14164 ARRAY_SIZE while on it.
14165 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14166 * grub-core/normal/context.c (grub_env_export): Move from here ...
14167 * grub-core/kern/env.c (grub_env_export): ... here.
14168 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14169 prefix.
14170 * grub-core/kern/main.c (grub_main): Export root and prefix.
14171 * include/grub/env.h (grub_env_export): Export.
14172 Reported by: Seth Goldberg.
14173
14174 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14177 Take into account space used by ELF sections and multiboot palette.
14178 Reported by: Grégoire Sutre.
14179
14180 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * BUGS: New file.
14183
14184 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 Pass more appropriate video id to Linux.
14187
14188 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14189 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14190 fill have_vga.
14191 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14192 shift params->lfb_size.
14193 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14194
14195 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14198
14199 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14200
14201 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14202 separator and pass bootpath/devid even if only one of them is available.
14203 Reported by: Seth Goldberg.
14204
14205 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14208 implementations bug on them.
14209
14210 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14211 memory.
14212 (filter_memory_map): Likewise.
14213
14214 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14217 Reported by: nebuchadnezzar.
14218
14219 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14222 Reported by: nebuchadnezzar.
14223
14224 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 Submenu default support.
14227
14228 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14229 auto_boot. All users updated.
14230 Declared static.
14231 Handle chosen and default with submenus.
14232 (grub_menu_execute_with_fallback): Declared static.
14233 Don't notify failure if autobooted. Upper level does it.
14234 (menuentry_eq): New function.
14235 (get_entry_number): Use menuentry_eq.
14236 (show_menu): New parameter "autobooted". All users updated.
14237 (grub_show_menu): Likewise.
14238 * include/grub/normal.h (grub_show_menu): Likewise.
14239 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14240 (grub_menu_execute_with_fallback): Likewise.
14241
14242 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * util/grub-mklayout.c (usage): Update help text.
14245
14246 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14249
14250 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * util/grub-menulst2cfg.c (main): Trim the line.
14253
14254 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14257 (grub_machine_init): Don't check amount of low memory as reportedly
14258 INT 12h can be broken and if low memory is too low we wouldn't have
14259 gotten into grub_machine_init anyway.
14260
14261 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14264 (grub_machine_mmap_iterate): Take low memory into account
14265
14266 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14269 badfs.
14270 Reported by: TiCPU.
14271
14272 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14275 members errors.
14276
14277 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14278
14279 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14280 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14281
14282 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14283
14284 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14285 openbsd and netbsd types being in part_bsd module.
14286
14287 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14290 (_FILE_OFFSET_BITS): Likewise.
14291 Reported by: Seth Goldberg.
14292
14293 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14294
14295 * configure.ac: Check for libdevmapper header.
14296
14297 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14300 avoid aliasing.
14301 (fzap_lookup): Likewise.
14302 (dnode_get): Likewise.
14303 (make_mdn): Likewise.
14304 (zfs_mount): Likewise.
14305 (fzap_iterate): Use temporary pointer to avoid aliasing.
14306 (grub_zfs_read): Likewise.
14307 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14308 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14309 pointers to avoid aliasing.
14310 (grub_cmd_xnu_kernel64): Likewise.
14311 (grub_xnu_load_driver): Likewise.
14312
14313 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14316 aliasing warning.
14317 (grub_cmd_terminal_output): Likewise.
14318 Reported and tested by: Grégoire Sutre.
14319
14320 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14323 warning.
14324 Reported and tested by: Grégoire Sutre.
14325
14326 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * configure.ac: Do CPU substitution even if it's specified explicitly.
14329 Reported and tested by: Alain Greppin.
14330
14331 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14334 Reported and tested by: Alain Greppin.
14335
14336 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 Satisfy some bison versions need for inttypes.h.
14339
14340 * grub-core/lib/posix_wrap/inttypes.h: New file.
14341 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14342 (int16_t): Likewise.
14343 (int32_t): Likewise.
14344 (int64_t): Likewise.
14345 Reported and tested by: Alain Greppin.
14346
14347 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14350 Silence spurious warning.
14351 Reported and tested by: Alain Greppin.
14352
14353 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14354
14355 * docs/grub.texi (Support automatic decompression): Update with xz
14356 decompression support.
14357
14358 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14359
14360 Improve loaders' kernel command line handling.
14361
14362 * grub-core/lib/cmdline.c: New file.
14363 * include/grub/lib/cmdline.h: Likewise.
14364 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14365 grub_create_loader_cmdline to create kernel command line.
14366 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14367 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14368 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14369 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14370 (linux): Add lib/cmdline.c on common.
14371
14372 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14375 inopos might be unaligned.
14376
14377 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14380 endian transformations.
14381 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14382 Based on report by: Doug Nazar.
14383
14384 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
14385
14386 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14387 array->members[i].start_sector.
14388 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14389
14390 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14393 Reported and tested by: Grégoire Sutre.
14394
14395 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14396
14397 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14398 avoid causing test failures by clearing the screen.
14399
14400 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14401
14402 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14403 Fix prefix check to handle the case where dir ends with a slash
14404 (most significantly, "/" itself).
14405 Reported by: Michael Vogt.
14406
14407 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 Run terminfo_cls on initing terminfo output to clear the screen and
14410 move the cursor to (0,0).
14411
14412 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14413 Call grub_terminfo_output_init.
14414 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14415 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14416 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14417
14418 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14421 only when needed.
14422
14423 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14426 CTRL.
14427
14428 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 The E820 type 5 is BADRAM, not EXEC_CODE.
14431
14432 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14433 (GRUB_E820_BADRAM): New define.
14434 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14435 into reserved. Propagate BADRAM.
14436 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14437 (GRUB_E820_BADRAM): New define.
14438
14439 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14442 Ignore the memory post-4G.
14443 (grub_relocator_firmware_alloc_region): Additional debug statement.
14444
14445 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14448 names.
14449 Reported by: David Pravec.
14450
14451 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
14454 BIOSes.
14455
14456 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
14459 Prevent overflow.
14460 (grub_reed_solomon_recover): Likewise.
14461
14462 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
14465
14466 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
14469 variable.
14470
14471 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
14472
14473 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
14474 descriptions of extract_legacy_entries_source and
14475 extract_legacy_entries_configfile.
14476 Reported by: Seung Soo, Ha.
14477
14478 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
14479
14480 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
14481 on devices that do not implement function 0.
14482
14483 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
14484
14485 * grub-core/fs/hfsplus.c: Make parent unsigned.
14486 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
14487 overflows.
14488 (grub_hfsplus_cmp_extkey): Likewise
14489
14490 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 * util/grub-install.in: Correctly use bootloader_id and not
14493 GRUB_DISTRIBUTOR on efibootmgr line.
14494
14495 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
14498
14499 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
14500
14501 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
14502 Xen and reorder menu item wording to make it clearer that this entry
14503 will launch Xen. Print separate messages when loading Xen and
14504 Linux.
14505
14506 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
14509 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
14510 loop in case of incorrect amiga partmap.
14511
14512 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
14515 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
14516 Reported by:EHeM.
14517
14518 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
14521 spurious warning.
14522 Reported by: crocket
14523
14524 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
14527 Preload EFIemu.
14528 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
14529
14530 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
14533 is loaded
14534 (grub_cmd_xnu_kextdir): Likewise.
14535 (grub_cmd_xnu_splash): Likewise.
14536
14537 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Avoid using Reed-Solomon with 0 redundancy.
14540
14541 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
14542 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
14543 or 0 redundancy.
14544 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
14545 (grub_reed_solomon_recover): Likewise.
14546
14547 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 Don't use disk subsystem in freebsd_boot.
14550
14551 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
14552 (freebsd_biosdev): Likewise.
14553 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
14554 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
14555
14556 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14557
14558 Handling of files of unknown size is currently limited. They can't be
14559 used e.g. for initrd or modules. Moreover gzip handling of not
14560 easily seekable files is buggy. Disable unknown file size for now. May
14561 be inefficient but works.
14562
14563 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
14564 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14565
14566 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
14567
14568 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
14569 floppy probe.
14570
14571 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
14572
14573 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
14574
14575 2010-12-25 Shea Levy <shlevy>
14576
14577 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
14578
14579 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
14582 Windows Server 2008.
14583 Reported by: Devin Giddings.
14584
14585 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
14588 writing an error message because of async power management.
14589 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
14590 (grub_reboot): Likewise.
14591
14592 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
14593
14594 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
14595 keep unit tests from failing when they shouldn't.
14596
14597 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14598
14599 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
14600 previous patch increased the size of the RS code by 20 bytes (at
14601 least with gcc-4.4), so increase this by 20 bytes to match.
14602 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14603
14604 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14605
14606 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
14607 scratch area. Make sure to initialise chosen in standalone mode as
14608 well as non-standalone.
14609 Reported by: Robert Hooker and Andy Whitcroft.
14610 Tested by: Andy Whitcroft.
14611
14612 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14613
14614 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14615 constructing a new unescaped string and passing it to grub_xputs in
14616 one go, rather than passing characters to grub_printf one at a time.
14617
14618 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14619
14620 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14621 initialising utf16.
14622
14623 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14624
14625 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14626 comment. Add an extra layer of quotation, requiring the output of
14627 this function to be used in a printf format string.
14628 (gettext_printf): New function.
14629 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14630 Extract translatable strings from here-documents and use a temporary
14631 variable instead, so that xgettext can find them.
14632 * util/grub.d/10_kfreebsd.in: Likewise.
14633 * util/grub.d/10_linux.in: Likewise.
14634 * util/grub.d/20_linux_xen.in: Likewise.
14635
14636 * po/grub.d.sed: New file.
14637 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14638 arguments. Set c-format flags on all strings extracted from
14639 util/grub.d/ (xgettext refuses to include these itself for strings
14640 it extracted from a shell file, but these really are c-format).
14641
14642 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14645 Avoid next pointing to nowhere.
14646
14647 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14648
14649 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14650 rather than assuming than rootblock is exactly in the middle.
14651 (grub_affs_label): Likewise.
14652
14653 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14656 reserved_first_sector to 0.
14657 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14658 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14659 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14660
14661 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Fix handling of UTF-16 UDF labels.
14664
14665 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14666 (read_string): .. here.
14667 (grub_udf_label): Use read_string.
14668
14669 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14670
14671 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14672 editor under argument scope.
14673 Reported by: Jordan Uggla
14674
14675 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14678
14679 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
14680
14681 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14682 line, and other keys scroll an entire page (previous handling was
14683 for \r and \n to scroll a page and other keys to scroll two lines).
14684
14685 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14688 Set ptrdest to correct get_physical_target_address rather than
14689 incorrect get_virtual_current_address.
14690
14691 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14692
14693 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14694 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14695
14696 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14697
14698 * .bzrignore: Ignore grub-core/rs_decoder.S.
14699
14700 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14701
14702 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14703 .mo/.mo.gz opening sequence to ...
14704 (grub_mofile_open_lang): ... here.
14705 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14706 * util/grub.d/00_header.in (grub_lang): Include country part of
14707 locale.
14708 Reported by: Mario Limonciello.
14709
14710 2010-12-09 Robert Millan <rmh@gnu.org>
14711
14712 * NEWS: Document addition of ZFS support.
14713
14714 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
14715
14716 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14717 rather than `/ 2', as the latter requires -Wa,--divide which would
14718 require bumping our minimum binutils version.
14719
14720 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14721
14722 * util/grub-script-check.c (main): Print script line number on
14723 error.
14724
14725 2010-12-01 Robert Millan <rmh@gnu.org>
14726
14727 * grub-core/fs/zfs/zfs.c: New file.
14728 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14729 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14730 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14731 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14732
14733 * include/grub/zfs/dmu.h: Likewise.
14734 * include/grub/zfs/dmu_objset.h: Likewise.
14735 * include/grub/zfs/dnode.h: Likewise.
14736 * include/grub/zfs/dsl_dataset.h: Likewise.
14737 * include/grub/zfs/dsl_dir.h: Likewise.
14738 * include/grub/zfs/sa_impl.h: Likewise.
14739 * include/grub/zfs/spa.h: Likewise.
14740 * include/grub/zfs/uberblock_impl.h: Likewise.
14741 * include/grub/zfs/vdev_impl.h: Likewise.
14742 * include/grub/zfs/zap_impl.h: Likewise.
14743 * include/grub/zfs/zap_leaf.h: Likewise.
14744 * include/grub/zfs/zfs.h: Likewise.
14745 * include/grub/zfs/zfs_acl.h: Likewise.
14746 * include/grub/zfs/zfs_znode.h: Likewise.
14747 * include/grub/zfs/zil.h: Likewise.
14748 * include/grub/zfs/zio.h: Likewise.
14749 * include/grub/zfs/zio_checksum.h: Likewise.
14750
14751 * Makefile.util.def: Build ZFS into libgrubmods.
14752 * grub-core/Makefile.core.def: Build zfs.mod.
14753
14754 2010-11-30 Szymon Janc <szymon@janc.net.pl>
14755
14756 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14757 variable.
14758 * grub-core/commands/wildcard.c (match_files): Likewise.
14759
14760 2010-11-30 Robert Millan <rmh@gnu.org>
14761
14762 * grub-core/loader/i386/bsd.c
14763 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14764 whether kernel is loaded using grub_loader_is_loaded(), rather
14765 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14766 certain error conditions.
14767
14768 2010-11-30 Robert Millan <rmh@gnu.org>
14769
14770 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14771 (grub_cmd_echo): Call grub_refresh() after printing a message.
14772
14773 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 Avoid using tricks for initialising endian variables.
14776
14777 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14778 Make const.
14779 (GRUB_MOD_INIT): Don't byte-swap.
14780 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14781 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14782 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14783 (grub_swap_bytes32_compile_time): Likewise.
14784 (grub_cpu_to_le32_compile_time): Likewise.
14785 (grub_cpu_to_le16_compile_time): Likewise.
14786
14787 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * util/grub-setup.c (setup): Stop recommending --force. People who
14790 understand the dangers of blocklists are able to find this option
14791 anyway and the ones who don't shouldn't use it anyway.
14792
14793 2010-11-26 Robert Millan <rmh@gnu.org>
14794
14795 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14796 Update all users.
14797
14798 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
14799
14800 Fix LVM-on-RAID probing.
14801
14802 * util/grub-probe.c (probe): Remember which disk was detected as
14803 RAID (perhaps an LVM physical volume). Use that disk's raidname
14804 rather than that of the top-level disk.
14805
14806 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
14807
14808 Fix cmdline argument quotes for setparams command of menuentry
14809 definitions.
14810
14811 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14812 quotes for arguments.
14813 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
14814 grub_strchrsub function instead.
14815
14816 * include/grub/misc.h (grub_strchrsub): New function.
14817
14818 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14819
14820 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14821 effort by skipping "." and ".." entries up-front.
14822 Suggested by: Michael Lazarev.
14823
14824 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14825
14826 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14827 ldflags to ldadd, to fix link line ordering.
14828 (none_decompress): Likewise.
14829
14830 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14831
14832 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14833 platforms.
14834 (grub-emu-lite): Remove kern/emu/cache.S.
14835
14836 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14837
14838 * util/deviceiter.c (compare_devices): If the by-id link for a
14839 device couldn't be resolved, fall back to sorting by the by-id link
14840 rather than segfaulting.
14841 Reported and tested by: Daniel Mierswa.
14842
14843 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14844
14845 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14846 ldflags, to fix link line ordering.
14847
14848 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14851 linkers are picky about this.
14852
14853 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14854
14855 * grub-core/Makefile.am (command.lst): Adjust sed expression
14856 ordering so that extended and priority commands aren't treated as
14857 ordinary commands.
14858
14859 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14860
14861 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14862 Remove byte-swapping function calls, which are not valid in
14863 structure initialisers.
14864 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14865 non-const.
14866 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14867 grub_gpt_partition_type_bios_boot.
14868
14869 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14870
14871 Fix test program build on GNU/kFreeBSD.
14872
14873 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14874 $(LIBNVPAIR)' library dependencies.
14875
14876 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14879
14880 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14881
14882 * util/grub-install.in: Remove excessive quoting that broke
14883 installations to RAID devices.
14884
14885 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14888 bootloader version instead of 0.
14889
14890 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14893 warning.
14894
14895 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14898 retrieve the metadat sector if size isn't known.
14899 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14900
14901 2010-11-18 Robert Millan <rmh@gnu.org>
14902
14903 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14904 with grub_memcmp().
14905
14906 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14909 arrow.
14910 Reported by: Jordan Uggla.
14911
14912 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Make better UTF compliant.
14915
14916 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14917 sequences as incorrect.
14918 (grub_is_valid_utf8): Likewise.
14919 (grub_utf8_to_ucs4): Likewise.
14920 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14921 (grub_ucs4_to_utf8_alloc): Likewise.
14922 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14923
14924 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 Make legacy_source behave like source.
14927
14928 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14929 grub_show_menu.
14930 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14931
14932 2010-11-16 Colin Watson <cjwatson@debian.org>
14933
14934 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14935 (-Wunused implies -Wunused-parameter, but not vice versa).
14936
14937 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * configure.ac: Make error messages less confusing by testing for
14940 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14941 accepted, but produces a diagnostic if something else is wrong).
14942
14943 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14944
14945 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14946 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14947 (now unused).
14948 (grub_keyboard_controller_init)
14949 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14950 read the initial state since controller isn't inited yet.
14951
14952 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14955 allocate_regbeg may need to create new chunk header.
14956
14957 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 Fix quoting in legacy parser.
14960
14961 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14962 single quotes.
14963 (grub_legacy_parse): Likewise.
14964 Reported by: Jordan Uggla.
14965 Tested by: Jordan Uggla.
14966
14967 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 Don't add -lgcc on i386 and x86_64.
14970
14971 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14972 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14973 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14974
14975 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 * configure.ac: Add -Wno-trampolines when supported.
14978
14979 2010-11-14 Modestas Vainius <modax@debian.org>
14980
14981 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14982 fakeraid.
14983
14984 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14985
14986 Add generic logical block size support for UDF.
14987
14988 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14989 (GRUB_UDF_BLKSZ): Removed.
14990 (struct grub_udf_data): New field "lbshift" to hold the logical block
14991 size of the file system in log2 format. All users updated.
14992 (sblocklist): Change type to unsigned.
14993 (grub_udf_mount): Change type of "sblklist" to unsigned.
14994 Move AVDP search before VRS recognition, because the latter requires
14995 knowledge of the logical block size, which is detected during the
14996 former.
14997 Detect and validate logical block size during AVDP search, adding
14998 support for block sizes 512, 1024 and 4096.
14999 Make VRS recognition independent of block size.
15000
15001 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15002
15003 Properly handle deleted files on UDF.
15004
15005 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15006 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15007 set.
15008
15009 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15010
15011 Support reading files larger than 2 GiB.
15012
15013 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15014 "offset" to grub_off_t.
15015 (grub_udf_read_file): Likewise for parameter "pos".
15016
15017 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15020 unavailable.
15021 (Simple configuration): Refer to Changes from GRUB Legacy about
15022 save_env availability.
15023
15024 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * util/grub-install.in: Ignore empty partition table detection
15027 instead of trying to include part_ module.
15028
15029 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15032 LVM on RAID support.
15033
15034 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 Properly define WORDS_BIGENDIAN in wrapped environments.
15037
15038 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15039 definition.
15040 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15041
15042 Reported by: Manoel Rebelo Abranches.
15043 Tested by: Manoel Rebelo Abranches.
15044
15045 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 * util/grub-mkconfig.in: Fix quoting.
15048
15049 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 Support big ext2 files.
15052
15053 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15054 (grub_ext2_read_block): Support triple indirect blocks.
15055 (grub_ext2_read_file): Use 64-bit types and read size_high.
15056 (grub_ext2_open): Read size_high.
15057 Reported by: Ximin Luo.
15058 Tested by: Manoel Rebelo Abranches.
15059
15060 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * util/grub-install.in: Handle filenames containing spaces.
15063 Reported by: Jordan Uggla.
15064 Tested by: Jordan Uggla.
15065
15066 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * util/grub-mkconfig.in (grub_script_check): New variable.
15069 Use grub_script_check instead of grub-script-check.
15070 Reported by: Barry Jackson.
15071
15072 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * docs/grub.texi (menu): Correct the order.
15075 Reported by: D. Hugh Redelmeier.
15076
15077 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15080 jump.
15081
15082 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15083
15084 * include/grub/elfload.h (grub_elf32_size): New parameter.
15085 All users updated.
15086 Return maximum segments alignment.
15087 (grub_elf64_size): Likewise.
15088 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15089 Return maximum segments alignment.
15090 (grub_elf64_size): Likewise.
15091 * grub-core/loader/powerpc/ieee1275/linux.c:
15092 (grub_linux_claimmap_iterate): New function. Uses the
15093 "available" property in the "memory" node for memory allocation
15094 for kernel in the PowerPC loader.
15095 (grub_linux_load32): Correctly find linux entry point offset.
15096 (grub_linux_load64): Likewise.
15097
15098 2010-11-07 Robert Millan <rmh@gnu.org>
15099
15100 On mips-yeeloong, build with -march=loongson2f when this flag is
15101 available (GCC >= 4.4).
15102 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15103 `-march=mips3'.
15104 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15105 or otherwise add -march=mips3.
15106
15107 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15108
15109 Suppress shell expansion on echo '*' and echo "*" like cases.
15110 Reported by: Jordan Uggla.
15111
15112 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15113 string arguments before shell expansion.
15114 * tests/grub_cmd_echo.in: New testcases.
15115
15116 2010-11-07 Robert Millan <rmh@gnu.org>
15117
15118 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15119 transition.
15120
15121 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * grub-core/kern/emu/hostdisk.c
15124 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15125
15126 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15129 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15130 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15131
15132 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15135
15136 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * util/grub-install.in: Replace useless recomendation to pass
15139 --modules with a recomendation to report a bug.
15140
15141 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 Properly register serial terminfo.
15144 Reported by: Jordan Uggla
15145
15146 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15147 const.
15148 (grub_serial_terminfo_output_template): Likewise.
15149 (grub_cmd_serial): Register "serial" with terminfo.
15150 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15151 grub_serial_terminfo_output.
15152
15153 2010-11-05 Robert Millan <rmh@gnu.org>
15154
15155 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15156 needed).
15157
15158 2010-11-05 Robert Millan <rmh@gnu.org>
15159
15160 On Yeeloong, pass machine type information to Linux.
15161
15162 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15163 (LOONGSON_MACHTYPE): New macro, set to
15164 "machtype=lemote-yeeloong-2f-8.9inches".
15165 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15166 additional argument to Linux.
15167
15168 2010-11-04 Robert Millan <rmh@gnu.org>
15169
15170 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15171 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15172 (its SATA disks are detected as slaveless IDE master drives on
15173 kFreeBSD).
15174 Reported by Carsten Aulbert.
15175
15176 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
15177
15178 * util/bin2h.c (main): Fix spelling error in generated output.
15179
15180 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15181
15182 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15183
15184 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15187 vga= option is supplied.
15188
15189 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15192 * util/grub.d/10_kfreebsd.in: Likewise.
15193 * util/grub.d/10_linux.in: Likewise.
15194 * util/grub.d/20_linux_xen.in: Likewise.
15195
15196 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15199 argument as an argument to no-argument option.
15200
15201 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * util/grub.d/10_linux.in: Add missing load_video with explicit
15204 GRUB_GFXPAYLOAD_LINUX.
15205
15206 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15209
15210 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15213 elements with invlid index.
15214 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15215 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15216 members.
15217 * include/grub/raid.h (grub_raid_member): New struct.
15218 (grub_raid_array): Transform devices and start_sector into usage of
15219 grub_raid_member. All users updated
15220 (allocated_devs): New member.
15221
15222 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15225 is modified
15226
15227 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15228
15229 NetBSD build fix for getline function conflict from gnulib.
15230
15231 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15232 components that depend on gnulib headers.
15233 (libgrubmods.a): Renamed from earlier libgrub.a.
15234 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15235
15236 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15239 install rather than creating a broken install.
15240
15241 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * util/grub-setup.c (argp): Remove misleading example of installing to
15244 a partition.
15245
15246 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * util/grub-setup.c (setup): Clarify the error message.
15249
15250 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15253
15254 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 * grub-core/kern/emu/misc.c
15257 (grub_make_system_path_relative_to_its_root)
15258 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15259
15260 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/kern/emu/misc.c
15263 (grub_make_system_path_relative_to_its_root): Revert r2882.
15264
15265 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15268 useless field head. All users updated.
15269 (free_subchunk): Correct handling of IN_REGION subchunk.
15270
15271 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15274 (Supported kernels): Likewise.
15275
15276 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15277
15278 Make mktemp invocations portable.
15279
15280 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15281 exit if mktemp fails.
15282 * tests/grub_script_blockarg.in: Likewise.
15283 * tests/partmap_test.in: Likewise.
15284 * tests/util/grub-shell-tester.in: Likewise.
15285 * tests/util/grub-shell.in: Likewise.
15286 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15287 * Makefile.am: Likewise, and chain shell commands with `&&'
15288 instead of ';'.
15289 * util/grub-mkrescue.in: Use the same explicit template as above, and
15290 exit if mktemp fails.
15291
15292 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15293
15294 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15295 Linux kernel, reported by Dennis Schridde.
15296
15297 2010-10-17 Szymon Janc <szymon@janc.net.pl>
15298
15299 * grub-core/normal/auth.c (grub_auth_check_authentication):
15300 Set-but-not-used variable removed.
15301
15302 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15305 32-bit linux protocol.
15306
15307 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15310 cursor shape for sanity.
15311
15312 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * docs/grub.texi (Installation): Document buggy BIOS install.
15315
15316 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 * docs/grub.texi (Installation): Indent.
15319
15320 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * util/grub-setup.c (setup): New parameter allow_floppy.
15323 (arguments): New member allow_floppy.
15324 (argp_parser): Handle --allow-floppy.
15325 (main): Pass allow_floppy.
15326 * util/grub-install.in: New option --allow-floppy passed though to
15327 grub-setup.
15328
15329 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * util/grub-install.in: Handle partitionless disks.
15332
15333 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * util/grub-setup.c (setup): Don't clean blocklists before readability
15336 verfification.
15337
15338 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * docs/grub.texi (Installation): Document embedding zone. Remove
15341 obsolete grub-install example.
15342
15343 2010-10-16 Szymon Janc <szymon@janc.net.pl>
15344
15345 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15346 Set-but-not-used variable ifdef'ed.
15347 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15348 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15349 variable removed.
15350 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15351 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15352 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15353 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15354 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15355 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15356 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15357 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15358 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15359 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15360 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15361 Likewise.
15362
15363 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15366 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15367 enum value.
15368
15369 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15372 synonym to _S5_. Needed for some DSDTs.
15373
15374 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 Userspace ACPI parser debugging.
15377
15378 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15379 headers and add relevant defines. Don't include standard headers.
15380 (main) [GRUB_DSDT_TEST]: New function.
15381 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15382 Don't declare functions.
15383
15384 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 Remove dead grub_efi_mm_fini.
15387
15388 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15389 (ALLOCATED_PAGES_SIZE): Likewise.
15390 (MAX_ALLOCATED_PAGES): Likewise.
15391 (allocated_pages): Likewise.
15392 (grub_efi_allocate_pages): Don't record allocated pages.
15393 (grub_efi_free_pages): Likewise.
15394 (grub_efi_mm_init): Likewise.
15395 (grub_efi_mm_fini): Removed.
15396
15397 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15400 (grub_efi_mm_init): Take into account the memory map size increase.
15401
15402 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15405 (serial_hw_put): Wait based on real time rather than port reads. Don't
15406 roken ports.
15407 * include/grub/serial.h (grub_serial_port): New field broken.
15408
15409 2010-10-16 Robert Millan <rmh@gnu.org>
15410
15411 * grub-core/kern/emu/misc.c
15412 (grub_make_system_path_relative_to_its_root): Fix premature return
15413 when processing non-root ZFS filesystems.
15414 Reported by Sergio Talens-Oliag.
15415
15416 2010-10-15 Robert Millan <rmh@gnu.org>
15417
15418 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15419 guarantee compressed ones are processed first.
15420
15421 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15424 grub_efiemu_autocore.
15425
15426 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15429 rather than 0x1b.
15430 (grub_console_getkey): Use correct jae opcode rather than ja.
15431
15432 2010-10-12 Robert Millan <rmh@gnu.org>
15433
15434 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15435 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15436 variable. All references updated.
15437
15438 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15439
15440 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 Correctly distinguish mdraid flavours.
15443
15444 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15445 (insert_array): New argument raid.
15446 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15447 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15448 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15449
15450 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
15453 handling of special keys.
15454
15455 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15456
15457 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
15458 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
15459
15460 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15461
15462 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
15463 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
15464 users updated.
15465 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
15466 Use right endpoint when querying descriptor.
15467
15468 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Clear out 0x80 color bit on EFI.
15471 Tested by: decoder
15472 Reported by: decoder and meta tech.
15473
15474 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
15475 (grub_console_setcolorstate): Clear out 0x80 bit.
15476 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
15477 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
15478 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
15479
15480 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
15483 Set to "auto".
15484
15485 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
15488 mo_file after freeing.
15489
15490 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
15493
15494 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15495
15496 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
15497 flags.
15498
15499 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
15502 usage.
15503
15504 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 Put terminfo into core on ieee1275 and yeeloong (needed for console).
15507
15508 * gentpl.py: New groups terminfoinkernel and terminfomodule.
15509 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
15510 and terminfo.h when needed.
15511 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
15512 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
15513 (terminfo): Enable only on terminfokernel.
15514 (extcmd): Likewise.
15515 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
15516 * include/grub/lib/arg.h: Likewise.
15517 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
15518 incorrect usage of ->.
15519
15520 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
15523 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
15524
15525 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 Fix coreboot compilation.
15528
15529 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15530 Take VBE info into account even if only text is supported.
15531 (fill_vbe_info): Take into account the case when only VGA text
15532 is supported.
15533 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
15534 on coreboot, multiboot and qemu.
15535
15536 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
15539 debug messages.
15540 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
15541
15542 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
15545 parameters.
15546
15547 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
15550 if they were BSD-style.
15551
15552 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * grub-core/boot/i386/pc/lnxboot.S: Replace
15555 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15556 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15557
15558 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 Write embedding zone using Reed-Solomon.
15561
15562 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15563 * grub-core/Makefile.am (rs_decoder.S): New target.
15564 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
15565 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
15566 (multiboot): Move to RS part.
15567 (post_reed_solomon): New label.
15568 (grub_boot_drive): Move to non-RS part since it's modified in memory
15569 on boot.
15570 Include rs_decoder.S.
15571 * grub-core/lib/reed_solomon.c: New file.
15572 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
15573 New definition.
15574 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
15575 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
15576 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
15577 * include/grub/partition.h (grub_partition_map): Change prototype of
15578 embed to allow returning additional sectors.
15579 * include/grub/reed_solomon.h: New file.
15580 * util/grub-setup.c (setup): Handle Reed-Solomon.
15581
15582 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15585 i386 and x86-64 definedness tests.
15586
15587 2010-09-27 Yves Blusseau <blusseau@zetam.org>
15588
15589 Fix generation of kernel_syms.lst
15590
15591 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
15592 ASM_PREFIX
15593
15594 2010-09-26 Robert Millan <rmh@gnu.org>
15595
15596 Support degraded ZFS arrays in "grub-probe -t device" resolution.
15597
15598 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
15599 the pool is an array of devices, iterate through it and return the
15600 first device that passes a stat() test (instead of blindly returning
15601 the first one).
15602
15603 2010-09-26 Robert Millan <rmh@gnu.org>
15604
15605 Build fixes for GNU/kFreeBSD.
15606
15607 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
15608 to programs that require ZFS conversion.
15609 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
15610 kernels that don't have FLOPPY_MAJOR.
15611
15612 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15613
15614 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15615
15616 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15617
15618 Fix grub-emu build.
15619
15620 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15621 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15622 mdraid09 and mdraid1x.
15623
15624 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
15625
15626 Re-enable grub-extras.
15627
15628 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15629 avoid confusing Automake. Run autogen only twice, once for the top
15630 level and once for grub-core. Add Makefile.util.def and
15631 Makefile.core.def from extra modules to the appropriate autogen
15632 invocations. If Makefile.common exists in an extra module, include
15633 it in both Makefile.util.am and grub-core/Makefile.core.am;
15634 similarly, include any Makefile.util.common file in Makefile.util.am
15635 and any Makefile.core.common file in grub-core/Makefile.core.am.
15636 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15637 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15638 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15639 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15640
15641 * gentpl.py (gvar_add): Turn GVARS into a set.
15642 (global_variable_initializers): Sort global variables on output.
15643 (vars_init): New function.
15644 (first_time): Likewise.
15645 (library): Ensure that non-global variable initialisations are
15646 emitted before the first time we emit code for a library block.
15647 Append to variables rather than setting them. Only emit
15648 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15649 each conditional path.
15650 (program): installdir() emits an Autogen macro, so must be passed to
15651 var_add rather than gvar_add.
15652 (data): Likewise.
15653 (script): Likewise.
15654 (rules): New function, centralising handling for different target
15655 types. Set up Guile association lists for first_time and vars_init,
15656 and send most output to a diversion so that variable initialisations
15657 can be emitted first.
15658 (module_rules): Use new rules function.
15659 (kernel_rules): Likewise.
15660 (image_rules): Likewise.
15661 (library_rules): Likewise.
15662 (program_rules): Likewise.
15663 (script_rules): Likewise.
15664 (data_rules): Likewise.
15665
15666 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15667
15668 * .bzrignore: Add contrib and grub-core/contrib. Remove
15669 grub-core/Makefile.gcry.am.
15670
15671 2010-09-24 Yves Blusseau <blusseau@zetam.org>
15672
15673 * grub-core/lib/LzFind.c: Add missing include.
15674 * grub-core/lib/LzmaEnc.c: Likewise.
15675 * grub-core/script/lexer.c: Likewise.
15676 * grub-core/script/yylex.l: Likewise.
15677 * util/grub-macho2img.c: Likewise.
15678 * util/grub-menulst2cfg.c: Likewise.
15679 * util/grub-mklayout.c: Likewise.
15680 * util/grub-mkpasswd-pbkdf2.c
15681 * util/grub-mkrelpath.c: Likewise.
15682 * util/resolve.c: Likewise.
15683
15684 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15685
15686 * Makefile.util.def (example_unit_test): Add
15687 grub-core/gnulib/libgnu.a.
15688
15689 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15690
15691 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15692
15693 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 Support xz compression on yeeloong.
15696
15697 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15698 * configure.ac: Check for LZMA.
15699 * grub-core/Makefile.core.def (xz_decompress): New target.
15700 (none_decompress): Likewise.
15701 * grub-core/boot/decompressor/minilib.c: New file.
15702 * grub-core/boot/decompressor/none.c: Likewise.
15703 * grub-core/boot/decompressor/xz.c: Likewise.
15704 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15705 * grub-core/kern/mips/cache_flush.S: Likewise.
15706 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15707 * grub-core/kern/mips/startup.S: Move first stage to ...
15708 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15709 nomacro.
15710 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15711 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15712 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15713 Allocate statically.
15714 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15715 Allocate statically or use scratch. Don't check CRC32.
15716 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15717 Allocate statically. Don't check CRC32.
15718 * include/grub/decompressor.h: New file.
15719 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15720 Removed.
15721 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15722 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15723 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15724 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15725 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15726 * util/grub-mkimage.c (grub_compression_t): New type.
15727 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15728 (image_target_desc): New field default_compression.
15729 (image_targets): Adjust yeeloong targets.
15730 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15731 (compress_kernel): New parameter comp.
15732 (generate_image): Likewise. Handle new compression case.
15733 (options): New option --compression
15734 (help): Likewise.
15735 (main): Handle new option.
15736
15737 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15738
15739 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15740
15741 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
15742
15743 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15744 typo in __i386__ conditional.
15745
15746 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15749 include.
15750
15751 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 Implement EFI and ACPI multiboot2 extensions.
15754
15755 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15756 new tags as supported.
15757 (acpiv2_size): New function.
15758 (grub_multiboot_get_mbi_size): Take new tags into account.
15759 (grub_multiboot_make_mbi): Add new tags.
15760 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
15761
15762 2010-09-21 Aleš Nesrsta <starous@volny.cz>
15763
15764 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15765 Added missing configuration of USB device.
15766
15767 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * grub-core/normal/menu_entry.c (run): Make sure we always return
15770 a value.
15771
15772 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15773
15774 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15775 NumberOfPages is UINT64 according to the UEFI specification, not
15776 UINTN. Fix printf format.
15777
15778 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15779
15780 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15781 `err' to grub_usb_err_t.
15782 Reported and tested by: KESHAV P.R.
15783
15784 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15785
15786 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15787 tpart non-const, so that we can assign to it. (Since this is a
15788 typedef, the constness refers to the pointer rather than what it
15789 points to.)
15790
15791 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15792
15793 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15794 $(top_srcdir)/grub-core/gnulib as well as
15795 $(top_builddir)/grub-core/gnulib.
15796 Reported by: KESHAV P.R.
15797
15798 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15799
15800 * util/grub-install.in: Fix the bootloader ID option to be
15801 consistently --bootloader-id, not --bootloader_id.
15802 Reported by: KESHAV P.R.
15803
15804 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15805
15806 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15807 check hash checksum." consistently translatable.
15808
15809 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15810
15811 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15812 $(top_builddir).
15813
15814 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15815
15816 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15817 (GRUB_MOD_INIT): Register sha1sum command.
15818 (GRUB_MOD_FINI): Unregister sha1sum command.
15819
15820 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15821
15822 Keep boot and grub directory names in sync with utils scripts
15823
15824 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15825 * config.h.in: Add previous macros.
15826 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15827 * util/grub-install.in: Use $bootdir and $grubdir variables.
15828
15829 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15830
15831 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15832 convert partition names to disk names if the new `convert' parameter
15833 is set.
15834 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15835 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15836 disk in its own right. This can happen with Xen disk images.
15837
15838 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15839
15840 * util/grub-editenv.c: Update strings to avoid warnings when generating
15841 grub.pot file.
15842 * util/grub-setup.c: Likewise.
15843
15844 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * configure.ac: Change version to 1.99~beta0.
15847
15848 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15851 Add BADRAM.
15852 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15853 Likewise.
15854 * include/multiboot.h: Resynced with specification.
15855 * include/multiboot2.h: Likewise.
15856
15857 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15858
15859 Fix po directory handling.
15860
15861 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15862 * grub-core/gnulib/Makefile.am: Import gettext module.
15863 * m4/gnulib-cache.m4: Likewise.
15864 * m4/gnulib-comp.m4: Likewise.
15865 * m4/gettext.m4: New file, from gnulib.
15866 * m4/glibc2.m4: Likewise.
15867 * m4/iconv.m4: Likewise.
15868 * m4/intdiv0.m4: Likewise.
15869 * m4/intl.m4: Likewise.
15870 * m4/intldir.m4: Likewise.
15871 * m4/intlmacosx.m4: Likewise.
15872 * m4/intmax.m4: Likewise.
15873 * m4/inttypes-pri.m4: Likewise.
15874 * m4/lcmessage.m4: Likewise.
15875 * m4/lib-ld.m4: Likewise.
15876 * m4/lib-link.m4: Likewise.
15877 * m4/lib-prefix.m4: Likewise.
15878 * m4/lock.m4: Likewise.
15879 * m4/nls.m4: Likewise.
15880 * m4/po.m4: Likewise.
15881 * m4/printf-posix.m4: Likewise.
15882 * m4/progtest.m4: Likewise.
15883 * m4/threadlib.m4: Likewise.
15884 * m4/uintmax_t.m4: Likewise.
15885 * m4/visibility.m4: Likewise.
15886 * po/Makefile.am: Remove.
15887 * po/Makefile.in.in: New file, from gettext.
15888 ($(DOMAIN).pot-update): Support POTFILES-shell.
15889 * po/Makevars: New file.
15890 * po/POTFILES-shell: Rename to ...
15891 * po/POTFILES-shell.in: ... this. Update.
15892 * po/POTFILES: Rename to ...
15893 * po/POTFILES.in: ... this. Update.
15894 * po/Rules-quot: New file, from gettext.
15895 * po/boldquot.sed: Likewise.
15896 * po/en@boldquot.header: Likewise.
15897 * po/en@quot.header: Likewise.
15898 * po/insert-header.sin: Likewise.
15899 * po/quot.sed: Likewise.
15900 * po/remove-potcdate.sin: Likewise.
15901
15902 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15905
15906 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * util/grub.d/20_linux_xen.in: Use submenus.
15909
15910 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 Support submenus.
15913
15914 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15915 parameter submenu. All users updated.
15916 * grub-core/normal/main.c (free_menu): Rename to ...
15917 (grub_normal_free_menu): ... this. Made global.
15918 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15919 if requested.
15920 * grub-core/normal/menu_entry.c (screen): New field submenu.
15921 (make_screen): Set submenu.
15922 (run): Open new context if requested.
15923 * include/grub/menu.h (grub_menu_entry): New field submenu.
15924 * include/grub/normal.h (grub_normal_free_menu): New proto.
15925
15926 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 Menu entries extractor.
15929
15930 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15931 variants.
15932 (GRUB_MOD_INIT): Register new variants.
15933 (GRUB_MOD_FINI): Unregister new variants.
15934 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15935 into grub_cmd_legacy_source.
15936 (grub_cmd_legacy_source): Implement extractor variants.
15937 (GRUB_MOD_INIT): Register new variants.
15938 (GRUB_MOD_FINI): Unregister new variants.
15939 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15940 as an extractor.
15941 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15942 search as an extractor.
15943 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15944 test as an extractor.
15945 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15946 as an extractor.
15947 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15948 (grub_env_new_context): New function.
15949 (grub_env_context_open): Likewise.
15950 (grub_env_extractor_open): Likewise.
15951 (grub_env_extractor_close): Likewise.
15952 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15953 grub_extractor_level.
15954 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15955 * include/grub/env.h (grub_env_extractor_open): New proto.
15956 (grub_env_extractor_close): Likewise.
15957 * include/grub/normal.h (grub_extractor_level): New external variable.
15958
15959 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 Make cutmem accept a region specification.
15962 Suggested by: Samuel Thibault
15963
15964 * grub-core/mmap/mmap.c (parsemem): New function.
15965 (grub_cmd_cutmem): Handle new arguments.
15966
15967 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 New command cutmem.
15970
15971 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15972 (GRUB_MOD_INIT): Register new command.
15973 (GRUB_MOD_FINI): Unregister new command.
15974
15975 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 Support some annoying BSD and Minix subpartitions.
15978
15979 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15980 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15981 Properly handle concatenation.
15982 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15983 * grub-core/normal/completion.c (iterate_partition): Likewise.
15984 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15985 contain partition. All users updated.
15986 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15987 struct.
15988 (grub_openbsdlabel_partition_map): Likewise.
15989 (bsdlabel_partition_map_iterate): Rename to ..
15990 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15991 (bsdlabel_partition_map_iterate): New function.
15992 (netopenbsdlabel_partition_map_iterate): Likewise.
15993 (netbsdlabel_partition_map_iterate): Likewise.
15994 (openbsdlabel_partition_map_iterate): Likewise.
15995 (GRUB_MOD_INIT): Register new partmaps.
15996 (GRUB_MOD_FINI): Unregister new partmaps.
15997 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15998 (grub_partition_msdos_iterate): ... this. All users updated.
15999 Don't support embedding other than in a minix partition.
16000 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16001 proto.
16002 * include/grub/partition.h (grub_partition): New field msdostype.
16003 * util/grub-install.in: Handle openbsd and netbsd types being in
16004 part_bsd module.
16005
16006 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16009
16010 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16011 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16012 (mdraid09): ... this.
16013 (mdraid1x): New module.
16014 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16015 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16016
16017 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16020 vsprintf.
16021
16022 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16023
16024 * grub-core/commands/efi/lsefimmap.c: Correct header.
16025 * NEWS: Update.
16026
16027 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16028
16029 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16030 as printf format strings; the translations might contain '%' which
16031 could cause a crash.
16032 (main): Likewise.
16033 * util/grub-fstest.c (argp_parser): Likewise.
16034 * util/grub-setup.c (argp_parser): Likewise.
16035 (main): Likewise.
16036
16037 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 Use argp in grub-fstest.
16040
16041 * util/grub-fstest.c: Don't include getopt.h.
16042 Include argp.h.
16043 (root): New variable.
16044 (args_count): Likewise.
16045 (nparm): Likewise.
16046 (num_disks): Likewise.
16047 (images): Likewise.
16048 (cmd): Likewise.
16049 (debug_str): Likewise.
16050 (args): Likewise.
16051 (options): Transformed to argp.
16052 (usage): Removed.
16053 (main): Split argument parsing into ...
16054 (argp_parser): ... this. Changed to argp format.
16055 (argp): New variable.
16056 (main): Use argp_parse.
16057
16058 2010-09-20 Tristan Gingold <gingold@free.fr>
16059 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
16060 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/commands/efi/lsefimmap.c: New file.
16063 * grub-core/Makefile.core.def (lsefimmap): New module.
16064 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16065
16066 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 Pause the execution (10s max) if any errors are displayed so the user
16069 has a chance to see them.
16070
16071 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16072 (grub_print_error): Increment grub_err_printed_errors.
16073 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16074 execution if any errors were displayed.
16075 (show_menu): Remove old code for pause.
16076 * grub-core/normal/menu_entry.c (run): Likewise.
16077 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16078 users updated.
16079 (grub_normal_get_char_counter): Likewise.
16080 * include/grub/err.h (grub_err_printed_errors): New external variable.
16081 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16082
16083 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 Support multiboot VBE info.
16086
16087 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16088 Take VBE info into account.
16089 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16090 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16091 Call fill_vbe_info when appropriate.
16092 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16093 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16094 as supported.
16095 (grub_multiboot_get_mbi_size): Take new tags into account.
16096 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16097 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16098 Call fill_vbe_tag when appropriate.
16099 (grub_multiboot_make_mbi): Properly align tags.
16100 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16101 function.
16102 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16103 proto.
16104 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16105
16106 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16107
16108 Suport manual terminal geometry specification.
16109
16110 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16111 Save state in grub_ofconsole_terminfo_output.
16112 (grub_ofconsole_term): Use grub_terminfo_getwh.
16113 (grub_ofconsole_getwh): Removed.
16114 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16115 (grub_serial_term): Use grub_terminfo_getwh.
16116 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16117 (options): New struct.
16118 (OPTION_*): New enum.
16119 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16120 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16121 width and height.
16122 (grub_terminfo_getwh): New proto.
16123 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16124
16125 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 Handle legacy "terminal" command.
16128
16129 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16130 and FLAG_TERMINAL.
16131 (legacy_commands): Add terminal and title.
16132 (grub_legacy_parse): Handle terminal. Simplify title handling.
16133
16134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16137 parameters overflow.
16138
16139 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16142 widthspec.h.
16143
16144 * docs/grub.texi (Shell-like scripting): Document `!'.
16145 (Network): Simplify using new i386-pc-pxe format. Mention
16146 grub-mknetdir.
16147
16148 * NEWS: Update.
16149
16150 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16151
16152 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16153 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16154 when needed.
16155
16156 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16157
16158 * grub-core/commands/efi/lsefisystab.c: Correct header.
16159 * grub-core/commands/efi/lssal.c: Likewise.
16160 * grub-core/commands/testload.c: Likewise.
16161
16162 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16163
16164 * util/grub-mkrescue.in: Add explicit root argument to --set to
16165 prevent the UUID being interpreted as an argument to --set (matches
16166 previous change to prepare_grub_to_access_device).
16167
16168 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16169
16170 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16171 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16172 the verbosity of later #ifs.
16173 (find_partition_start): Define this function on FreeBSD too.
16174 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16175 function.
16176 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16177 on FreeBSD.
16178
16179 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16180
16181 * util/grub-editenv.c: Use argp instead of getopt.
16182
16183 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16184
16185 * util/grub-setup.c: Use argp instead of getopt.
16186
16187 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16188
16189 Use gnulib-tool to create gnulib source files.
16190
16191 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16192 grub-core/gnulib directories
16193 * .bzignore: Add **/.deps and autogenerated gnulib files
16194 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16195 of gnulib macros, add grub-core/gnulib/Makefile
16196 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16197 include m4 directory to aclocal.
16198 * Makefile.util.def: Remove direct compilation of gnulib source files
16199 and use the new grub-core/gnulib/libgnu.a.
16200 * build-aux/config.rpath: move config.rpath from top directory to
16201 build-aux
16202 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16203 in gnulib headers
16204 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16205 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16206 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16207 header.
16208 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16209 string.
16210
16211 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16212
16213 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16214 grub-core/genmod.sh and grub-core/gensyminfo.sh
16215
16216 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16217
16218 Add a test for echo command options.
16219
16220 * tests/grub_cmd_echo.in: New test.
16221 * Makefile.util.def: Rules for new test.
16222
16223 2010-09-20 Szymon Janc <szymon@janc.net.pl>
16224
16225 Remove crc.mod and move crc command to hashsum.mod.
16226 Remove lib/crc.c - users updated to use gcrypt implementation.
16227
16228 * grub-core/commands/crc.c: Removed.
16229 * grub-core/Makefile.core.def (crc): Module removed.
16230 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16231 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16232 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16233 * grub-core/lib/crc.c: Removed.
16234 * include/grub/lib/crc.h: Removed.
16235 * Makefile.util.def (crc): Remove lib/crc.c
16236 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16237 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16238 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16239 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16240 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16241 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16242
16243 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16246
16247 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 Split config.h for util and core.
16250
16251 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16252 (ADDR32): Likewise.
16253 (DATA32): Likewise.
16254 (BSS_START_SYMBOL): Likewise.
16255 (END_SYMBOL): Likewise.
16256 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16257 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16258 * config.h.in: New file.
16259 * configure.ac: Use config-util.h as config define file.
16260 Rename MACHINE into GRUB_MACHINE. All users updated.
16261 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16262 updated.
16263 (NESTED_FUNC_ATTR): Likewise.
16264 Substitue new variables.
16265 (COND_HAVE_ASM_USCORE): New conditional.
16266 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16267 (kernel_syms.lst): Use ASM_PREFIX.
16268 * grub-core/kern/emu/console.c: Include config-util.h.
16269 * grub-core/kern/emu/misc.c: Likewise.
16270 * grub-core/kern/emu/mm.c: Likewise.
16271 * include/grub/emu/misc.h: Likewise.
16272 * include/grub/libgcc.h: Likewise.
16273
16274 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16277 constants usage.
16278 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16279 Fix GRUB_TERM_KEY_* constants usage.
16280 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16281
16282 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16285 print pointer.
16286 * grub-core/bus/usb/uhci.c: Remove empty define.
16287 (grub_uhci_check_transfer): Add missing cast.
16288 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16289 print pointer.
16290 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16291 PRIuGRUB_SIZE.
16292 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16293
16294 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/Makefile.core.def (legacycfg): Add
16297 lib/i386/pc/vesa_modes_table.c on emu.
16298
16299 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16300
16301 Reduce number of temporary files generated by build system.
16302
16303 * grub-core/gencmdlist.sh: Removed.
16304 * grub-core/genfslist.sh: Removed.
16305 * grub-core/genhandlerlist.sh: Removed.
16306 * grub-core/genmodsrc.sh: Removed.
16307 * grub-core/genpartmaplist.sh: Removed.
16308 * grub-core/genparttoollist.sh: Removed.
16309 * grub-core/gentermiinallist.sh: Removed.
16310 * grub-core/genvideolist.sh: Removed.
16311
16312 * grub-core/genmod.sh.in: New file.
16313 * grub-core/gensyminfo.sh.in: New file.
16314
16315 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16316 * conf/Makefile.extra-dist: Update with new files.
16317 * gentpl.py: Remove rules related to unnecessary temporary files.
16318 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16319 and und-* files.
16320 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16321 genmod.sh scripts.
16322 * grub-core/bus/usb/uhci.c: Remove empty #define.
16323 * grub-core/genmoddep.awk: Updated with new syminfo format.
16324 * util/bash-completion.d/Makefile.am: Add config.log to
16325 CLEANFILES.
16326
16327 2010-09-19 Yves Blusseau <blusseau@zetam.org>
16328
16329 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16330
16331 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16332
16333 * util/grub-mkconfig.in: Check the config script for syntax errors
16334 before saving.
16335
16336 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
16337 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16340 platforms.
16341 * util/grub-install.in: Add EFI and IEEE1275 support.
16342 * util/i386/efi/grub-install.in: Removed.
16343 * util/ieee1275/grub-install.in: Likewise.
16344
16345 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16348 (grub_cmd_cmosclean): Likewise.
16349 (GRUB_MOD_INIT): Register command cmosclean.
16350 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16351 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16352
16353 2010-09-18 Carles Pina i Estany <carles@pina.cat>
16354 2010-09-18 Aleš Nesrsta <starous@volny.cz>
16355 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Add keyboard layouts support.
16358
16359 * Makefile.util.def (grub-mklayout): New file.
16360 (grub-kbdcomp): New script.
16361 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16362 Add keyboard_layouts.h.
16363 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16364 commands/boot.c on yeeloong.
16365 (keylayouts): New module.
16366 * grub-core/bus/usb/ohci.c
16367 * grub-core/bus/usb/uhci.c
16368 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16369 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16370 (attach_root_port): Likewise.
16371 (poll_nonroot_hub): Likewise.
16372 (grub_usb_poll_devices): Likewise.
16373 (detach_device): Close transfer.
16374 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16375 function.
16376 (grub_usb_bulk_setup_readwrite): Likewise.
16377 (grub_usb_bulk_finish_readwrite): Likewise.
16378 * grub-core/commands/keylayouts.c: New file.
16379 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16380 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16381 aliases.
16382 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16383 support scancode 2.
16384 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16385 * include/grub/keyboard_layouts.h: New file.
16386 * util/grub-mklayout.c: New file.
16387 * util/grub-kbdcomp.in: Likewise.
16388
16389 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 Unify memory types.
16392
16393 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16394 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16395 types.
16396 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16397 (grub_upper_mem): Likewise.
16398 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16399 * include/grub/memory.h (grub_memory_type_t): New enum.
16400 All users updated.
16401
16402 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 * grub-core/Makefile.core.def (lsapm): New module.
16405 * grub-core/commands/i386/pc/lsapm.c: New file.
16406 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16407 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16408 Likewise.
16409 * include/grub/i386/pc/apm.h: New file.
16410 * include/multiboot.h (multiboot_apm_info): New struct.
16411
16412 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 GRUB-legacy configuration file support.
16415
16416 * Makefile.util.def (grub-menulst2cfg): New util.
16417 * docs/man/grub-menulst2cfg.h2m: New file.
16418 * grub-core/Makefile.core.def (legacycfg): New module.
16419 * grub-core/commands/legacycfg.c: New file.
16420 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16421 (grub_normal_add_menu_entry): ... this.
16422 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16423 (grub_normal_set_password): ...this.
16424 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16425 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16426 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16427 * grub-core/lib/legacy_parse.c: New file.
16428 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16429 * include/grub/i386/pc/vesa_modes_table.h: New file.
16430 * include/grub/legacy_parse.h: Likewise.
16431 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16432 * util/grub-menulst2cfg.c: New file.
16433
16434 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16435
16436 * grub-core/kern/emu/hostdisk.c
16437 (convert_system_partition_to_system_disk): Initialise node.
16438
16439 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16440
16441 * grub-core/kern/emu/hostdisk.c
16442 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16443 leak.
16444 Reported and based on patch by: Modestas Vainius.
16445
16446 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16447
16448 Fix DM-RAID probing with recent versions of device-mapper udev
16449 rules.
16450
16451 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16452 canonicalise device paths under /dev/mapper/.
16453 (convert_system_partition_to_system_disk): Compare the
16454 uncanonicalised path to /dev/mapper/ rather than the canonicalised
16455 path, since device nodes under /dev/mapper/ are often symlinks.
16456
16457 2010-09-17 Yves Blusseau <blusseau@zetam.org>
16458
16459 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
16460
16461 2010-09-16 Yves Blusseau <blusseau@zetam.org>
16462
16463 * configure.ac: Avoid some annoying error messages if freetype-config
16464 program is not found.
16465
16466 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16467
16468 Support RAID on virtio devices, and others.
16469
16470 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
16471 Rename to ...
16472 [__MINGW32__] (grub_find_device): ... this.
16473 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
16474 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
16475 reasonable default if dir is NULL.
16476 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
16477 ...
16478 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
16479 (grub_guess_root_device): Update callers.
16480 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
16481
16482 * util/raid.c (grub_util_getdiskname): Remove.
16483 (grub_util_raid_getmembers): Use grub_find_device rather than
16484 grub_util_getdiskname.
16485
16486 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16487
16488 * docs/grub.texi (serial): Remove obsolete comment about GRUB
16489 needing to be compiled with serial support.
16490 (ls): Indicate that multiple files are accepted.
16491 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
16492 indicate that multiple files are accepted.
16493
16494 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16495
16496 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
16497 libgrub_a_init.c, and util/bash-completion.d/grub.
16498
16499 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * util/grub-setup.c (setup): Fix incorrect container semantics.
16502
16503 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
16506 misusage.
16507 Reported by: J. Nick Terry
16508
16509 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 Move embedding routines to partmap sources files.
16512
16513 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
16514 [GRUB_UTIL]: New variable.
16515 (gpt_partition_map_iterate): Set part.parent.
16516 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
16517 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
16518 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
16519 New function.
16520 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
16521 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
16522 (grub_partition_map) [GRUB_UTIL]: New field embed.
16523 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
16524 (setup): Use ->embed.
16525
16526 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
16529 function.
16530 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
16531 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
16532
16533 2010-09-15 Yves Blusseau <blusseau@zetam.org>
16534
16535 Add function to get completions from usage.
16536
16537 * util/bash-completion.d/grub-completion.bash.in: Add function to get
16538 completions from usage. Use LC_ALL=C to get options properly.
16539
16540 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16541
16542 * grub-core/gnulib/basename-lgpl.c: Imported.
16543 * grub-core/gnulib/basename.c: Likewise.
16544 * grub-core/gnulib/dirname-lgpl.c: Likewise.
16545 * grub-core/gnulib/dirname.c: Likewise.
16546 * grub-core/gnulib/dirname.h: Likewise.
16547 * grub-core/gnulib/stripslash.c: Likewise.
16548
16549 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * grub-core/gnulib/error.c: Resynced.
16552 * grub-core/gnulib/getopt.c: Likewise.
16553 * grub-core/gnulib/getopt_int.h: Likewise.
16554 * grub-core/gnulib/regex.h: Likewise.
16555 * grub-core/gnulib/regex_internal.c: Likewise.
16556 * grub-core/gnulib/regex_internal.h: Likewise.
16557
16558 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16559
16560 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16561 CRC calculations and validity checks.
16562 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16563 calculations.
16564
16565 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16566
16567 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
16568
16569 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Fix incorrect echo options handling.
16572 Reported by: Yves Blusseau.
16573
16574 * include/grub/command.h (grub_command_flags_t): New flags
16575 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
16576 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
16577 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
16578
16579 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
16582 users updated.
16583 (GRUB_COMMAND_FLAG_MENU): Likewise.
16584 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16585 (GRUB_COMMAND_FLAG_TITLE): Removed.
16586 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16587 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
16588 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
16589 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
16590 (grub_command_flags_t): New enum. All users updated.
16591
16592 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
16593
16594 Fix solaris compilation.
16595
16596 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
16597 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
16598 (grub-emu-list): Likewise.
16599
16600 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Remove deprecated root command.
16603
16604 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
16605 updated.
16606
16607 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * util/i386/pc/grub-setup.c: Merge this ...
16610 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
16611 * util/grub-setup.c: ... into this.
16612 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
16613 New struct.
16614
16615 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16618 possible.
16619
16620 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16623 allocate p.
16624
16625 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16626
16627 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16628 explicit root argument to set to prevent UUID to be interpreted as
16629 argument to set.
16630
16631 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16634
16635 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 Don't export grub_gate_a20.
16638
16639 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16640 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16641 to ...
16642 (grub_gate_a20): ... this. All users updated.
16643 * include/grub/i386/pc/init.h: Removed. All users updated.
16644
16645 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 Create euro.pf2 which supports most European languages.
16648
16649 * Makefile.am (grubdata_DATA): Add euro.pf2.
16650 (euro.pf2): New target.
16651 (CLEANFILES): Add euro.pf2.
16652
16653 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16654
16655 * configure.ac: Disable emu-usb by default to prevent inadvertent
16656 device takeover.
16657
16658 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 Disable usbserial on grub-emu since our libusb code isn't good enough
16661 yet.
16662
16663 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16664 (usbserial_pl2303): Likewise.
16665 (usbserial_ftdi): Likewise.
16666
16667 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * include/grub/disk.h (grub_disk): Remove has_partitions.
16670 All users updated.
16671 * disk/loopback.c (grub_loopback): Remove has_partitions.
16672 All users updated.
16673 (options): Remove partitions. All users updated.
16674 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16675 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16676 actual partition table is found.
16677
16678 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 Remove readability checks (too many false negatives).
16681
16682 * util/grub-install.in: Remove readability checks.
16683 * util/grub-mkconfig.in: Likewise.
16684 * util/grub.d/10_hurd.in: Likewise.
16685 * util/grub.d/10_kfreebsd.in: Likewise.
16686 * util/grub.d/10_linux.in: Likewise.
16687 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16688 way.
16689
16690 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 Enable acpi shutdown on all ACPI platforms.
16693
16694 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16695 on coreboo, multiboot and EFI.
16696 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16697 (grub_acpi_halt): Likewise.
16698 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16699 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16700 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16701 * grub-core/lib/i386/halt.c (grub_halt)
16702 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16703
16704 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16707 context.
16708
16709 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16712 * grub-core/video/efi_uga.c: Likewise.
16713
16714 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 Filter devaliases and never open same device twice.
16717
16718 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16719 (last_ihandle): Likewise.
16720 (ofdisk_hash_ent): New member shortest.
16721 (ofdisk_hash_add): Add canonical path too.
16722 (scan): New function.
16723 (grub_ofdisk_iterate): Iterate over hashed entries.
16724 (compute_dev_path): Don't add :0.
16725 (grub_ofdisk_open): Don't really open the disk.
16726 (grub_ofdisk_close): Avoid closing unrelated disk.
16727 (grub_ofdisk_read): Implement reopen logic.
16728 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16729 New function.
16730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16731 New proto.
16732
16733 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 Fix sparc64.
16736
16737 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16738 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16739 right address. Add sparc64_ieee1275_ldflags.
16740 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16741 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16742 to grub_host_to_target_addr
16743 (load_image): Likewise.
16744
16745 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/normal/completion.c (complete_file): Handle device
16748 containing slash.
16749 Fix based on patch by Doug Nazar.
16750
16751 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 grub-mknetdir script.
16754
16755 * Makefile.util.def (grub-mknetdir): New module.
16756 * tests/util/grub-shell.in: Support boot=net
16757 * util/grub-mknetdir.in: New file.
16758
16759 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 videoinfo on non-vbe.
16762
16763 * grub-core/Makefile.core.def (vbeinfo): Removed.
16764 (vbetest): Removed.
16765 (videoinfo): New module.
16766 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16767 * grub-core/commands/i386/pc/vbetest.c: Removed.
16768 * grub-core/commands/videoinfo.c: New file.
16769 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16770 specification.
16771 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16772 as vbetest.
16773 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16774 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16775 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16776 mode_number. New parameter mode. All users updated.
16777 (grub_video_gop_iterate): New function.
16778 (grub_video_efi_gop): New member iterate.
16779 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16780 (grub_vbe_set_video_mode): Remove setting useless fields.
16781 (vbe2videoinfo): New function.
16782 (grub_video_vbe_iterate): Likewise.
16783 (grub_video_vbe_setup): Use vbe2videoinfo.
16784 (grub_video_vbe_print_adapter_specific_info): New function.
16785 (grub_video_vbe_adapter): New fields iterate and
16786 print_adapter_specific_info.
16787 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16788 All users updated.
16789 (grub_video_mode_info): New field mode_number.
16790 (grub_video_adapter): New fields iterate and
16791 print_adapter_specific_info.
16792
16793 2010-09-13 Tristan Gingold <gingold@free.fr>
16794 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
16795 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * grub-core/commands/efi/lsefisystab.c: New file.
16798 * grub-core/commands/efi/lssal.c: Likewise.
16799 * grub-core/Makefile.core.def (lsacpi): New module.
16800 (lsefisystab): Likewise.
16801 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16802 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16803 (grub_efi_sal_system_table): New struct.
16804 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16805 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16806 (grub_efi_sal_system_table_platform_features): Likewise.
16807 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16808 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16809 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16810 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16811
16812 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 Support explicit user claim that a device is BIOS-visible.
16815
16816 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16817 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16818 * grub-core/kern/emu/hostdisk.c
16819 (convert_system_partition_to_system_disk): Support mdX.
16820 (find_system_device): New parameter add. All users updated.
16821 (grub_util_biosdisk_is_present): New function.
16822 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16823 proto.
16824
16825 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 Search hints support.
16828
16829 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16830 All users updated.
16831
16832 2010-09-13 Yves Blusseau <blusseau@zetam.org>
16833
16834 Bash completion script for util commands
16835
16836 * Makefile.am: Add util/bash-completion.d directory
16837 * configure.ac: Likewise.
16838 * util/bash-completion.d/Makefile.am: New file.
16839 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16840
16841 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16844 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16845 Reported by: Yves Blusseau.
16846
16847 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16850 partition size and offset.
16851
16852 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16855
16856 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16859
16860 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16863 (grub_xvasprintf): Likewise.
16864
16865 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16868
16869 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16872 args ending with NULL.
16873
16874 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16877 pointer.
16878
16879 2010-09-11 Szymon Janc <szymon@janc.net.pl>
16880
16881 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16882
16883 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16884
16885 Shutdown using ACPI.
16886
16887 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16888 * grub-core/commands/acpihalt.c: New file.
16889 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16890 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16891 (grub_acpi_halt): New proto.
16892 (GRUB_ACPI_SLP_EN): New const.
16893 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16894 (GRUB_ACPI_OPCODE_*): New enum.
16895 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16896
16897 2010-09-11 Tristan Gingold <gingold@free.fr>
16898 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16899 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * commands/lsacpi.c: New file.
16902 * grub-core/Makefile.core.def (lsacpi): New module.
16903 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16904 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16905 (grub_acpi_madt_entry_header): New struct.
16906 (grub_acpi_madt): Likewise.
16907 (grub_acpi_madt_entry_interrupt_override): Likewise.
16908 (grub_acpi_madt_entry_sapic): Likewise.
16909 (grub_acpi_madt_entry_lsapic): Likewise.
16910 (grub_acpi_madt_entry_platform_int_source): Likewise.
16911 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16912 (PRIuGRUB_UINT32_T): Likewise.
16913 (PRIxGRUB_UINT64_T): Likewise.
16914
16915 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 Implement loading palette on ieee1275_fb.
16918
16919 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16920 (have_setcolors): Likewise.
16921 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16922 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16923 (grub_video_ieee1275_set_palette): Implement.
16924
16925 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16926 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
16927
16928 * util/grub-install.in (grub_partition): New variable.
16929 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16930 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16931 Fixes a bug reported by Yves Blusseau.
16932
16933 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 Fix emu on mipsel.
16936
16937 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16938 =grub_cpu_flush_cache on all mips and not only yeeloong.
16939 * configure.ac (COND_mips): New conditional.
16940 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16941 platforms.
16942 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16943 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16944 [GRUB_LINKER_HAVE_INIT]: New function.
16945 (grub_emu_post_init): Likewise.
16946 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16947 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16948 * include/grub/cache.h (_mips): Include mips/cache.h.
16949 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16950 LVM and RAID prototypes.
16951 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16952 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16953 function.
16954
16955 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * util/grub-install.in: Don't try to verify core.img until after
16958 running grub-mkimage to create it.
16959
16960 2010-09-10 Robert Millan <rmh@gnu.org>
16961
16962 * util/grub.d/10_hurd.in: Add misc readability checks.
16963 * util/grub.d/10_kfreebsd.in: Likewise.
16964 * util/grub.d/10_linux.in: Likewise.
16965
16966 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16967
16968 * util/grub-install.in: ${imgext} won't be defined here until the
16969 install branch is merged. For the meantime, only verify core.img on
16970 i386-pc and sparc64-ieee1275 platforms.
16971
16972 2010-09-10 Robert Millan <rmh@gnu.org>
16973
16974 Solaris support in grub_find_zpool_from_dir(). Thanks
16975 Seth Goldberg for referring to getextmntent() facility.
16976
16977 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16978 `sys/mkdev.h'.
16979 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16980 `<sys/mnttab.h>'.
16981 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16982 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16983 method for finding zpool name.
16984
16985 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16986
16987 grub-fstest needs the host and hostfs modules while other utilities
16988 actively require those modules to be absent, so grub-fstest needs
16989 its own initialisation and finalisation code.
16990
16991 * Makefile.am (grub_fstest.pp): New target.
16992 (grub_fstest_init.lst): Likewise.
16993 (grub_fstest_init.c): Likewise.
16994 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16995
16996 2010-09-10 Robert Millan <rmh@gnu.org>
16997
16998 * configure.ac: Check for `struct statfs.f_fstypename' and
16999 `struct statfs.f_mntfromname'.
17000
17001 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17002 kFreeBSD-specific code.
17003
17004 2010-09-10 Robert Millan <rmh@gnu.org>
17005
17006 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17007 on ZFS. Now non-main filesystems are supported as / too.
17008
17009 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
17010
17011 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17012 and grub-core/disk/host.c to ...
17013 (grub-fstest): ... here. Having the host disk implementation
17014 present confuses grub-probe and other utility programs.
17015
17016 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17017 when writing to a file, not when writing to stdout.
17018
17019 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17020
17021 * tests/partmap_test.in: New test for partitions.
17022 * Makefile.util.def: Rules for new test.
17023
17024 2010-09-09 Robert Millan <rmh@gnu.org>
17025
17026 * util/grub-probe.c (probe): Fix a pair of unhandled error
17027 conditions.
17028
17029 2010-09-09 Robert Millan <rmh@gnu.org>
17030
17031 Basic Btrfs support (detection and UUID).
17032
17033 * grub-core/fs/btrfs.c: New file.
17034 * Makefile.util.def (library): Register btrfs.c.
17035 * grub-core/Makefile.core.def: Likewise.
17036
17037 2010-09-08 Robert Millan <rmh@gnu.org>
17038
17039 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17040 with (optional) parameters to specify device and relative path.
17041 * util/grub-install.in: Use is_path_readable_by_grub() to
17042 verify readability of a few critical files.
17043 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17044 verify readability of grub.cfg.new.
17045
17046 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Split minix.mod into minix.mod and minix2.mod.
17049
17050 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17051 * grub-core/Makefile.core.def (minix2): New module.
17052 * grub-core/fs/minix.c: Use definitions instead of runtime version
17053 checking.
17054 * grub-core/fs/minix2.c: New file.
17055
17056 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17057
17058 Add new --boot-directory option to replace --root-directory
17059
17060 * util/grub-install.in: Add new --boot-directory option
17061 * util/grub-reboot.in: Likewise.
17062 * util/grub-set-default.in: Likewise.
17063
17064 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17065
17066 * util/grub-mkconfig.in: Use new variable.
17067
17068 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17069
17070 * configure.ac: Define some useful variables.
17071
17072 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17075 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17076 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17077 Use terminfo and don't use cursor-on/cursor-off unless it's known
17078 to work.
17079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17080 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17081
17082 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
17083
17084 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17085 starts with "(,", fill the drive containing the loaded image in
17086 between those two characters, but expect that a full partition
17087 specification including partition map names will follow.
17088
17089 2010-09-08 Robert Millan <rmh@gnu.org>
17090
17091 * configure.ac: Remove `--enable-grub-fstest' option.
17092 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17093
17094 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17095 `grub-fstest' instead of `grub-probe' for readability verification.
17096 * util/grub-probe.c (probe): Remove readability verification kludge.
17097
17098 2010-09-08 Robert Millan <rmh@gnu.org>
17099
17100 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17101 initializing `GRUB_FS'.
17102
17103 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17104
17105 Not command (!) support to GRUB script.
17106
17107 * tests/grub_script_not.in: New test.
17108 * Makefile.util.def: Rules for new test.
17109
17110 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17111 ! command as a special case.
17112 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17113
17114 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17115
17116 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17117 grub_free.
17118
17119 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17120
17121 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17122
17123 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17124
17125 * docs/grub.texi (Shell-like scripting): Documentation for break,
17126 continue, shift and return commands.
17127
17128 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 Rename CD-ROM to cd on BIOS.
17131
17132 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17133 "cd".
17134 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17135
17136 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17139 * util/grub-probe.c (main): Likewise.
17140 * util/i386/pc/grub-setup.c (main): Likewise.
17141 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17142 Reported and debugged by: alexxy
17143
17144 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17145
17146 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17147 diagnostic info.
17148
17149 2010-09-05 Jo Shields <directhex@apebox.org>
17150
17151 * util/grub.d/30_os-prober.in: Add missing classes.
17152
17153 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * docs/grub.texi (Theme file format): Document new position format.
17156
17157 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17160 a table. Use @code instead of @verbatim.
17161
17162 2010-09-05 Colin D Bennett <colin@gibibit.com>
17163
17164 Gfxmenu documentation.
17165
17166 * docs/grub.texi (Theme file format): New chapter.
17167
17168 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17169
17170 * grub-core/Makefile.core.def (xzio): New module.
17171 * grub-core/io/xzio.c: New file.
17172 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17173 * grub-core/lib/xzembed/xz_config.h: Likewise.
17174 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17175 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17176 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17177 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17178 * grub-core/lib/xzembed/xz_private.h: Likewise.
17179 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17180 * include/grub/file.h (grub_file_filter_id): New compression filter
17181 GRUB_FILE_FILTER_XZIO.
17182
17183 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17186 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17187 size.
17188
17189 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17192 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17193
17194 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 Uncompressed checksum support.
17197
17198 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17199 (check_list): New parameter uncompress.
17200 (grub_cmd_hashsum): Handle --uncompress.
17201
17202 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 Reintroduce testload.
17205
17206 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17207 from here ...
17208 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17209 (GRUB_MOD_INIT): New function.
17210 (GRUB_MOD_FINI): Likewise.
17211 * grub-core/Makefile.core.def (testload): New module.
17212
17213 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17214
17215 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17216 (uint8_t): New type.
17217 (uint16_t): Likewise.
17218 (uint32_t): Likewise.
17219 (uint64_t): Likewise.
17220
17221 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17222
17223 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17224
17225 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17228 Made static.
17229 (grub_gzfile_open): Removed. All users updated.
17230 (GRUB_MOD_INIT): New function.
17231 (GRUB_MOD_FINI): Likewise.
17232 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17233 (grub_file_filters_enabled): Likewise.
17234 (grub_file_open): Handle filters.
17235 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17236 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17237 * include/grub/file.h (grub_file_filter_id_t): New type.
17238 (grub_file_filter_t): Likewise.
17239 (grub_file_filters_all): New extern variable.
17240 (grub_file_filters_enabled): Likewise.
17241 (grub_file_filter_register): New inline function.
17242 (grub_file_filter_unregister): Likewise.
17243 (grub_file_filter_disable): Likewise.
17244 (grub_file_filter_disable_compression): Likewise.
17245 * include/grub/gzio.h: Removed.
17246
17247 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17248
17249 Filename expansion support for wildcards in GRUB script.
17250
17251 * tests/grub_script_expansion.in: New test.
17252 * Makefile.util.def: Rule for new test.
17253
17254 * grub-core/commands/wildcard.c: New file, implements filename
17255 expansion support for GRUB script.
17256 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17257 * grub-core/script/argv.c: Cosmetic changes.
17258 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17259 Refactored to perform wildcard expansion on arguments.
17260 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17261 struct.
17262
17263 * tests/util/grub-shell.in: Fix quoting for read input.
17264
17265 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17266
17267 Support for updating environment variables with matched substrings
17268 of regexp.
17269
17270 * tests/grub_cmd_regexp.in: New test.
17271 * Makefile.util.def: Rule for new test.
17272
17273 * grub-core/commands/regexp.c: New option -s to update environment
17274 variables with regexp matches.
17275
17276 2010-09-04 Szymon Janc <szymon@janc.net.pl>
17277
17278 * include/grub/file.h (grub_file): New member not_easly_seekable.
17279 (grub_file_seekable): New inline function.
17280 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17281 easily seekable.
17282 (grub_gzio_open): Set not_easly_seekable.
17283 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17284 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17285
17286 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17287
17288 Support for options to appear multiple times on cmdline.
17289
17290 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17291 * grub-core/commands/extcmd.c: Support for repeatable option.
17292 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17293 repeatable option support.
17294
17295 Refactor menuentry into a regular command.
17296
17297 * grub-core/commands/menuentry.c: New file, menuentry command
17298 implementation.
17299 * grub-core/Makefile.core.def: Rule update for normal.mod.
17300 * grub-core/normal/main.c: Moved menuentry creation to
17301 grub-core/commands/menuentry.c.
17302 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17303 (grub_menu_execute_entry_real): Removed.
17304 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17305 function.
17306 (grub_script_execute_menuentry): Removed.
17307 * grub-core/script/parser.y (menuentry): Removed.
17308 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17309 * grub-core/script/yylex.l (menuentry): Removed.
17310 * include/grub/menu.h (grub_menu_init): New prototype.
17311 (grub_menu_fini): New prototype.
17312 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17313 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17314 (grub_script_execute_sourcecode): New prototype.
17315
17316 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17317
17318 "return" command for GRUB script functions.
17319
17320 * tests/grub_script_return.in: New test.
17321 * Makefile.util.def: Rules for new test.
17322
17323 * grub-core/script/execute.c (grub_script_return): New function.
17324 * grub-core/script/main.c: Register/unregister return commaond.
17325 * include/grub/script_sh.h (grub_script_return): New prototype.
17326
17327 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17328
17329 "setparams" command to update positional parameters.
17330
17331 * tests/grub_script_setparams.in: New test.
17332 * Makefile.util.def: Rules for new test.
17333
17334 * grub-core/script/argv.c (grub_script_argv_make): New function.
17335 * grub-core/script/execute.c (replace_scope): New function.
17336 (grub_script_setparams): New function.
17337 * grub-core/script/lexer.c: Remove unused variables.
17338 * grub-core/script/main.c: Register/unregister setparams command.
17339 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17340 (grub_script_setparams): New prototype.
17341
17342 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17343
17344 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17345 grub_free order.
17346
17347 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17348
17349 Support for passing block of commands as an argument to extcmds.
17350
17351 * Makefile.util.def: Rules for new test.
17352 * tests/grub_script_blockarg.in: New test.
17353 * grub-core/tests/test_blockarg.c: New file, block argument
17354 command used in the test.
17355
17356 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17357 (grub_register_extcmd_prio): New function prototype.
17358 (grub_extcmd_dispatcher): New function prototype.
17359 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17360 type.
17361 * include/grub/script_sh.h (struct grub_script): New members
17362 `children', `next_siblings' and `refcnt' for block arguments and
17363 reference counting.
17364 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17365 (grub_script_arg): New member `script' for block argument.
17366 (grub_script_argv): New member `script' for block argument.
17367 (grub_parser_param): New member `scripts' for block argument.
17368 (grub_script_mem_free): New extern function prototype.
17369 (grub_script_ref): New function prototype.
17370 (grub_script_unref): New function prototype.
17371
17372 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17373 extcmd form to support block arguments.
17374 * grub-core/script/argv.c: Block arguments support.
17375 * grub-core/script/execute.c: Likewise.
17376 * grub-core/script/lexer.c: Likewise.
17377 * grub-core/script/main.c: Likewise.
17378 * grub-core/script/script.c: Likewise.
17379 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17380 non-terminals.
17381
17382 * grub-core/commands/acpi.c: Update extcmd implementations with
17383 grub_extcmd_context_t.
17384 * grub-core/commands/cat.c: Likewise.
17385 * grub-core/commands/echo.c: Likewise.
17386 * grub-core/commands/extcmd.c: Likewise.
17387 * grub-core/commands/hashsum.c: Likewise.
17388 * grub-core/commands/hdparm.c: Likewise.
17389 * grub-core/commands/help.c: Likewise.
17390 * grub-core/commands/hexdump.c: Likewise.
17391 * grub-core/commands/i386/cpuid.c: Likewise.
17392 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17393 * grub-core/commands/i386/pc/halt.c: Likewise.
17394 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17395 * grub-core/commands/iorw.c: Likewise.
17396 * grub-core/commands/keystatus.c: Likewise.
17397 * grub-core/commands/loadenv.c: Likewise.
17398 * grub-core/commands/ls.c: Likewise.
17399 * grub-core/commands/lspci.c: Likewise.
17400 * grub-core/commands/memrw.c: Likewise.
17401 * grub-core/commands/probe.c: Likewise.
17402 * grub-core/commands/search_wrap.c: Likewise.
17403 * grub-core/commands/setpci.c: Likewise.
17404 * grub-core/commands/sleep.c: Likewise.
17405 * grub-core/disk/loopback.c: Likewise.
17406 * grub-core/hello/hello.c: Likewise.
17407 * grub-core/loader/i386/bsd.c: Likewise.
17408 * grub-core/loader/xnu.c: Likewise.
17409 * grub-core/term/gfxterm.c: Likewise.
17410 * grub-core/term/serial.c: Likewise.
17411 * grub-core/tests/lib/functional_test.c: Likewise.
17412
17413 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17414
17415 Multi-line quoted strings support.
17416
17417 * grub-core/script/lexer.c (append_newline): Removed.
17418 (grub_script_lexer_yywrap): Refactored.
17419 (grub_script_lexer_init): Refactored.
17420 * grub-core/script/yylex.l (yywrap): New function.
17421 (grub_lexer_resplit): New function.
17422 (grub_lexer_unput): New function.
17423 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17424 and resplit.
17425 * tests/grub_script_echo1.in: Added few more testcases.
17426
17427 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 * grub-core/kern/misc.c: Don't add abort alias in utils.
17430 Reported by: echoline.
17431
17432 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17433
17434 Add missing files into "make dist" tarball for other platforms.
17435
17436 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17437 * conf/Makefile.common (dist_noinst_DATA): New variable.
17438 * conf/Makefile.extra-dist: Added missing make dist files.
17439 * grub-core/Makefile.core.def: Likewise.
17440
17441 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17442
17443 Compress grub_prefix.
17444
17445 * grub-core/boot/i386/pc/lnxboot.S: Use
17446 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17447 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17448 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17449 GRUB_MACHINE_PREFIX_END. All users updated.
17450 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17451 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17452 + 0x40.
17453 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17454 * util/grub-mkimage.c (image_target_desc): Change data_end to
17455 prefix_end. All users updated.
17456
17457 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
17460 value.
17461 (grub_openbsd_boot): Likewise.
17462 (grub_netbsd_boot): Likewise.
17463 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
17464 (grub_xnu_boot): Likewise.
17465
17466 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 * configure.ac: Clean LIBS variable after tests.
17469
17470 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17471
17472 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
17473
17474 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
17477 echo if libdevmapper will be used.
17478
17479 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
17480
17481 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
17482 constant for the same file.
17483
17484 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
17487
17488 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
17491 grub-core/*.pp.
17492
17493 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17494
17495 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
17496 required by the boot protocol.
17497
17498 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
17499 ebp and edi members.
17500 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
17501 state.ebp and state.edi.
17502 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
17503 %ebp and %edi according to grub_relocator32_ebp and
17504 grub_relocator32_edi respectively.
17505 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
17506 and state.edi.
17507
17508 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 Add i386-pc-pxe image target.
17511
17512 * util/grub-mkimage.c (image_target_desc): New enum value
17513 IMAGE_I386_PC_PXE.
17514 (image_targets): New target i386-pc-pxe.
17515 (generate_image): Handle i386-pc-pxe image.
17516
17517 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 Fix grub_pxe_scan.
17520
17521 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
17522 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
17523 All users updated.
17524 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
17525 (grub_pxe_pxenv): Correct type.
17526
17527 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17528
17529 * NEWS: Document most of the important changes since 1.98.
17530
17531 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17532
17533 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
17534 generated manual page) a little.
17535
17536 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17537
17538 * docs/grub.texi: Add myself as an author.
17539
17540 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 * Makefile.util.def (libgrub.a): Add missing sunpc.
17543 Reported by: Seth Goldberg.
17544
17545 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17546
17547 Interrupt wrapping and code simplifications.
17548
17549 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
17550 x86_noieee1275 which are functionaly equivalent in this case.
17551 (grub-install): Make source on each platform explicit. Enable on
17552 all noemu.
17553 * gentpl.py (x86_efi_pc): Removed group.
17554 (x86_noefi): Likewise.
17555 (i386_noefi): Likewise.
17556 (x86_noieee1275): Likewise.
17557 (i386_noieee1275): Likewise.
17558 (i386_noefi_noieee1275): Likewise.
17559 (i386_pc_qemu_coreboot): Likewise.
17560 (i386_coreboot_multiboot): Likewise.
17561 (i386_pc_coreboot_multiboot_qemu): Likewise.
17562 (x86_noefi_mips): Likewise.
17563 (noieee1275): Likewise.
17564 (ieee1275_mips): Likewise.
17565 (noemu_noieee1275): Likewise.
17566 (cmos): New group.
17567 (usb): Likewise.
17568 (videoinkernel): Likewise.
17569 (videomodules): Likewise.
17570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
17571 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
17572 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
17573 include/grub/loader.h, include/grub/msdos_partition.h,
17574 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
17575 include/grub/machine/console.h, include/grub/machine/vga.h,
17576 include/grub/machine/vbe.h, include/grub/machine/init.h,
17577 include/grub/machine/kernel.h, include/grub/cpu/time.h,
17578 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
17579 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
17580 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
17581 * grub-core/Makefile.core.def (kernel): Explicit the source for
17582 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
17583 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
17584 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
17585 Use videoinkernel tag.
17586 (usb): Enable on all usb.
17587 (usbserial_common): Likewise.
17588 (usbserial_pl2303): Likewise.
17589 (usbserial_ftdi): Likewise.
17590 (uhci): Enable on all x86.
17591 (ohci): Enable on all pci.
17592 (cmostest): Enable on all CMOS.
17593 (acpi): Include commands/acpi.c on all platforms.
17594 (halt): Add relevant lib/*/halt.c.
17595 (hdparm): Enable on all pci.
17596 (lspci): Likewise.
17597 (usbtest): Enable on all usb.
17598 (ata): Enable on all pci.
17599 (ata_pthru): Likewise.
17600 (usbms): Enable on all usb.
17601 (usb_keyboard): Likewise.
17602 (font): Use tag videomodules.
17603 (bufio): Likewise.
17604 (datetime): Use tag cmos. Enable on all noemu.
17605 (mmap): Use tags common and x86.
17606 (gfxterm): Use tag videomodules.
17607 (bitmap): Likewise.
17608 (bitmap_scale): Likewise.
17609 (video_fb): Likewise.
17610 (video): Likewise.
17611 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
17612 adjust padding accordingly. All users updated.
17613 (grub_ohci_transaction): Fix bad format specification.
17614 (GRUB_MOD_INIT): Add asserts for struct size.
17615 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17616 (grub_alloc_td): Likewise.
17617 (grub_free_queue): Likewise.
17618 (grub_uhci_transfer): Likewise.
17619 (grub_uhci_transaction): Fix bad format specification.
17620 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17621 (grub_usb_bulk_readwrite): Likewise.
17622 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17623 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17624 Made static.
17625 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17626 Made static.
17627 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17628 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17629 Transformed into C.
17630 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17631 Moved from here ...
17632 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17633 ... here. Transformed into C. Made static.
17634 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17635 Moved from here ...
17636 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17637 ... here. Transformed into C. Made static.
17638 * grub-core/kern/i386/pc/startup.S
17639 (grub_biosdisk_check_int13_extensions): Moved from here ...
17640 * grub-core/disk/i386/pc/biosdisk.c
17641 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17642 Made static.
17643 * grub-core/kern/i386/pc/startup.S
17644 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17645 * grub-core/disk/i386/pc/biosdisk.c
17646 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17647 Transformed into C. Made static.
17648 * grub-core/kern/i386/pc/startup.S
17649 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17650 * grub-core/disk/i386/pc/biosdisk.c
17651 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17652 Transformed into C. Made static.
17653 * grub-core/kern/i386/pc/startup.S
17654 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17655 * grub-core/disk/i386/pc/biosdisk.c
17656 (grub_biosdisk_get_diskinfo_standard): ... here.
17657 Transformed into C. Made static.
17658 * grub-core/kern/i386/pc/startup.S
17659 (grub_biosdisk_get_num_floppies): Moved from here ...
17660 * grub-core/disk/i386/pc/biosdisk.c
17661 (grub_biosdisk_get_num_floppies): ... here.
17662 Transformed into C. Made static.
17663 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17664 New function.
17665 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17666 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17667 Transformed into C. Made static.
17668 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17669 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17670 Transformed into C. Made static.
17671 * grub-core/kern/i386/ieee1275/init.c: Removed.
17672 * grub-core/kern/i386/misc.S: Likewise.
17673 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17674 Splitted from here ...
17675 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17676 Transformed into C. Made static. All users updated.
17677 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17678 Transformed into C. Made static. All users updated.
17679 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17680 Moved from here...
17681 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17682 Transformed into C. Made static. All users updated.
17683 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17684 Moved from here...
17685 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17686 Transformed into C. Made static. All users updated.
17687 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17688 Removed (replaced by C version).
17689 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17690 Moved from here...
17691 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17692 Transformed into C. Made static.
17693 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17694 Moved from here...
17695 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17696 ... here. Transformed into C.
17697 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17698 Moved from here...
17699 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17700 ... here. Transformed into C.
17701 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17702 Moved from here...
17703 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17704 ... here. Transformed into C. Made static.
17705 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17706 Moved from here...
17707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17708 ... here. Transformed into C.
17709 * grub-core/kern/i386/pc/startup.S
17710 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17711 * grub-core/video/i386/pc/vbe.c
17712 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
17713 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17714 Moved from here...
17715 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17716 ... here. Transformed into C.
17717 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17718 Moved from here...
17719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17720 ... here. Transformed into C.
17721 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17722 Moved from here...
17723 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17724 ... here. Transformed into C.
17725 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17726 Moved from here...
17727 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17728 ... here. Transformed into C.
17729 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17730 Moved from here...
17731 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17732 ... here. Transformed into C. Made static.
17733 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17734 Moved from here...
17735 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17736 ... here. Transformed into C. Made static.
17737 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17738 Moved from here...
17739 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17740 ... here. Transformed into C. Made static.
17741 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17742 pxe_rm_entry as third argument.
17743 (grub_bios_interrupt): New function.
17744 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17745 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17746 of calling grub_stop.
17747 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17748 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17749 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17750 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17751 * grub-core/lib/i386/halt.c: Moved from here ...
17752 * grub-core/lib/i386/halt.c: ... here.
17753 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17754 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17755 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17756 grub_stop_floppy.
17757 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17758 * include/grub/i386/coreboot/init.h: Removed.
17759 * include/grub/i386/multiboot/init.h: Likewise.
17760 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17761 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17762 * include/grub/i386/pc/int.h: New file.
17763 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17764 (grub_pxe_scan): Removed.
17765 (grub_pxe_call): Update prototype.
17766 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17767 prototypes.
17768 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17769 * include/grub/i386/qemu/init.h: Removed.
17770 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17771 noreturn.
17772 (grub_halt): Likewise.
17773 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17774 (grub_reboot): Likewise.
17775 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17776 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
17777 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17778
17779 2010-08-30 Robert Millan <rmh@gnu.org>
17780
17781 * NEWS: Document addition of ZFS support in `grub-install' and
17782 `grub-mkconfig'.
17783
17784 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17785
17786 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17787 dprintf output.
17788
17789 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17790
17791 Remove leftover embedding of font objects.
17792
17793 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17794 * util/grub-install.in (font): Removed.
17795 * util/grub-mkimage.c (generate_image): Remove font support. All users
17796 updated.
17797
17798 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 Remove leftover embedding of font objects.
17801
17802 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17803 * util/grub-install.in (font): Removed.
17804 * util/grub-mkimage.c (generate_image): Remove font support. All users
17805 updated.
17806
17807 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * docs/grub.texi (Network): Fix reference to pxe_blksize.
17810 Reported by: Ian Turner
17811
17812 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17815 timeout to avoid indefinite boot stalling.
17816
17817 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17820 (grub_env_write_color_highlight): Likewise.
17821
17822 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * grub-core/normal/term.c (print_more): Return to normal and not
17825 to standard state after printing "---MORE---".
17826
17827 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17830 Mask out the bit 0x80 since it has other meaning that specifiing color.
17831
17832 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 New relocator. Allows for more kernel support and more straightforward
17835 loader writing.
17836
17837 * Makefile.am (BOOTTARGET): New variable.
17838 (QEMU32): Likewise.
17839 (linux.init.x86_64): New target.
17840 (linux.init.i386): Likewise.
17841 (multiboot.elf): Likewise.
17842 (kfreebsd.elf): Likewise.
17843 (kfreebsd.aout): Likewise.
17844 (pc-chainloader.elf): Likewise.
17845 (pc-chainloader.bin): Likewise.
17846 (ntldr.elf): Likewise.
17847 (ntldr.bin): Likewise.
17848 (multiboot2.elf): Likewise.
17849 (kfreebsd.init.x86_64): Likewise.
17850 (kfreebsd.init.i386): Likewise.
17851 (knetbsd.init.i386): Likewise.
17852 (kopenbsd.init.i386): Likewise.
17853 (knetbsd.init.x86_64): Likewise.
17854 (kopenbsd.init.x86_64): Likewise.
17855 (linux-initramfs.i386): Likewise.
17856 (linux-initramfs.x86_64): Likewise.
17857 (kfreebsd-mfsroot.i386.img): Likewise.
17858 (knetbsd.image.i386): Likewise.
17859 (kopenbsd.image.i386): Likewise.
17860 (kopenbsd.image.x86_64): Likewise.
17861 (knetbsd.miniroot-image.i386.img): Likewise.
17862 (kfreebsd-mfsroot.x86_64.img): Likewise.
17863 (knetbsd.image.x86_64): Likewise.
17864 (knetbsd.miniroot-image.x86_64.img): Likewise.
17865 (kfreebsd-mfsroot.i386.gz): Likewise.
17866 (bootcheck-kfreebsd-i386): Likewise.
17867 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17868 (bootcheck-kfreebsd-x86_64): Likewise.
17869 (knetbsd.miniroot-image.i386.gz): Likewise.
17870 (bootcheck-knetbsd-i386): Likewise.
17871 (bootcheck-kopenbsd-i386): Likewise.
17872 (bootcheck-kopenbsd-x86_64): Likewise.
17873 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17874 (bootcheck-knetbsd-x86_64): Likewise.
17875 (bootcheck-linux-i386): Likewise.
17876 (bootcheck-linux-x86_64): Likewise.
17877 (bootcheck-linux16-i386): Likewise.
17878 (bootcheck-linux16-x86_64): Likewise.
17879 (bootcheck-multiboot): Likewise.
17880 (bootcheck-multiboot2): Likewise.
17881 (bootcheck-kfreebsd-aout): Likewise.
17882 (bootcheck-pc-chainloader): Likewise.
17883 (bootcheck-ntldr): Likewise.
17884 (CLEANFILES): Add new targets.
17885 (BOOTCHECKS): New variable.
17886 (.PHONY): Add bootchecks.
17887 (SUCCESSFUL_BOOT_STRING): New variable.
17888 (BOOTCHECK_TIMEOUT): Likewise.
17889 (bootcheck): New target
17890 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17891 * configure.ac: Correct efiemu excuse.
17892 * docs/grub.texi (Supported kernels): New chapter.
17893 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17894 include/grub/mm_private.h. Simplify inclusion of
17895 include/grub/boot.h, include/grub/loader.h
17896 and include/grub/msdos_partition.h
17897 (KERNEL_HEADER_FILES) [i386_coreboot]:
17898 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17899 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17900 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17901 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17902 include/grub/machine/loader.h.
17903 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17904 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17905 extra_dist.
17906 (pci.mod): Enable on i386-multiboot.
17907 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17908 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17909 i386-qemu.
17910 (relocator.mod): Rewritten.
17911 (aout.mod): Enable on all x86.
17912 (bsd.mod): Likewise.
17913 (ntldr.mod): New module.
17914 (linux.mod): Use loader/i386/linux.c on all x86.
17915 (xnu.mod): Enable on all x86.
17916 (vga_text.mod): disable on EFI and QEMU.
17917 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17918 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17919 * grub-core/efiemu/loadcore.c: Likewise.
17920 * grub-core/efiemu/main.c: Likewise.
17921 (grub_efiemu_exit_boot_services): Removed.
17922 (grub_efiemu_finish_boot_services): Likewise.
17923 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17924 function.
17925 * grub-core/efiemu/i386/nocfgtables.c: New file.
17926 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17927 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17928 (grub_efi_finish_boot_services): Moved from here ...
17929 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17930 Fille finish memory map and related data.
17931 (finish_mmap_buf): New variable.
17932 (grub_efi_uintn_t finish_mmap_size): Likewise.
17933 (grub_efi_uintn_t finish_key): Likewise.
17934 (grub_efi_uintn_t finish_desc_size): Likewise.
17935 (grub_efi_uint32_t finish_desc_version): Likewise.
17936 (grub_efi_is_finished): Likewise.
17937 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17938 finished.
17939 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17940 (grub_elf64_phdr_iterate): Likewise.
17941 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17942 (grub_os_area_size): Likewise.
17943 (grub_machine_init): Don't reserve os area.
17944 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17945 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17946 * grub-core/kern/i386/loader.S: Removed.
17947 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17948 (grub_os_area_size): Likewise.
17949 (grub_machine_init): Don't reserve os area.
17950 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17951 Don't call grub_dl_unload_all.
17952 Don't include loader.S.
17953 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17954 Declare the memory after _end as available.
17955 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
17956 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
17957 (GRUB_MM_ALLOC_MAGIC): Moved from here...
17958 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17959 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17960 * include/grub/mm_private.h (grub_mm_header): ... here.
17961 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17962 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
17963 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17964 (grub_mm_region): ..here. Removed addr. Added pre_size.
17965 All users updated.
17966 * grub-core/kern/mm.c (base): Renamed to ...
17967 (grub_mm_base): ... this. Made global.
17968 (grub_real_malloc): Alloc from end of region.
17969 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17970 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17971 * grub-core/kern/powerpc/cache_flush.S: ... here.
17972 * grub-core/lib/efi/relocator.c: New file.
17973 * grub-core/lib/i386/relocator.c: Rewritten.
17974 * grub-core/lib/i386/relocator16.S: New file.
17975 * grub-core/lib/i386/relocator32.S: Likewise.
17976 * grub-core/lib/i386/relocator64.S: Likewise.
17977 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17978 * grub-core/lib/i386/relocator_common.S: New file.
17979 * grub-core/lib/ieee1275/relocator.c: Likewise.
17980 * grub-core/lib/mips/relocator.c: Rewritten.
17981 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17982 stylistic adjustments.
17983 * grub-core/lib/powerpc/relocator.c: New file.
17984 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17985 * grub-core/lib/relocator.c: Rewritten.
17986 * grub-core/lib/x86_64/relocator_asm.S: New file.
17987 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17988 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17989 (bsd_tag): New struct.
17990 (tags): New variable.
17991 (tags_last): Likewise.
17992 (netbsd_module): New struct.
17993 (netbsd_mods): New variable.
17994 (netbsd_mods_last): Likewise.
17995 (openbsd_opts): New parameter "serial".
17996 (OPENBSD_SERIAL_ARG): New definition.
17997 (netbsd_opts): New parameter "serial".
17998 (NETBSD_SERIAL_ARG): New definition.
17999 (grub_freebsd_add_meta): Reorganised into ...
18000 (grub_bsd_add_meta): ...this. All users updated.
18001 (grub_freebsd_add_mmap): Reorganised into ...
18002 (generate_e820_mmap): ...this...
18003 (grub_bsd_add_mmap): ...and this. All users updated.
18004 (grub_freebsd_list_modules): Use tags.
18005 (grub_netbsd_add_meta_module): New function.
18006 (grub_netbsd_list_modules): Likewise.
18007 (grub_freebsd_boot): Use relocator and finish EFI.
18008 (grub_openbsd_boot): Likewise.
18009 (grub_netbsd_setup_video): New function.
18010 (grub_netbsd_add_modules): Likewise.
18011 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18012 and finish EFI.
18013 (grub_bsd_unload): Unload tags.
18014 (grub_bsd_load_aout): Use relocator.
18015 (grub_bsd_elf32_size_hook): New function.
18016 (grub_bsd_elf32_hook): Use relocator.
18017 (grub_bsd_elf64_size_hook): New function.
18018 (grub_bsd_elf64_hook): Use relocator.
18019 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18020 (grub_bsd_load): Zero-out openbsd_ramdisk.
18021 (grub_bsd_load): Use relocator.
18022 (grub_cmd_openbsd): Support serial.
18023 (grub_cmd_netbsd): Support modules.
18024 (grub_cmd_freebsd_module): Use relocator.
18025 (grub_netbsd_module_load): New function.
18026 (grub_cmd_netbsd_module): Likewise.
18027 (grub_cmd_openbsd_ramdisk): Likewise.
18028 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18029 kopenbsd_ramdisk.
18030 (GRUB_MOD_FINI): Unregister new commands.
18031 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18032 (grub_freebsd_load_elfmodule_obj): Use relocator.
18033 (grub_freebsd_load_elfmodule): Likewise.
18034 (grub_freebsd_load_elf_meta): Likewise.
18035 (grub_netbsd_load_elf_meta): New function.
18036 (grub_openbsd_find_ramdisk): Likewise.
18037 * grub-core/loader/i386/bsd_helper.S: Removed.
18038 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18039 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18040 * grub-core/loader/i386/efi/linux.c: Likewise.
18041 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18042 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18043 (DEFAULT_VIDEO_MODE): Likewise.
18044 (real_mode_target): New variable.
18045 (prot_mode_target): Likewise.
18046 (initrd_mem_target): Likewise.
18047 (relocator): Likewise.
18048 (efi_mmap_buf): Likewise.
18049 (efi_mmap_size): Likewise.
18050 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18051 (free_pages): Use relocator.
18052 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18053 (grub_linux_setup_video): Return error.
18054 (grub_linux_trampoline_start): Removed.
18055 (grub_linux_trampoline_end): Likewise.
18056 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18057 andd video parameters depending on firmware.
18058 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18059 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18060 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18061 (grub_cmd_initrd): Use relocator.
18062 * grub-core/loader/i386/linux_trampoline.S: Removed.
18063 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18064 (elf_sec_entsize): Likewise.
18065 (elf_sec_shstrndx): Likewise.
18066 (elf_sections): Likewise.
18067 (grub_multiboot_load): Use relocator.
18068 (grub_multiboot_get_mbi_size): Account for sections.
18069 (grub_multiboot_make_mbi): Use relocator and support sections.
18070 (grub_multiboot_add_elfsyms): New function.
18071 (grub_multiboot_free_mbi): Free sections.
18072 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18073 (grub_linux_real_target): Likewise.
18074 (grub_linux_real_chunk): Likewise.
18075 (grub_linux16_prot_size): Likewise.
18076 (grub_linux16_boot): Use relocator.
18077 (grub_linux_unload): Unload relocator.
18078 (grub_cmd_linux): Use relocator.
18079 (grub_cmd_initrd): Likewise.
18080 * grub-core/loader/i386/pc/ntldr.c: New file.
18081 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18082 Don't try to guess CPU frequency.
18083 (grub_xnu_set_video): Stretch bitmap.
18084 (grub_xnu_boot): Use relocator.
18085 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18086 (grub_linux_unload): Free relocator.
18087 (grub_linux_load32): Use relocator.
18088 (grub_linux_load64): Likewise.
18089 (grub_cmd_initrd): Likewise.
18090 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18091 (grub_multiboot_unload): Unload relocator.
18092 (grub_cmd_multiboot): Use relocator.
18093 (grub_cmd_module): Likewise.
18094 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18095 Use relocator and support sections.
18096 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18097 (elf_sec_entsize): Likewise.
18098 (elf_sec_shstrndx): Likewise.
18099 (elf_sections): Likewise.
18100 (grub_multiboot_load): Use relocator.
18101 (grub_multiboot_get_mbi_size): Account for sections.
18102 (grub_multiboot_make_mbi): Use relocator and support sections.
18103 (grub_multiboot_add_elfsyms): New function.
18104 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18105 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18106 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18107 Prototype changed. All users updated.
18108 (grub_xnu_align_heap): Simplified.
18109 (grub_xnu_writetree_toheap): Likewise.
18110 (grub_xnu_unload): Unload relocator.
18111 (grub_cmd_xnu_kernel): Use relocator.
18112 (grub_cmd_xnu_kernel64): Likewise.
18113 (grub_xnu_register_memory): Simplified.
18114 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
18115 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18116 EFI is finished.
18117 (grub_console_checkkey): Likewise.
18118 (grub_console_getkey): Likewise.
18119 (grub_console_getwh): Likewise.
18120 (grub_console_getxy): Likewise.
18121 (grub_console_gotoxy): Likewise.
18122 (grub_console_cls): Likewise.
18123 (grub_console_setcolorstate): Likewise.
18124 (grub_console_setcursor): Likewise.
18125 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18126 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18127 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18128 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18129 * grub-core/tests/boot/kernel-8086.S: Likewise.
18130 * grub-core/tests/boot/kernel-i386.S: Likewise.
18131 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18132 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18133 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18134 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18135 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18136 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18137 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18138 * grub-core/tests/boot/linux.cfg: Likewise.
18139 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18140 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18141 * grub-core/tests/boot/linux16.cfg: Likewise.
18142 * grub-core/tests/boot/multiboot.cfg: Likewise.
18143 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18144 * grub-core/tests/boot/ntldr.cfg: Likewise.
18145 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18146 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18147 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18148 New definition.
18149 * include/grub/dl.h (grub_dl_unload_all): Removed.
18150 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18151 (grub_efi_finish_boot_services): Change prototype.
18152 (grub_efi_is_finished): New variable.
18153 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18154 Changed prototype.
18155 (grub_efiemu_finish_boot_services): Removed.
18156 (grub_machine_efiemu_init_tables): New prototype.
18157 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18158 (grub_elf64_phdr_iterate): Likewise.
18159 * include/grub/i386/bsd.h: Include relocator.h.
18160 (freebsd_tag_header): New struct.
18161 (grub_openbsd_bios_mmap): Removed.
18162 (grub_unix_real_boot): Removed.
18163 (grub_freebsd_load_elfmodule32): Changed prototype.
18164 (grub_freebsd_load_elfmodule_obj64): Likewise.
18165 (grub_freebsd_load_elf_meta32): Likewise.
18166 (grub_freebsd_load_elf_meta64): Likewise.
18167 (grub_freebsd_add_meta): Removed.
18168 (grub_netbsd_load_elf_meta32): New prototype.
18169 (grub_netbsd_load_elf_meta64): Likewise.
18170 (grub_bsd_add_meta): Likewise.
18171 (grub_openbsd_ramdisk_descriptor): New struct.
18172 (grub_openbsd_find_ramdisk32): New prototype.
18173 (grub_openbsd_find_ramdisk64): Likewise.
18174 * include/grub/i386/coreboot/loader.h: Removed.
18175 * include/grub/i386/efi/loader.h: Likewise.
18176 * include/grub/i386/ieee1275/loader.h: Likewise.
18177 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18178 to grub_uint32_t.
18179 * include/grub/i386/loader.h: Removed.
18180 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18181 value.
18182 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18183 (grub_phys_addr_t): New type.
18184 (grub_vtop): New inline function.
18185 (grub_map_memory): Likewise.
18186 (grub_unmap_memory): Likewise.
18187 * include/grub/i386/multiboot/loader.h: Removed.
18188 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18189 (NETBSD_BTINFO_CONSOLE): New definition.
18190 (NETBSD_BTINFO_SYMTAB): Likewise.
18191 (NETBSD_BTINFO_MODULES): Likewise.
18192 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18193 (grub_netbsd_bootinfo): New struct.
18194 (grub_netbsd_btinfo_common): Use explicit bitsize.
18195 (grub_netbsd_btinfo_mmap_entry): Removed.
18196 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18197 (grub_netbsd_btinfo_bootdisk): New struct.
18198 (grub_netbsd_btinfo_symtab): Likewise.
18199 (grub_netbsd_btinfo_serial): Likewise.
18200 (grub_netbsd_btinfo_modules): Likewise.
18201 (grub_netbsd_btinfo_framebuf): Likewise.
18202 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18203 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18204 Likewise.
18205 (grub_openbsd_bootargs): Use explicit bitsize.
18206 (grub_openbsd_bootarg_console): New struct.
18207 (GRUB_OPENBSD_COM_MAJOR): New definition.
18208 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18209 * include/grub/i386/pc/efiemu.h: Removed.
18210 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18211 * include/grub/i386/qemu/loader.h: Removed.
18212 * include/grub/i386/relocator.h: Rewritten.
18213 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18214 * include/grub/mips/memory.h: New file.
18215 * include/grub/mips/multiboot.h: Rewritten.
18216 * include/grub/mips/relocator.h: Rewritten.
18217 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18218 (grub_vtop): New function.
18219 (grub_map_memory): Likewise.
18220 (grub_unmap_memory): Likewise.
18221 * include/grub/misc.h (ALIGN_DOWN): New definition.
18222 * include/grub/mm.h (grub_mm_check_real): New proto.
18223 (GRUB_MM_CHECK): New definition.
18224 * include/grub/mm_private.h: New file.
18225 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18226 (grub_multiboot_get_mbi_size): Removed.
18227 (grub_multiboot_make_mbi): Change prottype.
18228 (grub_multiboot_set_accepts_video): New proto.
18229 (grub_multiboot_add_elfsyms): Likewise.
18230 (grub_multiboot_payload_eip): New variable.
18231 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18232 New prototype.
18233 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18234 New definition.
18235 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18236 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18237 * include/grub/powerpc/ieee1275/loader.h: Removed.
18238 * include/grub/powerpc/memory.h: New file.
18239 * include/grub/powerpc/relocator.h: Likewise.
18240 * include/grub/relocator.h: Likewise.
18241 * include/grub/relocator_private.h: Likewise.
18242 * include/grub/sparc64/ieee1275/loader.h: Removed.
18243 * include/grub/x86_64/memory.h: New file.
18244 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18245 (grub_xnu_heap_malloc): Likewise.
18246 (grub_xnu_heap_real_start): Removed.
18247 (grub_xnu_heap_start): Likewise.
18248 (grub_xnu_relocator): New variable.
18249 (grub_xnu_heap_target_start): Likewise.
18250 * tests/util/grub-shell.in: Support non-pc.
18251 * util/grub-mkimage.c (image_targets): Fix multiboot target.
18252
18253 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18256 on malloc error.
18257 (grub_bidi_logical_to_visual): Check that malloc succeded.
18258 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18259 puts.
18260 (grub_xputs_normal): Likewise.
18261
18262 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18265 extra_dist.
18266
18267 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18270
18271 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18274
18275 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18278 dprintf.
18279
18280 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18281
18282 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18283
18284 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * grub-core/normal/term.c (print_more): Fix a memory leak.
18287 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18288 (grub_xputs_normal): Likewise.
18289
18290 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18293 the begining of the string
18294
18295 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * grub-core/script/script.c (grub_script_parse): Free parsed on
18298 failure.
18299
18300 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18303 on failure.
18304
18305 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18308 return.
18309
18310 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18313 (scroll_up): Fix a memory leak.
18314
18315 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18318 errors.
18319
18320 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Handle USB pendrives exposed as floppies.
18323
18324 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18325 floppy.
18326 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18327 Check for partitions on all devices.
18328
18329 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18332 (readkey): Likewise.
18333
18334 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18335
18336 Multiple variable names support to "export" command.
18337
18338 * normal/context.c (grub_cmd_export): "export" command supports
18339 multiple variable names.
18340
18341 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18342
18343 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18344 --target=drive output to Mach device name.
18345
18346 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18347
18348 New Automake based build system for GRUB.
18349
18350 * ABOUT-NLS: New file.
18351 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18352 in Makefile.util.def file.
18353 * Makefile.util.def: New file. Autogen build definitions file for
18354 GRUB host utils.
18355 * conf/Makefile.common: New file. Common variables for GRUB host
18356 utils and target modules.
18357 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18358 * docs/Makefile.am: New file. Automake file for docs.
18359 * gentpl.py: New file. Python script to generate Autogen
18360 template.
18361 * grub-core/Makefile.am: New file. GRUB target modules' rules
18362 that doesn't fit in Makefile.core.def file.
18363 * grub-core/Makefile.core.def: New file. Autogen build
18364 definitions file for GRUB target modules.
18365 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18366 specific setjmp.S file.
18367 * po/Makefile.am: New file.
18368
18369 * .bzrignore: New ignores.
18370 * INSTALL: New requirements, without Ruby.
18371 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18372 * autogen.sh: Updated to invoke autogen as necessary.
18373 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18374 and defines for Automake conditionals.
18375 * geninit.sh: Refactoring.
18376
18377 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18378 necessary.
18379 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18380 New prototype.
18381
18382 * include/grub/test.h: Fix functional test modules' naming.
18383 * grub-core/tests/example_functional_test.c: Fix test module name.
18384
18385 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18386 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18387 * util/grub-editenv.c: Likewise.
18388 * util/grub-fstest.c: Likewise.
18389 * util/grub-mkdevicemap.c: Likewise.
18390 * util/grub-mkfont.c: Likewise.
18391 * util/grub-mkimage.c: Likewise.
18392 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18393 * util/grub-probe.c: Likewise.
18394 * util/grub-script-check.c: Likewise.
18395 * util/i386/pc/grub-setup.c: Likewise.
18396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18397
18398 * tests/util/grub-shell.in: Fix override directory path.
18399 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18400 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18401
18402 * util/lvm.c: Update #includes.
18403 * util/raid.c: Likewise.
18404 * util/resolve.c: Likewise.
18405 * grub-core/bus/emu/pci.c: Likewise.
18406 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18407 * grub-core/lib/posix_wrap/string.h: Likewise.
18408 * grub-core/kern/emu/main.c: Likewise.
18409
18410 * grub-core/gensymlist.sh: New file. Script for generating kernel
18411 symbols file.
18412 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18413
18414 * grub-core/gentrigtables.c: Fix unused variable warnings.
18415
18416 * Makefile.in: Removed.
18417 * conf/any-emu.rmk: Removed.
18418 * conf/common.rmk: Removed.
18419 * conf/i386-coreboot.rmk: Removed.
18420 * conf/i386-efi.rmk: Removed.
18421 * conf/i386-ieee1275.rmk: Removed.
18422 * conf/i386-multiboot.rmk: Removed.
18423 * conf/i386-pc.rmk: Removed.
18424 * conf/i386-qemu.rmk: Removed.
18425 * conf/i386.rmk: Removed.
18426 * conf/mips-yeeloong.rmk: Removed.
18427 * conf/mips.rmk: Removed.
18428 * conf/powerpc-ieee1275.rmk: Removed.
18429 * conf/sparc64-ieee1275.rmk: Removed.
18430 * conf/tests.rmk: Removed.
18431 * conf/x86-efi.rmk: Removed.
18432 * conf/x86_64-efi.rmk: Removed.
18433 * gendistlist.sh: Removed.
18434 * geninitheader.sh: Removed.
18435 * genkernsyms.sh.in: Removed.
18436 * genmk.rb: Removed.
18437 * gensymlist.sh.in: Removed.
18438 * mkinstalldirs: Removed.
18439 * boot: Moved ...
18440 * grub-core/boot: ... to here.
18441 * bus: Moved ...
18442 * grub-core/bus: ... to here.
18443 * commands: Moved ...
18444 * grub-core/commands: ... to here.
18445 * disk: Moved ...
18446 * grub-core/disk: ... to here.
18447 * efiemu: Moved ...
18448 * grub-core/efiemu: ... to here.
18449 * font: Moved ...
18450 * grub-core/font: ... to here.
18451 * fs: Moved ...
18452 * grub-core/fs: ... to here.
18453 * gencmdlist.sh: Moved ...
18454 * grub-core/gencmdlist.sh: ... to here.
18455 * genemuinit.sh: Moved ...
18456 * grub-core/genemuinit.sh: ... to here.
18457 * genemuinitheader.sh: Moved ...
18458 * grub-core/genemuinitheader.sh: ... to here.
18459 * genfslist.sh: Moved ...
18460 * grub-core/genfslist.sh: ... to here.
18461 * genhandlerlist.sh: Moved ...
18462 * grub-core/genhandlerlist.sh: ... to here.
18463 * genmoddep.awk: Moved ...
18464 * grub-core/genmoddep.awk: ... to here.
18465 * genmodsrc.sh: Moved ...
18466 * grub-core/genmodsrc.sh: ... to here.
18467 * genpartmaplist.sh: Moved ...
18468 * grub-core/genpartmaplist.sh: ... to here.
18469 * genparttoollist.sh: Moved ...
18470 * grub-core/genparttoollist.sh: ... to here.
18471 * genterminallist.sh: Moved ...
18472 * grub-core/genterminallist.sh: ... to here.
18473 * gentrigtables.c: Moved ...
18474 * grub-core/gentrigtables.c: ... to here.
18475 * genvideolist.sh: Moved ...
18476 * grub-core/genvideolist.sh: ... to here.
18477 * gettext: Moved ...
18478 * grub-core/gettext: ... to here.
18479 * gfxmenu: Moved ...
18480 * grub-core/gfxmenu: ... to here.
18481 * gnulib: Moved ...
18482 * grub-core/gnulib: ... to here.
18483 * hello: Moved ...
18484 * grub-core/hello: ... to here.
18485 * hook: Moved ...
18486 * grub-core/hook: ... to here.
18487 * io: Moved ...
18488 * grub-core/io: ... to here.
18489 * kern: Moved ...
18490 * grub-core/kern: ... to here.
18491 * lib: Moved ...
18492 * grub-core/lib: ... to here.
18493 * loader: Moved ...
18494 * grub-core/loader: ... to here.
18495 * mmap: Moved ...
18496 * grub-core/mmap: ... to here.
18497 * normal: Moved ...
18498 * grub-core/normal: ... to here.
18499 * partmap: Moved ...
18500 * grub-core/partmap: ... to here.
18501 * parttool: Moved ...
18502 * grub-core/parttool: ... to here.
18503 * script: Moved ...
18504 * grub-core/script: ... to here.
18505 * term: Moved ...
18506 * grub-core/term: ... to here
18507 * tests/example_functional_test.c: Moved ...
18508 * grub-core/tests/example_functional_test.c: ... to here.
18509 * tests/lib/functional_test.c: Moved ...
18510 * grub-core/tests/lib/functional_test.c: ... to here.
18511 * tests/lib/test.c: Moved ...
18512 * grub-core/tests/lib/test.c: ... to here.
18513 * video: Moved ...
18514 * grub-core/video: ... to here.
18515
18516 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18517
18518 Replace --enable-grub-emu-modules with grub-emu-lite.
18519
18520 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
18521 cache.S.
18522
18523 * include/grub/emu/misc.h (grub_emu_init): New prototype.
18524 * kern/emu/full.c: New file. For grub-emu specific initialization.
18525 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
18526 * kern/emu/main.c: Call initialization function grub_emu_init.
18527
18528 * Makefile.in: Include grub-emu-lite in install.
18529 * commands/parttool.c: Use grub_no_autoload to differentiate
18530 between grub-emu and grub-emu-lite.
18531 * include/grub/misc.h: New variable grub_no_autoload.
18532
18533 * conf/any-emu.rmk: New rules for grub-emu-lite.
18534 * configure.ac: Remove --enable-grub-emu-modules.
18535 * genmk.rb: Cleanup unnecessary rules.
18536 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
18537
18538 * normal/main.c: Don't load list files on grub-emu-lite.
18539 * util/misc.c (grub_arch_sync_caches): Removed.
18540
18541 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
18542
18543 * kern/mips/startup.S (grub_prefix): Update comment to refer to
18544 grub-mkimage rather than grub-mkelfimage.
18545 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
18546
18547 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
18550 a key after CapsLock or NumLock. It's just a qemu bug.
18551
18552 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
18555 needed by libusb wrapper.
18556
18557 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18558
18559 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18560
18561 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
18564 --nounzip is passed.
18565
18566 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 USB hotunplugging and USB serial support.
18569
18570 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
18571 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
18572 (grub_uhci_transfer): Respect timeout and set *actual.
18573 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18574 non-standard length.
18575 (grub_usb_device_attach): Autoload modules.
18576 (GRUB_MOD_INIT): Set grub_term_poll_usb.
18577 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
18578 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
18579 users updated.
18580 (grub_usb_add_hub): Fill nports and children.
18581 (attach_root_port): Receive hub instead of controller.
18582 All users updated. Fill hub->devices.
18583 (grub_usb_root_hub): Allocate hub->devices.
18584 (detach_device): New function.
18585 (poll_nonroot_hub): Fill children and detach devices.
18586 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
18587 actual arguments. All users updated.
18588 (grub_usb_bulk_read_extended): New function.
18589 * bus/usb/serial/common.c: New file.
18590 * bus/usb/serial/ftdi.c: Likewise.
18591 * bus/usb/serial/pl2303.c: Likewise.
18592 * commands/terminal.c (handle_command): Support wildcard.
18593 * commands/usbtest.c: Output "Unknown" instead of empty string.
18594 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
18595 (usbserial_common_mod_SOURCES): New variable.
18596 (usbserial_common_mod_CFLAGS): Likewise.
18597 (usbserial_common_mod_LDFLAGS): Likewise.
18598 (pkglib_MODULES): Add usbserial_pl2303.mod.
18599 (usbserial_pl2303_mod_SOURCES): New variable.
18600 (usbserial_pl2303_mod_CFLAGS): Likewise.
18601 (usbserial_pl2303_mod_LDFLAGS): Likewise.
18602 (pkglib_MODULES): Add usbserial_ftdi.mod.
18603 (usbserial_ftdi_mod_SOURCES): New variable.
18604 (usbserial_ftdi_mod_CFLAGS): Likewise.
18605 (usbserial_ftdi_mod_LDFLAGS): Likewise.
18606 (pkglib_MODULES): Add serial.mod.
18607 (serial_mod_SOURCES): New variable.
18608 (serial_mod_CFLAGS): Likewise.
18609 (serial_mod_LDFLAGS): Likewise.
18610 * conf/i386-pc.rmk: Likewise.
18611 * conf/mips-yeeloong.rmk: Likewise.
18612 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
18613 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18614 * disk/usbms.c (first_available_slot): New variable.
18615 (grub_usbms_attach): Don't reuse free slots due to potential cache
18616 problems.
18617 * include/grub/serial.h: Moved to ..
18618 * include/grub/ns8250.h: ...this.
18619 * include/grub/serial.h: New file.
18620 * include/grub/term.h (grub_term_poll_usb): New variable.
18621 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18622 readkey. All users updated.
18623 (grub_terminfo_output_state): Pass term to put.
18624 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18625 (grub_usb_controller_dev): Add timeout and actual arguments to
18626 transfer. All users updated.
18627 (grub_usb_interface): New field detach_data.
18628 (grub_usb_device): New fields children and nports.
18629 (grub_usb_ep_type_t): New type.
18630 (grub_usb_get_ep_type): New function.
18631 (grub_usb_bulk_read_extended): Likewise.
18632 * include/grub/usbdesc.h (grub_usb_desc): New type.
18633 * include/grub/usbserial.h: New file.
18634 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18635 * kern/term.c (grub_term_poll_usb): New variable.
18636 (grub_getkey): Call grub_term_poll_usb if set.
18637 (grub_checkkey): Likewise.
18638 (grub_getkeystatus): Likewise.
18639 * term/serial.c: Moved controller-specific parts to ...
18640 * term/ns8250.c: ... here.
18641 * term/serial.c: Mostly rewritten.
18642 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18643 according to spec.
18644
18645 2010-08-20 Robert Millan <rmh@gnu.org>
18646
18647 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18648 a separate module and maybe other interesting combinations.
18649
18650 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18651 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18652 (kfreebsd_entry): Add generic filesystem module load routine.
18653 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18654
18655 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18656
18657 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18658 "numcenter" (I misunderstood the purpose of this entry).
18659 * docs/grub.texi (sendkey): Likewise.
18660
18661 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18662
18663 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18664 status flag options; simply omitting the option is equivalent and
18665 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18666 (keysym_table): Rename "num5numlock" to "numlock".
18667 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18668 can uniformly say that only the last of multiple `sendkey'
18669 invocations has any effect.
18670 * docs/grub.texi (sendkey): New section.
18671
18672 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
18673
18674 * commands/i386/pc/sendkey.c (options): Fix three typos.
18675
18676 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 Implement sendkey support.
18679
18680 * commands/i386/pc/sendkey.c: New file.
18681 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18682 (sendkey_mod_SOURCES): New variable.
18683 (sendkey_mod_CFLAGS): Likewise.
18684 (sendkey_mod_LDFLAGS): Likewise.
18685
18686 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18687
18688 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18689 fix warnings from Autoconf.
18690
18691 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18692
18693 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18694 to avoid false positives with some assemblers that output things
18695 like "someprefix_func" as part of their output.
18696
18697 2010-08-15 Robert Millan <rmh@gnu.org>
18698
18699 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18700 errors.
18701 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18702 grub_get_libzfs_handle() errors.
18703
18704 2010-08-14 Robert Millan <rmh@gnu.org>
18705
18706 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18707 filesystem is not ZFS.
18708
18709 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18710
18711 Fix for misspelled color names defaulting to black/black (bug
18712 reported by Doug Nazar)
18713
18714 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18715 status to prototype.
18716 * normal/color.c (grub_parse_color_name_pair): Return failure
18717 status.
18718 (grub_env_write_color_normal): Ignore bad color names.
18719 (grub_env_write_color_highlight): Likewise.
18720 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18721
18722 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18723
18724 "shift" command support to GRUB script.
18725
18726 * include/grub/script_sh.h (grub_script_shift): New prototype.
18727 * script/execute.c (grub_script_shift): New function.
18728 * script/main.c (grub_script_init): Register shift command.
18729 (grub_script_fini): Unregister shift command.
18730 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18731
18732 * tests/grub_script_shift.in: New testcase.
18733 * conf/tests.rmk: Rules for new testcase.
18734
18735 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18736
18737 "continue" command support to GRUB script.
18738
18739 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18740 (grub_script_break): Continue support.
18741 * script/main.c (grub_script_init): Register continue command.
18742 (grub_script_fini): Unregister continue command.
18743
18744 * tests/grub_script_continue.in: New testcase.
18745 * conf/tests.rmk: Rules for new testcase.
18746
18747 2010-08-12 BVK Chaitanya <bvk@dbook>
18748
18749 "break" command support to GRUB script.
18750
18751 * conf/common.rmk: Rule updates to grub-script-check.
18752 * include/grub/misc.h (grub_min): New function.
18753 * include/grub/script_sh.h (grub_script_init): New prototype.
18754 (grub_script_fini): New prototype.
18755 (grub_script_break): New prototype.
18756 * script/main.c (grub_script_init): New function.
18757 (grub_script_fini): New function.
18758 * script/execute.c (grub_script_break): New function.
18759 * normal/main.c: Calls to grub_script_{init,fini}.
18760 * util/grub-script-check.c (grub_script_break): New function.
18761
18762 * tests/grub_script_break.in: New testcase.
18763 * conf/tests.rmk: Rules for new test case.
18764
18765 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18766
18767 Function parameters support to GRUB script.
18768
18769 * script/yylex.l (VARIABLE): Regular expression update.
18770 * script/function.c (grub_script_function_call): Moved ...
18771 * script/execute.c (grub_script_function_call): ... to here.
18772 (grub_script_execute_arglist_to_argv): Removed.
18773 (grub_script_arglist_to_argv): New function.
18774 * script/argv.c: New file.
18775 (grub_script_argv_free): New function.
18776 (grub_script_argv_next): Likewise.
18777 (grub_script_argv_append): Likewise.
18778 (grub_script_argv_split_append): Likewise.
18779 * include/grub/script_sh.h (grub_script_argv): New struct.
18780 (grub_script_argv_free): New function.
18781 (grub_script_argv_next): Likewise.
18782 (grub_script_argv_append): Likewise.
18783 (grub_script_argv_split_append): Likewise.
18784
18785 * conf/common.rmk (normal.mod): New source script/argv.c.
18786
18787 * tests/grub_script_echo1.in: More tests.
18788 * tests/grub_script_vars1.in: Likewise.
18789 * tests/grub_script_functions.in: New test case.
18790 * conf/tests.rmk: Rules for new testcase.
18791
18792 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18793
18794 Remove grub_script_cmdblock struct.
18795
18796 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18797 * script/parser.y: Likewise.
18798 * script/execute.c: Rename cmdblock suffix to cmdlist.
18799 * script/script.c: Likewise.
18800 * util/grub-script-check.c: Likewise.
18801
18802 2010-08-11 Yves Blusseau <blusseau@zetam.org>
18803
18804 * .bzrignore: add grub-macho2img
18805
18806 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18809
18810 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 Remove the dump of sm712 initialisation sequence.
18813
18814 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18815 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18816 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18817 (GRUB_VGA_CR_*): Added many registers.
18818 (GRUB_VGA_SR_*): Likewise.
18819 (GRUB_VGA_GR_*): Likewise.
18820 (grub_vga_write_arx): New function.
18821 (grub_video_hw_config): New struct.
18822 (grub_vga_set_geometry): New function.
18823 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18824 GRUB_PCI_CLASS_SUBCLASS_VGA.
18825 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18826 * video/sm712.c (grub_sm712_write_reg): New function
18827 (grub_sm712_read_reg): Likewise.
18828 (grub_sm712_sr_write): Likewise.
18829 (grub_sm712_gr_write): Likewise.
18830 (grub_sm712_cr_write): Likewise.
18831 (grub_sm712_write_arx): Likewise.
18832 (grub_sm712_cr_shadow_write): Likewise.
18833 (grub_sm712_write_dda_lookup): Likewise.
18834 (grub_video_sm712_setup): Initialise the video rather then
18835 blindly replay the dump.
18836 (main) [TEST]: Add a routine to be able to compile as standalone for
18837 tests.
18838 * video/sm712_init.c (sm712_init): Removed.
18839 (sm712_sr_seq1): New array.
18840 (sm712_sr_seq2): Likewise.
18841
18842 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * include/grub/vga.h: Add missing grub/pci.h include.
18845
18846 2010-08-10 Yves Blusseau <blusseau@zetam.org>
18847
18848 * util/grub-macho2img.c (main): fix typo
18849
18850 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18853 (grub_vga_gr_read): Likewise.
18854 (grub_vga_cr_write): Likewise.
18855 (grub_vga_cr_read): Likewise.
18856 (grub_vga_sr_write): Likewise.
18857 (grub_vga_sr_read): Likewise.
18858 (grub_vga_palette_read): Likewise.
18859 (grub_vga_palette_write): Likewise.
18860 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18861 (grub_sm712_sr_read): New function.
18862 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18863 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18864
18865 2010-08-09 Robert Millan <rmh@gnu.org>
18866
18867 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18868 out unused variables on non-ZFS build.
18869
18870 2010-08-08 Robert Millan <rmh@gnu.org>
18871
18872 Fix path generation for sub-filesystems in ZFS.
18873
18874 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18875 missing slash.
18876
18877 2010-08-08 Robert Millan <rmh@gnu.org>
18878
18879 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18880
18881 2010-08-08 Robert Millan <rmh@gnu.org>
18882
18883 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18884 exist, issue a proper error message (rely on `ls' for translated
18885 strings).
18886
18887 2010-08-08 Robert Millan <rmh@gnu.org>
18888
18889 Fix grub-probe invocation.
18890
18891 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18892
18893 2010-08-04 Robert Millan <rmh@gnu.org>
18894
18895 * configure.ac: Remove checks for getfsstat() and getmntany().
18896 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18897 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18898 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18899 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18900 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18901 function.
18902 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18903 via find_mount_point_from_dir() and getfsstat() / getmntany().
18904
18905 2010-08-04 Robert Millan <rmh@gnu.org>
18906
18907 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18908 (grub_find_zpool_from_mount_point): Merge into ...
18909 (grub_find_zpool_from_dir): ... this.
18910 * kern/emu/misc.c: Likewise.
18911
18912 * kern/emu/misc.c
18913 (grub_make_system_path_relative_to_its_root): Replace
18914 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18915 with grub_find_zpool_from_dir().
18916 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18917
18918 2010-08-04 Robert Millan <rmh@gnu.org>
18919
18920 Support OpenSolaris in ZFS device resolution.
18921
18922 * configure.ac: Check for getmntany().
18923 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18924 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18925 support.
18926
18927 2010-08-03 Robert Millan <rmh@gnu.org>
18928
18929 Fix grub-emu build.
18930
18931 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18932 * include/grub/emu/misc.h: ... here.
18933
18934 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18935 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18936
18937 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18938 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18939 (grub_get_libzfs_handle): Move to ...
18940 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18941 (grub_get_libzfs_handle): ... here.
18942
18943 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18944
18945 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18946 as command name case.
18947
18948 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
18949
18950 * disk/raid.c (insert_array): Select unique numbers for named arrays
18951 as well, for use as keys in the disk cache.
18952
18953 2010-08-01 Robert Millan <rmh@gnu.org>
18954
18955 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18956 kFreeBSD device name, except on ZFS where the filesystem label is
18957 used.
18958 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18959 `/boot/zfs/zpool.cache'.
18960 Set mountfrom kernel variable using ${kfreebsd_device}.
18961
18962 2010-08-01 Robert Millan <rmh@gnu.org>
18963
18964 Make it even harder to use uninitialized `libzfs_handle' (and
18965 make the interface a bit simpler).
18966
18967 * include/grub/util/misc.h (grub_util_init_libzfs)
18968 (libzfs_handle): Remove.
18969 (grub_get_libzfs_handle): New prototype.
18970
18971 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18972 attribute.
18973 (grub_util_init_libzfs): Remove.
18974 (grub_get_libzfs_handle): New function.
18975
18976 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18977 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18978 accessing `libzfs_handle' directly.
18979
18980 2010-08-01 Robert Millan <rmh@gnu.org>
18981
18982 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18983 (grub_find_zpool_from_mount_point): New function prototypes.
18984
18985 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18986 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18987
18988 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18989 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18990 `static' attribute.
18991
18992 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18993 finding zpool from mount point into ...
18994 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18995
18996 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18997 requested path is part of a ZFS pool, use
18998 grub_find_zpool_from_mount_point() to detect its filesystem name,
18999 and generate a path with `/fsname@path' syntax.
19000
19001 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19002
19003 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19004 (void) rather than () so that this is a proper prototype.
19005
19006 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19009
19010 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19013 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19014
19015 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19016
19017 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19018
19019 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19022
19023 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19024
19025 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19026 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19027 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19028 disable gfxpayload.
19029 (Shell-like scripting): Add real content.
19030 (Serial terminal): Suggest `terminal_input serial; terminal_output
19031 serial' rather than putting the two commands on separate lines,
19032 since console input will be inoperative after the first command.
19033 (menuentry): Document --class, --users, and --hotkey options.
19034 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19035 Vladimir Serbinenko).
19036
19037 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19038 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19039
19040 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19041
19042 2010-08-01 Robert Millan <rmh@gnu.org>
19043
19044 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19045 (grub_find_zpool_from_mount_point): New function prototypes.
19046
19047 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19048 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19049
19050 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19051 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19052 `static' attribute.
19053
19054 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19055 finding zpool from mount point into ...
19056 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19057
19058 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19059 requested path is part of a ZFS pool, use
19060 grub_find_zpool_from_mount_point() to detect its filesystem name,
19061 and generate a path with `/fsname@path' syntax.
19062
19063 2010-08-01 Robert Millan <rmh@gnu.org>
19064
19065 Prevent accidental use of uninitialized libzfs_handle.
19066
19067 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19068 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19069 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19070
19071 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19072
19073 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19074 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19075
19076 2010-08-01 Robert Millan <rmh@gnu.org>
19077
19078 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
19079
19080 2010-07-31 Robert Millan <rmh@gnu.org>
19081
19082 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19083
19084 2010-07-31 Robert Millan <rmh@gnu.org>
19085
19086 * kern/emu/misc.c: Add missing license header.
19087
19088 2010-07-31 Robert Millan <rmh@gnu.org>
19089
19090 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19091
19092 * include/grub/util/libnvpair.h: Include `<config.h>'.
19093 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19094 declaring libnvpair prototypes ourselves.
19095 * include/grub/util/libzfs.h: Include `<config.h>'.
19096 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19097 declaring libzfs prototypes ourselves.
19098
19099 (libzfs_handle): Moved to ...
19100 * include/grub/util/misc.h (libzfs_handle): ... here.
19101 Include `<grub/util/libzfs.h>'.
19102
19103 2010-07-30 Robert Millan <rmh@gnu.org>
19104
19105 * include/grub/emu/misc.h: Add missing license header.
19106
19107 2010-07-30 Robert Millan <rmh@gnu.org>
19108
19109 Enable `grub-probe -t device' resolution on ZFS.
19110
19111 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19112 * include/grub/util/libnvpair.h: New file.
19113 * include/grub/util/libzfs.h: New file.
19114
19115 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19116 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19117 `<grub/util/libnvpair.h>'.
19118 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19119
19120 (find_mount_point_from_dir): New static function.
19121 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19122 function.
19123 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19124 find_root_device_from_libzfs() before ressorting to find_root_device().
19125
19126 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19127 prototype.
19128 * util/misc.c: Include `<grub/util/libzfs.h>'.
19129 (grub_util_init_libzfs): New function.
19130 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19131 [HAVE_LIBZFS] (fini_libzfs): New static function.
19132 (grub_util_init_libzfs): New function.
19133 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19134
19135 2010-07-30 Robert Millan <rmh@gnu.org>
19136
19137 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19138 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19139 `warn_unused_result' attribute.
19140 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19141 (grub_xasprintf, grub_xvasprintf): Likewise.
19142 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19143
19144 2010-07-29 Robert Millan <rmh@gnu.org>
19145
19146 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19147 (probe): Handle `PRINT_FS_LABEL'.
19148 (main): Handle `-t fs_label'.
19149
19150 2010-07-29 Robert Millan <rmh@gnu.org>
19151
19152 * configure.ac: Remove grub-mkisofs checks.
19153
19154 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19157 Reported by: Lennart Sorensen.
19158
19159 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19160
19161 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19162 prior to terminal_input/terminal_output separation. It's been over 1.5
19163 years and those versions weren't widely deployed.
19164
19165 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
19166
19167 * disk/raid.c (insert_array): Don't count named arrays when looking
19168 for unused array numbers.
19169 Reported and tested by: Michael Guntsche.
19170
19171 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19172
19173 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19174 implementation of this so that grub-emu links again, with a note
19175 that this should support hotplugging in the future.
19176
19177 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19180
19181 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19182
19183 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19184 handle on failure.
19185 (grub_loopback_close): Remove empty function.
19186 (grub_loopback_dev): Remove close method.
19187
19188 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19189
19190 Disable EFI cursor when the EFI console becomes inactive.
19191
19192 * term/efi/console.c (grub_efi_console_init): New function.
19193 (grub_efi_console_fini): New function.
19194 (grub_console_term_output): Register init and fini methods.
19195
19196 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19197
19198 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19199 sh script.
19200
19201 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 * disk/loopback.c (grub_loopback): Replace filename with file.
19204 (delete_loopback): Handle new semantics.
19205 (grub_cmd_loopback): Likewise.
19206 (grub_loopback_iterate): Likewise.
19207 (grub_loopback_close): Likewise.
19208
19209 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19212 with -p "".
19213 Reported by: Tito Keitel.
19214
19215 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * docs/grub.texi (Naming convention): Document new naming convention.
19218
19219 2010-07-20 Vadim Solomin <vadic052@gmail.com>
19220 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19221
19222 Generate device.map in something closer to the old ordering.
19223
19224 * util/deviceiter.c (struct device): New declaration.
19225 (compare_file_names): Rename to ...
19226 (compare_devices): ... this. Sort by kernel name in preference to
19227 the stable by-id name, but keep the latter as a fallback comparison.
19228 Update header comment.
19229 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19230 of `struct device' rather than of plain file names.
19231
19232 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19233
19234 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19235 on i386.
19236
19237 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19240 hardcoding size.
19241 (setv1table): Likewise.
19242
19243 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19244
19245 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19246 removing the homehost if present.
19247 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19248 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19249 removing the homehost if present.
19250 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19251 if possible.
19252 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19253
19254 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19255 parameter. Set its pointer target to 0.
19256 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19257 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19258 `data_offset' value from the superblock for 1.x metadata.
19259 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19260 data on the device.
19261 (insert_array): Record the start sector of data on the device.
19262 (grub_raid_register): Pass start_sector parameters to
19263 grub_raid_list->detect and insert_array.
19264 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19265 member.
19266 (struct grub_raid): Add start_sector parameter to `detect'.
19267
19268 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19269 __attribute__ ((packed)), leaving a comment.
19270 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19271 (grub_mdraid_detect_09): ... here and ...
19272 (grub_mdraid_detect_1x): ... here.
19273
19274 2010-07-20 Peter Henn <peter.henn@web.de>
19275
19276 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19277 chunk size and disk size, which are already given as sector counts
19278 as distinct from the 0.90 units. Fetch the correct device number
19279 from the role table instead of using the table index.
19280
19281 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
19282
19283 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19284 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19285 (WriteMostly1): New macro.
19286 Set array->name to NULL for metadata format 0.90. Add support for
19287 metadata 1.x. Fix some comments.
19288 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19289 few comments.
19290 * util/getroot.c (grub_util_get_grub_dev): Add support for
19291 /dev/md/name style devices.
19292
19293 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19294
19295 * .bzrignore: Ignore 20_linux_xen.
19296
19297 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
19298
19299 * util/import_unicode.py: Remove unnecessary imports.
19300
19301 2010-07-17 Aleš Nesrsta <starous@volny.cz>
19302
19303 Hotplugging and USB hub support.
19304
19305 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19306 (grub_ohci): Likewise.
19307 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19308 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19309 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19310 (GRUB_OHCI_CTRL_EDS): Likewise.
19311 (GRUB_OHCI_BULK_EDS): Likewise.
19312 (GRUB_OHCI_TDS): Likewise.
19313 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19314 (grub_ohci_ed_phys2virt): New function.
19315 (grub_ohci_virt_to_phys): Likewise.
19316 (grub_ohci_td_phys2virt): Likewise.
19317 (grub_ohci_td_virt2phys): Likewise.
19318 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19319 attachment.
19320 (grub_ohci_find_ed): New function.
19321 (grub_ohci_alloc_td): Likewise.
19322 (grub_ohci_free_td): Likewise.
19323 (grub_ohci_free_tds): Likewise.
19324 (grub_ohci_transfer): Use previously allocated memory.
19325 (grub_ohci_portstatus): Reset status changed bit.
19326 (grub_ohci_detect_dev): Supply status changed.
19327 (grub_ohci_fini_hw): Free memory.
19328 (grub_ohci_restore_hw): Reallocate memory.
19329 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19330 Reset status change.
19331 (grub_uhci_detect_dev): Supply status_change.
19332 * bus/usb/usb.c (attach_hooks): New var.
19333 (grub_usb_device_attach): New function.
19334 (grub_usb_register_attach_hook_class): Likewise.
19335 (grub_usb_unregister_attach_hook_class): Likewise.
19336 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19337 (grub_usb_add_hub): Reset connection changed bit.
19338 (attach_root_port): New function.
19339 (grub_usb_root_hub): Likewise.
19340 (poll_nonroot_hub): Likewise.
19341 (grub_usb_poll_devices): Likewise.
19342 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19343 * disk/usbms.c (grub_usbms_open): Use device hooks.
19344 (grub_usbms_iterate) :Poll devices.
19345 (grub_usbms_finddevs): Split into ...
19346 (grub_usbms_attach): ... this ...
19347 (grub_usbms_attach): ... and this.
19348 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19349 in detect_dev.
19350 (grub_usb_interface): New fields attached and detach_hook.
19351 (grub_usb_attach_hook_class): New type.
19352 (grub_usb_attach_desc): New struct.
19353 (grub_usb_register_attach_hook_class): New function.
19354 (grub_usb_unregister_attach_hook_class): Likewise.
19355 (grub_usb_poll_devices): Likewise.
19356 (grub_usb_device_attach): Likewise.
19357 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19358 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19359
19360 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19363 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19364 delta determination style. Works with most NetBSD partitions too.
19365
19366 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19369 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19370
19371 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19374
19375 2010-07-14 Anton Blanchard <anton@samba.org>
19376
19377 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19378 ET_DYN files.
19379
19380 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19381
19382 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19383
19384 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19385
19386 * kern/partition.c (grub_partition_check_containment): New function to
19387 check that a partition is physically contained in a parent. Since
19388 offsets are relative (and non-negative), this reduces to checking that
19389 the partition ends before its parent.
19390 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19391 (grub_partition_iterate): Likewise.
19392 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19393 comments.
19394 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19395 partitions that start before their parent, and add debug printfs.
19396
19397 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19398
19399 * Makefile.in (.SUFFIX): Spell correctly, as ...
19400 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19401 bare module name without `.mod', e.g. `test') tried to invoke a
19402 Modula-2 compiler.
19403
19404 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19405
19406 * README: Point to the Info manual.
19407
19408 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
19409
19410 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19411 2nd superblock position from partition size.
19412
19413 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
19414
19415 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19416 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19417 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19418 outputs.
19419
19420 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 Restructure SCSI .id handling.
19423 Reported and tested by: Aleš Nesrsta.
19424
19425 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19426 (grub_atapi_dev): Changed .name to "ata". New field .id.
19427 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19428 (grub_usbms_dev): New field .id.
19429 * disk/scsi.c (grub_scsi_iterate): Generate name.
19430 (grub_scsi_open): Parse name.
19431 * include/grub/scsi.h (grub_make_scsi_id): New function.
19432 (grub_scsi_dev): Change iterate and open to number instead of naming
19433 busses. All users updated.
19434 (grub_scsi): Remove name. Add .bus.
19435
19436 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 * commands/help.c (grub_cmd_help): Fix a typo.
19439
19440 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19441
19442 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19443 Reported and tested by: Colin Watson.
19444
19445 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19448 in this context.
19449
19450 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
19453
19454 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
19457 indentation.
19458
19459 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19460
19461 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
19462 and disk/raid6_recover.c.
19463 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19464 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19465
19466 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19467
19468 * term/gfxterm.c (repaint_schedulded): Rename to ...
19469 (repaint_scheduled): ... this. Update all callers.
19470 (repaint_was_schedulded): Rename to ...
19471 (repaint_was_scheduled): ... this. Update all callers.
19472
19473 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19474
19475 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
19476 which we expect to be handled by upper layers.
19477
19478 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
19479
19480 * bus/usb/usbhub.c: #include time.h header.
19481
19482 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19483
19484 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
19485 entry_name also for entries without stat blocks (e.g. ".."); fixes
19486 corruption of the first entry in a directory.
19487
19488 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19489
19490 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
19491 after setting gfxterm as the active terminal. GRUB_BACKGROUND
19492 doesn't work otherwise.
19493
19494 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19495
19496 * docs/grub.texi (Features): Update list of supported file systems.
19497 (GNU/Linux): Update for GRUB 2.
19498 (Serial terminal): Remove mention of --disable-serial, which was a
19499 GRUB Legacy configure option. Update instructions to use
19500 `terminal_input' and `terminal_output' rather than `terminal'.
19501 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
19502 configuration' and `Installing GRUB using grub-install'.
19503 (Menu entry editor): Update for GRUB 2.
19504 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
19505 Document new -a, -u, and -v options.
19506 (initrd): New section.
19507 (initrd16): New section.
19508 (linux): New section.
19509 (linux16): New section.
19510 (search): The `var' argument to `--set' is optional.
19511 (GRUB only offers a rescue shell): Go into a little more detail on
19512 drive ordering.
19513
19514 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19515
19516 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
19517
19518 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19519
19520 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
19521 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
19522
19523 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * util/i386/pc/grub-setup.c (setup): Rename prefix to
19526 install_prefix, in line with install_dos_part and install_bsd_part.
19527 Add new prefix variable, which is copied to install_prefix after
19528 comparing core.img in memory with the one read from disk in the
19529 no-embedding case, and use that rather than overwriting
19530 install_prefix immediately when installing to a partition.
19531 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
19532 Bicakci.
19533
19534 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19535
19536 * configure.ac: Avoid == in test command, it's not portable.
19537 * util/grub.d/30_os-prober.in: Likewise.
19538
19539 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
19540
19541 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
19542
19543 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19544
19545 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
19546 multiple (top-level) partmaps.
19547
19548 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * util/i386/efi/grub-install.in: Don't use empty grub_device.
19551 Reported by: Tino Keitel.
19552
19553 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Bidi and diacritics support.
19556
19557 * Makefile.in (widthspec.bin): New target.
19558 (widthspec.h): Likewise.
19559 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19560 * autogen.sh: Generate unidata.c.
19561 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19562 * commands/ls.c (grub_ls_list_devices): Likewise.
19563 (grub_ls_list_files): Likewise.
19564 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
19565 (grub_mini_cmd_lsmod): Likewise.
19566 * commands/read.c: Likewise.
19567 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
19568 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
19569 * lib/arg.c (grub_arg_show_help): Likewise.
19570 * lib/crypto.c (grub_password_get): Likewise.
19571 * normal/auth.c (grub_username_get): Likewise.
19572 * normal/misc.c (grub_normal_print_device_info): Likewise.
19573 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
19574 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
19575 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
19576 (normal/charset.c_DEPENDENCIES): New variable.
19577 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
19578 (pkglib_MODULES): Remove charset.mod.
19579 (charset_mod_SOURCES): Removed.
19580 (charset_mod_CFLAGS): Likewise.
19581 (charset_mod_LDFLAGS): Likewise.
19582 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
19583 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
19584 and term/tparm.c.
19585 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19586 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19587 (kernel_img_HEADERS): Add terminfo.h.
19588 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
19589 Fill ->font. Reverse ascii bitmaps.
19590 (grub_font_get_xheight): New function.
19591 * font/font.c (grub_font_get_string_width): Moved from here ...
19592 * gfxmenu/font.c (grub_font_get_string_width): ... here.
19593 * font/font.c (grub_font_draw_string): Moved from here ...
19594 * gfxmenu/font.c (grub_font_draw_string): ... here.
19595 * font/font.c (grub_font_dup_glyph): New function.
19596 (grub_font_blit_glyph): Likewise.
19597 (grub_font_blit_glyph_mirror): Likewise.
19598 (blit_comb): Likewise.
19599 (grub_font_construct_dry_run): Likewise.
19600 (grub_font_get_constructed_device_width): Likewise.
19601 (grub_font_construct_glyph): Likewise.
19602 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
19603 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
19604 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
19605 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
19606 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
19607 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
19608 (grub_font_get_xheight): New proto.
19609 (grub_font_get_constructed_device_width): Likewise.
19610 (grub_font_construct_glyph): Likewise.
19611 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
19612 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
19613 * include/grub/font.h (grub_font_draw_string): Moved from here ...
19614 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19615 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19616 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19617 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19618 (grub_console_getcharwidth): Likewise.
19619 * include/grub/misc.h (grub_xputs): New proto.
19620 (grub_puts): Inlined.
19621 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19622 (grub_normal_get_line_counter): Removed.
19623 (grub_install_newline_hook): Likewise.
19624 (grub_normal_get_char_counter): New proto.
19625 (grub_normal_reset_more): Likewise.
19626 (grub_xputs_normal): Likewise.
19627 * include/grub/powerpc/ieee1275/console.h: Removed.
19628 * include/grub/sparc64/ieee1275/console.h: Likewise.
19629 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19630 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19631 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19632 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19633 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19634 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19635 (grub_term_input): Pass reference to self. All users updated.
19636 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19637 Pass reference to self. New fields normal_color, highlight_color and
19638 data. All users updated.
19639 (grub_putchar): Removed.
19640 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19641 (grub_unicode_estimate_width): New function.
19642 (grub_term_getcharwidth): Add defaults.
19643 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19644 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19645 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19646 (grub_cls): Remove EXPORT_FUNC.
19647 (grub_setcolorstate): Inline.
19648 (grub_newline_hook): Removed.
19649 * include/grub/terminfo.h: Rewritten. All users updated.
19650 * include/grub/unicode.h: New file.
19651 * include/grub/video.h (grub_video_signed_rect): New type.
19652 * kern/emu/console.c (grub_console_highlight_color): Removed.
19653 (grub_console_normal_color): Likewise.
19654 (grub_console_standard_color): Made static.
19655 (grub_ncurses_putchar): Remove mapping.
19656 (grub_ncurses_getcharwidth): Removed.
19657 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19658 (grub_ncurses_setcolor): Removed.
19659 (grub_ncurses_getcolor): Likewise.
19660 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19661 (grub_console_putchar): ... this.
19662 (grub_console_putchar): Handle argument difference.
19663 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19664 console_init_early and console_init_lately.
19665 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19666 * kern/misc.c (grub_puts): Removed.
19667 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19668 (grub_vsnprintf_real): Remove str = NULL support.
19669 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19670 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19671 * kern/term.c (grub_putcode): Renamed to ...
19672 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19673 (grub_putchar): Removed.
19674 (grub_xputs_dumb): New function.
19675 (grub_xputs): New variable.
19676 * lib/charset.c: Move from here ...
19677 * normal/charset.c: ... to here.
19678 (grub_ucs4_to_utf8): New function.
19679 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19680 (join_types): New variable.
19681 (unpack_join): New function.
19682 (bidi_types): New variable.
19683 (unpack_bidi): New function.
19684 (get_bidi_type): Likewise.
19685 (get_join_type): Likewise.
19686 (is_mirrored): Likewise.
19687 (grub_unicode_get_comb_type): Likewise.
19688 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19689 (is_type_after): Likewise.
19690 (grub_unicode_aglomerate_comb): Likewise.
19691 (bidi_line_wrap): Likewise.
19692 (grub_bidi_line_logical_to_visual): Likewise.
19693 (grub_bidi_logical_to_visual): Likewise.
19694 (grub_unicode_mirror_code): Likewise.
19695 (grub_unicode_shape_code): Likewise.
19696 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19697 Don't use grub_putchar.
19698 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19699 (grub_normal_reader_init): Likewise.
19700 (grub_xputs_saved): New variable.
19701 (GRUB_MOD_INIT): Set grub_xputs.
19702 (GRUB_MOD_FINI): Restore grub_xputs.
19703 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19704 (menu_init): Avoid printing gfxmenu error.
19705 (show_menu): Use grub_normal_get_char_counter.
19706 * normal/menu_entry.c (update_screen): Fix out-of-array.
19707 (complete): Avoid NULL dereferencing.
19708 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19709 * normal/menu_text.c (print_spaces): Removed.
19710 (grub_print_ucs4): Likewise.
19711 (grub_print_message_indented): Use grub_print_ucs4.
19712 (print_message): Use grub_putcode.
19713 (print_entry): Hanlde diacritics.
19714 * normal/term.c (term_state): New type.
19715 (grub_more_lines): Removed.
19716 (term_states): New variable.
19717 (grub_normal_line_counter): Renamed to ..
19718 (grub_normal_char_counter): ...this. All users updated.
19719 (grub_normal_get_line_counter): Renamed to ...
19720 (grub_normal_get_char_counter): ... this.
19721 (grub_normal_reset_more): New function.
19722 (process_newline): Removed.
19723 (print_more): New function.
19724 (grub_install_newline_hook): Removed.
19725 (map_code): New function.
19726 (grub_puts_terminal): Use grub_print_ucs4.
19727 (putglyph): New function.
19728 (putcode_real): Likewise.
19729 (grub_putcode): Use putcode_real.
19730 (get_maxwidth): New function.
19731 (get_startwidth): Likewise.
19732 (print_ucs4_terminal): Likewise.
19733 (find_term_state): Likewise.
19734 (put_glyphs_terminal): Likewise.
19735 (print_backlog): Likewise.
19736 (print_ucs4_real): Likewise.
19737 (grub_print_ucs4): Likewise.
19738 (grub_xputs_normal): Likewise.
19739 * term/efi/console.c (grub_console_putchar): Output diacritics.
19740 (grub_console_getcharwidth): Removed.
19741 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19742 * term/gfxterm.c (clear_char): Free chars.
19743 (scroll_up): Avoid leaking memory.
19744 (grub_gfxterm_putchar): Support diacritics.
19745 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19746 * term/i386/pc/console.c (grub_console_term_output): Declare as
19747 GRUB_TERM_CODE_TYPE_VGA.
19748 * term/i386/pc/vga.c (grub_vga_term): Declare as
19749 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19750 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19751 GRUB_TERM_CODE_TYPE_VGA.
19752 * term/i386/vga_common.c (map_char): Removed.
19753 (grub_console_putchar): Likewise.
19754 (grub_console_getcharwidth): Likewise.
19755 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19756 (colors): Reordered to match terminfo.
19757 (grub_ofconsole_normal_color): Removed.
19758 (grub_ofconsole_writeesc): Likewise.
19759 (grub_ofconsole_highlight_color): Likewise.
19760 (grub_ofconsole_getcharwidth): Likewise.
19761 (grub_ofconsole_setcolorstate): Likewise.
19762 (grub_ofconsole_setcolor): Likewise.
19763 (grub_ofconsole_getcolor): Likewise.
19764 (grub_ofconsole_readkey): Renamed to ...
19765 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19766 key.
19767 (grub_ofconsole_checkkey): Removed.
19768 (grub_ofconsole_getkey): Likewise.
19769 (grub_ofconsole_getxy): Likewise.
19770 (grub_ofconsole_gotoxy): Likewise.
19771 (grub_ofconsole_cls): Likewise.
19772 (grub_ofconsole_refresh): Likewise.
19773 (grub_ofconsole_terminfo_input): New struct.
19774 (grub_ofconsole_terminfo_output): Likewise.
19775 (grub_ofconsole_term_input): Use terminfo.
19776 (grub_ofconsole_term_output): Likewise.
19777 (grub_console_init): Split into ...
19778 (grub_console_init_early): ...this and ...
19779 (grub_console_init_lately): ...this. Use terminfo.
19780 (grub_ofconsole_putchar): Renamed to ...
19781 (put): ... this. Remove mapping.
19782 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19783 * term/serial.c: Simplify using terminfo.
19784 (xpos): Removed.
19785 (ypos): Likewise.
19786 (keep_track): Likewise.
19787 (registered): Likewise.
19788 (input_buf): Likewise.
19789 (npending): Likewise.
19790 (serial_translate_key_sequence): Likewise.
19791 (fill_input_buf): Likewise.
19792 (grub_serial_checkkey): Likewise.
19793 (grub_serial_getkey): Likewise.
19794 (grub_serial_getxy): Likewise.
19795 (grub_serial_gotoxy): Likewise.
19796 (grub_serial_putchar): Likewise.
19797 (grub_serial_cls): Likewise.
19798 (grub_serial_setcolorstate): Likewise.
19799 (grub_serial_setcursor): Likewise.
19800 (serial_hw_init): Use serial_hw_fetch.
19801 (grub_serial_terminfo_input): New variable.
19802 (grub_serial_terminfo_output): Likewise.
19803 (grub_serial_term_input): Use terminfo.
19804 (grub_serial_term_output): Likewise.
19805 * term/terminfo.c (putstr): Use put.
19806 (grub_terminfo_all_free): New function
19807 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19808 (grub_terminfo_output_register): New function.
19809 (grub_terminfo_output_unregister): Likewise.
19810 (grub_terminfo_getxy): Likewise.
19811 (grub_terminfo_readkey): Likewise.
19812 (grub_terminfo_checkkey): Likewise.
19813 (grub_terminfo_getkey): Likewise.
19814 (grub_terminfo_input_init): Likewise.
19815 (print_terminfo): Likewise.
19816 (grub_cmd_terminfo): Handle encoding.
19817 (grub_terminfo_gotoxy): Track position.
19818 (grub_terminfo_cls): Likewise.
19819 (grub_terminfo_putchar): Likewise.
19820 (grub_terminfo_setcolorstate): Handle colors
19821 (grub_terminfo_cursor_on): This ...
19822 (grub_terminfo_cursor_off): ... and this merged into ...
19823 (grub_terminfo_setcursor): ... this.
19824 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19825 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19826 * unicode/BidiMirroring.txt: Likewise.
19827 * unicode/UnicodeData.txt: Likewise.
19828 * unicode/COPYING: Likewise.
19829 * util/grub-editenv.c (grub_putchar): Removed.
19830 (grub_xputs_real): New function.
19831 (grub_xputs): New variable.
19832 * util/grub-fstest.c (grub_putchar): Removed.
19833 (grub_xputs_real): New function.
19834 (grub_xputs): New variable.
19835 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19836 (grub_xputs_real): New function.
19837 (grub_xputs): New variable.
19838 * util/grub-probe.c (grub_putchar): Removed.
19839 (grub_xputs_real): New function.
19840 (grub_xputs): New variable.
19841 * util/grub-script-check.c (grub_putchar): Removed.
19842 (grub_xputs_real): New function.
19843 (grub_xputs): New variable.
19844 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19845 (grub_xputs_real): New function.
19846 (grub_xputs): New variable.
19847 * util/import_unicode.py: New file.
19848 * util/grub-mkfont.c (ft_errmsgs): New array.
19849 (grub_glyph_info): Make bitmap a pointer.
19850 (file_formats): New type WIDTH_SPEC.
19851 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19852 (options): Add width-spec.
19853 (help): Likewise.
19854 (add_char): Renamed to ...
19855 (add_glyph): ... this.
19856 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19857 (glyph_replace): New type.
19858 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19859 (add_char): New function.
19860 (add_subst): Likewise.
19861 (process_cursive): Likewise.
19862 (add_font): Handle GSUB.
19863 (write_font_width_spec): New function.
19864 (main): Sort glyphs.
19865 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19866 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19867 * kern/term.c (grub_cls): Moved from here...
19868 * normal/term.c (grub_cls): ... here.
19869
19870 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19871
19872 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19873 suitable for using within the format argument of printf when
19874 converting grub_size_t.
19875 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19876 "x" to convert grub_size_t arguments.
19877
19878 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19881 too long captions.
19882 (list_get_minimal_size): Take selection box into account.
19883
19884 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19887 NULL font.
19888
19889 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19890
19891 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19892 devices when iterating over /dev/disk/by-id; they will be handled
19893 later if appropriate, which they aren't always (e.g. LVM).
19894
19895 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19896
19897 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19898 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19899 fails.
19900 (grub_halt): Likewise.
19901 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19902 reset-all fails.
19903 (grub_halt): Don't return, even if all of shut-down, power-off, and
19904 poweroff fail.
19905
19906 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19909 arguments, not three.
19910
19911 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19912
19913 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19914 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19915 LVM-on-RAID is handled correctly.
19916
19917 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19918
19919 * docs/grub.texi (Changes from GRUB Legacy): New section.
19920 (Future): Fix typo.
19921
19922 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19923
19924 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19925 grub.d/README accidentally ends up executable for one reason or
19926 another. Ignore it.
19927
19928 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19931 (gpt_partition_map_iterate): Support non-512B sectors.
19932
19933 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19936 Tested by: Seth Goldberg.
19937
19938 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19941 Properly align mbi.
19942 Reported by: Seth Goldberg.
19943
19944 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 * util/grub-mkrescue.in: Avoid module duplication.
19947
19948 2010-07-01 Sean Finney <seanius@seanius.net>
19949
19950 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19951
19952 2010-07-01 Sean Finney <seanius@seanius.net>
19953
19954 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19955
19956 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19957
19958 * disk/lvm.c (grub_lvm_checkvalue): New function.
19959 (grub_lvm_check_flag): Likewise.
19960
19961 2010-07-01 Robert Millan <rmh@gnu.org>
19962
19963 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19964 Support 'p' as partition separator on kernel of FreeBSD (used
19965 with GPT labels).
19966 (grub_util_biosdisk_get_grub_dev): Likewise.
19967
19968 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19969
19970 Yeeloong firmware port.
19971
19972 * boot/mips/yeeloong/fwstart.S: New file.
19973 * bus/cs5536.c (gpiodump): New const.
19974 (set_io_space): New function.
19975 (set_iod): Likewise.
19976 (set_p2d): Likewise.
19977 (grub_cs5536_init_geode): Likewise.
19978 * commands/mips/yeeloong/lsspd.c: New file.
19979 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19980 (serial_mod_SOURCES): New variable.
19981 (serial_mod_CFLAGS): Likewise.
19982 (serial_mod_LDFLAGS): Likewise.
19983 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19984 term/terminfo.c and term/tparm.c.
19985 (pkglib_IMAGES): Add fwstart.img.
19986 (fwstart_img_SOURCES): New variable.
19987 (fwstart_img_CFLAGS): Likewise.
19988 (fwstart_img_ASFLAGS): Likewise.
19989 (fwstart_img_LDFLAGS): Likewise.
19990 (fwstart_img_FORMAT): Likewise.
19991 (pkglib_MODULES): Add lsspd.mod.
19992 (lsspd_mod_SOURCES): New variable.
19993 (lsspd_mod_CFLAGS): Likewise.
19994 (lsspd_mod_LDFLAGS): Likewise.
19995 (pkglib_MODULES): Add halt.mod.
19996 (halt_mod_SOURCES): New variable.
19997 (halt_mod_CFLAGS): Likewise.
19998 (halt_mod_LDFLAGS): Likewise.
19999 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20000 (serial_mod_SOURCES): Removed.
20001 (serial_mod_CFLAGS): Likewise.
20002 (serial_mod_LDFLAGS): Likewise.
20003 * disk/ata.c (check_device): New function.
20004 (grub_ata_device_initialize): Use check_device.
20005 (grub_ata_iterate): Recheck devices.
20006 (grub_ata_open): Likewise.
20007 (grub_atapi_iterate): Likewise.
20008 (grub_atapi_open): Likewise.
20009 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20010 (GRUB_ATA_CH1_PORT1): Likewise.
20011 (GRUB_ATA_CH0_PORT2): Likewise.
20012 (GRUB_ATA_CH1_PORT2): Likewise.
20013 * include/grub/mips/loongson.h: New file.
20014 * include/grub/mips/yeeloong/ec.h: Likewise.
20015 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20016 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20017 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20018 * include/grub/misc.h (grub_halt): Declare as noreturn.
20019 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20020 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20021 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20022 (UART_ENABLE_DTRRTS): Likewise.
20023 (UART_ENABLE_MODEM): Removed.
20024 (UART_ENABLE_OUT2): New const.
20025 * include/grub/term.h (grub_term_register_input_active): New function.
20026 (grub_term_register_output_active): Likewise.
20027 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20028 argument.
20029 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20030 (init_pci): New function.
20031 (grub_machine_init): Execute platform init when firmware. Init serial.
20032 (grub_halt): Implement.
20033 (grub_exit): Likewise.
20034 (grub_reboot): Likewise.
20035 * term/serial.c (serial_hw_init): Update macros.
20036 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20037 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20038 (image_targets): New target mipsel-yeeloong-flash.
20039 (generate_image): Support IMAGE_YEELOONG_FLASH.
20040 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20041 (grub_video_sm712_setup): Init card.
20042 (grub_video_sm712_set_palette): Removed.
20043 * video/sm712_init.c: New file.
20044
20045 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20048 PATH when running help2man and then run it on the unadorned
20049 executable names, rather than passing $(builddir)/* paths to
20050 help2man. This avoids the build directory ending up in generated
20051 manual pages.
20052
20053 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
20054
20055 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20056 to avoid accidents when debugging with 'sh -x'.
20057 * util/grub-mkrescue.in: Likewise.
20058 * util/grub.d/00_header.in: Likewise.
20059 * util/grub.d/10_hurd.in: Likewise.
20060 * util/grub.d/10_kfreebsd.in: Likewise.
20061 * util/grub.d/10_linux.in: Likewise.
20062 * util/grub.d/10_netbsd.in: Likewise.
20063 * util/grub.d/10_windows.in: Likewise.
20064 * util/grub.d/20_linux_xen.in: Likewise.
20065 * util/grub.d/30_os-prober.in: Likewise.
20066 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20067
20068 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
20069
20070 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20071 last character in the buffer.
20072 Reported by: Vladimir Serbinenko.
20073
20074 2010-06-29 Robert Millan <rmh@gnu.org>
20075
20076 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20077 (Command-line and menu entry commands): Document `badram' command.
20078
20079 2010-06-28 Robert Millan <rmh@gnu.org>
20080
20081 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20082 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20083 command using ${GRUB_BADRAM} as parameter.
20084
20085 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * docs/grub.texi (Device map): New section.
20088 (Themes): New section (stub).
20089 * Makefile.in (docs/grub.info): The info documentation now builds
20090 without errors. Make sure it stays that way.
20091
20092 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 Use normal parser for menu entries.
20095 Reported by: Thomas Frauendorfer
20096
20097 * include/grub/parser.h (grub_parser_execute): Don't export.
20098 * normal/menu.c (grub_menu_execute_entry_real): New function.
20099 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20100
20101 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20102
20103 * docs/grub.texi (Embedded configuration): New section (replacing
20104 old "Preset Menu" stub).
20105 (Images): New section.
20106 (configfile): Note that any menu entries defined in `file' are shown
20107 immediately.
20108
20109 2010-06-28 Josh Triplett <josh@joshtriplett.org>
20110
20111 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20112
20113 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20114
20115 * util/grub-install.in: Add --debug-image= option.
20116
20117 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20118
20119 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20120 possible on Linux.
20121
20122 * util/deviceiter.c (check_device): Rename to ...
20123 (check_device_readable_unique): ... this. Update all callers.
20124 Maintain and check a list of which devices (by canonicalized name)
20125 have already been seen.
20126 (clear_seen_devices): New function.
20127 (compare_file_names) [__linux__]: New function.
20128 (grub_util_iterate_devices): Clear the list of seen devices on exit
20129 and (just in case) on entry.
20130 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20131 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20132 seen-devices list, superseded by general code in check_device.
20133
20134 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20135
20136 * commands/cat.c (options): New variable.
20137 (grub_cmd_cat): Parse options. If the --dos option is given, print
20138 DOS-style "\r\n" line endings as simple newlines (Debian bug
20139 #586358).
20140 (GRUB_MOD_INIT): Use extcmd.
20141 (GRUB_MOD_FINI): Likewise.
20142 * docs/grub.texi (cat): Document --dos.
20143
20144 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 XEN with Linux grub-mkconfig support.
20147
20148 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20149 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20150 GRUB_CMDLINE_XEN_DEFAULT.
20151 * util/grub.d/20_linux_xen.in: New file.
20152
20153 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 Initialise VGA video on qemu ourselves.
20156
20157 * boot/i386/qemu/boot.S: Don't call 0xc000.
20158 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20159 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20160 (kernel_img_HEADERS): Add pci.h.
20161 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20162 * configure.ac: Force unifont on qemu and yeeloong.
20163 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20164 (grub_vga_palette_write): Use correct register.
20165 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20166 Call grub_qemu_init_cirrus.
20167 * kern/i386/qemu/init.c: New file.
20168 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20169
20170 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20171
20172 2010-06-26 Pavel Roskin <proski@gnu.org>
20173
20174 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20175 13.
20176
20177 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20178
20179 * docs/grub.texi (Simple configuration): Explain that
20180 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20181 set to `true' to disable their respective recovery entries, not
20182 merely set.
20183
20184 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20185
20186 Make the `source' command slightly faster.
20187
20188 * normal/main.c (grub_normal_execute): Don't re-read list files when
20189 nested.
20190
20191 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20192
20193 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20194 field position and mask size to red fields from mode_info, not
20195 green.
20196 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20197 Remove redundant tag->common.framebuffer_type assignment.
20198 Reported by: Seth Goldberg.
20199
20200 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20201
20202 Sync up other versions of the Linux loader with Robert Millan's
20203 change of 2010-01-09, "Make loader output a bit more user-friendly".
20204
20205 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20206 grub_dprintf().
20207 (grub_cmd_linux): Likewise.
20208 (grub_cmd_initrd): Likewise.
20209 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20210 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20211
20212 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
20213
20214 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20215 larger than MEMORY_MAP_SIZE.
20216
20217 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20218
20219 Fix parallel build.
20220
20221 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20222 dependency.
20223 * script/parser.y: #include grub_script.tab.h header.
20224
20225 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 Support >3GiB and <16MiB RAM in i386-qemu.
20228
20229 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20230 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20231 (grub_lower_mem): Removed.
20232 (grub_upper_mem): Likewise.
20233 (mem_size): Made static.
20234 (above_4g): New variable.
20235 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20236 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20237 support.
20238
20239 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 Cirrus 5446 and Bochs video cards support.
20242
20243 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20244 video_bochs.mod
20245 (video_cirrus_mod_SOURCES): New variable.
20246 (video_cirrus_mod_CFLAGS): Likewise.
20247 (video_cirrus_mod_LDFLAGS): Likewise.
20248 (video_bochs_mod_SOURCES): Likewise.
20249 (video_bochs_mod_CFLAGS): Likewise.
20250 (video_bochs_mod_LDFLAGS): Likewise.
20251 * include/grub/vga.h: New file.
20252 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20253 (grub_video_fb_set_page_t): New type.
20254 (grub_video_fb_setup): New prototype.
20255 (grub_video_fb_swap_buffers): Likewise.
20256 (grub_video_fb_get_info_and_fini): Likewise.
20257 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20258 (CRTC_DATA_PORT): Likewise.
20259 (CRTC_CURSOR): Likewise.
20260 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20261 (CRTC_CURSOR_ADDR_LOW): Likewise.
20262 (CRTC_CURSOR_DISABLE): Likewise.
20263 (update_cursor): Use grub_vga_cr_write.
20264 (grub_vga_text_setcursor): Likewise.
20265 * video/bochs.c: New file.
20266 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20267 (palette): Likewise.
20268 (palette_size): Likewise.
20269 (framebuffer): New variable.
20270 (grub_video_fb_init): Use 'framebuffer'.
20271 (grub_video_fb_fini): Likewise.
20272 (grub_video_fb_get_info): Likewise.
20273 (grub_video_fb_get_palette): Likewise.
20274 (grub_video_fb_set_palette): Likewise.
20275 (grub_video_fb_set_viewport): Likewise.
20276 (grub_video_fb_get_viewport): Likewise.
20277 (grub_video_fb_map_color): Likewise.
20278 (grub_video_fb_map_rgb): Likewise.
20279 (grub_video_fb_map_rgba): Likewise.
20280 (grub_video_fb_unmap_color): Likewise.
20281 (grub_video_fb_unmap_color_int): Likewise.
20282 (grub_video_fb_fill_rect): Likewise.
20283 (grub_video_fb_blit_bitmap): Likewise.
20284 (grub_video_fb_blit_render_target): Likewise.
20285 (grub_video_fb_scroll): Likewise.
20286 (grub_video_fb_create_render_target): Likewise.
20287 (grub_video_fb_doublebuf_blit_init): Likewise.
20288 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20289 (doublebuf_pageflipping_update_screen): New function.
20290 (doublebuf_pageflipping_init): Likewise.
20291 (grub_video_fb_setup): Likewise.
20292 (grub_video_fb_swap_buffers): Likewise.
20293 (grub_video_fb_get_info_and_fini): Likewise.
20294 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20295 All users updated.
20296 (doublebuf_pageflipping_commit): Restructured into ...
20297 (doublebuf_pageflipping_set_page): ... this.
20298 (doublebuf_pageflipping_update_screen): Removed.
20299 (doublebuf_pageflipping_init): Likewise.
20300 (double_buffering_init): Likewise.
20301 (grub_video_vbe_setup): Use grub_video_fb_setup.
20302 (grub_video_vbe_swap_buffers): Removed.
20303 (grub_video_vbe_set_active_render_target): Likewise.
20304 (grub_video_vbe_get_active_render_target): Likewise.
20305 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20306 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20307 grub_video_fb_set_active_render_target and
20308 grub_video_fb_get_active_render_target.
20309 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20310 (SEQUENCER_DATA_PORT): Likewise.
20311 (MAP_MASK_REGISTER): Likewise.
20312 (CRTC_ADDR_PORT): Likewise.
20313 (CRTC_DATA_PORT): Likewise.
20314 (START_ADDR_HIGH_REGISTER): Likewise.
20315 (START_ADDR_LOW_REGISTER): Likewise.
20316 (GRAPHICS_ADDR_PORT): Likewise.
20317 (GRAPHICS_DATA_PORT): Likewise.
20318 (READ_MAP_REGISTER): Likewise.
20319 (INPUT_STATUS1_REGISTER): Likewise.
20320 (INPUT_STATUS1_VERTR_BIT): Likewise.
20321 (get_map_mask): Use grub_vga_sr_read.
20322 (set_map_mask): Use grub_vga_sr_write.
20323 (set_read_map): Use grub_vga_gr_write.
20324 (set_start_address): Use grub_vga_cr_write.
20325 * video/sm712.c (framebuffer): Remove leftover fields.
20326
20327 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
20328
20329 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20330 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20331 instead. Replace the gfxterm backend check with a check that
20332 ${GRUB_PREFIX}/video.lst is non-empty.
20333 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20334 again.
20335 (load_video): New generated function. Call it before loading
20336 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20337 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20338 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20339 * docs/grub.texi (Simple configuration): Document
20340 GRUB_VIDEO_BACKEND.
20341
20342 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20343
20344 Use video functions in linux and xnu loaders.
20345
20346 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20347 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20348 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20349 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20350 loader/i386/pc/linux.c.
20351 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20352 (find_line_len): Removed.
20353 (find_framebuf): Likewise.
20354 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20355 * loader/i386/efi/xnu.c: Removed.
20356 * loader/i386/pc/xnu.c: Moved from here...
20357 * loader/i386/xnu.c: ...here.
20358
20359 Enable priorities in video drivers.
20360
20361 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20362 (grub_video_adapter): New field prio.
20363 (grub_video_register): Respect prio when inserting.
20364 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20365 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20366 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20367 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20368 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20369 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20370 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20371
20372 Fix SDL driver ID.
20373
20374 * include/grub/video.h (grub_video_driver_id_t): New value
20375 GRUB_VIDEO_DRIVER_SDL.
20376 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20377
20378 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20379
20380 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20381 argument to printf.
20382 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20383
20384 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20385
20386 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20387 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20388
20389 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20390
20391 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20392 directly, and recommend grub-install instead.
20393 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20394
20395 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20396
20397 Fix i386-pc prefix handling with nested partitions (Debian bug
20398 #585068). Note that the case where the core image is booted using
20399 multiboot and relocated from its original location still requires
20400 more work.
20401
20402 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20403 with "(,", fill the boot drive in between those two characters, but
20404 expect that a full partition specification including partition map
20405 names will follow.
20406 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20407 specified, write a prefix without the drive name but including a
20408 full partition specification.
20409
20410 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
20411
20412 * util/grub-mkconfig.in: Ignore non-option arguments, for
20413 compatibility with older versions (before 2010-06-12) which did the
20414 same. In particular, this makes it easier to ship an update-grub
20415 wrapper which is compatible with that used with GRUB Legacy (Debian
20416 bug #586056).
20417
20418 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20419
20420 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20421 for manual page generation.
20422
20423 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20424
20425 * po/POTFILES: Remove leftover commands/handler.c.
20426
20427 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20428
20429 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20430 left this script non-functional.
20431
20432 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20433
20434 * docs/man/grub-emu.h2m: New file.
20435
20436 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
20437
20438 * docs/grub.texi (Commands): Document reduced command set in rescue
20439 mode.
20440 (cpuid): New section.
20441
20442 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20443
20444 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20445 new partition naming style.
20446 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20447
20448 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20449
20450 Add "-o grub.iso" like cmdline options support.
20451
20452 * util/grub-install.in: Improve cmdline option parsing.
20453 * util/grub-mkconfig.in: Likewise.
20454 * util/grub-mkrescue.in: Likewise.
20455 * util/grub-reboot.in: Likewise.
20456 * util/grub-set-default.in: Likewise.
20457 * util/i386/efi/grub-install.in: Likewise.
20458 * util/ieee1275/grub-install.in: Likewise.
20459 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20460
20461 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20462
20463 * .bzrignore: Ignore 41_custom.
20464
20465 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20466
20467 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
20468
20469 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20470
20471 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
20472 prototype declarations.
20473
20474 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
20475 generating fs, partmap, and video lists.
20476 * include/grub/fs.h (grub_fs_register): Omit prototype if
20477 GRUB_LST_GENERATOR is defined.
20478 * include/grub/partition.h (grub_partition_map_register): Likewise.
20479 * include/grub/video.h (grub_video_register): Likewise.
20480
20481 2010-06-12 Javier Martín <lordhabbit@gmail.com>
20482
20483 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
20484
20485 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20486
20487 * util/grub-mkrescue.in: Support --xorriso argument.
20488
20489 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
20492 Suggested by: Thomas Schmitt.
20493
20494 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
20497 Suggested by: Thomas Schmitt.
20498
20499 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20500
20501 custom.cfg support.
20502
20503 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
20504 * util/grub.d/41_custom.in: New file.
20505
20506 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20507
20508 * util/grub-mkrescue.in (make_image): Remove sh module, which has
20509 been merged back into normal.
20510
20511 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20512
20513 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
20514 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
20515
20516 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20517
20518 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
20519 when generating manual pages.
20520 * docs/man/grub-bin2h.h2m: New file.
20521 * docs/man/grub-editenv.h2m: New file.
20522 * docs/man/grub-fstest.h2m: New file.
20523 * docs/man/grub-install.h2m: New file.
20524 * docs/man/grub-macho2img.h2m: New file.
20525 * docs/man/grub-mkconfig.h2m: New file.
20526 * docs/man/grub-mkdevicemap.h2m: New file.
20527 * docs/man/grub-mkfont.h2m: New file.
20528 * docs/man/grub-mkimage.h2m: New file.
20529 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
20530 * docs/man/grub-mkrelpath.h2m: New file.
20531 * docs/man/grub-mkrescue.h2m: New file.
20532 * docs/man/grub-ofpathname.h2m: New file.
20533 * docs/man/grub-pe2elf.h2m: New file.
20534 * docs/man/grub-probe.h2m: New file.
20535 * docs/man/grub-reboot.h2m: New file.
20536 * docs/man/grub-script-check.h2m: New file.
20537 * docs/man/grub-set-default.h2m: New file.
20538 * docs/man/grub-setup.h2m: New file.
20539
20540 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 Use FOR_* macros instead of *_iterate whenever possible.
20543
20544 * commands/handler.c: Removed.
20545 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
20546 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
20547 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20548 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
20549 (grub_probe_SOURCES): Remove kern/parser.c.
20550 (util/grub-script-check.c_DEPENDENCIES): Removed.
20551 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
20552 and grub_script_check_init.c.
20553 (grub_script_check_init.lst): Removed.
20554 (grub_script_check_init.h): Likewise.
20555 (grub_script_check_init.c): Likewise.
20556 (pkglib_MODULES): Remove handler.mod and sh.mod.
20557 (handler_mod_SOURCES): Removed.
20558 (handler_mod_CFLAGS): Likewise.
20559 (handler_mod_LDFLAGS): Likewise.
20560 (normal_mod_SOURCES): Remove normal/handler.c.
20561 Add script/main.c, script/script.c, script/execute.c,
20562 script/function.c, script/lexer.c, grub_script.tab.c
20563 and grub_script.yy.c.
20564 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20565 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20566 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
20567 (grub_setup_SOURCES): Remove kern/parser.c.
20568 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20569 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
20570 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20571 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20572 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20573 (grub_setup_SOURCES): Remove kern/parser.c.
20574 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20575 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
20576 * include/grub/command.h (grub_command_iterate): Removed.
20577 (FOR_COMMANDS): New macro.
20578 * include/grub/dl.h (grub_dl): New member next.
20579 (grub_dl_iterate): Removed.
20580 (grub_dl_head): New variable declaration.
20581 (FOR_DL_MODULES): New macro.
20582 * include/grub/fs.h: Include list.h.
20583 (grub_fs): Make next first element.
20584 (grub_fs_list): New variable declaration.
20585 (grub_fs_register): Make inline.
20586 (grub_fs_unregister): Likewise.
20587 (grub_fs_iterate): Removed.
20588 (FOR_FILESYSTEMS): New macro.
20589 * include/grub/handler.h: Removed.
20590 * include/grub/list.h (grub_list_hook_t): Removed.
20591 (grub_list_test_t): Likewise.
20592 (grub_list_pop): Likewise.
20593 (grub_list_iterate): Likewise.
20594 (grub_list_insert): Likewise.
20595 (FOR_LIST_ELEMENTS): New macro.
20596 * include/grub/parser.h (grub_parser_class): Removed.
20597 (grub_parser_register): Likewise.
20598 (grub_parser_unregister): Likewise.
20599 (grub_parser_get_current): Likewise.
20600 (grub_parser_set_current): Likewise.
20601 (grub_register_rescue_parser): Likewise.
20602 (grub_rescue_parse_line): New function.
20603 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
20604 * include/grub/script_sh.h (grub_script_function_list): New variable
20605 declaration.
20606 (FOR_SCRIPT_FUNCTIONS): New macro.
20607 (grub_script_function_iterate): Removed.
20608 (grub_normal_parse_line): New prototype.
20609 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
20610 (FOR_DISABLED_TERM_INPUTS): Likewise.
20611 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20612 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20613 * include/grub/video.h (grub_video_adapter): Move 'next' to first
20614 element.
20615 (grub_video_register): Inline.
20616 (grub_video_unregister): Likewise.
20617 (grub_video_adapter_list): New variable declaration.
20618 (grub_video_iterate): Removed.
20619 (FOR_VIDEO_ADAPTERS): New macro.
20620 * kern/dl.c (grub_dl_list): Removed. All users updated.
20621 (grub_dl_iterate): Removed.
20622 * kern/fs.c (grub_fs_list): Make global.
20623 (grub_fs_register): Removed.
20624 (grub_fs_unregister): Likewise.
20625 (grub_fs_iterate): Likewise.
20626 * kern/handler.c: Removed.
20627 * kern/list.c (grub_list_pop): Removed.
20628 (grub_list_iterate): Likewise.
20629 (grub_list_insert): Likewise.
20630 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20631 (grub_prio_list_insert): Don't use grub_list_insert.
20632 * kern/main.c (grub_register_rescue_parser): Don't call
20633 grub_register_rescue_parser.
20634 * kern/parser.c (grub_parser_class): Removed.
20635 (grub_parser_execute): Use grub_rescue_parse_line.
20636 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20637 (grub_rescue_parser): Removed.
20638 (grub_register_rescue_parser): Likewise.
20639 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20640 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20641 (grub_auth_check_authentication): Likewise.
20642 * normal/completion.c (iterate_command): Removed.
20643 (grub_normal_do_completion): Use FOR_COMMANDS.
20644 * normal/handler.c: Removed.
20645 * normal/main.c (read_config_file): Remove parser changing.
20646 (grub_normal_execute): Don't call read_handler_list.
20647 (grub_normal_read_line_real): Statically allocate prompt.
20648 (grub_cmdline_run): Use grub_normal_parse_line.
20649 (GRUB_MOD_FINI): Don't call free_handler_list.
20650 * normal/menu_entry.c (run): Likewise.
20651 * script/function.c (grub_script_function_list): Make global.
20652 (grub_script_function_iterate): Removed.
20653 * script/main.c (grub_normal_parse_line): Make global.
20654 (grub_sh_parser): Removed.
20655 (GRUB_MOD_INIT): Likewise.
20656 (GRUB_MOD_FINI): Likewise.
20657 * tests/lib/functional_test.c (grub_functional_test): Use
20658 FOR_LIST_ELEMENTS.
20659 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20660 (grub_test_run): Use FOR_LIST_ELEMENTS.
20661 * tests/lib/unit_test.c (main): Likewise.
20662 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20663 grub_list_pop.
20664 * util/grub-fstest.c (grub_term_input_class): Removed.
20665 (grub_term_output_class): Likewise.
20666 * util/grub-probe.c: Likewise.
20667 * util/i386/pc/grub-setup.c: Likewise.
20668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20669 * util/grub-script-check.c (main): Don't call grub_init_all and
20670 grub_fini_all.
20671 * video/video.c (grub_video_adapter_list): Make global.
20672 (grub_video_register): Removed.
20673 (grub_video_unregister): Likewise.
20674 (grub_video_iterate): Likewise.
20675
20676 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20677
20678 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20679 reported by Henrique Ferreiro.
20680
20681 2010-06-09 Robert Millan <rmh@gnu.org>
20682
20683 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20684 ones, when both are available.
20685
20686 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20687
20688 Make --version uniform and avoid hard-coded program name.
20689
20690 * util/grub-mkimage.c (main): Use `program_name' instead of
20691 hard-coded string.
20692 * util/i386/pc/grub-setup.c (main): Likewise.
20693 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20694 * util/grub-install.in: Save the basename of $0 in $self, and use the
20695 latter in informational messages. Use the same format for --version
20696 as the binary programs.
20697 * util/grub-mkconfig.in: Likewise.
20698 * util/grub-mkrescue.in: Likewise.
20699 * util/grub-reboot.in: Likewise.
20700 * util/grub-set-default.in: Likewise.
20701 * util/i386/efi/grub-install.in: Likewise.
20702 * util/ieee1275/grub-install.in: Likewise.
20703 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20704
20705 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20706
20707 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20708 embedding area. Use <= instead of == when checking for non-emptiness.
20709
20710 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20711
20712 * configure.ac: Add `.' to the directories searched for unifont.
20713
20714 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20715
20716 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20717 grub_script.yy.h.
20718
20719 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20720
20721 * docs/grub.texi (History): Expand to cover GRUB 2.
20722 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20723 commands, not `terminal'.
20724 (serial): Likewise.
20725 (terminal_input): New section.
20726 (terminal_output): New section.
20727 (uppermem): New section (stub).
20728 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20729
20730 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20731
20732 * docs/grub.texi (Security): Menu entries are unrestricted by
20733 default, not restricted to superusers as I had previously thought.
20734 Reword to account for this.
20735
20736 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20737
20738 * kern/emu/misc.c (device_mapper_null_log): New function.
20739 (grub_device_mapper_supported): New function.
20740 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20741 prototype.
20742 * kern/emu/hostdisk.c (find_partition_start): Check whether
20743 device-mapper is supported before trying to use it.
20744 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20745
20746 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20747
20748 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20749 (File name syntax): Likewise.
20750 (help): --all is no longer supported in GRUB 2. Be more precise
20751 about pattern matching.
20752
20753 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20754
20755 * normal/completion.c (grub_normal_do_completion): When completing
20756 arguments to "set" and the current word contains an equals sign,
20757 skip to after the equals sign before starting completion.
20758
20759 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20760
20761 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20762
20763 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20764
20765 * docs/grub.texi (Network): New section.
20766 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20767 `(nd)' as in GRUB Legacy.
20768 (pxe_unload): New section.
20769
20770 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20771
20772 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20773 in the rescue shell, so recommend using `set' instead. Thanks,
20774 Jordan Uggla.
20775
20776 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20777
20778 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20779 (password): New section.
20780 (password_pbkdf2): New section.
20781 (search): New section.
20782 (Security): New section.
20783 (Troubleshooting): New section, currently very incomplete.
20784 (Invoking grub-mkpasswd-pbkdf2): New section.
20785 (Internals): New section, currently very incomplete.
20786
20787 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20788
20789 * util/grub.d/00_header.in: Add some more quoting (of
20790 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20791 work again.
20792 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20793
20794 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20795
20796 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20797 to `count', fixing variable shadowing that broke the -c option.
20798
20799 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
20800
20801 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20802 in case they contain spaces.
20803
20804 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20807 "part_" to partmap module names, in line with grub-install.
20808 Reported by: Jindřich Makovička (Debian bug #584426).
20809
20810 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20811
20812 * util/grub-mkimage.c: Make target-related error messages slightly
20813 more helpful; -O talks about "format". Explicitly point to the use
20814 of -O if no target is specified.
20815 Reported by: Didier Raboud (Debian bug #584415).
20816
20817 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
20818
20819 * INSTALL: Document several build requirements for optional features
20820 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20821
20822 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20823
20824 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20825 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20826 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20827
20828 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20829
20830 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20831 Thanks to Jordan Uggla for spotting this.
20832
20833 2010-06-02 Aleš Nesrsta <starous@volny.cz>
20834
20835 Finally make USB usable.
20836
20837 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20838 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20839 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20840 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20841 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20842 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20843 (GRUB_OHCI_FSMPS): Likewise.
20844 (GRUB_OHCI_PERIODIC_START): Likewise.
20845 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20846 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20847 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20848 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20849 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20850 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20851 (grub_ohci_transaction): Likewise.
20852 (grub_ohci_transfer): Improve condition detection algorithms.
20853 Handle toggle property. Program the transactions correctly.
20854 Improve error handling. Various important fixups.
20855 (grub_ohci_portstatus): Put register writes in right order.
20856 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20857 (grub_uhci_transfer): Don't show "failed" message on success.
20858 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20859 array.
20860 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20861 determine its size.
20862 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20863 before initialization is completed. Use IN direction for empty
20864 transfers. Use last_trans and compute toggle.
20865 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20866 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20867 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20868 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20869 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20870 (grub_usb_device): Increase toggle to 256.
20871 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20872 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20873 GRUB_USBMS_SUBCLASS_SFF8070.
20874 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20875 (grub_scsi_inquiry): New member page and alloc_length.
20876 (grub_scsi_request_sense): New structure.
20877 (grub_scsi_request_sense_data): Likewise.
20878 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20879 control.
20880 * disk/scsi.c (grub_scsi_request_sense): New function.
20881 (grub_scsi_test_unit_ready): Likewise.
20882 (grub_scsi_inquiry): Fill new fields.
20883 (grub_scsi_read_capacity): Likewise.
20884 (grub_scsi_read10): Add request sense at the end.
20885 (grub_scsi_read12): Likewise.
20886 (grub_scsi_write10): Likewise.
20887 (grub_scsi_write12): Likewise.
20888 (grub_scsi_open): Add Test Unit Ready.
20889 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20890 Support additional subclasses. Con't clear halt yet. Activate the
20891 proper config. Calculate LUNs correctly.
20892 (grub_usbms_transfer): Various important fixups.
20893
20894 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20897 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20898 (grub_ohci_fini_hw): New function.
20899 (grub_ohci_restore_hw): Likewise.
20900 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20901 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20902 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20903
20904 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 Dedicated DMA allocations.
20907
20908 * bus/pci.c (grub_memalign_dma32): New function
20909 (grub_dma_free): Likewise.
20910 (grub_dma_get_virt): Likewise.
20911 (grub_dma_get_phys): Likewise.
20912 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20913 (grub_ohci_pci_iter): Use dma32_alloc.
20914 (grub_ohci_transfer): Likewise.
20915 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20916 (grub_usb_bulk_readwrite): Likewise.
20917 * include/grub/pci.h: Add declarations.
20918
20919 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20920
20921 CS5536 support.
20922
20923 * bus/cs5536.c: New file.
20924 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20925 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20926 (cs5536_mod_SOURCES): New variable.
20927 (cs5536_mod_CFLAGS): Likewise.
20928 (cs5536_mod_LDFLAGS): Likewise.
20929 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20930 machine/pci.h.
20931 (kernel_img_SOURCES): Add bus/cs5536.c.
20932 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20933 usb_keyboard.mod.
20934 (usb_mod_SOURCES): New variable.
20935 (usb_mod_CFLAGS): New variable.
20936 (usb_mod_LDFLAGS): New variable.
20937 (usbtest_mod_SOURCES): New variable.
20938 (usbtest_mod_CFLAGS): New variable.
20939 (usbtest_mod_LDFLAGS): New variable.
20940 (ohci_mod_SOURCES): New variable.
20941 (ohci_mod_CFLAGS): New variable.
20942 (ohci_mod_LDFLAGS): New variable.
20943 (usbms_mod_SOURCES): New variable.
20944 (usbms_mod_CFLAGS): New variable.
20945 (usbms_mod_LDFLAGS): New variable.
20946 (usb_keyboard_mod_SOURCES): New variable.
20947 (usb_keyboard_mod_CFLAGS): New variable.
20948 (usb_keyboard_mod_LDFLAGS): New variable.
20949 * include/grub/smbus.h: New file.
20950 * include/grub/cs5536.h: New file.
20951
20952 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20953
20954 * util/grub.d/00_header.in: Add safety check to make sure that
20955 ${locale_dir} exists before trying to probe it.
20956
20957 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20958
20959 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20960 per the GNU Coding Standards; this is now too obscure to be worth
20961 documenting.
20962 (QNX): Likewise.
20963 (chainloader): Remove cross-reference to `SCO UnixWare'.
20964
20965 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20966
20967 * docs/grub.texi (Chain-loading): New section.
20968 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20969 adjusted for GRUB 2.
20970 (SCO UnixWare): Likewise.
20971 (QNX): Likewise.
20972 (chainloader): Add reference to `Block list syntax'.
20973 (drivemap): New section.
20974 (parttool): New section.
20975
20976 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20977
20978 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20979 the grub shell'.
20980 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20981 (Installing GRUB using grub-install): Remove reference to the grub
20982 shell; mention `grub-mkimage' and `grub-setup' instead.
20983 (Invoking grub-install): Likewise.
20984 (Interface): Add reference to `Menu entry editor'.
20985 (serial): Remove `--device' option.
20986
20987 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20988
20989 * docs/grub.texi (Configuration): New section, documenting
20990 configuration file generation using grub-mkconfig. I've left a slot
20991 for documenting the full shell scripting format but have not yet
20992 started on writing that up.
20993 (Invoking grub-mkconfig): New section.
20994
20995 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20996
20997 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20998 (GNU GRUB manual): Likewise.
20999 (General commands): Update description of `terminfo' for GRUB 2.
21000
21001 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21002
21003 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21004 (GRUB_MOD_INIT): Fix capitalisation.
21005 * docs/grub.texi (Command-line and menu entry commands): Document
21006 gettext and gptsync commands.
21007
21008 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21009
21010 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21011 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21012
21013 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
21014
21015 Add btrfs probing support, currently only in the single-device case.
21016
21017 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21018 function.
21019 (grub_guess_root_device): Call find_root_device_from_mountinfo
21020 before looking in /dev.
21021
21022 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21025 GRUB_DISK_SIZE_UNKNOWN.
21026 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21027
21028 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
21029
21030 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21031 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21032 corrupted or not synced properly.
21033
21034 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21037 Reported by: Seth Goldberg.
21038
21039 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21042 addition of dest.
21043 Reported by: Seth Goldberg.
21044
21045 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21048 Reported by: Seth Goldberg.
21049
21050 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21053 64-bit address as signed on MIPS.
21054
21055 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
21056
21057 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21058 to the empty string.
21059
21060 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21061
21062 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21063
21064 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21065 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21066 * kern/misc.c (__enable_execute_stack): Disable on
21067 GRUB_MACHINE_EMU.
21068
21069 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
21070
21071 Make grub-probe work with symbolic links under /dev/mapper as well
21072 as with real block devices. The Linux world seems to be (at best)
21073 in transition here, and GRUB shouldn't get caught in the middle.
21074
21075 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21076 /dev/mapper.
21077
21078 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21079
21080 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21081 input files (in which case exit zero).
21082
21083 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21084
21085 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21086 return NULL for various reasons even if it has a maximum-length
21087 buffer: for example, there might be a symlink loop, or the path
21088 might exceed PATH_MAX. If this happens, return NULL.
21089
21090 2010-05-27 Robert Millan <rmh@gnu.org>
21091
21092 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21093 partmap module to handle cross-partmap setups.
21094 Reported by Orestes Mas. Gràcies!
21095
21096 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * util/grub-mkrescue.in: Initialise override_dir rather than
21099 assuming that it's unset or empty in the environment.
21100
21101 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21102
21103 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21104 variable index into p_index to suppress a warning with -Wshadow.
21105
21106 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21107
21108 * INSTALL: Added flex >= 2.5.35 requirement.
21109
21110 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21111
21112 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21113
21114 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 cmostest support.
21117
21118 * commands/i386/cmostest.c: New file.
21119 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21120 (cmostest_mod_SOURCES): New variable.
21121 (cmostest_mod_CFLAGS): Likewise.
21122 (cmostest_mod_LDFLAGS): Likewise.
21123 * conf/i386-pc.rmk: Likewise.
21124 * docs/grub.texi (Vendor power-on keys): New section.
21125 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21126 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21127 and GRUB_BUTTON_CMOS_ADDRESS.
21128 * util/grub.d/00_header.in: Handle powering-on by separate button.
21129
21130 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21133 Removed drawing_scrollbar argument. All users updated
21134 Fixes #29792.
21135 Reported by Jo Shields
21136
21137 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21140 buffer since gfxterm handles double repaint.
21141
21142 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21145 * term/gfxterm.c (real_scroll): Likewise.
21146
21147 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21150 before calling BIOS.
21151
21152 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * include/grub/i18n.h: Always enable grub_gettext.
21155
21156 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21159 partition naming style.
21160
21161 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
21162
21163 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21164 not the first option.
21165
21166 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21167
21168 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21169
21170 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21171
21172 * util/misc.c: Move inclusion of <limits.h> to ...
21173 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21174
21175 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21176
21177 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21178 Fix merge error in NetBSD code.
21179 (find_partition_start) [__NetBSD__]: Likewise.
21180
21181 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21182
21183 Fix grub-mkrescue usage unit testing.
21184
21185 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21186
21187 2010-05-18 Christian Franke <franke@computer.org>
21188
21189 * util/grub.d/10_windows.in: Use path names instead of
21190 drive letters to prevent warning from Cygwin 1.7.
21191 Add drivemap command to menuentry if needed.
21192
21193 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21194
21195 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21196 gnumach and gnumach.gz.
21197
21198 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * include/grub/i18n.h (gettext): Inline instead of using #define.
21201 (grub_gettext): Likewise.
21202 (_): Likewise.
21203
21204 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21207 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21208 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21209 (main): Add a slash after pkglibdirroot.
21210
21211 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * util/grub-install.in: Add missing "in" keyword.
21214
21215 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21218 Reported by: Seth Goldberg.
21219
21220 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21223
21224 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21225
21226 * configure.ac: Check for Linux device-mapper support.
21227
21228 * util/hostdisk.c (device_is_mapped): New function.
21229 (find_partition_start): New function, partly broken out from
21230 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21231 device-mapper support added.
21232 (linux_find_partition): Use find_partition_start.
21233 (convert_system_partition_to_system_disk): Add `st' argument.
21234 Support Linux /dev/mapper/* devices if device-mapper support is
21235 available; only DM-RAID devices are understood at present.
21236 (find_system_device): Add `st' argument. Pass it to
21237 convert_system_partition_to_system_disk.
21238 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21239 find_system_device and convert_system_partition_to_system_disk. Use
21240 find_partition_start.
21241
21242 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21243 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21244 * util/deviceiter.c [__linux__]: Define MINOR.
21245 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21246 * util/mkdevicemap.c (grub_putchar): New function.
21247 (grub_getkey): New function.
21248 (grub_refresh): New function.
21249 (main): Set debug=all if -v -v is used.
21250
21251 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21252
21253 Fix build with non-GNU libcs.
21254
21255 * util/misc.c (canonicalize_file_name): Move to ...
21256 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21257 grub_make_system_path_relative_to_its_root.
21258
21259 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21260
21261 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21262 we handle finding grub-mkimage. Default to finding grub-mkimage in
21263 ${bindir} with program_transform_name applied, and provide a
21264 --grub-mkimage option to override this.
21265
21266 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 Remove grub-mkisofs.
21269
21270 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21271 (grub_mkisofs_SOURCES): Removed.
21272 (grub_mkisofs_CFLAGS): Removed.
21273 * util/mkisofs/defaults.h: Removed.
21274 * util/mkisofs/eltorito.c: Likewise.
21275 * util/mkisofs/exclude.h: Likewise.
21276 * util/mkisofs/hash.c: Likewise.
21277 * util/mkisofs/include/: Likewise.
21278 * util/mkisofs/include/fctldefs.h: Likewise.
21279 * util/mkisofs/include/mconfig.h: Likewise.
21280 * util/mkisofs/include/prototyp.h: Likewise.
21281 * util/mkisofs/include/statdefs.h: Likewise.
21282 * util/mkisofs/iso9660.h: Likewise.
21283 * util/mkisofs/joliet.c: Likewise.
21284 * util/mkisofs/match.c: Likewise.
21285 * util/mkisofs/match.h: Likewise.
21286 * util/mkisofs/mkisofs.c: Likewise.
21287 * util/mkisofs/mkisofs.h: Likewise.
21288 * util/mkisofs/msdos_partition.h: Likewise.
21289 * util/mkisofs/multi.c: Likewise.
21290 * util/mkisofs/name.c: Likewise.
21291 * util/mkisofs/rock.c: Likewise.
21292 * util/mkisofs/tree.c: Likewise.
21293 * util/mkisofs/write.c: Likewise.
21294
21295 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 Unify grub-mkimage accross platforms.
21298
21299 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21300 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21301 (grub_mkelfimage_SOURCES): Removed.
21302 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21303 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21304 (bin_UTILITIES): Add grub-mkimage.
21305 (grub_mkimage_SOURCES): New variable.
21306 (kernel_img_HEADERS): Remove machine/kernel.h.
21307 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21308 (pkglib_PROGRAMS): Add kernel.img.
21309 (kernel_img_HEADERS): Add machine/kernel.h.
21310 (kernel_img_FORMAT): Removed.
21311 (bin_UTILITIES): Remove grub-mkimage.
21312 (grub_mkimage_SOURCES): Removed.
21313 (grub_mkimage_CFLAGS): Likewise.
21314 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21315 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21316 (pkglib_PROGRAMS): Add kernel.img.
21317 (bin_UTILITIES): Remove grub-mkimage.
21318 (grub_mkimage_SOURCES): Removed.
21319 (grub_mkimage_CFLAGS): Likewise.
21320 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21321 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21322 (pkglib_PROGRAMS): Add kernel.img.
21323 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21324 (pkglib_PROGRAMS): Add kernel.img.
21325 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21326 (grub_mkimage_SOURCES): Removed.
21327 (grub_mkimage_CFLAGS): Likewise.
21328 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21329 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21330 (pkglib_PROGRAMS): Add kernel.img.
21331 (bin_UTILITIES): Remove grub-mkimage.
21332 (grub_mkimage_SOURCES): Removed.
21333 (grub_mkimage_CFLAGS): Likewise.
21334 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21335 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21336 (grub_mkimage_SOURCES): Removed.
21337 (grub_mkimage_CFLAGS): Likewise.
21338 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21339 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21340 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21341 (grub_pe32_optional_header): ... this.
21342 (grub_pe64_optional_header): ... and this. All users updated.
21343 (GRUB_PE32_PE32_MAGIC): Split into ..
21344 (GRUB_PE32_PE32_MAGIC): .. this.
21345 (GRUB_PE32_PE64_MAGIC): .. and this.
21346 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21347 * include/grub/elf.h (PT_GNU_STACK): New definition.
21348 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21349 * include/grub/i386/efi/kernel.h: Likewise.
21350 * include/grub/i386/kernel.h: Likewise.
21351 * include/grub/i386/pc/kernel.h: Likewise.
21352 * include/grub/i386/qemu/boot.h: Likewise.
21353 * include/grub/mips/kernel.h: Likewise.
21354 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21355 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21356 * include/grub/powerpc/kernel.h: Likewise.
21357 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21358 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21359 * include/grub/sparc64/kernel.h: Likewise.
21360 * include/grub/x86_64/efi/kernel.h: Likewise.
21361 * include/grub/x86_64/kernel.h: Likewise.
21362 * include/grub/offsets.h: New file.
21363 * include/grub/kernel.h (grub_module_info): Split into ...
21364 (grub_module_info32): ... this.
21365 (grub_module_info64): ... and this.
21366 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21367 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21368 (grub_boot_blocklist): Moved from here ...
21369 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21370 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21371 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21372 * include/grub/types.h (grub_target_to_host16): Removed.
21373 (grub_target_to_host32): Likewise.
21374 (grub_target_to_host64): Likewise.
21375 (grub_host_to_target16): Likewise.
21376 (grub_host_to_target32): Likewise.
21377 (grub_host_to_target64): Likewise.
21378 (grub_host_to_target_addr): Likewise.
21379
21380 Support grub-mkrescue for efi, coreboot and qemu.
21381
21382 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21383 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21384 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21385 * util/grub-mkrawimage.c: Moved from here ...
21386 * util/grub-mkimage.c: ... here. All users updated.
21387 (ALIGN_ADDR): Use image_target.
21388 (TARGET_NO_FIELD): New const.
21389 (image_target_desc): New type.
21390 (image_targets): New array.
21391 (grub_target_to_host64): Use image_target.
21392 (grub_target_to_host32): Likewise.
21393 (grub_target_to_host16): Likewise.
21394 (grub_host_to_target64): Likewise.
21395 (grub_host_to_target32): Likewise.
21396 (grub_host_to_target16): Likewise.
21397 (grub_host_to_target_addr): Likewise.
21398 (generate_image): Handle multiimage.
21399 (main): Require -O parameter. All users updated.
21400 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21401 util/efi/grub-mkimage.c
21402 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21403 New option --rom-directory.
21404 Use xorriso.
21405 * util/i386/efi/grub-mkimage.c: Removed.
21406 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21407 (grub_target_to_host32): Likewise.
21408 (grub_target_to_host64): Likewise.
21409 (grub_host_to_target16): Likewise.
21410 (grub_host_to_target32): Likewise.
21411 (grub_host_to_target64): Likewise.
21412 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21413 (grub_target_to_host32): Likewise.
21414 (grub_target_to_host64): Likewise.
21415 (grub_host_to_target16): Likewise.
21416 (grub_host_to_target32): Likewise.
21417 (grub_host_to_target64): Likewise.
21418
21419 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21420
21421 Source tree is reorganized for emu build.
21422
21423 * include/grub/util/console.h: Move from here...
21424 * include/grub/emu/console.h: ...to here.
21425 * include/grub/util/getroot.h: Move from here...
21426 * include/grub/emu/getroot.h: ...to here.
21427 * include/grub/util/hostdisk.h: Move from here...
21428 * include/grub/emu/hostdisk.h: ...to here.
21429 * util/console.c: Move from here...
21430 * kern/emu/console.c: ...to here.
21431 * util/getroot.c: Move from here...
21432 * kern/emu/getroot.c: ...to here.
21433 * util/grub-emu.c: Move from here...
21434 * kern/emu/main.c: ...to here.
21435 * util/hostdisk.c: Move from here...
21436 * kern/emu/hostdisk.c: ...to here.
21437 * util/hostfs.c: Move from here...
21438 * kern/emu/hostfs.c: ...to here.
21439 * util/mm.c: Move from here...
21440 * kern/emu/mm.c: ...to here.
21441 * util/pci.c: Move from here...
21442 * bus/emu/pci.c: ...to here.
21443 * util/sdl.c: Move from here...
21444 * video/emu/sdl.c: ...to here.
21445 * util/time.c: Move from here...
21446 * kern/emu/time.c: ...to here.
21447 * util/usb.c: Move from here...
21448 * bus/usb/emu/usb.c: ...to here.
21449
21450 * include/grub/emu/misc.h: New header for grub-emu functions.
21451 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21452
21453 * conf/any-emu.rmk: Rule updates for above renames.
21454 * conf/common.rmk: Likewise.
21455 * conf/i386-pc.rmk: Likewise.
21456 * conf/i386-qemu.rmk: Likewise.
21457 * conf/mips.rmk: Likewise.
21458 * conf/sparc64-ieee1275.rmk: Likewise.
21459 * conf/x86-efi.rmk: Likewise.
21460
21461 * disk/lvm.h: #include updates for above renames.
21462 * util/grub-mkrelpath.c: Likewise.
21463 * util/grub-probe.c: Likewise.
21464 * util/i386/pc/grub-setup.c: Likewise.
21465 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21466 * kern/emu/console.c: Likewise.
21467 * kern/emu/getroot.c: Likewise.
21468 * kern/emu/hostdisk.c: Likewise.
21469 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
21470
21471 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
21472 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
21473 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
21474 * util/misc.c: Remove grub-emu functions.
21475
21476 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 Fix gfxmenu crash.
21479 Reported by: Thorsten Grützmacher.
21480
21481 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
21482 timeout hook.
21483 (circprog_set_property): Register and unregister timeout hook.
21484 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
21485 (label_destroy): Free template. and unregister hook.
21486 (label_set_state): New function.
21487 (label_set_property): Handle templates and hooks.
21488 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
21489 timeout hook.
21490 (progress_bar_set_property): Register and unregister timeout hook.
21491 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
21492 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
21493 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
21494 (update_timeout_visit): Removed.
21495 (update_timeouts): New function.
21496 (redraw_timeouts): Likewise.
21497 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
21498 (grub_gfxmenu_clear_timeout): Likewise.
21499 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
21500 (grub_gfxmenu_timeout_notify): Likewise.
21501 (grub_gfxmenu_timeout_notifications): New external variable.
21502 (grub_gfxmenu_timeout_register): New function.
21503 (grub_gfxmenu_timeout_unregister): Likewise.
21504
21505 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 Transform (broken) vga terminal into (working) vga video driver.
21508
21509 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
21510 video/i386/pc/vga.c.
21511 * include/grub/video.h (grub_video_driver_id):
21512 Add GRUB_VIDEO_DRIVER_VGA.
21513 * term/i386/pc/vga.c: Renamed to ...
21514 * video/i386/pc/vga.c: ...this
21515 (DEBUG_VGA): Removed.
21516 (CHAR_WIDTH): Likewise.
21517 (CHAR_HEIGHT): Likewise.
21518 (TEXT_WIDTH): Likewise.
21519 (TEXT_HEIGHT): Likewise.
21520 (DEFAULT_FG_COLOR): Likewise.
21521 (DEFAULT_BG_COLOR): Likewise.
21522 (colored_char): Likewise.
21523 (xpos): Likewise.
21524 (ypos): Likewise.
21525 (cursor_state): Likewise.
21526 (fg_color): Likewise.
21527 (bg_color): Likewise.
21528 (text_buf): Likewise.
21529 (page): Likewise.
21530 (font): Likewise.
21531 (framebuffer): New variable.
21532 (set_read_map): Disabled.
21533 (setup): New variable.
21534 (is_target): Likewise.
21535 (grub_vga_mod_init): Likewise.
21536 (grub_vga_mod_fini): Likewise.
21537 (check_vga_mem): Likewise.
21538 (write_char): Likewise.
21539 (write_cursor): Likewise.
21540 (scroll_up): Likewise.
21541 (grub_vga_putchar): Likewise.
21542 (grub_vga_getcharwidth): Likewise.
21543 (grub_vga_getwh): Likewise.
21544 (grub_vga_getxy): Likewise.
21545 (grub_vga_gotoxy): Likewise.
21546 (grub_vga_cls): Likewise.
21547 (grub_vga_setcolorstate): Likewise.
21548 (grub_vga_setcursor): Likewise.
21549 (grub_video_vga_init): New function.
21550 (grub_video_vga_setup): Likewise.
21551 (grub_video_vga_fini): Likewise.
21552 (update_target): Likewise.
21553 (grub_video_vga_blit_bitmap): Likewise.
21554 (grub_video_vga_blit_render_target): Likewise.
21555 (grub_video_vga_set_active_render_target): Likewise.
21556 (grub_video_vga_get_active_render_target): Likewise.
21557 (grub_video_vga_swap_buffers): Likewise.
21558 (grub_video_vga_set_palette): Likewise.
21559 (grub_video_vga_get_info_and_fini): Likewise.
21560 (grub_vga_term): Removed.
21561 (grub_video_vga_adapter): New variable.
21562 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21563 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
21564
21565 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21566
21567 * video/readers/jpeg.c: Indented.
21568
21569 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 Various jpeg cleanups.
21572
21573 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
21574 (grub_jpeg_decode_quan_table): Use sizeof.
21575 (grub_jpeg_decode_du): Use ARRAY_SIZE.
21576
21577 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
21578
21579 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
21580 tables. Ignore non-last ac bit.
21581 (grub_jpeg_decode_quan_table): Likewise.
21582
21583 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
21586 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
21587 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21588 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
21589 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
21590 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
21591
21592 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
21595 error.
21596
21597 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
21600
21601 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
21604 condition.
21605
21606 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
21609 part.
21610
21611 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21612
21613 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
21614 pointers.
21615
21616 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21619
21620 2010-05-01 Christian Franke <franke@computer.org>
21621
21622 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21623 Remove broken Cygwin path conversion.
21624 * util/misc.c: [__CYGWIN__] Add include and define.
21625 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21626 for Cygwin 1.7.
21627 (make_system_path_relative_to_its_root): Simplify loop, replace early
21628 return by break.
21629 [__CYGWIN__] Add conversion to win32 path.
21630 Include "/" case in trailing slash removal.
21631
21632 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21635 Reported by: Seth Goldberg
21636
21637 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 * commands/help.c (grub_cmd_help): Fix a typo.
21640 Reported by: Seth Goldberg
21641
21642 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21643
21644 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21645 name and add N_.
21646 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21647 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21648 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21649 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21650 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21651 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21652 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21653 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21654 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21655 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21656 * normal/context.c (GRUB_MOD_INIT): Likewise.
21657 * normal/main.c (GRUB_MOD_INIT): Likewise.
21658 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21659 * term/serial.c (GRUB_MOD_INIT): Likewise.
21660 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21661
21662 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21665 extra == 0.
21666
21667 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 * commands/iorw.c: New file.
21670 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21671 (iorw_mod_SOURCES): New variable.
21672 (iorw_mod_CFLAGS): Likewise.
21673 (iorw_mod_LDFLAGS): Likewise.
21674
21675 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 Hotkey support
21678
21679 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21680 * normal/main.c (hotkey_aliases): New variable.
21681 (grub_normal_add_menu_entry): Parse "--hotkey".
21682 * normal/menu_text.c (run_menu): Handle hotkeys.
21683
21684 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 * kern/i386/coreboot/init.c (grub_machine_init): Call
21687 grub_machine_mmap_init on qemu.
21688
21689 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * boot/i386/qemu/boot.S: Add a missing .code16.
21692
21693 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 Use LBIO on coreboot.
21696
21697 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21698 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21699 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21700 New declaration.
21701 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21702 grub_machine_mmap_init on coreboot.
21703 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21704 GRUB_LINUXBIOS_MEMBER_LINK.
21705 (grub_machine_mmap_iterate): Fix declaration.
21706 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21707
21708 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21709
21710 Split coreboot and multiboot ports.
21711
21712 * conf/i386-multiboot.rmk: New file.
21713 * configure.ac: Add multiboot port.
21714 * include/grub/i386/multiboot/boot.h: New file.
21715 * include/grub/i386/multiboot/console.h: Likewise.
21716 * include/grub/i386/multiboot/init.h: Likewise.
21717 * include/grub/i386/multiboot/kernel.h: Likewise.
21718 * include/grub/i386/multiboot/loader.h: Likewise.
21719 * include/grub/i386/multiboot/memory.h: Likewise.
21720 * include/grub/i386/multiboot/serial.h: Likewise.
21721 * include/grub/i386/multiboot/time.h: Likewise.
21722 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21723 * loader/multiboot.c: Likewise.
21724 * loader/multiboot_mbi2.c: Likewise.
21725 * util/grub-mkrescue.in: Generate multiboot rescue.
21726
21727 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21730
21731 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 Merge handling of input and output terminals. Fix a hang.
21734
21735 * commands/terminal.c (abstract_terminal): New struct.
21736 (handle_command): New function. Based on grub_cmd_terminal_input.
21737 (grub_cmd_terminal_input): Use handle_command.
21738 (grub_cmd_terminal_output): Use handle_command.
21739
21740 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21741
21742 Fix comment handling.
21743
21744 * tests/grub_script_comments.in: New testcase.
21745 * conf/tests.rmk: Rules for new testcase.
21746 * script/yylex.l: Updated flex rules.
21747
21748 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21749
21750 * docs/grub.texi (play): Document that zero pitches produce rests.
21751 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21752 if argc is 1.
21753
21754 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21757 autogen issues.
21758
21759 2010-04-26 Christian Franke <franke@computer.org>
21760
21761 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21762 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21763 (grub_get_prefix): Remove function.
21764 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21765 make_system_path_relative_to_its_root ().
21766 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21767
21768 2010-04-24 Christian Franke <franke@computer.org>
21769
21770 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21771 (kernel_img_LDFLAGS): Remove -static-libgcc.
21772
21773 2010-04-24 Christian Franke <franke@computer.org>
21774
21775 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21776 and CHECK_END_SYMBOL if grub-emu is built.
21777 Unset TARGET_OBJ2ELF if grub-emu is built
21778 without module support.
21779
21780 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
21781
21782 Nilfs2 support.
21783
21784 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21785 (grub_fstest_SOURCES): Likewise.
21786 (pkglib_MODULES): Add nilfs2.mod.
21787 (nilfs2_mod_SOURCES): New variable.
21788 (nilfs2_mod_CFLAGS): Likewise.
21789 (nilfs2_mod_LDFLAGS): Likewise.
21790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21791 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21792 * fs/nilfs2.c: New file.
21793
21794 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21795
21796 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21797 is not supported.
21798
21799 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21800
21801 Add grub-mkconfig support for NetBSD.
21802
21803 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21804 * util/grub-mkconfig.in: export new NetBSD specific variables.
21805 * po/POTFILES-shell: added 10_netbsd.in.
21806 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21807
21808 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21809
21810 Fix emu build with grub-emu-pci and grub-emu-modules.
21811
21812 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21813 functions.
21814 * include/grub/libpciaccess.h: New file.
21815 * conf/any-emu.rmk: Update kernel headers for emu build.
21816
21817 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21818
21819 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21820
21821 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21822
21823 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21824
21825 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21828 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21829 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21830 util/ieee1275/ofpath.c.
21831 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21832 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21833 * include/grub/sparc64/ieee1275/boot.h
21834 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21835 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21836 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21837 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21838 const char *.
21839 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21840 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21841 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21842 install.
21843
21844 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21845
21846 * util/grub-mkconfig.in: Corrected two == equality tests.
21847 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21848 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21849 expect a number appended to it.
21850 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21851 expects a number appended to it.
21852
21853 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21856
21857 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * util/hostdisk.c (make_device_name): Change to new partition naming.
21860
21861 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21864
21865 2010-04-17 Christian Franke <franke@computer.org>
21866
21867 * Makefile.in: Add missing localedir setting.
21868
21869 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
21870
21871 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21872 mistake in r2156. Noticed by Anthony Fok.
21873
21874 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21875 @localedir@.
21876 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21877
21878 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21879
21880 Fix a spurious, uninitialized variable warning.
21881
21882 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21883 Initialize variable, shdr.
21884 (grub_freebsd_load_elfmodule): Likewise.
21885 (grub_freebsd_load_elf_meta): Likewise.
21886
21887 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21888
21889 Fix for escaped dollar in double quoted strings.
21890
21891 * script/yylex.l: Updated flex rules.
21892 * conf/tests.rmk: Rule for new testcase.
21893 * tests/grub_script_dollar.in: New testcase.
21894
21895 2010-04-13 Carles Pina i Estany <carles@pina.cat>
21896 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
21897
21898 Enclose all translated strings in grub.cfg in single quotes, and
21899 escape them appropriately (Ubuntu bug #552921).
21900
21901 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21902 * util/grub.d/10_hurd.in: Use it.
21903 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21904 * util/grub.d/10_linux.in (linux_entry): Likewise.
21905
21906 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 Fix cygwin compilation.
21909
21910 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21911 * include/grub/misc.h (__register_frame_info)
21912 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21913 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21914 * kern/misc.c (__register_frame_info)
21915 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21916 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21917
21918 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21921
21922 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 Unify libgcc processing.
21925
21926 * Makefile.in (kernel_img_LDFLAGS): New variable.
21927 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21928 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21929 overwriting.
21930 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21931 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21932 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21933 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21934 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21935 overwriting. Remove -lgcc and -static-libgcc
21936 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21937 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21938 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21939 (kernel_img_LDFLAGS): Append instead of overwriting.
21940 Remove -lgcc and -static-libgcc
21941 * conf/sparc64-ieee1275.rmk: Likewise.
21942 * include/grub/powerpc/libgcc.h: Move to ...
21943 * include/grub/libgcc.h: .. this.
21944 * include/grub/libgcc.h: Don't export most of the function on x86.
21945 (__bswapsi2): New export.
21946 (__bswapdi2): Likewise.
21947 * include/grub/mips/libgcc.h: Removed.
21948 * include/grub/sparc64/libgcc.h: Likewise.
21949
21950 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21953 disk_info_msg (conflicts with gettexting into languages with cases).
21954
21955 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21956
21957 Add grub-probe support for NetBSD.
21958
21959 * util/getroot.c (find_root_device): Convert block device to
21960 character device on NetBSD.
21961 * util/probe.c (probe): Require character device on NetBSD.
21962 * util/hostdisk.c: NetBSD specific headers.
21963 (configure_device_driver): new function to tune device driver
21964 parameters (currently only for NetBSD floppy driver).
21965 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21966 via disklabel ioctl).
21967 (open_device): call configure_device_driver on NetBSD.
21968 (convert_system_partition_to_system_disk): NetBSD specific code.
21969 (device_is_wholedisk): Likewise.
21970 (grub_util_biosdisk_get_grub_dev): Likewise.
21971 (make_device_name): Fixed a typo in bsd_part_str.
21972 * configure.ac: check for opendisk() and getrawpartition() on
21973 NetBSD and set LIBUTIL.
21974 * Makefile.in: add LIBUTIL to LIBS.
21975
21976 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21977
21978 Documentation fix.
21979
21980 * util/grub-script-check.c: Better help message.
21981
21982 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21983
21984 Fix FreeBSD build.
21985
21986 * configure.ac: Flex version check.
21987 * conf/common.rmk: Add -Wno-error to sh.mod.
21988 * script/yylex.l: Remove all #pragma.
21989
21990 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21993 prototype.
21994 Reported by: Seth Goldberg.
21995
21996 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21999 Rename "module" to "module2".
22000 Reported by: Seth Goldberg.
22001
22002 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22003
22004 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22005 EXPORT_FUNC.
22006 Reported by: Seth Goldberg.
22007
22008 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 * lib/posix_wrap/locale.h: Add missing file.
22011 Reported by: Seth Goldberg.
22012
22013 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 grub-emu module load support.
22016
22017 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22018 NO_DYNAMIC_MODULES switched to this.
22019 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22020 (CFLAGS): Likewise.
22021 * conf/any-emu.rmk: Generate symlist.
22022 (kernel_img_HEADERS): Add util/datetime.h.
22023 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22024 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22025 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22026 kern/$(target_cpu)/cache.S.
22027 * configure.ac (grub-emu-modules): New option.
22028 * genmk.rb: Handle multiple source lists.
22029 * include/grub/sdl.h: New file.
22030 * include/grub/libusb.h: Likewise.
22031 * util/grub-emu.c (main): Hanle (host) root.
22032 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22033 GRUB_ERR_UNKNOWN_DEVICE.
22034 * util/misc.c: Move mm functions to ...
22035 * util/mm.c: ... here. All users updated.
22036
22037 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22040 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22041 missing files.
22042 (maintainer-clean): Remove libgcrypt-grub.
22043
22044 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22047
22048 2010-04-09 EFI Coder <eficoder@hotmail.com>
22049
22050 * normal/menu_text.c (print_message): Clean up the message and show
22051 the Fn information when on EFI
22052 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22053
22054 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22057 All users updated.
22058 * normal/crypto.c (read_crypto_list): Likewise.
22059 * normal/dyncmd.c (read_command_list): Likewise.
22060 * normal/term.c (read_terminal_list): Likewise.
22061 * normal/main.c (read_lists): Use explicit prefix.
22062 (read_lists_hook): Use read_lists.
22063 (grub_normal_execute): Likewise.
22064
22065 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22068 Reported by: Thomas Schmitt.
22069 Add -no-emul-boot to grub-mkisofs parameters.
22070
22071 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22072
22073 * font/font.c: Indented.
22074
22075 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22076
22077 Elif support to GRUB script (by Deepak Vankadaru).
22078
22079 * tests/grub_script_if.in: New testcase.
22080 * conf/tests.rmk: Rule for new testcase.
22081 * script/parser.y: Grammar rules for elif.
22082
22083 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22084
22085 While and until loops support to GRUB script.
22086
22087 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22088 (grub_script_create_cmdwhile): New function prototype.
22089 (grub_script_execute_cmdwhile): New function prototype.
22090 * script/execute.c (grub_script_execute_cmdwhile): New function.
22091 * script/parser.y (command): New commands.
22092 (whilecmd): New grammar rule.
22093 (untilcmd): New grammar rule.
22094 * script/script.c (grub_script_create_cmdwhile): New function.
22095 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22096 function.
22097
22098 * tests/grub_script_while1.in: New testcase.
22099 * conf/tests.rmk: Rule for new testcase.
22100
22101 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22102
22103 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22104 as *.jpg.
22105
22106 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
22107
22108 GRUB_BACKGROUND support.
22109
22110 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22111 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22112
22113 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 Load fonts and modules for gfxmenu in grub-mkconfig.
22116 Idea by: Mario Vazquez
22117
22118 * util/grub.d/00_header.in: Load pf2 and image modules.
22119
22120 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 grub-mkconfig multiple terminal support.
22123
22124 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22125 * util/grub.d/00_header.in: Likewise.
22126
22127 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22130 we use cd $(srcdir).
22131
22132 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
22133
22134 * util/grub.d/10_linux.in: Only use the first word of
22135 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22136 spaces in GRUB_DISTRIBUTOR.
22137 * util/grub.d/10_kfreebsd.in: Likewise.
22138 * util/grub.d/10_hurd.in: Likewise.
22139
22140 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22141
22142 Fix unit testing framework for Qemu 0.12.
22143
22144 * tests/util/grub-shell.in: Remove -serial stdio option.
22145
22146 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22147
22148 POSIX header file wrappers.
22149
22150 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22151 equivalents.
22152 * lib/posix_wrap/ctype.h: Likewise.
22153 * lib/posix_wrap/errno.h: Likewise.
22154 * lib/posix_wrap/langinfo.h: Likewise.
22155 * lib/posix_wrap/limits.h: Likewise.
22156 * lib/posix_wrap/localcharset.h: Likewise.
22157 * lib/posix_wrap/stdint.h: Likewise.
22158 * lib/posix_wrap/stdio.h: Likewise.
22159 * lib/posix_wrap/stdlib.h: Likewise.
22160 * lib/posix_wrap/string.h: Likewise.
22161 * lib/posix_wrap/sys/types.h: Likewise.
22162 * lib/posix_wrap/unistd.h: Likewise.
22163 * lib/posix_wrap/wchar.h: Likewise.
22164 * lib/posix_wrap/wctype.h: Likewise.
22165 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22166 (grub_script.yy.h): Likewise.
22167 * script/yylex.l: Remove POSIX emulation #defines.
22168 * Makefile.in (POSIX_CFLAGS): New variable.
22169 (GNULIB_UTIL_CFLAGS): Likewise.
22170
22171 Regexp support.
22172
22173 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22174 (regexp_mod_SOURCES): New variable.
22175 (regexp_mod_CFLAGS): Likewise.
22176 (regexp_mod_LDFLAGS): Likewise.
22177 * commands/regexp.c: New file.
22178 * gnulib/regcomp.c: New file. Imported from gnulib.
22179 * gnulib/regex.c: Likewise.
22180 * gnulib/regex_internal.c: Likewise.
22181 * gnulib/regex_internal.h: Likewise.
22182 * gnulib/regexec.c: Likewise.
22183 * gnulib/regex.h: Likewise.
22184
22185 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22188 unsupported video mode types.
22189
22190 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22193
22194 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22197 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22198
22199 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22200
22201 Remove unused grub_vga_get_font.
22202
22203 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22204 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22205
22206 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22207
22208 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22209 * include/grub/misc.h: Likewise.
22210
22211 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22212
22213 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22214 for which failure is fatal.
22215
22216 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22217
22218 * util/grub-install.in: Use mkdir -p to create grub directory.
22219 * util/i386/efi/grub-install.in: Likewise.
22220 * util/ieee1275/grub-install.in: Likewise.
22221
22222 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22223
22224 * Makefile.in (LEX): new variable.
22225
22226 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22227
22228 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22229 `=' and added double quotes on operands of this equality test.
22230
22231 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * Makefile.in (uninstall): Remove a leftover debug echo.
22234 Reported by: Grégoire Sutre
22235
22236 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 MIPS multiboot2 support.
22239
22240 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22241 (multiboot2_mod_SOURCES): New variable.
22242 (multiboot2_mod_CFLAGS): Likewise.
22243 (multiboot2_mod_LDFLAGS): Likewise.
22244 (multiboot2_mod_ASFLAGS): Likewise.
22245 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22246 definition.
22247 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22248 (MULTIBOOT_MBI_REGISTER): Likewise.
22249 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22250 (MULTIBOOT_ELF32_MACHINE): Likewise.
22251 (MULTIBOOT_ELF64_MACHINE): Likewise.
22252 * include/grub/mips/multiboot.h: New file.
22253 * include/grub/video.h (grub_video_driver_id): New type
22254 GRUB_VIDEO_DRIVER_SM712.
22255 (grub_video_get_info_and_fini): Export.
22256 (grub_video_get_palette): Likewise.
22257 (grub_video_get_driver_id): Likewise.
22258 * include/multiboot2.h: Resynced with spec.
22259 * loader/i386/multiboot.c: Moved from here ...
22260 * loader/multiboot.c: ... here. All users updated.
22261 (grub_multiboot_boot): Use platform-specific macros.
22262 * loader/i386/multiboot_elfxx.c: Moved from here ...
22263 * loader/multiboot_elfxx.c: ... here. All users updated.
22264 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22265 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22266 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22267
22268 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 Import gnulib argp module.
22271
22272 * gnulib/argp-ba.c: New file.
22273 * gnulib/argp-eexst.c: Likewise.
22274 * gnulib/argp-fmtstream.c: Likewise.
22275 * gnulib/argp-fmtstream.h: Likewise.
22276 * gnulib/argp-fs-xinl.c: Likewise.
22277 * gnulib/argp-help.c: Likewise.
22278 * gnulib/argp-namefrob.h: Likewise.
22279 * gnulib/argp-parse.c: Likewise.
22280 * gnulib/argp-pin.c: Likewise.
22281 * gnulib/argp-pv.c: Likewise.
22282 * gnulib/argp-pvh.c: Likewise.
22283 * gnulib/argp-version-etc.c: Likewise.
22284 * gnulib/argp-version-etc.h: Likewise.
22285 * gnulib/argp-xinl.c: Likewise.
22286 * gnulib/argp.h: Likewise.
22287
22288 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * kern/device.c (grub_device_iterate): Clear errors after failed
22291 opening device.
22292
22293 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22296 returned by firmware.
22297
22298 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22301 compilation on coreboot and qemu
22302
22303 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * include/multiboot2.h: Resync with spec.
22306
22307 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22308
22309 Multiboot2 tag support
22310
22311 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22312 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22313 Remove loader/multiboot_loader.c.
22314 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22315 (grub_multiboot2_real_boot): Likewise.
22316 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22317 (grub_get_multiboot_mmap_count): New proto.
22318 (grub_fill_multiboot_mmap): Likewise.
22319 (grub_multiboot_set_video_mode): Likewise.
22320 (grub_multiboot_set_console): Likewise.
22321 (grub_multiboot_load): Likewise.
22322 (grub_multiboot_load_elf): Likewise.
22323 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22324 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22325 * include/multiboot.h: Resynced with specification.
22326 * include/multiboot2.h: Resynced with specification.
22327 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22328 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22329 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22330 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22331 users updated.
22332 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22333 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22334 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22335 Removed.
22336 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22337 Moved from here...
22338 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22339 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22340 Moved from here...
22341 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22342 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22343 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22344 All users updated.
22345 * loader/i386/multiboot_mbi2.c: New file.
22346
22347 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 Resync with gnulib.
22350
22351 * Makefile.in (GNULIB_CFLAGS): New variable.
22352 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22353 (grub_script_check_CFLAGS): New variable.
22354 * gnulib/alloca.h: Resync with gnulib.
22355 * gnulib/error.c: Likewise.
22356 * gnulib/error.h: Likewise.
22357 * gnulib/fnmatch.c: Likewise.
22358 * gnulib/fnmatch_loop.c: Likewise.
22359 * gnulib/getdelim.c: Likewise.
22360 * gnulib/getline.c: Likewise.
22361 * gnulib/getopt.c: Likewise.
22362 * gnulib/getopt1.c: Likewise.
22363 * gnulib/getopt_int.h: Likewise.
22364 * gnulib/gettext.h: Likewise.
22365 * gnulib/progname.c: Likewise.
22366 * gnulib/progname.h: Likewise.
22367
22368 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22369
22370 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22371 which is the case with --disabled-nls.
22372
22373 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22374 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22375 * util/misc.c: Likewise.
22376 * util/mkisofs/mkisofs.c: Likewise.
22377 * util/mkisofs/mkisofs.h: Likewise.
22378
22379 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 Simplify Apple CC support.
22382
22383 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22384 Add 0 byte at the end not to have a symbol with empty target.
22385 * mmap/i386/pc/mmap_helper.S: Likewise.
22386 * genmk.rb: Ignore errors 2030 and 2050.
22387 * kern/i386/pc/startup.S: Use LOCAL when possible.
22388
22389 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22390
22391 Testcase and the fix for final semicolon on cmdline.
22392
22393 * tests/grub_script_final_semicolon.in: New testcase.
22394 * conf/tests.rmk: Rules for the new testcase.
22395 * script/parser.y: Grammar fix.
22396
22397 2010-03-26 BVK Chaitanya <bvk@localhost>
22398
22399 Blank lines testcase for GRUB script.
22400
22401 * tests/grub_script_blanklines.in: New testcase.
22402 * conf/tests.rmk: Rules for the new testcase.
22403
22404 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 Don't use __FILE__.
22407
22408 * genmk.rb: Add -DGRUB_FILE to all C targets.
22409 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22410 * include/grub/list.h: Likewise.
22411 * include/grub/misc.h: Likewise.
22412 * include/grub/mm.h: Likewise.
22413 * include/grub/test.h: Likewise.
22414 * kern/mm.c: Likewise.
22415 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22416
22417 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 Sunpc partitions support.
22420
22421 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22422 (grub_fstest_SOURCES): Likewise.
22423 (pkglib_MODULES): Add part_sunpc.mod.
22424 (part_sunpc_mod_SOURCES): New variable.
22425 (part_sunpc_mod_CFLAGS): Likewise.
22426 (part_sunpc_mod_LDFLAGS): Likewise.
22427 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22428 * partmap/sunpc.c: New file.
22429
22430 2010-03-26 BVK Chaitanya <bvk@localhost>
22431
22432 For loop support to GRUB script.
22433
22434 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22435 (grub_script_create_cmdfor): New function prototype.
22436 (grub_script_execute_cmdfor): New function prototype.
22437 * script/execute.c (grub_script_execute_cmdfor): New function.
22438 * script/parser.y (command): New for command.
22439 (forcmd): New grammar rule.
22440 * script/script.c (grub_script_create_cmdfor): New function.
22441 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22442 function.
22443 * tests/grub_script_for1.in: New testcase.
22444 * conf/tests.rmk: Rules for new testcase.
22445
22446 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22447
22448 Nested partitions
22449
22450 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22451 'partition' is NULL, grub_partition_get_start already does that.
22452 * commands/loadenv.c (check_blocklists): Likewise.
22453 (write_blocklists): Likewise.
22454 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
22455 (grub_fstest_SOURCES): Likewise.
22456 (pkglib_MODULES): Add part_bsd.mod.
22457 (part_bsd_mod_SOURCES): New variable.
22458 (part_bsd_mod_CFLAGS): Likewise.
22459 (part_bsd_mod_LDFLAGS): Likewise.
22460 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
22461 (grub_emu_SOURCES): Likewise.
22462 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22463 * include/grub/bsdlabel.h: New file.
22464 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
22465 'get_name'.
22466 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
22467 (grub_partition_map_list): New variable.
22468 (grub_partition_map_register): Inline.
22469 (grub_partition_map_unregister): Likewise.
22470 (FOR_PARTITION_MAPS): New macro.
22471 (grub_partition_map_iterate): Removed.
22472 (grub_partition_get_start): Handle nested partitions.
22473 * include/grub/msdos_partition.h: Remove bsd-related entries.
22474 (grub_pc_partition): Remove.
22475 * kern/disk.c (grub_disk_close): Free partition data.
22476 (grub_disk_adjust_range): Handle nested partitions.
22477 * kern/partition.c (grub_partition_map_probe): New function.
22478 (grub_partition_probe): Parse name to number, handle subpartitions.
22479 (get_partmap): New function.
22480 (grub_partition_iterate): Handle subpartitions.
22481 (grub_partition_get_name): Likewise.
22482 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
22483 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
22484 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
22485 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
22486 Set 'number'.
22487 (acorn_partition_map_probe): Remove.
22488 (acorn_partition_map_get_name): Likewise.
22489 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
22490 Set 'number'.
22491 Set 'index' to 0 since there can be only one partition entry per sector.
22492 (amiga_partition_map_probe): Remove.
22493 (amiga_partition_map_get_name): Likewise.
22494 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
22495 Set 'number'.
22496 Set 'offset' and 'index' to real positions of partitions.
22497 (apple_partition_map_probe): Remove.
22498 (apple_partition_map_get_name): Likewise.
22499 * partmap/bsdlabel.c: New file.
22500 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
22501 Set 'number'.
22502 Allocate 'data' so it can be correctly freed.
22503 Set 'index' to offset inside sector.
22504 (gpt_partition_map_probe): Remove.
22505 (gpt_partition_map_get_name): Likewise.
22506 * partmap/msdos.c (grub_partition_parse): Remove.
22507 (pc_partition_map_iterate): Don't force raw access.
22508 Set 'number'.
22509 Make 'ext_offset' a local variable.
22510 (pc_partition_map_probe): Remove.
22511 (pc_partition_map_get_name): Remove.
22512 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
22513 Set 'number'.
22514 (sun_partition_map_probe): Remove.
22515 (sun_partition_map_get_name): Likewise.
22516 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
22517 (grub_pcpart_type): Likewise.
22518 * util/hostdisk.c (open_device): Handle new numbering scheme.
22519 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
22520 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
22521 * util/grub-probe.c (probe_partmap): Handle nested paritions.
22522 * util/grub-install.in: Insert all subpartition modules.
22523 * util/ieee1275/grub-install.in: Likewise.
22524
22525 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
22526
22527 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
22528 grammar.
22529
22530 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
22531
22532 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
22533
22534 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
22535
22536 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
22537 match where 'make install' puts them.
22538 * util/i386/efi/grub-install.in: Likewise.
22539
22540 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
22541
22542 * .bzrignore: Add gentrigtables, grub-script-check,
22543 grub_script_check_init.c, grub_script_check_init.h, and
22544 trigtables.c.
22545
22546 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 * kern/parser.c: Indented.
22549
22550 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
22553
22554 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22555
22556 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22557 alpha_mask_size == 0 case.
22558
22559 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22560
22561 GRUB shell lexer and parser improvements.
22562
22563 * conf/any-emu.rmk: Build rule updates.
22564 * conf/common.rmk: Likewise.
22565 * conf/i386-coreboot.rmk: Likewise.
22566 * conf/i386-efi.rmk: Likewise.
22567 * conf/i386-ieee1275.rmk: Likewise.
22568 * conf/i386-pc.rmk: Likewise.
22569 * conf/powerpc-ieee1275.rmk: Likewise.
22570 * conf/x86_64-efi.rmk: Likewise.
22571
22572 * configure.ac: Configure check for flex.
22573
22574 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
22575 types.
22576 (grub_lexer_param): Struct member updates.
22577 (grub_parser_param): Likewise.
22578 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
22579 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
22580 (grub_script_lexer_init): Prototype update.
22581 (grub_script_lexer_record_start): Likewise.
22582 (grub_script_lexer_record_stop): Likewise.
22583 (grub_script_lexer_yywrap): New function prototype.
22584 (grub_script_lexer_fini): Likewise.
22585 (grub_script_execute_argument_to_string): Removed by...
22586 (grub_script_execute_argument_to_argv): ...better version.
22587
22588 * script/execute.c (ROUND_UPTO): New macro.
22589 (grub_script_execute_cmdline): Out of memory fixes.
22590 (grub_script_execute_menuentry): Likewise.
22591 (grub_script_execute_argument_to_string): Removed. Update all
22592 users by...
22593 (grub_script_execute_argument_to_argv): ...better version.
22594 * script/function.c (grub_script_function_create): Use
22595 grub_script_execute_argument_to_argv instead of
22596 grub_script_execute_argument_to_string.
22597
22598 * script/lexer.c (check_varstate): Removed.
22599 (check_textstate): Removed.
22600 (grub_script_lexer_record_start): Likewise.
22601 (grub_script_lexer_record_stop): Likewise.
22602 (recordchar): Replaced with...
22603 (grub_script_lexer_record): ...new function.
22604 (nextchar): Removed.
22605 (grub_script_lexer_init): Rewritten.
22606 (grub_script_yylex): Rewritten.
22607 (append_newline): New function.
22608 (grub_script_lexer_yywrap): New function.
22609 (grub_script_lexer_fini): New function.
22610 (grub_script_yyerror): Sets error flag.
22611
22612 * script/yylex.l: New file.
22613 (grub_lexer_yyfree): Wrapper for flex yyffre.
22614 (grub_lexer_yyalloc): Likewise.
22615 (grub_lexer_yyrealloc): Likewise.
22616 * script/parser.y: Refactored.
22617
22618 * script/script.c (grub_script_arg_add): Out of memory fixes.
22619 (grub_script_add_arglist): Likewise.
22620 (grub_script_create_cmdline): Likewise.
22621 (grub_script_create_cmdmenu): Likewise.
22622 (grub_script_add_cmd): Likewise.
22623 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22624 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22625 unnecessary code.
22626
22627 * tests/grub_script_echo1.in: New testcase.
22628 * tests/grub_script_vars1.in: New testcase.
22629 * tests/grub_script_echo_keywords.in: New testcase.
22630
22631 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 Remove some redundancy in build system.
22634
22635 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22636 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22637 (TARGET_LDFLAGS): Add -nostdlib.
22638 (TARGET_IMG_LDFLAGS): Likewise.
22639 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22640 anything since mmap isn't available.
22641 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22642 Add util/time.c.
22643 (pkglib_MODULES): Remove reboot.mod.
22644 (reboot_mod_SOURCES): Removed.
22645 (reboot_mod_CFLAGS): Likewise.
22646 (reboot_mod_LDFLAGS): Likewise.
22647 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22648 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22649 (DEFSYMFILES): Add kernel_syms.lst.
22650 (kernel_img_HEADERS): Add common headers.
22651 (symlist.c): New target.
22652 (kernel_syms.lst): Likewise.
22653 (pkglib_MODULES): Add memdisk.mod.
22654 (memdisk_mod_SOURCES): New variable.
22655 (memdisk_mod_CFLAGS): Likewise.
22656 (memdisk_mod_LDFLAGS): Likewise.
22657 (pkglib_MODULES): Add reboot.mod.
22658 (reboot_mod_SOURCES): New variable.
22659 (reboot_mod_CFLAGS): Likewise.
22660 (reboot_mod_LDFLAGS): Likewise.
22661 (pkglib_MODULES): Add date.mod.
22662 (date_mod_SOURCES): New variable.
22663 (date_mod_CFLAGS): Likewise.
22664 (date_mod_LDFLAGS): Likewise.
22665 (pkglib_MODULES): Add datehook.mod.
22666 (datehook_mod_SOURCES): New variable.
22667 (datehook_mod_CFLAGS): Likewise.
22668 (datehook_mod_LDFLAGS): Likewise.
22669 (pkglib_MODULES): Add lsmmap.mod.
22670 (lsmmap_mod_SOURCES): New variable.
22671 (lsmmap_mod_CFLAGS): Likewise.
22672 (lsmmap_mod_LDFLAGS): Likewise.
22673 (pkglib_MODULES): Add boot.mod.
22674 (boot_mod_SOURCES): New variable.
22675 (boot_mod_CFLAGS): Likewise.
22676 (boot_mod_LDFLAGS): Likewise.
22677 * conf/i386-coreboot.rmk: Removed redundant parts.
22678 * conf/i386-ieee1275.rmk: Likewise.
22679 * conf/i386-pc.rmk: Likewise.
22680 * conf/mips-yeeloong.rmk: Likewise.
22681 * conf/mips.rmk: Likewise.
22682 * conf/powerpc-ieee1275.rmk: Likewise.
22683 * conf/sparc64-ieee1275.rmk: Likewise.
22684 * conf/x86_64-efi.rmk: Likewise.
22685 * conf/i386-coreboot.rmk: Moved qemu parts ..
22686 * conf/i386-qemu.rmk: ... here
22687 * conf/i386-efi.rmk: Moved common parts to...
22688 * conf/x86-efi.rmk: ... here.
22689 * conf/i386.rmk: Added modules common to all x86 variants.
22690 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22691 * disk/memdisk.c: Remove grub/machine/kernel.h.
22692 * gensymlist.sh.in: Include symbol.h.
22693 * hook/datehook.c: Correct module name.
22694 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22695 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22696 * include/grub/i386/efi/serial.h: New file.
22697 * include/grub/x86_64/efi/serial.h: Likewise.
22698 * util/time.c: Likewise.
22699 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22700
22701 2010-03-14 Colin King <colin.king@ubuntu.com>
22702 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22703
22704 Shrink the pre-partition-table part of boot.img by eight bytes.
22705
22706 * boot/i386/pc/boot.S (ERR): New macro.
22707 (chs_mode): Use ERR.
22708 (geometry_error): Likewise.
22709 (hd_probe_error): Remove. This is only used once, so we wrwite
22710 it inline instead.
22711 (read_error): Instead of printing read_error_string, just set up
22712 %si and fall through to ...
22713 (error_message): ... this new function, also used by ERR.
22714
22715 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22716
22717 Speed up consecutive hostdisk operations on the same device.
22718
22719 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22720 (grub_util_biosdisk_open): Initialise disk->data.
22721 (struct linux_partition_cache): New structure.
22722 (linux_find_partition): Cache partition start positions; these are
22723 expensive to compute on every read and write.
22724 (open_device): Cache open file descriptor in disk->data, so that we
22725 don't have to reopen it and flush the buffer cache for consecutive
22726 operations on the same device.
22727 (grub_util_biosdisk_close): New function.
22728 (grub_util_biosdisk_dev): Set `close' member.
22729
22730 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22731 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22732 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22733 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22734 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22735
22736 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 Compile parts of grub-emu as modules.
22739
22740 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22741 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22742 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22743 (all-local): Add $(GRUB_EMU).
22744 (install-local): Install $(GRUB_EMU).
22745 (uninstall): Uninstall $(GRUB_EMU).
22746 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22747 * kern/dl.c: Likewise.
22748 * commands/sleep.c: Not include machine/time.h.
22749 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22750 (COMMON_CFLAGS): Likewise.
22751 (sbin_UTILITIES): Remove grub-emu.
22752 (grub_emu_SOURCES): Removed.
22753 (kernel_img_RELOCATABLE): New variable.
22754 (pkglib_PROGRAMS): Add kernel.img.
22755 (kernel_img_SOURCES): New variable
22756 (kernel_img_CFLAGS): Likewise.
22757 (kernel_img_LDFLAGS): Likewise.
22758 (TARGET_NO_STRIP): Likewise.
22759 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22760 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22761 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22762 (grub-emu): New target.
22763 (GRUB_EMU): New variable.
22764 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22765 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22766 * loader/xnu.c: Likewise.
22767 * include/grub/pci.h: Likewise.
22768 * genemuinit.sh: New file.
22769 * genemuinitheader.sh: Likewise.
22770 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22771 Support TARGET_NO_DYNAMIC_MODULES.
22772 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22773 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22774 * disk/loopback.c: Likewise.
22775 * font/font_cmd.c: Likewise.
22776 * partmap/acorn.c: Likewise.
22777 * partmap/amiga.c: Likewise.
22778 * partmap/apple.c: Likewise.
22779 * partmap/gpt.c: Likewise.
22780 * partmap/msdos.c: Likewise.
22781 * partmap/sun.c: Likewise.
22782 * parttool/msdospart.c: Likewise.
22783 * term/gfxterm.c: Likewise.
22784 * video/bitmap.c: Likewise.
22785 * video/readers/jpeg.c: Likewise.
22786 * video/readers/png.c: Likewise.
22787 * video/readers/tga.c: Likewise.
22788 * video/video.c: Likewise.
22789 * util/grub-emu.c (read_command_list): Removed.
22790 (main): Don't call util_init_nls.
22791 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22792 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22793
22794 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22795
22796 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22797 date.mod, datehook.mod.
22798 (datetime_mod_SOURCES): New variable.
22799 (datetime_mod_CFLAGS): Likewise.
22800 (datetime_mod_LDFLAGS): Likewise.
22801 (date_mod_SOURCES): Likewise.
22802 (date_mod_CFLAGS): Likewise.
22803 (date_mod_LDFLAGS): Likewise.
22804 (datehook_mod_SOURCES): Likewise.
22805 (datehook_mod_CFLAGS): Likewise.
22806 (datehook_mod_LDFLAGS): Likewise.
22807 * conf/sparc64-ieee1275.rmk: Likewise.
22808 * lib/ieee1275/datetime.c: New file.
22809
22810 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22811
22812 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22813 (ieee1275_fb_mod_SOURCES): New variable.
22814 (ieee1275_fb_mod_CFLAGS): Likewise.
22815 (ieee1275_fb_mod_LDFLAGS): Likewise.
22816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22817 New proto.
22818 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22819 (HEAP_MAX_ADDR): Likewise.
22820 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22821 type.
22822 Correct stop condition.
22823 (grub_ieee1275_devices_iterate): New function.
22824 * video/ieee1275.c: New file.
22825
22826 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22827
22828 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22829
22830 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22831 as scratch.
22832 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22833 SCRATCH_PAD_DISKBOOT as scratch.
22834 (bootit): Pass Openfirmware pointer in %o4.
22835 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22836 of 0x200000.
22837 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22838 with util/grub-mkrawimage.c.
22839 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22840 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22841 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22842 (grub_aout_load) [GRUB_UTIL]: Likewise.
22843 * include/grub/kernel.h (grub_modules_get_end): New proto.
22844 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22845 (SCRATCH_PAD_BOOT): New definition.
22846 (SCRATCH_PAD_DISKBOOT): Likewise.
22847 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22848 * include/grub/sparc64/ieee1275/ieee1275.h
22849 (grub_ieee1275_original_stack): New variable
22850 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22851 New definition
22852 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22853 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22854 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22855 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22856 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22857 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22858 (grub_platform_image_format_t): New type.
22859 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22860 * kern/main.c (grub_modules_get_end)
22861 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22862 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22863 (codestart): Switch stacks.
22864 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22865 variable.
22866 (grub_heap_init): Use grub_modules_get_end.
22867 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22868 stack.
22869 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22870 (main): Likewise.
22871 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22872
22873 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
22874
22875 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22876
22877 2010-03-08 Matt Kraai <kraai@ftbfs.org>
22878
22879 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22880 bug #559005).
22881
22882 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22883
22884 * genmoddep.awk: Output all missing symbols and not only first.
22885
22886 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22887
22888 * NEWS: Put the date of 1.98 release.
22889
22890 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22891
22892 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22893 ft2build.h.
22894
22895 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22898 completition in the middle of string.
22899
22900 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22901
22902 * util/grub-mkrescue.in: Use mktemp with explicit template.
22903
22904 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22905
22906 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22907
22908 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22911 right pointer.
22912
22913 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22914
22915 Fix FreeBSD compilation.
22916
22917 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22918 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22919
22920 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22923
22924 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22925
22926 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22927
22928 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22931
22932 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22933
22934 Support relative image path in theme file.
22935
22936 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22937 (image_set_property): Handle theme_dir and relative path.
22938
22939 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * configure.ac: Alias amd64 to x86_64.
22942
22943 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22944
22945 * NEWS: mention multiboot on EFI.
22946
22947 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22948
22949 * kern/main.c (grub_load_modules): Handle errors from init functions of
22950 embeded modules.
22951
22952 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 * normal/autofs.c (autoload_fs_module): Handle errors.
22955
22956 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 Disable linux.mod on qemu-mips since it's not functional and leads
22959 to compilation failure.
22960
22961 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22962 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22963 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22964 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22965 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22966 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22967 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22968 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22969 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22970 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22971 Reported by: BVK Chaitanya
22972
22973 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22974
22975 * INSTALL: Add gettext as a dependency and add qemu to a new section
22976 "Prerequisites for make-check".
22977
22978 2010-03-04 Christian Franke <franke@computer.org>
22979
22980 * util/grub-pe2elf.c: Add missing include "progname.h".
22981
22982 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * normal/crypto.c (read_crypto_list): Fix a typo.
22985 Reported by: Seth Goldberg.
22986
22987 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
22990 Reported by: Seth Goldberg.
22991
22992 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22993
22994 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22995 ascii.bitmaps.
22996
22997 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22998
22999 * genmk.rb: Remove terminal*.lst in make clean.
23000 Reported by: Seth Goldberg.
23001
23002 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23003
23004 * util/i386/efi/grub-install.in: Copy gettext files.
23005
23006 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23007
23008 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23009
23010 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23011
23012 Wait for user entry basing on presence of output rather than on errors.
23013
23014 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23015 (grub_install_newline_hook): Likewise.
23016 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23017 * normal/menu.c (show_menu): Check line_counter to determine presence
23018 of output.
23019 * normal/term.c (grub_normal_line_counter): New variable.
23020 (grub_normal_get_line_counter): New function.
23021 (grub_install_newline_hook): Likewise.
23022
23023 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23024
23025 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23026
23027 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23028
23029 * configure.ac: Update version to 1.98.
23030
23031 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23032
23033 * util/grub.d/10_linux.in (linux_entry): Don't default to
23034 gfxpayload=keep if Linux doesn't support video handover.
23035
23036 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 Don't compile video modules on yeeloong since video subsystem is part
23039 of kernel.
23040
23041 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23042 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23043 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23044 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23045 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23046 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23047 * include/grub/bitmap_scale.h: Likewise.
23048 * include/grub/bufio.h: Likewise.
23049 * include/grub/font.h: Likewise.
23050 * include/grub/gfxterm.h: Likewise.
23051 * include/grub/video.h: Likewise.
23052 * include/grub/vbe.h: Don't include video_fb.h.
23053 * video/i386/pc/vbe.c: Include video_fb.h.
23054 * commands/i386/pc/vbetest.c: Include video.h.
23055
23056 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23057
23058 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23059 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23060 default entry if GRUB_SAVEDEFAULT=true. This allows using
23061 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23062 saving a new default on every boot.
23063
23064 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23067 * normal/term.c (read_terminal_list): Likewise.
23068 * normal/main.c (grub_normal_init_page): Likewise.
23069 (grub_normal_read_line_real): Likewise.
23070
23071 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23074 memory leak.
23075 Reported by: Seth Goldberg.
23076
23077 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23078
23079 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23080 duplicate declaration of `start'.
23081
23082 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23085 filename.
23086 Reported by: Georgy Buranov
23087
23088 2010-02-20 Carles Pina i Estany <carles@pina.cat>
23089
23090 * util/grub-mkrawimage.c (usage): Change string formatting to
23091 improve gettext.
23092
23093 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23094
23095 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23096 backspace keys.
23097
23098 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23099
23100 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23101 Reported by: Michael Suchanek.
23102
23103 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
23104
23105 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23106 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23107
23108 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23109
23110 Remove any reference to non-free fonts.
23111
23112 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23113 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23114 uses non-free components.
23115 * font/font.c (grub_font_get_name): Remove example name.
23116 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23117 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23118 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23119 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23120
23121 2010-02-16 Georgy Buranov <gburanov@gmail.com>
23122
23123 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23124
23125 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23126
23127 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23128 Double divisor.
23129 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23130 features.
23131 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23132
23133 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23134
23135 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23136
23137 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23138
23139 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23140 * docs/grub.texi (Command-line and menu entry commands): Document play
23141 command.
23142
23143 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23144
23145 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23146 parse arguments as inline tempo and notes. Move code for playing notes
23147 to...
23148 (play): ... new function.
23149
23150 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23151
23152 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23153 grub_uint16_t instead of short.
23154 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23155 disk from little endian to cpu endianness.
23156
23157 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23158
23159 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23160 GRUB_TICKS_PER_SECOND instead of 120.
23161
23162 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23163
23164 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23165 escape sequence after \e.
23166
23167 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23168
23169 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23170 non-ASCII characters.
23171
23172 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23175 set root in single quotes to prevent \, from being unescaped.
23176
23177 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23178
23179 Prevent unknown commands from stopping menuentry execution.
23180
23181 * script/execute.c (grub_script_execute_cmdline): Print error after
23182 unknown command.
23183
23184 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23187 Reported by: Pavel Pisa.
23188
23189 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23192
23193 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 Merge grub_ieee1275_map_physical into grub_map and rename to
23196 grub_ieee1275_map
23197
23198 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23199 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23200 Remove.
23201 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23202 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23203 necessary.
23204 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23205
23206 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23209 opening and not after.
23210
23211 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23214 constants.
23215
23216 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23217
23218 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23219 (alloc_phys): Use ALIGN_UP instead of align_addr.
23220
23221 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23224
23225 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23226
23227 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23228
23229 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23230
23231 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23232 verbose dprintf.
23233
23234 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23235
23236 Fix over-4GiB seek on sparc64.
23237
23238 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23239 Replace pos_i and pos_lo with pos. All users updated.
23240 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23241 New constant.
23242 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23243 Likewise.
23244 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23245 and pos_lo.
23246
23247 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23248
23249 * util/grub-mkrawimage.c (main): Call set_program_name.
23250
23251 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 Properly align 64-bit targets.
23254
23255 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23256 (generate_image): Use ALIGN_ADDR.
23257
23258 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 Properly create cross-endian images.
23261
23262 * include/grub/types.h (grub_host_to_target_addr): New macro
23263 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23264
23265 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23268
23269 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23270
23271 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23272
23273 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23274 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23275 (grub_linux_boot): Divide by 64K when on VESA.
23276
23277 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23278
23279 Support GRUB_GFXPAYLOAD_LINUX.
23280
23281 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23282 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23283
23284 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23287 to show messages instead of discarding them.
23288 Process errors after executing command and not before. Keep old method
23289 too as precaution.
23290
23291 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23292
23293 * configure.ac: Check for ft2build.h.
23294
23295 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23296
23297 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23298
23299 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23300
23301 * genkernsyms.sh.in: Use TARGET_CC.
23302
23303 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
23304
23305 * NEWS: Update.
23306
23307 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 * include/grub/multiboot2.h: Remove leftover file.
23310 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23311 * include/grub/partition.h [GRUB_UTIL]: Likewise.
23312
23313 2010-02-07 Yves Blusseau <blusseau@zetam.org>
23314
23315 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
23316
23317 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 Fix warnings in grub-emu when compiling with maximum warning options.
23320
23321 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23322 (grub_arch_modules_addr): Return 0 and not NULL.
23323 * util/misc.c (ENABLE_RELOCATABLE): New definition.
23324 (xstrdup): Use newstr instead of dup.
23325 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23326 of disk to dsk to avoid shadowing.
23327 (find_free_slot): Fix prototype.
23328 * util/getroot.c (grub_util_is_dmraid): Make static.
23329 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23330 Add missing prototype.
23331 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
23332
23333 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23334
23335 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23336 appropriately.
23337
23338 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23341 code out.
23342
23343 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23346 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23347 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23348 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23349 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23350 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23351
23352 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23353
23354 * include/grub/err.h (grub_err_printf): Don't export.
23355
23356 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23359
23360 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23363 * kern/misc.c (grub_gettext_dummy): Make static.
23364
23365 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23366
23367 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23368 by non-valid ones.
23369 * kern/term.c (grub_putchar): Likewise.
23370
23371 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23374 buggy hook call and memory leak.
23375
23376 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23379
23380 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23381
23382 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23383
23384 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23387 modevar.
23388 Return grub_errno on allocation error.
23389
23390 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23391
23392 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23393
23394 2010-02-06 Yves Blusseau <blusseau@zetam.org>
23395
23396 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23397 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23398
23399 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23400
23401 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23402 non-pxe disk.
23403 (grub_pxefs_open): Likewise.
23404
23405 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23406
23407 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23408 * util/grub.d/10_kfreebsd.in: Likewise.
23409 * util/grub.d/10_linux.in: Likewise.
23410
23411 2010-02-06 Colin D Bennett <colin@gibibit.com>
23412
23413 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23414 (gfxmenu_mod_SOURCES): New variable.
23415 (gfxmenu_mod_CFLAGS): Likewise.
23416 (gfxmenu_mod_LDFLAGS): Likewise.
23417 * include/grub/term.h (grub_term_set_current_output): Declare
23418 argument as const.
23419 * docs/gfxmenu-theme-example.txt: New file.
23420 * gfxmenu/gfxmenu.c: Likewise.
23421 * gfxmenu/gui_box.c: Likewise.
23422 * gfxmenu/gui_canvas.c: Likewise.
23423 * gfxmenu/gui_circular_progress.c: Likewise.
23424 * gfxmenu/gui_image.c: Likewise.
23425 * gfxmenu/gui_label.c: Likewise.
23426 * gfxmenu/gui_list.c: Likewise.
23427 * gfxmenu/gui_progress_bar.c: Likewise.
23428 * gfxmenu/gui_string_util.c: Likewise.
23429 * gfxmenu/gui_util.c: Likewise.
23430 * gfxmenu/icon_manager.c: Likewise.
23431 * gfxmenu/model.c: Likewise.
23432 * gfxmenu/named_colors.c: Likewise.
23433 * gfxmenu/theme_loader.c: Likewise.
23434 * gfxmenu/view.c: Likewise.
23435 * gfxmenu/widget-box.c: Likewise.
23436 * include/grub/gfxmenu_model.h: Likewise.
23437 * include/grub/gfxmenu_view.h: Likewise.
23438 * include/grub/gfxwidgets.h: Likewise.
23439 * include/grub/gui.h: Likewise.
23440 * include/grub/gui_string_util.h: Likewise.
23441 * include/grub/icon_manager.h: Likewise.
23442
23443 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23444
23445 Agglomerate scrolling in gfxterm.
23446
23447 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23448 (grub_virtual_screen_setup): Initialise 'total_screen'.
23449 (write_char): Split to ...
23450 (paint_char): ... this ...
23451 (write_char): ... and this.
23452 (paint_char): Handle delayed scrolling.
23453 (draw_cursor): Likewise.
23454 (scroll_up): Split to ...
23455 (real_scroll): ... this ...
23456 (scroll_up): ... and this.
23457 (real_scroll): Handle multi-line scroll and draw below-the-bottom
23458 characters.
23459 (grub_gfxterm_refresh): Call real_scroll.
23460
23461 2010-02-06 Colin D Bennett <colin@gibibit.com>
23462
23463 * include/grub/misc.h (grub_iscntrl): New inline function.
23464 (grub_isalnum): Likewise.
23465 (grub_strtol): Likewise.
23466
23467 2010-02-06 Colin D Bennett <colin@gibibit.com>
23468
23469 * normal/menu_text.c (get_entry_number): Move from here ...
23470 * normal/menu.c (get_entry_number): ... moved here.
23471 * include/grub/menu.h (grub_menu_get_default_entry_index):
23472 New prototype.
23473 * normal/menu.c (grub_menu_get_default_entry_index): New function.
23474 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
23475 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
23476 (grub_menu_viewer_should_return): Likewise.
23477 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
23478 * normal/menu_text.c (run_menu): Enable menu switching.
23479 * normal/menu_viewer.c (should_return): New variable.
23480 (menu_viewer_changed): Likewise.
23481 (grub_menu_viewer_show_menu): Handle menu viewer changes.
23482 (grub_menu_viewer_should_return): New function.
23483 (menuviewer_write_hook): Likewise.
23484 (grub_menu_viewer_init): Likewise.
23485
23486 2010-02-06 Colin D Bennet <colin@gibibit.com>
23487 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 Support for gfxterm in a window.
23490
23491 * include/grub/gfxterm.h: New file.
23492 * include/grub/video.h (struct grub_video_rect): New declaration.
23493 (grub_video_rect_t): Likewise.
23494 * term/gfxterm.c (struct grub_gfxterm_window): New type.
23495 (refcount): New variable.
23496 (render_target): Likewise.
23497 (window): Likewise.
23498 (repaint_callback): Likewise.
23499 (grub_virtual_screen_setup): Use 'render_target'.
23500 (init_window): New function.
23501 (grub_gfxterm_init_window): Likewise.
23502 (grub_gfxterm_init): Check reference counter.
23503 Use init_window.
23504 (destroy_window): New function.
23505 (grub_gfxterm_destroy_window): Likewise.
23506 (grub_gfxterm_fini): Check reference counter.
23507 Use destroy_window.
23508 (redraw_screen_rect): Restore viewport.
23509 Use 'render_target' and 'window'.
23510 Call 'repaint_callback'.
23511 (write_char): Use 'render_target'.
23512 (draw_cursor): Likewise.
23513 (scroll_up): Restore viewport.
23514 Use 'render_target' and 'window'.
23515 Call 'repaint_callback'.
23516 (grub_gfxterm_cls): Likewise.
23517 (grub_gfxterm_refresh): Use 'window'.
23518 (grub_gfxterm_set_repaint_callback): New function.
23519 (grub_gfxterm_background_image_cmd): Use 'window'.
23520 (grub_gfxterm_get_term): New function.
23521 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
23522
23523 2010-02-06 Colin D Bennett <colin@gibibit.com>
23524
23525 Bitmap scaling support.
23526
23527 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
23528 (bitmap_scale_mod_SOURCES): New variable.
23529 (bitmap_scale_mod_CFLAGS): Likewise.
23530 (bitmap_scale_mod_LDFLAGS): Likewise.
23531 * include/grub/bitmap_scale.h: New file.
23532 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
23533 (background_image_cmd_options): New variable.
23534 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
23535 (cmd): Rename and change type to ...
23536 (background_image_cmd_handle): ... this. All users updated.
23537 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
23538 * video/bitmap_scale.c: New file.
23539
23540 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23541
23542 SDL support.
23543
23544 * Makefile.in (LIBSDL): New variable.
23545 (enable_grub_emu_sdl): Likewise.
23546 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
23547 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
23548 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
23549 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
23550 * util/sdl.c: New file.
23551
23552 2010-02-06 Colin D Bennett <colin@gibibit.com>
23553 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 Double buffering support.
23556
23557 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23558 * include/grub/video.h: Update comment.
23559 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23560 New type.
23561 (grub_video_fb_doublebuf_blit_init): New prototype.
23562 * term/gfxterm.c (scroll_up): Support double buffering.
23563 (grub_gfxterm_refresh): Likewise.
23564 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
23565 (grub_video_fb_doublebuf_blit_init): Likewise.
23566 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
23567 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
23568 'displayed_page', 'render_page' and 'update_screen'.
23569 (grub_video_vbe_fini): Free offscreen buffer.
23570 (doublebuf_pageflipping_commit): New function.
23571 (doublebuf_pageflipping_update_screen): Likewise.
23572 (doublebuf_pageflipping_init): Likewise.
23573 (double_buffering_init): Likewise.
23574 (grub_video_vbe_setup): Enable doublebuffering.
23575 (grub_video_vbe_swap_buffers): Implement.
23576 (grub_video_vbe_set_active_render_target): Handle double buffering.
23577 (grub_video_vbe_get_active_render_target): Likewise.
23578 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
23579 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
23580 (grub_video_vbe_enable_double_buffering): Likewise.
23581 (grub_video_vbe_swap_buffers): Use update_screen.
23582 (grub_video_set_mode): Use double buffering.
23583
23584 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23585
23586 * maintainance/gentrigtables.py: Remove.
23587 * lib/trig.c: Likewise.
23588
23589 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
23590
23591 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
23592 `trigtables.c'.
23593 (trigtables.c): New rule.
23594 (gentrigtables): Likewise.
23595 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
23596
23597 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23598
23599 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
23600 integer constants.
23601
23602 2010-02-06 Colin D Bennet <colin@gibibit.com>
23603
23604 Trigonometry support.
23605
23606 * include/grub/trig.h: New file.
23607 * lib/trig.c: Likewise.
23608 * maintainance/gentrigtables.py: Likewise.
23609 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
23610 (trig_mod_SOURCES): New variable.
23611 (trig_mod_CFLAGS): Likewise.
23612 (trig_mod_LDFLAGS): Likewise.
23613
23614 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23615
23616 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23617 disk devices.
23618
23619 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23622 error.
23623
23624 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 * util/hostdisk.c (open_device): Don't use partition device when reading
23627 before the partition.
23628 (grub_util_biosdisk_read): Don't read from partition and before the
23629 partition in single operation.
23630 (grub_util_biosdisk_write): Don't write to partition and before the
23631 partition in single operation.
23632
23633 2010-02-03 Torsten Landschoff <torsten@debian.org>
23634
23635 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23636 last sectors.
23637
23638 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23641 CDROM reads.
23642 (grub_biosdisk_write): Refuse to write to CDROM.
23643
23644 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23645
23646 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23647
23648 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23649
23650 * font/font.c (find_glyph): Check that bmp_idx is available before
23651 using it.
23652 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23653 with (font == NULL).
23654
23655 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
23656
23657 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23658
23659 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23660
23661 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23662 * util/grub-script-check.c (getline): Fix empty lines case.
23663
23664 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23665
23666 * Makefile.in (check): Exit with fail status when one of the tests
23667 fails.
23668 * tests/example_functional_test.c (example_test): Fix reversed assert.
23669 * tests/example_unit_test.c (example_test): Likewise.
23670
23671 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
23672
23673 * util/grub.d/10_linux.in: This script does not use any of the
23674 contents of gettext.sh, only the external command `gettext', so stop
23675 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23676 the same prefix as GRUB.)
23677 * util/grub.d/10_kfreebsd.in: Likewise.
23678
23679 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23680
23681 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23682 of the line.
23683
23684 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23687 last sectors.
23688
23689 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23692 having a 4KiB and not 32KiB buffer size.
23693
23694 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * util/hostfs.c: Include `<errno.h>'.
23697 (grub_hostfs_read): Handle errors from fseeko() and fread().
23698
23699 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23700
23701 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23702 loop when using read hooks on files whose size isn't sector-aligned.
23703
23704 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23705
23706 Remove unused parameter.
23707
23708 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23709 (grub_iso9660_open): Remove initialization of `data->length'.
23710
23711 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23712
23713 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23714 memleak conditions.
23715
23716 2010-01-27 Carles Pina i Estany <carles@pina.cat>
23717
23718 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23719 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23720
23721 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23722
23723 * util/bin2h.c (usage): Fix warning (space after backslash).
23724
23725 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23726
23727 * font/font.c: Include `grub/fontformat.h.
23728 Remove font file format constants.
23729 (grub_font_load): Use the new macros.
23730 * include/grub/fontformat.h: New file.
23731 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23732 (write_font_pf2): Use the new macros.
23733
23734 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23735
23736 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23737 does.
23738
23739 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23742
23743 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23744 (_start): Macroify `0x7F'.
23745
23746 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23747 (make_install_device): Use "(pxe)" as fallback prefix when booting
23748 via PXE.
23749
23750 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * configure.ac: Reset LIBS after check for libgcc symbols.
23753
23754 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
23755
23756 * util/hostdisk.c (open_device): Add trailing newline to debug
23757 message.
23758
23759 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23760
23761 * configure.ac: Check for `limits.h'.
23762 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23763
23764 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23765
23766 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23767 capitalize error strings.
23768
23769 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23770
23771 * util/grub.d/10_hurd.in: Add a recovery mode.
23772
23773 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 * configure.ac: Check for libgcc symbols with -nostdlib.
23776
23777 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23778
23779 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23780
23781 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23784 stack since heap may be unavailable at that point.
23785 (grub_ofconsole_gotoxy): Likewise.
23786
23787 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * configure.ac: Check for _restgpr_14_x.
23790 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23791 and _savegpr_* prototypes.
23792
23793 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23794
23795 Use generic grub_reboot() for i386-efi.
23796
23797 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23798 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23799 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23800
23801 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23804 presence of "prefix" variable as it breaks when normal.mod is
23805 embedded.
23806
23807 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23810 stack since heap is unavailable at that point.
23811
23812 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23815 (grub_freebsd_bootinfo): Rewritten.
23816 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23817
23818 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23821
23822 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23823
23824 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23825 domain now.
23826
23827 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
23828
23829 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23830 around for handling "/" to the correct fix. Fix a memory leak. Use
23831 xstrdup instead of strdup.
23832
23833 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23834
23835 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23836
23837 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23838
23839 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23840
23841 * font/font.c (struct grub_font): New member 'bmp_idx'.
23842 (font_init): Initialise 'bmp_idx'.
23843 (load_font_index): Fill 'bmp_idx'.
23844 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23845
23846 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23849 unnecessary calls.
23850
23851 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23852
23853 Move context handling out of the kernel.
23854
23855 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23856 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23857 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23858 * conf/i386-efi.rmk: Likewise.
23859 * conf/i386-ieee1275.rmk: Likewise.
23860 * conf/i386-pc.rmk: Likewise.
23861 * conf/powerpc-ieee1275.rmk: Likewise.
23862 * conf/sparc64-ieee1275.rmk: Likewise.
23863 * conf/x86_64-efi.rmk: Likewise.
23864 * include/grub/env.h: Include grub/menu.h.
23865 (grub_env_var_type): Removed.
23866 (grub_env_var): Replaced field 'type' with 'global'.
23867 (grub_env_find): New prototype.
23868 (grub_env_context_open): Remove EXPORT_FUNC.
23869 (grub_env_context_close): Likewise.
23870 (grub_env_export): Likewise.
23871 (grub_env_set_data_slot): Removed.
23872 (grub_env_get_data_slot): Likewise.
23873 (grub_env_unset_data_slot): Likewise.
23874 (grub_env_unset_menu): New prototype.
23875 (grub_env_set_menu): Likewise.
23876 (grub_env_get_menu): Likewise.
23877 * include/grub/env_private.h: New file.
23878 * include/grub/normal.h (grub_context_init): New prototype.
23879 (grub_context_fini): Likewise.
23880 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23881 * normal/context.c (grub_cmd_export): ... to here.
23882 * kern/env.c: Include env_private.h.
23883 (HASHSZ): Moved to include/grub/env_private.h.
23884 (grub_env_context): Likewise.
23885 (grub_env_sorted_var): Likewise.
23886 (current_context): Renamed from this ...
23887 (grub_current_context): ...to this. 'static' removed. All users updated.
23888 (grub_env_find): Removed 'static'.
23889 (grub_env_context_open): Moved to normal/context.c.
23890 (grub_env_context_close): Likewise.
23891 (grub_env_export): Likewise.
23892 (mangle_data_slot_name): Removed.
23893 (grub_env_set_data_slot): Likewise.
23894 (grub_env_get_data_slot): Likewise.
23895 (grub_env_unset_data_slot): Likewise.
23896 * kern/main.c (grub_set_root_dev): Don't export root.
23897 It will be done later.
23898 (grub_main): Don't export prefix.
23899 It will be done later.
23900 * normal/context.c: New file.
23901 * normal/main.c (free_menu): Use grub_env_unset_menu.
23902 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23903 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23904 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23905 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23906
23907 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 setpci support.
23910
23911 * commands/setpci.c: New file.
23912 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23913 (setpci_mod_SOURCES): New variable.
23914 (setpci_mod_CFLAGS): Likewise.
23915 (setpci_mod_LDFLAGS): Likewise.
23916
23917 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23918
23919 Byte-addressable PCI configuration space.
23920
23921 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23922 dword address.
23923 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23924 GRUB_PCI_REG_CACHELINE.
23925 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23926 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23927 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23928 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23929 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23930 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23931 grub_pci_make_address.
23932 (lock_rom_area): Likewise.
23933 * commands/lspci.c (grub_lspci_iter): Use macroses
23934 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23935 of grub_pci_make_address.
23936 * disk/ata.c (grub_ata_pciinit): Likewise.
23937 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23938 (GRUB_PCI_REG_VENDOR): Likewise.
23939 (GRUB_PCI_REG_DEVICE): Likewise.
23940 (GRUB_PCI_REG_COMMAND): Likewise.
23941 (GRUB_PCI_REG_STATUS): Likewise.
23942 (GRUB_PCI_REG_REVISION): Likewise.
23943 (GRUB_PCI_REG_CLASS): Likewise.
23944 (GRUB_PCI_REG_CACHELINE): Likewise.
23945 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23946 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23947 (GRUB_PCI_REG_BIST): Likewise.
23948 (GRUB_PCI_REG_ADDRESSES): Likewise.
23949 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23950 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23951 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23952 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23953 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23954 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23955 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23956 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23957 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23958 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23959 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23960 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23961 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23962 (GRUB_PCI_REG_MIN_GNT): Likewise.
23963 (GRUB_PCI_REG_MAX_LAT): Likewise.
23964 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23965 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23966 * video/efi_uga.c (find_framebuf): Likewise.
23967 * video/sm712.c (grub_video_sm712_setup): Likewise.
23968 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23969 space.
23970
23971 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23974 can be reliably determined to be supported.
23975
23976 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23979 that VESA is supported.
23980 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23981 supported.
23982
23983 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23984
23985 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23986
23987 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23988
23989 * util/misc.c (make_system_path_relative_to_its_root): Work around
23990 special-casing of "/", as previous incarnation of this routine did.
23991
23992 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23993
23994 Fix any-emu compilation.
23995
23996 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23997 * grub_bin2h_SOURCES: New variable.
23998
23999 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24000
24001 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24002
24003 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24004
24005 * util/grub.d/00_header.in: Fix handling of locale_dir.
24006
24007 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24010 as possible unifont location (Gentoo).
24011 Reported by: Alexander Brüning
24012
24013 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24014
24015 Don't try to generate lists for kernel.img.
24016
24017 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24018 (pkglib_MODULES): Remove kernel.img.
24019 (kernel_img_EXPORTS): Removed.
24020 (kernel_img_RELOCATABLE): New variable.
24021 * conf/x86_64-efi.rmk: Likewise.
24022 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24023
24024 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24025
24026 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24027 grub_xasprintf or grub_snprintf.
24028 (grub_vsprintf): Likewise.
24029 (grub_snprintf): New proto.
24030 (grub_vsnprintf): Likewise.
24031 (grub_xasprintf): Likewise.
24032 (grub_xvasprintf): Likewise.
24033 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24034 (grub_sprintf): Removed.
24035 (grub_vsnprintf): New function.
24036 (grub_snprintf): Likewise.
24037 (grub_xvasprintf): Likewise.
24038 (grub_xasprintf): Likewise.
24039 (grub_vsprintf): Renamed to ...
24040 (grub_vsnprintf_real): ...this. New argument max_len.
24041
24042 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24043
24044 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24045 fix grub-script-check warning.
24046
24047 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * include/grub/font.h (grub_font_load): Fix prototype.
24050
24051 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24052
24053 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24054
24055 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24056
24057 * include/grub/x86_64/at_keyboard.h: New file.
24058
24059 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24060
24061 * loader/mips/linux.c: Include missing grub/i18n.h.
24062
24063 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24064
24065 * normal/menu.c (notify_execution_failure): Clarify error message.
24066
24067 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24068
24069 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24070 return value (and revert all return statements). Update users.
24071
24072 2010-01-20 Dan Merillat <debian@dan.merillat.org>
24073
24074 * kern/device.c (grub_device_iterate): Allocate new part_ent
24075 structure based on sizeof (*p) rather than sizeof (p->next), to
24076 account for structure padding.
24077
24078 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24079 disk is NULL, which might happen for LVM physical volumes with no
24080 LVM signature.
24081
24082 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24083
24084 * loader/mips/linux.c (grub_cmd_initrd)
24085 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24086
24087 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24088
24089 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24090 (grub_video_video_init, grub_video_bitmap_init)
24091 (grub_font_manager_init, grub_term_gfxterm_init)
24092 (grub_at_keyboard_init): New extern declarations.
24093 (grub_machine_init): Initialize gfxterm and at_keyboard.
24094
24095 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24096
24097 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24098 `gfxterm.mod' into core image.
24099
24100 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24101 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24102 (kernel_img_FORMAT): Copy to ...
24103
24104 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24105 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24106 (kernel_img_FORMAT): ... here, and ...
24107
24108 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24109 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24110 (kernel_img_FORMAT): ... here.
24111
24112 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24113 and input (at_keyboard) terminals in kernel.
24114 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24115
24116 (pkglib_MODULES): Remove `pci.mod'.
24117 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24118 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24119 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24120 (at_keyboard_mod_LDFLAGS): Remove variables.
24121
24122 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
24123
24124 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24125
24126 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 * include/grub/mips/libgcc.h: Only export symbols for functions
24129 that libgcc provides.
24130
24131 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24132
24133 MIPS support.
24134
24135 * bus/bonito.c: New file.
24136 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24137 GRUB_PCI_NUM_DEVICES.
24138 * term/i386/pc/serial.c: Move to ...
24139 * term/serial.c: ... here. All users updated.
24140 * util/i386/pc/grub-mkimage.c: Move to ...
24141 * util/grub-mkrawimage.c: ... here. All users updated.
24142 * term/i386/pc/at_keyboard.c: Move to ...
24143 * term/at_keyboard.c: ... here. All users updated.
24144 * conf/mips-qemu-mips.rmk: New file.
24145 * conf/mips-yeeloong.rmk: Likewise.
24146 * conf/mips.rmk: Likewise.
24147 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24148 mipsel-qemu-mips.
24149 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24150 to port addresses.
24151 (grub_ata_pciinit): Support CS5536.
24152 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24153 * font/font_cmd.c (loadfont_command): Open file before passing it to
24154 grub_font_load.
24155 (pseudo_file_read): New function.
24156 (pseudo_file_close): Likewise.
24157 (pseudo_fs): New structure.
24158 (load_font_module): New function.
24159 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24160 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24161 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24162 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24163 * include/grub/i386/at_keyboard.h: Split into ...
24164 * include/grub/at_keyboard.h: ... this ...
24165 * include/grub/i386/at_keyboard.h: ... and this.
24166 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24167 New prototype.
24168 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24169 updated.
24170 (grub_elf64_size): Likewise.
24171 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24172 filename.
24173 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24174 * include/grub/i386/coreboot/serial.h: Rewritten.
24175 * include/grub/i386/ieee1275/serial.h: Include
24176 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24177 * include/grub/i386/pc/serial.h: Moved from here ...
24178 * include/grub/serial.h: ... to here. All users updated.
24179 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24180 (GRUB_PCI_NUM_BUS): Likewise.
24181 (GRUB_PCI_NUM_DEVICES): Likewise.
24182 (grub_pci_device_map_range): Add missing volatile keyword.
24183 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24184 * include/grub/mips/at_keyboard.h: New file.
24185 * include/grub/mips/cache.h: Likewise.
24186 * include/grub/mips/io.h: Likewise.
24187 * include/grub/mips/kernel.h: Likewise.
24188 * include/grub/mips/libgcc.h: Likewise.
24189 * include/grub/mips/pci.h: Likewise.
24190 * include/grub/mips/qemu-mips/boot.h: Likewise.
24191 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24192 * include/grub/mips/qemu-mips/loader.h: Likewise.
24193 * include/grub/mips/qemu-mips/memory.h: Likewise.
24194 * include/grub/mips/qemu-mips/serial.h: Likewise.
24195 * include/grub/mips/qemu-mips/time.h: Likewise.
24196 * include/grub/mips/relocator.h: Likewise.
24197 * include/grub/mips/time.h: Likewise.
24198 * include/grub/mips/types.h: Likewise.
24199 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24200 * include/grub/mips/yeeloong/boot.h: Likewise.
24201 * include/grub/mips/yeeloong/kernel.h: Likewise.
24202 * include/grub/mips/yeeloong/loader.h: Likewise.
24203 * include/grub/mips/yeeloong/memory.h: Likewise.
24204 * include/grub/mips/yeeloong/pci.h: Likewise.
24205 * include/grub/mips/yeeloong/serial.h: Likewise.
24206 * include/grub/mips/yeeloong/time.h: Likewise.
24207 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24208 * kern/elf.c (grub_elf32_size): New parameter. All users
24209 updated.
24210 (grub_elf64_size): Likewise.
24211 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24212 Load modules before saying "Welcome to GRUB!".
24213 Call grub_refresh after saying "Welcome to GRUB!".
24214 * kern/mips/cache.S: New file.
24215 * kern/mips/cache_flush.S: Likewise.
24216 * kern/mips/dl.c: Likewise.
24217 * kern/mips/init.c: Likewise.
24218 * kern/mips/qemu-mips/init.c: Likewise.
24219 * kern/mips/startup.S: Likewise.
24220 * kern/mips/yeeloong/init.c: Likewise.
24221 * kern/term.c (grub_putcode): Handle NULL terminal.
24222 (grub_getcharwidth): Likewise.
24223 (grub_getkey): Likewise.
24224 (grub_checkkey): Likewise.
24225 (grub_getkeystatus): Likewise.
24226 (grub_getxy): Likewise.
24227 (grub_getwh): Likewise.
24228 (grub_gotoxy): Likewise.
24229 (grub_cls): Likewise.
24230 (grub_setcolorstate): Likewise.
24231 (grub_setcolor): Likewise.
24232 (grub_getcolor): Likewise.
24233 (grub_refresh): Likewise.
24234 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24235 (write_jump): Add hatch nop.
24236 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24237 * lib/mips/setjmp.S: New file.
24238 * loader/mips/linux.c: Likewise.
24239 * term/i386/pc/at_keyboard.c: Move from here ...
24240 * term/at_keyboard.c: ... to here.
24241 * term/i386/pc/serial.c: Moved from here ...
24242 * term/serial.c: ... to here. All users updated.
24243 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24244 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24245 (serial_translate_key_sequence): Avoid deadlock.
24246 (grub_serial_getkey): Handle backspace.
24247 (grub_serial_putchar): Fix newline handling.
24248 * util/i386/pc/grub-mkimage.c: Move from here ...
24249 * util/grub-mkrawimage.c: ... to here. All users updated.
24250 (generate_image): New parameters 'font_path' and 'format'.
24251 Support embedding font.
24252 Use grub_host_to_target* instead of grub_cpu_to_le*.
24253 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24254 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24255 (options): New option "--font".
24256 (usage): Likewise.
24257 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24258 (main): Handle "--font".
24259 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24260 (grub_virtual_screen_setup): Set bg_color_display.
24261 (redraw_screen_rect): Use bg_color_display instead of incorrect
24262 bg_color.
24263 (grub_gfxterm_cls): Likewise.
24264 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24265 Support embedding config file.
24266 (add_segments): Likewise.
24267 (options): New option "--config".
24268 (main): Handle "--config".
24269 * video/sm712.c: New file.
24270
24271 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24272
24273 Fix parallel builds.
24274
24275 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24276 font.c depend on ascii.h).
24277
24278 2010-01-12 Carles Pina i Estany <carles@pina.cat>
24279
24280 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24281
24282 2010-01-11 Carles Pina i Estany <carles@pina.cat>
24283
24284 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24285 By default: disabled.
24286 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24287 parameter.
24288
24289 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24290
24291 * font/font.c: Update copyright years.
24292 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24293
24294 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24295
24296 * font/font.c: Include `ascii.h'.
24297 (ASCII_BITMAP_SIZE): New macro.
24298 (ascii_font_glyph): Define.
24299 (ascii_glyph_lookup): New function.
24300 (grub_font_get_string_width): Change comment. If glyph not found, use
24301 ascii_glyph_lookup.
24302 (grub_font_get_glyph_with_fallback): If glyph not available returns
24303 ascii_glyph_lookup.
24304 * util/grub-mkfont.c (file_formats): New enum.
24305 (options): Add `ascii-bitmaps' new option.
24306 (usage): Add `asii-bitmaps' new option.
24307 (write_font_ascii_bitmap): New function.
24308 (write_font): Rename to ...
24309 (write_font_p2): ... this. Remove print_glyphs call.
24310 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24311 used. Call print_glyphs.
24312 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24313
24314 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24315
24316 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24317 (grub_bin2h_SOURCES): New variable.
24318 * util/bin2h.c: New file.
24319
24320 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 * include/multiboot.h: Resynced with spec.
24323 * include/multiboot2.h: Likewise.
24324 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24325 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24326
24327 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24328
24329 * include/grub/term.h (grub_term_register_input,
24330 grub_term_register_output): Check return of terminal init()
24331 routines, and abort if errors are raised.
24332
24333 * commands/terminal.c: Update copyright year.
24334
24335 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24336
24337 * commands/terminal.c (grub_cmd_terminal_input)
24338 (grub_cmd_terminal_output): Check return of terminal init()
24339 routines, and abort if errors are raised.
24340
24341 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24342
24343 * include/grub/i386/bsd.h: Fix include pathes.
24344
24345 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24346
24347 Add missing *BSD copyright headers.
24348
24349 * include/grub/aout.h: Add BSD licence.
24350 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24351 * include/grub/i386/freebsd_linker.h: ... here,
24352 * include/grub/i386/freebsd_reboot.h: ... here,
24353 * include/grub/i386/netbsd_bootinfo.h: ... here,
24354 * include/grub/i386/netbsd_reboot.h: ... here,
24355 * include/grub/i386/openbsd_bootarg.h: ... here,
24356 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24357 licence to each file.
24358
24359 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24360
24361 * acinclude.m4: Remove `nop' assembly instruction; it's not
24362 implemented by all architectures.
24363
24364 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24365
24366 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24367 ELILO. This is no longer necessary.
24368
24369 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24370
24371 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24372
24373 * util/grub-script-check.c: grub-script-check tool.
24374 * conf/common.rmk: Make rules for grub-script-check.
24375
24376 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24379 spotting it back in 2008. Shame on me for forgetting he did.
24380
24381 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24382
24383 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24384
24385 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24386 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24387 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24388 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24389 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24390 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24391
24392 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24393
24394 * include/grub/test.h: Add license header.
24395 * tests/example_functional_test.c: Likewise.
24396 * tests/example_unit_test.c: Likewise.
24397 * tests/lib/functional_test.c: Likewise.
24398 * tests/lib/test.c: Likewise.
24399 * tests/lib/unit_test.c: Likewise.
24400
24401 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24402
24403 Use flag-based instead of hook-based video mode selection and "auto"
24404 keyword.
24405
24406 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24407 (grub_video_set_mode): Changed prototype. All users updated.
24408 (grub_video_check_mode_flag): New inline function.
24409 * video/video.c (parse_modespec): New function.
24410 (grub_video_set_mode): Parse flags and keywords.
24411
24412 2010-01-17 Carles Pina i Estany <carles@pina.cat>
24413
24414 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24415 fprintf call.
24416
24417 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24418
24419 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24420
24421 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24422
24423 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24424 string.
24425 * util/grub-emu.c (usage): Likewise.
24426 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24427 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24428 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24429 * util/i386/pc/grub-setup.c (usage): Likewise.
24430
24431 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24432
24433 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24434 the message.
24435 (grub_util_info): Likewise.
24436 (grub_util_error): Likewise.
24437 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24438 and/or new lines in `grub_util_warna', `grub_util_info',
24439 `grub_util_error' calls.
24440 * util/getroot.c: Likewise.
24441 * util/grub-editenv.c: Likewise.
24442 * util/grub-emu.c: Likewise.
24443 * util/grub-fstest.c: Likewise.
24444 * util/grub-mkdevicemap.c: Likewise.
24445 * util/grub-mkfont.c: Likewise.
24446 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24447 * util/grub-mkrelpath.c: Likewise.
24448 * util/grub-pe2elf.c: Likewise.
24449 * util/grub-probe.c: Likewise.
24450 * util/hostdisk.c: Likewise.
24451 * util/i386/efi/grub-mkimage.c: Likewise.
24452 * util/i386/pc/grub-mkimage.c: Likewise.
24453 * util/i386/pc/grub-setup.c: Likewise.
24454 * util/ieee1275/ofpath.c: Likewise.
24455 * util/mkisofs/eltorito.c: Likewise.
24456 * util/mkisofs/rock.c: Likewise.
24457 * util/mkisofs/write.c: Likewise.
24458 * util/raid.c: Likewise.
24459 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24460 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24461
24462 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 Enable multiboot on non-pc.
24465
24466 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
24467 multiboot.mod and multiboot2.mod to ...
24468 * conf/i386.rmk (pkglib_MODULES): ... here.
24469 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
24470 Moved to ...
24471 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
24472 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
24473 Moved to ...
24474 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
24475 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
24476 Moved to ...
24477 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
24478 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
24479 Moved to ...
24480 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
24481 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
24482 relocator.mod.
24483 (ata_mod_SOURCES): Removed.
24484 (ata_mod_CFLAGS): Likewise.
24485 (ata_mod_LDFLAGS): Likewise.
24486 (relocator_mod_SOURCES): Removed.
24487 (relocator_mod_CFLAGS): Likewise.
24488 (relocator_mod_ASFLAGS): Likewise.
24489 (relocator_mod_LDFLAGS): Likewise.
24490 Include i386.mk.
24491 * include/grub/x86_64/multiboot.h: New file.
24492 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
24493 Terminate EFI.
24494
24495 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24496
24497 Video multiboot support.
24498
24499 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
24500 New prototype.
24501 * include/multiboot.h: Resynced with multiboot specification.
24502 * include/multiboot2.h: Likewise.
24503 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
24504 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
24505 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
24506 (HAS_VGA_TEXT): Likewise.
24507 (accepts_video): New variable.
24508 (grub_multiboot_set_accepts_video): New function.
24509 (grub_multiboot_get_mbi_size): Account for video structures.
24510 (set_video_mode): New function.
24511 (retrieve_video_parameters): Likewise.
24512 (grub_multiboot_make_mbi): Fill video fields.
24513
24514 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24515
24516 Video driver ids.
24517
24518 * include/grub/video.h (grub_video_driver_id): New type.
24519 (grub_video_adapter): New member 'id'. All users updated.
24520 (grub_video_get_driver_id): New proto.
24521 * video/video.c (grub_video_get_driver_id): New function.
24522
24523 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24524
24525 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
24526 `var=val'.
24527
24528 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24529
24530 * normal/cmdline.c (print_completion): Gettextizze.
24531
24532 2001-01-14 Carles Pina i Estany <carles@pina.cat>
24533
24534 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
24535
24536 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24537
24538 * gettext/gettext.c (grub_gettext_translate): Push and pop
24539 grub_errno.
24540 (grub_gettext_delete_list): Change comment style.
24541 * kern/err.c (grub_error): Gettextizze.
24542 (grub_fatal): Gettextizze.
24543
24544 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
24547 (grub_linux16_real_boot): ... this.
24548 * kern/i386/loader.S: Likewise.
24549 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
24550 (grub_linux16_boot): New function. Switches to text mode and calls
24551 grub_linux16_real_boot().
24552
24553 * loader/i386/bsd.c: Include `<grub/video.h>'.
24554 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
24555 text mode before calling grub_unix_real_boot().
24556
24557 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24558 (grub_multiboot_boot): Switch to text mode before calling
24559 grub_relocator32_boot().
24560
24561 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24562 (grub_chainloader_boot): Switch to text mode before calling
24563 grub_chainloader_real_boot().
24564
24565 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24566 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24567
24568 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
24569 non-empty value.
24570
24571 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24572 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24573
24574 * util/grub.d/00_header.in: Define a "savedefault" function for use
24575 in menu entries.
24576 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
24577
24578 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24579 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24580
24581 * util/grub-mkconfig_lib.in (save_default_entry): Only set
24582 saved_entry if boot_once is unset.
24583 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
24584 previous saved entry (i.e. grub-reboot).
24585
24586 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24587
24588 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
24589
24590 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24591
24592 * util/grub.d/00_header.in: Use `set var=val' rather than plain
24593 `var=val'.
24594 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
24595
24596 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24597
24598 * util/grub-reboot.in: Fix --version output.
24599 * util/grub-set-default.in: Likewise.
24600
24601 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24602
24603 * util/grub.d/00_header.in: Silently ignore zero-sized environment
24604 blocks.
24605
24606 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24607
24608 * util/grub.d/00_header.in: Quote the value assigned to `default',
24609 in case it contains spaces.
24610
24611 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24612
24613 * util/grub.d/30_os-prober.in: Fix merge error that moved a
24614 `save_default_entry' call from the macosx case to the linux case.
24615
24616 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
24617 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
24618
24619 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24620 in `chosen' environment variable.
24621 * normal/menu_text.c (get_entry_number): Check if the variable
24622 matches the title of a menu entry.
24623 (run_menu): Pass menu to get_entry_number.
24624
24625 * util/grub-reboot.in: New file.
24626 * util/grub-set-default.in: New file.
24627 * conf/common.rmk (grub-reboot): New utility.
24628 (grub-set-default): New utility.
24629
24630 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24631 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24632 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24633 move it to `saved_entry' for the next boot. Load environment on
24634 initialisation.
24635 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24636 * util/grub.d/10_hurd.in: Likewise.
24637 * util/grub.d/10_linux.in (linux_entry): Likewise.
24638 * util/grub.d/10_windows.in: Likewise.
24639 * util/grub.d/30_os-prober.in: Likewise.
24640
24641 * util/grub-install.in: Create environment block.
24642 * util/i386/efi/grub-install.in: Likewise.
24643 * util/ieee1275/grub-install.in: Likewise.
24644 * util/sparc64/ieee1275/grub-install.in: Likewise.
24645
24646 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24647
24648 Unit testing framework for GRUB.
24649
24650 * Makefile.in: Test framework build rules for 'make check'.
24651 * conf/tests.rmk: Build rules for individual tests and framework.
24652
24653 * include/grub/test.h: Header file for whitebox tests.
24654 * tests/lib/functional_test.c: Framework support for whitebox
24655 functional tests.
24656 * tests/lib/test.c: Common whitebox testing code for unit and
24657 functional tests.
24658 * tests/lib/unit_test.c: Framework support for whitebox unit
24659 tests.
24660
24661 * tests/util/grub-shell-tester.in: Support utility for grub-script
24662 tests.
24663 * tests/util/grub-shell.in: Utility to execute grub-script
24664 commands in a Qemu instance.
24665
24666 * tests/example_functional_test.c: Example whitebox functional
24667 test.
24668 * tests/example_grub_script_test.in: Example grub-script test.
24669 * tests/example_scripted_test.in: Example scripted test.
24670 * tests/example_unit_test.c: Example whitebox unit test.
24671
24672 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24675 Add loader/i386/multiboot_mbi.c.
24676 (multiboot2_mod_SOURCES): Likewise.
24677 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24678 (multiboot2_mod_SOURCES): Likewise.
24679 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24680 (grub_multiboot_make_mbi): Likewise.
24681 (grub_multiboot_free_mbi): Likewise.
24682 (grub_multiboot_init_mbi): Likewise.
24683 (grub_multiboot_add_module): Likewise.
24684 (grub_multiboot_set_bootdev): Likewise.
24685 * loader/i386/multiboot.c (mbi): Removed.
24686 (mbi_dest): Likewise.
24687 (alloc_mbi): New variable.
24688 (grub_multiboot_payload_size): Removed. All users updated.
24689 (grub_multiboot_pure_size): New variable.
24690 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24691 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24692 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24693 (grub_fill_multiboot_mmap): Likewise.
24694 (grub_multiboot_get_bootdev): Likewise.
24695 (grub_multiboot): Use multiboot_mbi functions.
24696 * loader/i386/multiboot_mbi.c: New file.
24697
24698 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24701 it would result in module crash.
24702
24703 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24704
24705 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24706 (grub_ofconsole_getwh): Split to ...
24707 (grub_ofconsole_getwh): ... this.
24708 (grub_ofconsole_dimensions): ...and this.
24709 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24710
24711 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24712
24713 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24714
24715 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24716
24717 * loader/i386/pc/multiboot2.c: Removed stalled file.
24718
24719 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24720
24721 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24722 Reported by: Grégoire Sutre
24723
24724 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24725
24726 * util/misc.c (canonicalize_file_name): New function.
24727 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24728 instead of realpath().
24729
24730 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
24731
24732 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24733 and make it clearer that it's optional. Based on confusion
24734 witnessed on IRC.
24735
24736 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24737
24738 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24739 in premature implicit newline.
24740
24741 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24742
24743 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24744 which resulted in garbled command line at the end of screen.
24745
24746 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24747
24748 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24749 initialization with similar approach as with other Linux loaders.
24750
24751 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24752
24753 Fix i386-ieee1275 build.
24754
24755 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24756 and grub_term_height() for video_{width,height} initialization.
24757
24758 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24759
24760 Fix grub-emu build.
24761
24762 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24763
24764 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24765 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24766
24767 Support for multiple terminals.
24768
24769 * Makefile.in (pkglib_DATA): terminal.lst.
24770 (terminal.lst): New target.
24771 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24772 (GRUB_MOD_INIT(handler)): Likewise.
24773 (GRUB_MOD_FINI(handler)): Likewise.
24774 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24775 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24776 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24777 (grub_cmd_sleep): Use grub_term_save_pos.
24778 * commands/terminal.c: New file.
24779 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24780 commands/terminal.c and lib/charset.c.
24781 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24782 (pkglib_MODULES): Add terminal.mod.
24783 (terminal_mod_SOURCES): New variable.
24784 (terminal_mod_CFLAGS): Likewise.
24785 (terminal_mod_LDFLAGS): Likewise.
24786 * genhandlerlist.sh: Don't handle terminals.
24787 * genmk.rb: Generate terminal-*.lst.
24788 * genterminallist.sh: New file.
24789 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24790 (grub_is_valid_utf8): Likewise.
24791 (grub_utf8_to_ucs4_alloc): Likewise.
24792 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24793 (grub_menu_register_viewer): Changed argument.
24794 (grub_menu_try_text): New proto.
24795 (grub_gfxmenu_try_hook): New declaration.
24796 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24797 (grub_menu_init_page): Additional argument term.
24798 (grub_normal_init_page): Likewise.
24799 (grub_cmdline_get): Arguments simplified.
24800 (grub_utf8_to_ucs4_alloc): Removed.
24801 (grub_print_ucs4): Additional argument term.
24802 (grub_getstringwidth): Likewise.
24803 (grub_print_message_indented): Likewise.
24804 (grub_menu_text_register_instances): New proto.
24805 (grub_show_menu): Likewise.
24806 (read_terminal_list): Likewise.
24807 (grub_set_more): Likewise.
24808 * include/grub/parser.h: Include handler.h.
24809 * include/grub/reader.h: Rewritten.
24810 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24811 (GRUB_TERM_WIDTH): Changed to function.
24812 (GRUB_TERM_HEIGHT): Likewise.
24813 (GRUB_TERM_BORDER_WIDTH): Likewise.
24814 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24815 (GRUB_TERM_NUM_ENTRIES): Likewise.
24816 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24817 (GRUB_TERM_CURSOR_X): Likewise.
24818 (grub_term_input_class): Likewise.
24819 (grub_term_output_class): Likewise.
24820 (grub_term_outputs_disabled): New declaration.
24821 (grub_term_inputs_disabled): Likewise.
24822 (grub_term_outputs): Likewise.
24823 (grub_term_inputs): Likewise.
24824 (grub_term_register_input): Rewritten.
24825 (grub_term_register_output): Likewise.
24826 (grub_term_unregister_input): Likewise.
24827 (grub_term_unregister_output): Likewise.
24828 (FOR_ACTIVE_TERM_INPUTS): New macro.
24829 (FOR_DISABLED_TERM_INPUTS): Likewise.
24830 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24831 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24832 * include/grub/terminfo.h: Add oterm argument to all protypes.
24833 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24834 Use grub_rescue_run.
24835 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24836 All users updated.
24837 * kern/reader.c: Removed. All users updated.
24838 * kern/rescue_reader.c (grub_rescue_init): Removed.
24839 (grub_rescue_reader): Likewise.
24840 (grub_register_rescue_reader): Likewise.
24841 (grub_rescue_run): New function based on kern/reader.c.
24842 * kern/term.c: Adapted for multiterm.
24843 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24844 (grub_is_valid_utf8): Likewise.
24845 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24846 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24847 right terminal.
24848 * loader/i386/linux.c (grub_linux_boot): Likewise.
24849 * normal/auth.c (grub_username_get): New function.
24850 (grub_auth_check_authentication): Use grub_username_get.
24851 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24852 * normal/color.c: Adapt for multiterm.
24853 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24854 (grub_normal_init_page): Additional argument term.
24855 (read_lists): Call read_terminal_lists.
24856 (grub_enter_normal_mode): Call grub_cmdline_run.
24857 Handle grub_normal_exit_level.
24858 (grub_cmd_normal): Make reentrant.
24859 (grub_cmd_normal_exit): New function.
24860 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24861 * normal/menu.c: Adapt for multiterm.
24862 * normal/menu_entry.c: Likewise.
24863 * normal/menu_text.c: Likewise.
24864 * normal/menu_viewer.c: Removed. All users updated.
24865 * normal/term.c: New file.
24866 * util/console.c: Change order of includes to workaround a bug in
24867 ncurses headers.
24868 * term/terminfo.c: New argument oterm on all exported functions.
24869 All users updated.
24870 * util/grub-editenv.c (grub_term_input_class): Removed.
24871 (grub_term_output_class): Likewise.
24872
24873 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24874
24875 Make loader output a bit more user-friendly.
24876
24877 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24878 is being loaded. Likewise for the Hurd.
24879
24880 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24881 that kernel of FreeBSD ${version} is being loaded.
24882
24883 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24884 grub_dprintf().
24885 (grub_cmd_initrd): Likewise.
24886 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24887 that Linux ${version} is being loaded. Likewise for initrd.
24888
24889 2010-01-09 Carles Pina i Estany <carles@pina.cat>
24890
24891 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24892
24893 2010-01-08 Carles Pina i Estany <carles@pina.cat>
24894
24895 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24896 (GRUB_MOD_INIT): Gettextizze.
24897 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24898 (GRUB_MOD_INIT): Gettextizze.
24899 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24900 (grub_cmd_linux): Capitalise Linux.
24901 (GRUB_MOD_INIT): Gettextizze.
24902 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24903 (grub_cmd_linux): Capitalise Linux.
24904 (GRUB_MOD_INIT): Gettextizze.
24905 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24906 (grub_cmd_linux): Capitalise Linux.
24907 (GRUB_MOD_INIT): Gettextizze.
24908 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24909 (GRUB_MOD_INIT): Gettextizze.
24910 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24911 (grub_cmd_linux): Capitalise Linux.
24912 (GRUB_MOD_INIT): Gettextizze.
24913 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24914 (grub_cpu_xnu_init): Gettextizze.
24915 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24916 (GRUB_MOD_INIT): Gettextizze.
24917 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24918 (GRUB_MOD_INIT): Gettextizze.
24919 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24920 (grub_linux_load64): Capitalise Linux.
24921 (GRUB_MOD_INIT): Gettextizze.
24922 * loader/xnu.c: Include `<grub/i18n.h>'.
24923 (GRUB_MOD_INIT): Gettextizze.
24924 * po/POTFILES: Add `loader/efi/appleloader.c',
24925 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24926 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24927 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24928 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24929 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24930 and `loader/xnu.c'.
24931
24932 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24933
24934 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24935
24936 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24937
24938 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24939 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24940 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24941
24942 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24943
24944 Reset Multiboot 2 support. New loader implements the draft in
24945 /branches/multiboot2 and shares as much code as possible with the
24946 production Multiboot 1 implementation.
24947
24948 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24949 * loader/multiboot2.c: Likewise.
24950 * loader/i386/multiboot_helper.S: Likewise.
24951 * include/multiboot2.h: Replace with latest version from the draft
24952 in /branches/multiboot2.
24953
24954 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24955 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24956 and `loader/multiboot2.c'.
24957 (pkglib_MODULES): Add `multiboot2.mod'.
24958 (multiboot2_mod_SOURCES): New variable.
24959 (multiboot2_mod_LDFLAGS): Likewise.
24960 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24961
24962 * conf/i386-pc.rmk: Likewise.
24963
24964 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24965 (multiboot_mod_SOURCES): Remove variable.
24966 (multiboot_mod_LDFLAGS): Likewise.
24967 (multiboot_mod_CFLAGS): Likewise.
24968
24969 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24970 `<multiboot2.h>' instead of `<multiboot.h>'.
24971 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24972 (MULTIBOOT_HEADER_MAGIC): New macros.
24973
24974 * loader/multiboot_loader.c (module_version_status): Remove variable.
24975 (find_multi_boot2_header): Remove function.
24976 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24977 logic. Always check for the Multiboot version we're compiling for.
24978 (grub_cmd_module_loader): Likewise.
24979 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24980 command instead of `multiboot'.
24981
24982 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24983
24984 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24985 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24986 all users.
24987
24988 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24989 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Fix breakage introduced with previous commit.
24992
24993 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24994 commands.
24995 * normal/handler.c (read_handler_list): Revert part of previous commit
24996 affecting this file.
24997 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24998 (grub_normal_execute): ... here.
24999
25000 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25001
25002 Merge prefix-redefinition-fix branch.
25003
25004 * normal/autofs.c (read_fs_list): Make function capable of being
25005 run multiple times, gracefuly replacing the previous data
25006 structures.
25007 * normal/dyncmd.c (read_command_list): Likewise.
25008 * normal/handler.c (read_handler_list): Likewise.
25009 * normal/main.c (read_lists): New function. Calls all the
25010 list reading functions.
25011 (grub_normal_execute): Use read_lists() instead of calling all
25012 list reading functions explicitly. Register read_lists() as a
25013 variable hook attached to ${prefix}.
25014
25015 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 Merge crypto branch.
25018
25019 * Makefile.in (pkglib_DATA): Add crypto.lst.
25020 (crypto.lst): New target.
25021 * commands/hashsum.c: New file.
25022 * commands/password.c (check_password): Use grub_crypto_memcmp.
25023 * commands/password_pbkdf2.c: New file.
25024 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25025 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25026 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25027 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25028 -I$(srcdir)/lib/libgcrypt_wrap.
25029 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25030 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25031 password_pbkdf2.mod.
25032 (crypto_mod_SOURCES): New variable.
25033 (crypto_mod_CFLAGS): Likewise.
25034 (crypto_mod_LDFLAGS): Likewise.
25035 (hashsum_mod_SOURCES): New variable.
25036 (hashsum_mod_CFLAGS): Likewise.
25037 (hashsum_mod_LDFLAGS): Likewise.
25038 (pbkdf2_mod_SOURCES): New variable.
25039 (pbkdf2_mod_CFLAGS): Likewise.
25040 (pbkdf2_mod_LDFLAGS): Likewise.
25041 (password_pbkdf2_mod_SOURCES): New variable.
25042 (password_pbkdf2_mod_CFLAGS): Likewise.
25043 (password_pbkdf2_mod_LDFLAGS): Likewise.
25044 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25045 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25046 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25047 Include conf/gcry.rmk.
25048 * include/grub/auth.h: Rewritten.
25049 * include/grub/crypto.h: New file.
25050 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25051 * include/grub/normal.h (read_crypto_list): New prototype.
25052 * lib/crypto.c: New file.
25053 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25054 * lib/pbkdf2.c: Likewise.
25055 * normal/auth.c (grub_auth_strcmp): Removed.
25056 (grub_iswordseparator): Likewise.
25057 (grub_auth_strword): Likewise.
25058 (is_authenticated): Use grub_strword.
25059 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25060 and grub_strword. Pass entered password to authentication callback.
25061 * normal/crypto.c: New file.
25062 * normal/main.c: Call read_crypto_list.
25063 * util/grub-mkpasswd-pbkdf2.c: New file.
25064 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25065
25066 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25067
25068 Fix descent and ascent calculation.
25069
25070 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25071 (options): New option "asce".
25072 (usage): Likewise.
25073 (add_char): Ignore invalid glyphs for descent calculation.
25074 Calculate ascent from actual content.
25075 (print_glyphs): Use 'asce'.
25076 (write_font): Likewise. Allow ascent override.
25077 (main): Handle "asce" option.
25078
25079 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25080
25081 * kern/err.c: Include `<grub/i18n.h>'.
25082 (grub_print_error): Add full stop. Gettextizze.
25083 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25084 (grub_bsd_load_elf): Capitalise ELF.
25085 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25086 (grub_cmd_freebsd_module): Likewise.
25087 (grub_cmd_freebsd_module_elf): Likewise.
25088 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25089
25090 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25091
25092 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25093 * commands/search_file.c (HELP_MESSAGE): New macro.
25094 * commands/search_label.c (HELP_MESSAGE): Likewise.
25095 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25096 * po/POTFILES: Add `commands/search_file.c',
25097 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25098 `commands/search.c'.
25099
25100 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25101
25102 * config.rpath: Update from Gnulib.
25103
25104 2010-01-05 Yves Blusseau <blusseau@zetam.org>
25105
25106 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25107
25108 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25109
25110 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25111
25112 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25113
25114 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25115 arguments to fread so that we get a return value in bytes, rather
25116 than something that will normally be rounded down to 0.
25117 Adjust error handling to avoid producing garbage when size_t is not
25118 the same size as long long.
25119
25120 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25121
25122 * util/mkisofs/write.c (padblock_write): Check return value of
25123 fread.
25124
25125 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25126
25127 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25128 floppy images now.
25129
25130 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25131
25132 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25133
25134 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25135 instead of manual alignment.
25136 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25137 verbose). Avoid attempts to read past end of the device
25138 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25139 but GRUB_DISK_CACHE_SIZE may exceed that).
25140
25141 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25142
25143 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25144 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25145 it to upper layer.
25146
25147 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25150 New constant.
25151 (grub_efi_piwg_device_path): New structure
25152 (grub_efi_piwg_device_path_t): New type.
25153 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25154 (devpath_1): Transform to a structure. All users updated.
25155 (devpath_2): Likewise.
25156 (devpath_3): Likewise.
25157 (devpath_4): Likewise.
25158 (devpath_5): Likewise.
25159
25160 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25161
25162 * loader/efi/appleloader.c: Restored. Update all users.
25163
25164 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25165
25166 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25167
25168 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25169 (struct boot_blocklist): Move from here ...
25170 * include/grub/i386/pc/boot.h [ASM_FILE]
25171 (struct grub_boot_blocklist): ... to here. Update all users.
25172 (setup): Only initialize `start' member of `first_block'
25173 structure. Add assert() calls to verify the other members.
25174
25175 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25176 (generate_image): Fix broken blocklist length initialization.
25177 Add assert() call to verify blocklist `segment' field.
25178
25179 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25180
25181 * loader/efi/appleloader.c: Remove. Update all users.
25182
25183 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25184
25185 * boot/i386/pc/boot.S: Update copyright year.
25186 * boot/i386/pc/cdboot.S: Likewise.
25187 * boot/i386/pc/diskboot.S: Likewise.
25188 * boot/i386/pc/lnxboot.S: Likewise.
25189 * boot/i386/pc/pxeboot.S: Likewise.
25190 * bus/pci.c: Likewise.
25191 * commands/cmp.c: Likewise.
25192 * commands/help.c: Likewise.
25193 * commands/hexdump.c: Likewise.
25194 * commands/i386/pc/halt.c: Likewise.
25195 * commands/i386/pc/play.c: Likewise.
25196 * commands/i386/pc/vbeinfo.c: Likewise.
25197 * commands/ls.c: Likewise.
25198 * commands/test.c: Likewise.
25199 * disk/dmraid_nvidia.c: Likewise.
25200 * disk/i386/pc/biosdisk.c: Likewise.
25201 * disk/ieee1275/nand.c: Likewise.
25202 * disk/ieee1275/ofdisk.c: Likewise.
25203 * disk/lvm.c: Likewise.
25204 * disk/raid.c: Likewise.
25205 * disk/raid6_recover.c: Likewise.
25206 * disk/scsi.c: Likewise.
25207 * fs/affs.c: Likewise.
25208 * fs/cpio.c: Likewise.
25209 * fs/ext2.c: Likewise.
25210 * fs/hfs.c: Likewise.
25211 * fs/iso9660.c: Likewise.
25212 * fs/ntfs.c: Likewise.
25213 * fs/sfs.c: Likewise.
25214 * fs/udf.c: Likewise.
25215 * fs/ufs.c: Likewise.
25216 * fs/xfs.c: Likewise.
25217 * gencmdlist.sh: Likewise.
25218 * genmk.rb: Likewise.
25219 * include/grub/disk.h: Likewise.
25220 * include/grub/efi/api.h: Likewise.
25221 * include/grub/efi/efi.h: Likewise.
25222 * include/grub/efi/pe32.h: Likewise.
25223 * include/grub/elf.h: Likewise.
25224 * include/grub/fs.h: Likewise.
25225 * include/grub/i386/at_keyboard.h: Likewise.
25226 * include/grub/i386/pc/memory.h: Likewise.
25227 * include/grub/i386/pc/vbe.h: Likewise.
25228 * include/grub/i386/pci.h: Likewise.
25229 * include/grub/i386/tsc.h: Likewise.
25230 * include/grub/ieee1275/ieee1275.h: Likewise.
25231 * include/grub/ntfs.h: Likewise.
25232 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25233 * include/grub/sparc64/libgcc.h: Likewise.
25234 * include/grub/symbol.h: Likewise.
25235 * include/grub/types.h: Likewise.
25236 * include/multiboot2.h: Likewise.
25237 * io/gzio.c: Likewise.
25238 * kern/device.c: Likewise.
25239 * kern/disk.c: Likewise.
25240 * kern/efi/efi.c: Likewise.
25241 * kern/efi/mm.c: Likewise.
25242 * kern/elf.c: Likewise.
25243 * kern/file.c: Likewise.
25244 * kern/i386/dl.c: Likewise.
25245 * kern/i386/pc/init.c: Likewise.
25246 * kern/i386/pc/startup.S: Likewise.
25247 * kern/ieee1275/ieee1275.c: Likewise.
25248 * kern/ieee1275/init.c: Likewise.
25249 * kern/main.c: Likewise.
25250 * kern/mm.c: Likewise.
25251 * kern/powerpc/dl.c: Likewise.
25252 * kern/sparc64/dl.c: Likewise.
25253 * kern/x86_64/dl.c: Likewise.
25254 * lib/hexdump.c: Likewise.
25255 * loader/efi/appleloader.c: Likewise.
25256 * loader/i386/ieee1275/linux.c: Likewise.
25257 * loader/i386/pc/chainloader.c: Likewise.
25258 * loader/i386/pc/linux.c: Likewise.
25259 * loader/i386/pc/multiboot2.c: Likewise.
25260 * loader/ieee1275/multiboot2.c: Likewise.
25261 * loader/multiboot2.c: Likewise.
25262 * loader/multiboot_loader.c: Likewise.
25263 * loader/powerpc/ieee1275/linux.c: Likewise.
25264 * normal/completion.c: Likewise.
25265 * normal/menu_entry.c: Likewise.
25266 * partmap/apple.c: Likewise.
25267 * util/grub.d/10_hurd.in: Likewise.
25268 * util/hostfs.c: Likewise.
25269 * video/readers/png.c: Likewise.
25270
25271 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
25272
25273 * include/grub/misc.h (GNUC_PREREQ): New macro.
25274 (ATTRIBUTE_ERROR): New macro.
25275 * include/grub/list.h (grub_bad_type_cast_real): Use
25276 ATTRIBUTE_ERROR.
25277
25278 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25279
25280 * normal/menu_text.c (print_message): Change messages.
25281
25282 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25283
25284 * normal/menu_entry.c (store_completion): Gettextizze.
25285
25286 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25287
25288 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25289
25290 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25291
25292 * po/POTFILES: Sort correctly.
25293
25294 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25295
25296 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25297 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25298 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25299 full stop.
25300 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25301 summary. Gettextizze the strings.
25302 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25303 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25304 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25305 full stop.
25306 (GRUB_MOD_INIT): Remove command name from summary.
25307 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25308 summary.
25309 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25310 * term/i386/pc/serial.c (options): Add full stops.
25311 (GRUB_MOD_INIT): Remove command name from the summary.
25312
25313 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25314
25315 * commands/acpi.c: Gettextizze help strings and/or options. Include
25316 `grub/i18n.h' if needed.
25317 * commands/blocklist.c: Likewise.
25318 * commands/boot.c: Likewise.
25319 * commands/cat.c: Likewise.
25320 * commands/cmp.c: Likewise.
25321 * commands/configfile.c: Likewise.
25322 * commands/crc.c: Likewise.
25323 * commands/date.c: Likewise.
25324 * commands/echo.c: Likewise.
25325 * commands/efi/fixvideo.c: Likewise.
25326 * commands/efi/loadbios.c: Likewise.
25327 * commands/gptsync.c: Likewise.
25328 * commands/halt.c: Likewise.
25329 * commands/handler.c: Likewise.
25330 * commands/hdparm.c: Likewise.
25331 * commands/hexdump.c: Likewise.
25332 * commands/i386/cpuid.c: Likewise.
25333 * commands/i386/pc/drivemap.c: Likewise.
25334 * commands/i386/pc/halt.c: Likewise.
25335 * commands/i386/pc/pxecmd.c: Likewise.
25336 * commands/i386/pc/vbeinfo.c: Likewise.
25337 * commands/i386/pc/vbetest.c: Likewise.
25338 * commands/ieee1275/suspend.c: Likewise.
25339 * commands/keystatus.c: Likewise.
25340 * commands/loadenv.c: Likewise.
25341 * commands/ls.c: Likewise.
25342 * commands/lsmmap.c: Likewise.
25343 * commands/lspci.c: Likewise.
25344 * commands/memrw.c: Likewise.
25345 * commands/minicmd.c: Likewise.
25346 * commands/parttool.c: Likewise.
25347 * commands/password.c: Likewise.
25348 * commands/probe.c: Likewise.
25349 * commands/read.c: Likewise.
25350 * commands/reboot.c: Likewise.
25351 * commands/search.c: Likewise.
25352 * commands/sleep.c: Likewise.
25353 * commands/test.c: Likewise.
25354 * commands/true.c: Likewise.
25355 * commands/usbtest.c: Likewise.
25356 * commands/videotest.c: Likewise.
25357 * commands/xnu_uuid.c: Likewise.
25358 * disk/loopback.c: Likewise.
25359 * hello/hello.c: Likewise.
25360 * loader/i386/bsd.c: Likewise.
25361 * term/i386/pc/serial.c: Likewise.
25362 * po/POTFILES: Add new files.
25363
25364 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
25365
25366 * term/i386/pc/at_keyboard.c
25367 (keyboard_controller_wait_untill_ready): Rename to ...
25368 (keyboard_controller_wait_until_ready): ... this. Update all users.
25369
25370 2010-01-01 Carles Pina i Estany <carles@pina.cat>
25371
25372 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25373 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25374 string using string width.
25375 * normal/menu_text.c (grub_print_message_indented): Use
25376 grub_print_spaces and not print_spaces.
25377 (print_timeout): Likewise.
25378 (print_spaces): Move to...
25379 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25380
25381 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25382
25383 Import from Gnulib.
25384
25385 * gnulib/getdelim.c: New file.
25386 * gnulib/getline.c: Likewise.
25387
25388 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25389
25390 * include/grub/list.h (grub_assert_fail): Removed.
25391 (grub_bad_type_cast_real): New function.
25392 (grub_bad_type_cast): New macro.
25393 (GRUB_AS_LIST): Use grub_bad_type_cast.
25394 (GRUB_AS_LIST_P): Likewise.
25395 (GRUB_AS_NAMED_LIST): Likewise.
25396 (GRUB_AS_NAMED_LIST_P): Likewise.
25397 (GRUB_AS_PRIO_LIST): Likewise.
25398 (GRUB_AS_PRIO_LIST_P): Likewise.
25399 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
25400
25401 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25402
25403 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25404 Fix syntax error.
25405
25406 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25407
25408 * configure.ac: Check for TARGET_CFLAGS initialization before we
25409 initialize it ourselves (sigh).
25410 Move a few modifications to TARGET_CFLAGS to be unconditional
25411 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25412 eh_frame)
25413
25414 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25415 * term/i386/pc/at_keyboard.c
25416 (keyboard_controller_wait_untill_ready): Likewise.
25417 (keyboard_controller_led): Rename `led_status' paramter to avoid
25418 name conflict.
25419
25420 2009-12-28 Carles Pina i Estany <carles@pina.cat>
25421
25422 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25423 quotes.
25424
25425 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25428
25429 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 * normal/menu_text.c (grub_print_message_indented): Prevent
25432 past-the-end-of-array dereference.
25433
25434 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25435
25436 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25437 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25438
25439 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25440
25441 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25442 * normal/main.c (grub_normal_read_line): Remove a space from the
25443 default prompt.
25444
25445 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25446
25447 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25448 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25449 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25450 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25451 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25452 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25453 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25454
25455 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25456
25457 * video/readers/jpeg.c (cmd): Declare.
25458 (grub_cmd_jpegtest): Use `grub_command_t' type.
25459 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25460 Assign to `cmd'.
25461 (GRUB_MOD_FINI): Use `cmd' to unregister.
25462 * video/readers/png.c (cmd): Declare.
25463 (grub_cmd_pngtest): Use `grub_command_t' type.
25464 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25465 Assign to `cmd'.
25466 (GRUB_MOD_FINI): Use `cmd' to unregister.
25467 * video/readers/tga.c (cmd): Declare.
25468 (grub_cmd_tgatest): Use `grub_command_t' type.
25469 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25470 Assign to `cmd'.
25471 (GRUB_MOD_FINI): Use `cmd' to unregister.
25472
25473 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25474
25475 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
25476 stops.
25477 * kern/corecmd.c (grub_register_core_commands): Likewise.
25478 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
25479 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25480 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
25481 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25482 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25483 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
25484 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25485 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
25486 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25487 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25488 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25489 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25490 * normal/handler.c (insert_handler): Likewise.
25491 * normal/main.c (GRUB_MOD_INIT): Likewise.
25492 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25493
25494 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25495
25496 * commands/help.c (grub_cmd_help): Print the command name before the
25497 summary.
25498 (GRUB_MOD_INIT): Remove command name from the summary.
25499 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
25500 string as summary.
25501 * lib/arg.c (find_long): Print the command name before the summary.
25502 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
25503 summary.
25504 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
25505 * commands/cat.c (GRUB_MOD_INIT): Likewise.
25506 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
25507 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25508 * commands/crc.c (GRUB_MOD_INIT): Likewise.
25509 * commands/date.c (GRUB_MOD_INIT): Likewise.
25510 * commands/echo.c (GRUB_MOD_INIT): Likewise.
25511 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
25512 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25513 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25514 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
25515 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
25516 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
25517 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
25518 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25519 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
25520 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
25521 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
25522 * commands/ls.c (GRUB_MOD_INIT): Likewise.
25523 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25524 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25525 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25526 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
25527 * commands/password.c (GRUB_MOD_INIT): Likewise.
25528 * commands/probe.c (GRUB_MOD_INIT): Likewise.
25529 * commands/read.c (GRUB_MOD_INIT): Likewise.
25530 * commands/search.c (GRUB_MOD_INIT): Likewise.
25531 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
25532 * commands/test.c (GRUB_MOD_INIT): Likewise.
25533 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
25534 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25535 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25536 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
25537 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25538 * lib/arg.c (GRUB_MOD_INIT): Likewise.
25539 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
25540 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25541 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25542 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25543 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25544 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
25545 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
25546 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
25547
25548 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25549
25550 Use search command for preliminar UUID search.
25551
25552 * commands/search.c: Split into ...
25553 * commands/search_wrap.c: ...this
25554 * commands/search.c: ...and this.
25555 * commands/search_file.c: New file.
25556 * commands/search_label.c: New file.
25557 * commands/search_uuid.c: New file.
25558 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25559 Add commands/search_wrap.c, commands/search_file.c,
25560 commands/search_label.c and commands/search_uuid.c.
25561 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25562 (search_mod_SOURCES): Set to commands/search_wrap.c.
25563 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
25564 search_label.mod.
25565 (search_fs_file_mod_SOURCES): New variable.
25566 (search_fs_file_mod_CFLAGS): Likewise.
25567 (search_fs_file_mod_LDFLAGS): Likewise.
25568 (search_label_mod_SOURCES): Likewise.
25569 (search_label_mod_CFLAGS): Likewise.
25570 (search_label_mod_LDFLAGS): Likewise.
25571 (search_fs_uuid_mod_SOURCES): New variable.
25572 (search_fs_uuid_mod_CFLAGS): Likewise.
25573 (search_fs_uuid_mod_LDFLAGS): Likewise.
25574 (fs_file_mod_SOURCES): Removed.
25575 (fs_file_mod_CFLAGS): Likewise.
25576 (fs_file_mod_LDFLAGS): Likewise.
25577 (fs_uuid_mod_SOURCES): Removed.
25578 (fs_uuid_mod_CFLAGS): Likewise.
25579 (fs_uuid_mod_LDFLAGS): Likewise.
25580 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
25581 Set to util/grub-install.in.
25582 * disk/fs_file.c: Removed.
25583 * disk/fs_uuid.c: Likewise.
25584 * include/grub/search.h: New file.
25585 * util/grub-install.in: Handle sparc64.
25586 Create and use load.cfg.
25587 * util/sparc64/ieee1275/grub-install.in: Removed.
25588
25589 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25590
25591 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
25592 Ignore return status if CF is cleared.
25593 (grub_biosdisk_get_diskinfo_standard): Likewise.
25594
25595 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25596
25597 * term/i386/pc/at_keyboard.c
25598 (keyboard_controller_wait_untill_ready): New function.
25599 (grub_keyboard_controller_write, grub_keyboard_controller_read)
25600 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
25601 for keyboard polling, rather than duplicate the same loop. This
25602 saves a few bytes in code size.
25603
25604 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25605
25606 Support for (pxe[:server[:gateway]]) syntax and
25607 use environment variable for PXE.
25608
25609 * commands/i386/pc/pxecmd.c (options): Removed.
25610 (print_ip): Removed.
25611 (grub_cmd_pxe): Removed
25612 (grub_cmd_pxe_unload): New function.
25613 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
25614 (grub_pxe_your_ip): Made static.
25615 (grub_pxe_default_server_ip): Likewise.
25616 (grub_pxe_default_gateway_ip): Likewise.
25617 (grub_pxe_blksize): Likewise.
25618 (parse_ip): New function.
25619 (grub_pxe_open): Support server and gateway specification.
25620 (grub_pxe_close): Free disk->data.
25621 (grub_pxefs_open): Use disk->data.
25622 (grub_pxefs_read): Likewise.
25623 (grub_env_write_readonly): New function.
25624 (set_mac_env): Likewise.
25625 (set_env_limn_ro): Likewise.
25626 (parse_dhcp_vendor): Likewise.
25627 (grub_pxe_detect): Set the environment variables.
25628 (set_ip_env): New function.
25629 (write_ip_env): Likewise.
25630 (grub_env_write_pxe_default_server): Likewise.
25631 (grub_env_write_pxe_default_gateway): Likewise.
25632 (grub_env_write_pxe_blocksize): Likewise.
25633 (GRUB_MOD_INIT(pxe)): Set environment variables.
25634 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25635 (grub_pxe_mac_addr_t): ... this. All users updated.
25636 (grub_pxe_your_ip): Removed.
25637 (grub_pxe_server_ip): Likewise.
25638 (grub_pxe_gateway_ip): Likewise.
25639 (grub_pxe_blksize): Likewise.
25640
25641 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25642
25643 * commands/help.c: Include `<grub/i18n.h>'.
25644 (grub_cmd_help): Gettextizze.
25645 (GRUB_MOD_INIT): Likewise.
25646 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25647 (GRUB_MOD_INIT): Gettextizze.
25648 * commands/search.c: Include `<grub/i18n.h>'.
25649 (options): Gettextizze.
25650 (GRUB_MOD_INIT): Gettextizze.
25651 * lib/arg.c: Include `<grub/i18n.h>'.
25652 (help_options): Gettextizze.
25653 (find_long): Likewise.
25654 (grub_arg_show_help): Likewise.
25655 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25656 (read_command_list): Gettextizze.
25657 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
25658 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
25659
25660 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25661
25662 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25663 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25664 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25665 (led_status): New variable.
25666 (keyboard_controller_led): New function.
25667 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25668 update led status for caps lock, num lock and scroll lock.
25669
25670 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
25671
25672 * util/hostdisk.c (open_device): Fix a comment.
25673
25674 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25675
25676 * util/grub-install.in (host_os): New variable.
25677 * util/i386/efi/grub-install.in (host_os): Likewise.
25678
25679 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25680
25681 * util/mkisofs/write.c (padblock_write): Abort when given an
25682 excedingly large embed image, instead of silently truncating it.
25683
25684 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25685
25686 * include/multiboot.h: Indentation fixes.
25687
25688 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25689
25690 * include/multiboot.h (struct multiboot_aout_symbol_table)
25691 (struct multiboot_elf_section_header_table): New structure
25692 declarations (stolen from GRUB Legacy).
25693 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25694 table information.
25695
25696 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25697 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25698 type aliases.
25699
25700 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25701
25702 * include/multiboot.h: Make comments src2texi-friendly.
25703
25704 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25705
25706 For consistency with [multiboot]/docs/boot.S.
25707
25708 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25709 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25710 (MULTIBOOT_MAGIC2): Rename from this ...
25711 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25712
25713 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25714
25715 * include/multiboot.h: Remove `<grub/types.h>'.
25716 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25717 types. Update all users.
25718
25719 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25720
25721 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25722 `couldn't' and `can not' by `cannot'.
25723 * commands/i386/pc/drivemap.c: Likewise.
25724 * disk/ata.c: Likewise.
25725 * disk/ieee1275/nand.c: Likewise.
25726 * fs/affs.c: Likewise.
25727 * fs/fat.c: Likewise.
25728 * fs/hfs.c: Likewise.
25729 * fs/hfsplus.c: Likewise.
25730 * fs/iso9660.c: Likewise.
25731 * fs/jfs.c: Likewise.
25732 * fs/minix.c: Likewise.
25733 * fs/reiserfs.c: Likewise.
25734 * fs/sfs.c: Likewise.
25735 * fs/udf.c: Likewise.
25736 * fs/ufs.c: Likewise.
25737 * fs/xfs.c: Likewise.
25738 * loader/powerpc/ieee1275/linux.c: Likewise.
25739 * loader/sparc64/ieee1275/linux.c: Likewise.
25740 * util/grub-probe.c: Likewise.
25741 * util/misc.c: Likewise.
25742
25743 2009-12-24 Carles Pina i Estany <carles@pina.cat>
25744
25745 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25746 grub_errno calls.
25747 * commands/acpi.c: Likewise.
25748 * commands/blocklist.c: Likewise.
25749 * commands/efi/loadbios.c: Likewise.
25750 * commands/i386/pc/drivemap.c: Likewise.
25751 * commands/loadenv.c: Likewise.
25752 * commands/memrw.c: Likewise.
25753 * commands/password.c: Likewise.
25754 * commands/videotest.c: Likewise.
25755 * disk/ata.c: Likewise.
25756 * disk/ata_pthru.c: Likewise.
25757 * disk/dmraid_nvidia.c: Likewise.
25758 * disk/ieee1275/nand.c: Likewise.
25759 * disk/ieee1275/ofdisk.c: Likewise.
25760 * disk/loopback.c: Likewise.
25761 * disk/lvm.c: Likewise.
25762 * disk/mdraid_linux.c: Likewise.
25763 * disk/raid.c: Likewise.
25764 * disk/raid6_recover.c: Likewise.
25765 * disk/scsi.c: Likewise.
25766 * efiemu/main.c: Likewise.
25767 * efiemu/mm.c: Likewise.
25768 * efiemu/pnvram.c: Likewise.
25769 * efiemu/symbols.c: Likewise.
25770 * font/font.c: Likewise.
25771 * fs/cpio.c: Likewise.
25772 * fs/hfsplus.c: Likewise.
25773 * fs/iso9660.c: Likewise.
25774 * fs/jfs.c: Likewise.
25775 * fs/minix.c: Likewise.
25776 * fs/ntfs.c: Likewise.
25777 * fs/ntfscomp.c: Likewise.
25778 * fs/reiserfs.c: Likewise.
25779 * fs/ufs.c: Likewise.
25780 * fs/xfs.c: Likewise.
25781 * gettext/gettext.c: Likewise.
25782 * include/grub/auth.h: Likewise.
25783 * kern/elf.c: Likewise.
25784 * kern/file.c: Likewise.
25785 * kern/ieee1275/init.c: Likewise.
25786 * kern/ieee1275/mmap.c: Likewise.
25787 * kern/ieee1275/openfw.c: Likewise.
25788 * kern/powerpc/dl.c: Likewise.
25789 * kern/sparc64/dl.c: Likewise.
25790 * lib/arg.c: Likewise.
25791 * loader/i386/bsd.c: Likewise.
25792 * loader/i386/bsdXX.c: Likewise.
25793 * loader/i386/efi/linux.c: Likewise.
25794 * loader/i386/efi/xnu.c: Likewise.
25795 * loader/i386/ieee1275/linux.c: Likewise.
25796 * loader/i386/linux.c: Likewise.
25797 * loader/i386/multiboot.c: Likewise.
25798 * loader/i386/pc/linux.c: Likewise.
25799 * loader/i386/pc/multiboot2.c: Likewise.
25800 * loader/i386/xnu.c: Likewise.
25801 * loader/ieee1275/multiboot2.c: Likewise.
25802 * loader/macho.c: Likewise.
25803 * loader/machoXX.c: Likewise.
25804 * loader/multiboot2.c: Likewise.
25805 * loader/multiboot_loader.c: Likewise.
25806 * loader/powerpc/ieee1275/linux.c: Likewise.
25807 * loader/sparc64/ieee1275/linux.c: Likewise.
25808 * loader/xnu.c: Likewise.
25809 * loader/xnu_resume.c: Likewise.
25810 * mmap/i386/pc/mmap.c: Likewise.
25811 * normal/menu_viewer.c: Likewise.
25812 * partmap/acorn.c: Likewise.
25813 * partmap/amiga.c: Likewise.
25814 * partmap/apple.c: Likewise.
25815 * script/lexer.c: Likewise.
25816 * term/gfxterm.c: Likewise.
25817 * term/i386/pc/serial.c: Likewise.
25818 * term/i386/pc/vga.c: Likewise.
25819 * term/ieee1275/ofconsole.c: Likewise.
25820 * term/terminfo.c: Likewise.
25821 * video/bitmap.c: Likewise.
25822 * video/efi_gop.c: Likewise.
25823 * video/efi_uga.c: Likewise.
25824 * video/fb/video_fb.c: Likewise.
25825 * video/i386/pc/vbe.c: Likewise.
25826 * video/readers/tga.c: Likewise.
25827 * video/video.c: Likewise.
25828
25829 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
25830
25831 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25832 * commands/lspci.c: Likewise.
25833 * commands/probe.c: Likewise.
25834 * commands/xnu_uuid.c: Likewise.
25835 * conf/i386-coreboot.rmk: Likewise.
25836 * conf/i386-efi.rmk: Likewise.
25837 * conf/i386-ieee1275.rmk: Likewise.
25838 * conf/i386-pc.rmk: Likewise.
25839 * conf/powerpc-ieee1275.rmk: Likewise.
25840 * conf/sparc64-ieee1275.rmk: Likewise.
25841 * conf/x86_64-efi.rmk: Likewise.
25842 * fs/i386/pc/pxe.c: Likewise.
25843 * gettext/gettext.c: Likewise.
25844 * include/grub/efi/graphics_output.h: Likewise.
25845 * include/grub/i386/pc/memory.h: Likewise.
25846 * kern/env.c: Likewise.
25847 * kern/i386/qemu/startup.S: Likewise.
25848 * lib/i386/pc/biosnum.c: Likewise.
25849 * lib/i386/relocator.c: Likewise.
25850 * lib/i386/relocator_asm.S: Likewise.
25851 * lib/relocator.c: Likewise.
25852 * loader/i386/bsd.c: Likewise.
25853 * loader/i386/multiboot.c: Likewise.
25854 * loader/i386/pc/chainloader.c: Likewise.
25855 * loader/i386/xnu.c: Likewise.
25856 * loader/xnu.c: Likewise.
25857 * normal/main.c: Likewise.
25858 * normal/menu_text.c: Likewise.
25859 * util/getroot.c: Likewise.
25860 * util/grub-mkconfig_lib.in: Likewise.
25861 * util/grub.d/00_header.in: Likewise.
25862 * util/i386/pc/grub-mkimage.c: Likewise.
25863 * util/mkisofs/eltorito.c: Likewise.
25864 * util/mkisofs/exclude.h: Likewise.
25865 * util/mkisofs/hash.c: Likewise.
25866 * util/mkisofs/iso9660.h: Likewise.
25867 * util/mkisofs/joliet.c: Likewise.
25868 * util/mkisofs/mkisofs.c: Likewise.
25869 * util/mkisofs/mkisofs.h: Likewise.
25870 * util/mkisofs/multi.c: Likewise.
25871 * util/mkisofs/name.c: Likewise.
25872 * util/mkisofs/rock.c: Likewise.
25873 * util/mkisofs/tree.c: Likewise.
25874 * util/mkisofs/write.c: Likewise.
25875 * video/efi_gop.c: Likewise.
25876
25877 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25878
25879 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25880 size counting.
25881
25882 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25883
25884 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25885 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25886
25887 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25888
25889 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25890 (GRUB_MOD_INIT(memrw)): Update help line.
25891
25892 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25893
25894 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25895 Use grub_extcmd_t. All users updated.
25896 (options): New variable.
25897 (grub_cmd_read): Restructure for readability. Support "-v" option.
25898 (grub_cmd_write): Restructure for readability.
25899
25900 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25901
25902 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25903
25904 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25905
25906 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25907 with the actual contents of the correspondending make variable.
25908 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25909 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25910 specifying `*.lst' and `efiemu??.o'
25911
25912 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25913
25914 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25915 after function name.
25916 Noticed by Rene Engelhard <rene@debian.org>.
25917
25918 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25919
25920 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25921 (options): New variable.
25922 (iospace): Likewise.
25923 (grub_lspci_iter): List IO spaces if "-i" was given.
25924 (grub_cmd_lspci): Parse options.
25925 (GRUB_MOD_INIT(lspci)): Use extcmd.
25926 (GRUB_MOD_FINI(lspci)): Likewise.
25927
25928 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25929
25930 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25931 `function' keyword.
25932 Patch by Tony Mancill <tmancill@debian.org>.
25933
25934 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25937 (grub_uhci_portstatus): Likewise.
25938 (grub_uhci_portstatus): Add necessary delay.
25939 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
25940
25941 2009-12-21 Carles Pina i Estany <carles@pina.cat>
25942
25943 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25944 (GRUB_MOD_INIT): Likewise.
25945 * commands/boot.c (GRUB_MOD_INIT): Likewise.
25946 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25947 * commands/echo.c (options): Fix capitalizations and/or full stops.
25948 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25949 (enable_rom_area): Likewise.
25950 (GRUB_MOD_INIT): Likewise.
25951 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25952 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25953 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25954 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25955 * commands/hexdump.c (options): Likewise.
25956 * commands/i386/cpuid.c (options): Likewise.
25957 (GRUB_MOD_INIT): Likewise.
25958 * commands/i386/pc/drivemap.c (options): Likewise.
25959 (GRUB_MOD_INIT): Likewise.
25960 * commands/i386/pc/halt (options): Likewise.
25961 (GRUB_MOD_INIT): Likewise.
25962 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25963 * commands/i386/pc/pxecmd.c (options): Likewise.
25964 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25965 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25966 * commands/keystatus.c (options): Likewise.
25967 (GRUB_MOD_INIT): Likewise.
25968 * commands/loadenv.c (options): Likewise.
25969 * commands/ls.c (options): Likewise.
25970 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25971 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25972 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25973 * commands/parttool.c (helpmsg): Likewise.
25974 * commands/probe.c (options): Likewise.
25975 * commands/read.c (GRUB_MOD_INIT): Likewise.
25976 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25977 * commands/search.c (options): Likewise.
25978 * commands/sleep.c (options): Likewise.
25979 * commands/test.c (GRUB_MOD_INIT): Likewise.
25980 * commands/true.c (GRUB_MOD_INIT): Likewise.
25981 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25982 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25983 * lib/arg.c (help_options): Likewise.
25984 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25985 `$(XGETTEXT)'.
25986 * po/POTFILES: Add `commands/loadenv.c'.
25987
25988 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
25989
25990 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
25991 instead of specifying them explicit.
25992
25993 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25994
25995 * NEWS: Add grub-probe support for GNU/Hurd.
25996
25997 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 * NEWS: gettext was added after 1.97.
26000
26001 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26002
26003 * util/mkisofs/msdos_partition.h: New file (based on
26004 include/grub/msdos_partition.h).
26005 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26006 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26007 (ld_options, main): Recognize --protective-msdos-label.
26008 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26009 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26010 (padblock_write): If `use_protective_msdos_label' is set, patch a
26011 protective DOS-style label in the output image.
26012
26013 * util/grub-mkrescue.in: Use --protective-msdos-label.
26014
26015 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26016
26017 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26018 boot.
26019
26020 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26021
26022 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26023 variables.
26024 (ld_options, main): Recognize `--embedded-boot'.
26025 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26026 declarations.
26027 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26028 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26029 (padblock_write): Likewise. Rewrite to support embedded boot image.
26030
26031 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26032 for BIOS-based disk boot instead of only ElTorito.
26033
26034 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26035
26036 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26037 build (not needed for bootstrap).
26038
26039 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26040
26041 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26042 from i386-pc build (not needed for bootstrap).
26043 Rewrite a pair of strings.
26044
26045 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26048
26049 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26052
26053 2009-12-21 Andreas Born <futur.andy@googlemail.com>
26054
26055 * kern/env.c (grub_env_context_open): Mark exported variable for
26056 reexport.
26057
26058 2009-12-21 Andreas Born <futur.andy@googlemail.com>
26059
26060 * kern/env.c (grub_env_export): Create nonexistent variables before
26061 exporting.
26062
26063 2009-12-20 Carles Pina i Estany <carles@pina.cat>
26064
26065 * include/grub/auth.h: Include `<grub/i18n.h>'.
26066 (GRUB_GET_PASSWORD): Gettextizze string.
26067 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26068 menu_text.c.
26069 (grub_utf8_to_ucs4_alloc): Fix indentation.
26070 (grub_print_ucs4): Likewise.
26071 (grub_getstringwidth): Likewise.
26072 (print_message_indented): New declaration.
26073 * normal/auth.c: Include `<grub/i18n.h>'.
26074 (grub_auth_check_authentication): Gettexttize string.
26075 * normal/cmdline.c: Include `<grub/i18n.h>'.
26076 (grub_cmdline_get): Gettextizze.
26077 * normal/color.c: Include `<grub/i18n.h>'.
26078 (grub_parse_color_name_pair): Gettexttize strings.
26079 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26080 string (use `print_message_indented').
26081 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26082 `include/grub/normal.h'.
26083 (print_message_indented): Renamed to ...
26084 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26085 used in normal/main.c).
26086 (print_message): Use `grub_print_message_indented' instead of
26087 `print_message_indented'.
26088 (print_timeout): Likewise.
26089 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26090 (grub_normal_print_device_info): Gettexttize strings.
26091 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26092
26093 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26094
26095 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26096 of arguments. Return number of tokens and not arguments. All users
26097 updated.
26098
26099 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26100
26101 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26102 non-MSDOS paritions.
26103
26104 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26105
26106 * include/grub/types.h (UNUSED): Removed since it conflicts with
26107 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26108 Reported by Grégoire Sutre.
26109
26110 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26111
26112 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26113 (grub_print_ucs4_alloc): Likewise.
26114 (grub_getstringwidth): Likewise.
26115 * normal/main.c (grub_normal_init_page): Gettextize version string.
26116 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26117 (getstringwidth): Renamed to ...
26118 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26119 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26120 (grub_print_ucs4): Remove `static' qualifer (now used in
26121 normal/main.c).
26122 * po/POTFILES: Add normal/main.c.
26123
26124 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26125
26126 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26127 (print_message_indented): Add `margin_left' and `margin_right'
26128 parameters.
26129 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26130 strings.
26131 (print_timeout): Use `print_message_indented' to print the message.
26132 Deletes `second_stage' parameter.
26133 (run_menu): Update `print_timeout' calls.
26134
26135 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 Fix console palette on OpenFirmware.
26138
26139 * term/ieee1275/ofconsole.c (MAX): Removed.
26140 (colors): Redone based on VGA palette.
26141 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26142 colors are supported.
26143 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26144
26145 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26146
26147 Fix potential EfiEmu double prepare.
26148
26149 * efiemu/main.c (prepared): New variable
26150 (grub_efiemu_unload): Set prepare to '0'.
26151 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26152
26153 set_virtual_address_map support.
26154
26155 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26156 prototype.
26157 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26158 prototype.
26159 (grub_efiemu_crc32): Likewise.
26160 (grub_efiemu_crc64): Likewise.
26161 (grub_efiemu_set_virtual_address_map): Likewise.
26162 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26163 New definition.
26164 (grub_autoefi_set_virtual_address_map): Likewise.
26165 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26166 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26167 Restructure flow to accomodate it.
26168 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26169 (grub_efiemu_crc): Recompute CRC32.
26170 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26171 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26172 * efiemu/symbols.c (relocated_handle): New variable.
26173 (grub_efiemu_free_syms): Free relocated_handle.
26174 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26175 (grub_efiemu_write_sym_markers): New function.
26176 (grub_efiemu_set_virtual_address_map): Likewise.
26177
26178 Newer XNU parameters.
26179
26180 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26181 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26182 (grub_xnu_fill_devicetree): New prototype.
26183 (grub_xnu_heap_real_start): New variable.
26184 * loader/xnu.c (get_name_ptr): New function.
26185 (grub_xnu_load_driver): Fill namelen and name.
26186
26187 64-bit xnu support.
26188
26189 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26190 and 'loader/macho64.c'.
26191 * conf/i386-pc.rmk: Likewise.
26192 * conf/x86_64-efi.rmk: Likewise.
26193 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26194 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26195 * include/grub/macho.h (grub_macho_segment64): New structure.
26196 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26197 (grub_macho_size32): ... to this.
26198 (grub_macho32_get_entry_point): Renamed from ...
26199 (grub_macho_get_entry_point32): ... to this.
26200 (grub_macho_contains_macho64): New prototype.
26201 (grub_macho_size64): Likewise.
26202 (grub_macho_get_entry_point64): Likewise.
26203 (grub_macho32_load): Renamed from ...
26204 (grub_macho_load32): ... to this.
26205 (grub_macho32_filesize): Renamed from ...
26206 (grub_macho_filesize32): ... to this.
26207 (grub_macho32_readfile): Renamed from ...
26208 (grub_macho_readfile32): ... to this.
26209 (grub_macho_filesize64): New prototype.
26210 (grub_macho_readfile64): Likewise.
26211 (grub_macho_parse32): Likewise.
26212 (grub_macho_parse64): Likewise.
26213 * loader/macho.c: Split into ...
26214 * loader/machoXX.c: ... and this. Replace 32 with XX.
26215 * loader/macho32.c: New file.
26216 * loader/macho64.c: Likewise.
26217 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26218 (grub_cmd_xnu_kernel): Make 32-bit only.
26219 (grub_cmd_xnu_kernel64): New function.
26220 (grub_xnu_load_driver): Support Mach-O 64.
26221 (grub_cmd_xnu_mkext): Likewise.
26222 * util/grub.d/30_os-prober.in (osx_entry): New function.
26223 Generate entries for 64-bit boot too.
26224
26225 Eliminate ad-hoc tree format in XNU and EfiEmu.
26226
26227 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26228 * efiemu/pnvram.c: Rewritten to use environment variables.
26229 All users updated.
26230
26231 Inline utf16_to_utf8.
26232
26233 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26234 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26235 All users updated.
26236 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26237
26238 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26239 * commands/usbtest.c (grub_usb_get_string): ... move here.
26240 (usb_print_str): Fix error handling.
26241 * include/grub/usb.h (grub_usb_get_string): Remove.
26242
26243 UTF-8 to UTF-16 transformation.
26244
26245 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26246 (charset_mod_SOURCES): New variable.
26247 (charset_mod_CFLAGS): Likewise.
26248 (charset_mod_LDFLAGS): Likewise.
26249 * include/grub/utf.h: New file.
26250 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26251
26252 Support for device properties.
26253
26254 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26255 (grub_xnu_devprop_device_header): Likewise.
26256 (grub_xnu_devprop_device_descriptor): Likewise.
26257 (grub_xnu_devprop_add_device): New prototype.
26258 (grub_xnu_devprop_remove_device): Likewise.
26259 (grub_xnu_devprop_remove_property): Likewise.
26260 (grub_xnu_devprop_add_property_utf8): Likewise.
26261 (grub_xnu_devprop_add_property_utf16): Likewise.
26262 (grub_cpu_xnu_init): Likewise.
26263 (grub_cpu_xnu_fini): Likewise.
26264 (grub_cpu_xnu_unload): Likewise.
26265 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26266 (property_descriptor): Likewise.
26267 (devices): New variable.
26268 (grub_xnu_devprop_remove_property): New function.
26269 (grub_xnu_devprop_add_device): Likewise.
26270 (grub_xnu_devprop_remove_device): Likewise.
26271 (grub_xnu_devprop_add_property): Likewise.
26272 (grub_xnu_devprop_add_property_utf8): Likewise.
26273 (grub_xnu_devprop_add_property_utf16): Likewise.
26274 (hextoval): Likewise.
26275 (grub_cpu_xnu_fill_devprop): Likewise.
26276 (grub_cmd_devprop_load): Likewise.
26277 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26278 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26279 (cmd_devprop_load): New variable.
26280 (grub_cpu_xnu_init): New function.
26281 (grub_cpu_xnu_fini): Likewise.
26282 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26283 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26284 (grub_cmd_xnu_devtree): Likewise.
26285 (hextoval): New function.
26286 (unescape): Likewise.
26287 (grub_xnu_fill_devicetree): Likewise.
26288
26289 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26290 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26291
26292 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26293
26294 Workaround for broken ATI VBE.
26295
26296 * video/i386/pc/vbe.c (last_set_mode): New variable.
26297 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26298 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26299 (grub_video_vbe_setup): Don't check for reserved flag.
26300
26301 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
26302
26303 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26304 the `find' command.
26305
26306 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 UUID support for HFS.
26309
26310 * fs/hfs.c (grub_hfs_uuid): New function.
26311 (grub_hfs_fs): New value .uuid.
26312 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26313
26314 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
26315
26316 Fix a segfault with parsing unknown long options.
26317
26318 * util/grub-mkrelpath.c (options): Zero terminate it.
26319
26320 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26321
26322 * include/grub/misc.h (grub_puts): New declaration.
26323 (grub_puts_): Likewise.
26324 * kern/misc.c (grub_puts): New definition.
26325 (grub_puts_): Likewise.
26326
26327 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26328
26329 * util/grub-probe.c (probe): Improve error message.
26330
26331 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26332
26333 * loader/i386/multiboot_elfxx.c
26334 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26335 initialization.
26336
26337 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26338
26339 Relocator framework
26340
26341 * loader/i386/xnu_helper.S: Removed. All users updated.
26342 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26343 (relocator_mod_SOURCES): New variable.
26344 (relocator_mod_CFLAGS): Likewise.
26345 (relocator_mod_LDFLAGS): Likewise.
26346 (relocator_mod_ASFLAGS): Likewise.
26347 * conf/x86_64.rmk: Likewise.
26348 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26349 (grub_multiboot_payload_entry_offset): Likewise.
26350 (grub_multiboot_forward_relocator): Likewise.
26351 (grub_multiboot_forward_relocator_end): Likewise.
26352 (grub_multiboot_backward_relocator): Likewise.
26353 (grub_multiboot_backward_relocator_end): Likewise.
26354 (grub_multiboot_payload_eip): New variable.
26355 (grub_multiboot_payload_orig): Likewise.
26356 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26357 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26358 * include/grub/i386/memory.h
26359 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26360 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26361 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26362 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26363 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26364 * include/grub/i386/relocator.h: New file.
26365 * include/grub/x86_64/relocator.h: Likewise.
26366 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26367 (XNU_RELOCATOR): New macro.
26368 (grub_xnu_launcher_start): Remove.
26369 (grub_xnu_launcher_end): Likewise.
26370 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26371 (grub_xnu_heap_real_start): Remove.
26372 (grub_xnu_heap_start): Change to void *. All users updated.
26373 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26374 * lib/i386/relocator.c: New file.
26375 * lib/i386/relocator_asm.S: Likewise.
26376 * lib/i386/relocator_backward.S: Likewise.
26377 * lib/mips/relocator.c: Likewise.
26378 * lib/mips/relocator_asm.S: Likewise.
26379 * lib/relocator.c: Likewise.
26380 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26381 (entry): Removed.
26382 (playground): Likewise.
26383 (grub_multiboot_payload_orig): New variable.
26384 (grub_multiboot_payload_dest): Likewise.
26385 (grub_multiboot_payload_size): Likewise.
26386 (grub_multiboot_payload_eip): Likewise.
26387 (grub_multiboot_payload_esp): Likewise.
26388 (grub_multiboot_boot): Use grub_relocator32_boot.
26389 (grub_multiboot_unload): Free relocators.
26390 (grub_multiboot): Setup stack. Use relocators.
26391 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26392 (grub_multiboot_load_elfXX): Use relocators.
26393 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26394 (grub_multiboot_payload_size): Likewise.
26395 (grub_multiboot_payload_dest): Likewise.
26396 (grub_multiboot_payload_entry_offset): Likewise.
26397 (grub_multiboot_forward_relocator): Likewise.
26398 (grub_multiboot_backward_relocator): Likewise.
26399 (grub_multiboot_real_boot): Likewise.
26400 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26401 (grub_xnu_entry_point): Likewise.
26402 (grub_xnu_arg1): Likewise.
26403 (grub_xnu_stack): Likewise.
26404 (grub_xnu_launch): Removed.
26405 (grub_xnu_boot_resume): New function.
26406 (grub_xnu_boot): Use relocators.
26407 * loader/i386/xnu_helper.S: Removed.
26408 * loader/xnu.c (grub_xnu_heap_start): New variable.
26409 (grub_xnu_heap_size): Likewise.
26410 (grub_xnu_heap_malloc): Use relocators.
26411 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26412
26413 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26416 anything.
26417
26418 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26419
26420 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26421 GRUB_ERR_NONE before calling grub_env_set.
26422
26423 2009-12-12 Robert Millan <rmh@aybabtu.com>
26424
26425 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26426 * genmk.rb (video): New variable.
26427 (CLEANFILES, VIDEOFILES): Add #{video}.
26428 (#{video}): New target rule.
26429 * genvideolist.sh: New file.
26430 * Makefile.in (pkglib_DATA): Add video.lst.
26431 (video.lst): New target rule.
26432 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26433 `video.lst'.
26434 * util/grub.d/30_os-prober.in: Replace `vbe' with
26435 ${GRUB_VIDEO_BACKEND}.
26436
26437 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26438
26439 * THANKS: Add David Miller.
26440
26441 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 libpciaccess support.
26444
26445 * Makefile.in (LIBPCIACCESS): New variable.
26446 (enable_grub_emu_pci): Likewise.
26447 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26448 util/pci.c and commands/lspci.c.
26449 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26450 * configure.ac (grub-emu-pci): New option.
26451 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26452 (grub_pci_device_unmap_range): Likewise.
26453 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
26454 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
26455 (grub_pci_address_t) [!GRUB_UTIL]: New type.
26456 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
26457 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
26458 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
26459 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
26460 * include/grub/pciutils.h: New file.
26461 * util/pci.c: Likewise.
26462
26463 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
26464
26465 * util/misc.c: Don't include <errno.h> twice.
26466
26467 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
26468
26469 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
26470 name in an error message.
26471 (grub_biosdisk_rw): Likewise.
26472
26473 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26474
26475 Eliminate NTFS 4Gib barrier.
26476
26477 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
26478 (read_run_data): Likewise.
26479 (grub_ntfs_read_run_list): Likewise.
26480 (grub_ntfs_read_block): Likewise.
26481 (grub_ntfs_iterate_dir): Likewise.
26482 (read_mft): Likewise.
26483 (read_data): Likewise.
26484 Use COM_LOG_LEN.
26485 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
26486 to avoid 64-bit division
26487 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
26488 (grub_ntfs_rlst): Use grub_disk_addr_t.
26489
26490 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 Eliminate grub-fstest 4Gib barrier.
26493
26494 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
26495 (read_file): Fix error reporting.
26496
26497 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26498
26499 Eliminate hexdump 4Gib barrier.
26500
26501 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
26502 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
26503
26504 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26505
26506 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
26507 Fixes amarsh bug.
26508
26509 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
26510
26511 Remove miscellaneous files in distclean target.
26512
26513 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
26514
26515 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
26516
26517 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
26518 if they're already set. This resolves the conflict between my
26519 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
26520 fixing the --grub-probe option again.
26521 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
26522 change on 2009-10-06, so that we now once again source
26523 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26524
26525 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
26526
26527 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
26528 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
26529 `util/devicemap.c'.
26530
26531 2009-12-08 Carles Pina i Estany <carles@pina.cat>
26532
26533 * include/grub/misc.h (grub_printf_): New declaration.
26534 * kern/misc.c (grub_printf_): New definition.
26535 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
26536 instead of `grub_printf' and `_'.
26537 * normal/menu_entry.c (store_completion): Likewise.
26538 (run): Likewise.
26539 (grub_menu_entry_run): Likewise.
26540 * normal/menu_text.c (grub_wait_after_message): Likewise.
26541 (notify_booting): Likewise.
26542 (notify_fallback): Likewise.
26543 (notify_execution_failure): Likewise.
26544
26545 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
26546
26547 * configure.ac: Check for vasprintf.
26548 * util/misc.c (asprintf): Move allocation from here ...
26549 (vasprintf): ... to here. New function.
26550 (xasprintf): New function.
26551 * include/grub/util/misc.h (vasprintf, xasprintf): Add
26552 prototypes.
26553 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26554 * util/grub-mkfont.c (write_font): Likewise.
26555 * util/grub-probe.c (probe): Likewise.
26556 * util/hostdisk.c (make_device_name): Likewise.
26557
26558 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
26559
26560 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26561 anything even prefixed with 'cdrom' as a cdrom.
26562
26563 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
26564
26565 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
26566 mount points.
26567
26568 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26569
26570 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
26571 grub_gettext_msg_list.
26572 (grub_gettext_gettranslation_from_position): Return const char *
26573 and not char *.
26574 (grub_gettext_translate): Add the translated strings into a list,
26575 returns from the list if existing there.
26576 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
26577 (grub_gettext_delete_list): Delete the list.
26578 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
26579 lang environment variable is changed.
26580 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
26581
26582 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26583
26584 Rename kernel.mod to kernel.img.
26585
26586 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
26587 (kernel_mod_EXPORTS): Rename to ...
26588 (kernel_img_EXPORTS): ... this.
26589 (kernel_mod_SOURCES): Rename to ...
26590 (kernel_img_SOURCES): ... this.
26591 (kernel_mod_HEADERS): Rename to ...
26592 (kernel_img_HEADERS): ... this. All users updated.
26593 (kernel_mod_CFLAGS): Rename to ...
26594 (kernel_img_CFLAGS): ... this.
26595 (kernel_mod_ASFLAGS): Rename to ...
26596 (kernel_img_ASFLAGS): ... this.
26597 (kernel_mod_LDFLAGS): Rename to ...
26598 (kernel_img_LDFLAGS): ... this.
26599 * conf/x86_64-efi.rmk: Likewise.
26600 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
26601 (read_kernel_image): ... this. All users updated.
26602 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
26603
26604 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26605
26606 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
26607 (print_spaces): New function.
26608 (grub_print_ucs4): New function.
26609 (getstringwidth): New function.
26610 (print_message_indented): New function.
26611 (print_message): Gettexttize strings using print_message_indented.
26612 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
26613 width.
26614 (get_entry_number): Gettextize and uses dynamic terminal width.
26615 (notify_booting, notify_fallback, notify_execution_failure):
26616 Gettextize.
26617 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26618 string.
26619 (run): Likewise.
26620 (grub_menu_entry_run): Likewise.
26621 * PO/POTFILES: Add normal/menu_entry.c.
26622
26623 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26624
26625 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26626
26627 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26628
26629 * util/grub-install.in: Install gettext .mo files.
26630 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26631
26632 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26633
26634 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26635 grub_dprintf.
26636
26637 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26638
26639 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26640 non-firmware-dependant one in realmode.S takes precedence.
26641
26642 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26643
26644 * commands/halt.c: Replace misc arch-specific headers with
26645 `<grub/misc.h>'.
26646 * commands/reboot.c: Likewise.
26647 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26648 `<grub/misc.h>'.
26649 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26650 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26651 (kernel_img_SOURCES): ... to here.
26652
26653 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26654 * include/grub/i386/pc/init.h: Likewise.
26655 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26656 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26657
26658 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26659
26660 * include/grub/i386/halt.h: Remove.
26661 * include/grub/i386/reboot.h: Likewise.
26662
26663 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26664
26665 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
26666
26667 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26668 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26669 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26670 "progname.h"
26671 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26672 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26673 (usage): Add missing comma in printf.
26674
26675 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26676
26677 Use the same reboot approach on i386 coreboot and qemu as we do on
26678 BIOS.
26679
26680 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26681 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26682 * kern/i386/reboot.c: Remove.
26683 * include/grub/i386/reboot.h (grub_reboot): Export function.
26684 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26685 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26686 0xf000:0xfff0 instead of 0xffff:0x0000.
26687 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26688 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26689
26690 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26691
26692 Fix $srcdir != $objdir build.
26693
26694 * Makefile.in (po/%.po): Rewrite as ...
26695 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26696
26697 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26698
26699 Fix GNU/Hurd grub-install crash.
26700 * util/grub-probe.c (probe): Try to access `path' only when it is not
26701 NULL.
26702
26703 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26704
26705 Correct module naming.
26706
26707 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26708 (GRUB_MOD_INIT(efi_uga)): ... to this
26709 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26710 (GRUB_MOD_FINI(efi_uga)): ... to this
26711 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26712 (GRUB_MOD_INIT(efi_gop)): ... to this
26713 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26714 (GRUB_MOD_FINI(efi_gop)): ... to this
26715
26716 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26717
26718 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26719 translatable.
26720 (usage): Translate `arg' strings using gettext().
26721 Thanks to Jordi Mallach for the suggestion.
26722
26723 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26724
26725 GOP support. Based on patch from Bean
26726 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26727
26728 * video/efi_gop.c: New file.
26729 * include/grub/efi/graphics_output.h: Likewise.
26730 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26731 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26732 variables.
26733 * conf/x86_64-efi.rmk: Likewise.
26734
26735 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26736
26737 Rename efi_fb to efi_uga.
26738
26739 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26740 'efi_uga.mod'.
26741 (efi_fb_mod_SOURCES): Rename this ...
26742 (efi_uga_mod_SOURCES): ... to this.
26743 (efi_fb_mod_CFLAGS): Rename this ...
26744 (efi_uga_mod_CFLAGS): ... to this.
26745 (efi_fb_mod_LDFLAGS): Rename this ...
26746 (efi_uga_mod_LDFLAGS): ... to this.
26747 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26748 'efi_uga.mod'.
26749 (efi_fb_mod_SOURCES): Rename this ...
26750 (efi_uga_mod_SOURCES): ... to this.
26751 (efi_fb_mod_CFLAGS): Rename this ...
26752 (efi_uga_mod_CFLAGS): ... to this.
26753 (efi_fb_mod_LDFLAGS): Rename this ...
26754 (efi_uga_mod_LDFLAGS): ... to this.
26755 * video/efi_fb.c: Move this ...
26756 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26757
26758 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26759
26760 * po/README: New file. Explain our PO file workflow.
26761
26762 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 * po/ChangeLog: Remove. Move relevant entries back to ...
26765 * ChangeLog: ... here.
26766 * po/ca.po: Remove (now handled by TLP).
26767 * po/id.po: Likewise.
26768 * po/zh_CN.po: Likewise.
26769 * Makefile.in (LINGUAS): Initialize in a way that supports
26770 empty set.
26771
26772 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26773
26774 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26775 reliing on po/LINGUAS.
26776 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26777 (po/%.po): ... this.
26778
26779 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26780
26781 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26782 (main): Use `program_name' instead of nonexistent `progname'.
26783
26784 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26785
26786 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26787 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26788
26789 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26790
26791 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26792 commit.
26793 * conf/i386-efi.rmk: Likewise.
26794 * conf/i386-ieee1275.rmk: Likewise.
26795 * conf/powerpc-ieee1275.rmk: Likewise.
26796 * conf/sparc64-ieee1275.rmk: Likewise.
26797 * conf/x86_64-efi.rmk: Likewise.
26798
26799 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26800
26801 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26802
26803 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26804
26805 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26806
26807 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26808
26809 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26810 (grub_mkdevicemap_SOURCES): New variable.
26811 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26812 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26813 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26814 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26815 (grub_mkdevicemap_SOURCES): Remove.
26816 * conf/i386-efi.rmk: Likewise.
26817 * conf/i386-ieee1275.rmk: Likewise.
26818 * conf/i386-pc.rmk: Likewise.
26819 * conf/powerpc-ieee1275.rmk: Likewise.
26820 * conf/sparc64-ieee1275.rmk: Likewise.
26821 * conf/x86_64-efi.rmk: Likewise.
26822 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26823 (usage): Fix strings to use `program_name'.
26824 (main): Initialize gettext.
26825 * util/grub-editenv.c: Likewise.
26826 * util/grub-emu.c: Likewise.
26827 * util/grub-fstest.c: Likewise.
26828 * util/grub-mkdevicemap.c: Likewise.
26829 * util/grub-mkfont.c: Likewise.
26830 * util/grub-mkrelpath.c: Likewise.
26831 * util/grub-pe2elf.c: Likewise.
26832 * util/grub-probe.c: Likewise.
26833 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26834 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26835 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26836
26837 * util/misc.c: Include `"progname.h"'.
26838 (progname): Remove variable.
26839 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26840
26841 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26842
26843 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26844 printf and print a newline after the menuentry header line.
26845 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26846
26847 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26848
26849 autoconf >= 2.60 support $(localedir).
26850
26851 * INSTALL: Note that autoconf 2.60 is required.
26852 * configure.ac (AC_PREREQ): Bump to 2.60.
26853 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26854 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26855
26856 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26857
26858 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26859 aclocal is run.
26860
26861 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * normal/main.c (grub_normal_read_line): Fix off-by-one
26864 buffer overflow.
26865
26866 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26867
26868 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26869 "parser.grub" in grub_command_execute() call.
26870
26871 2009-11-24 Carles Pina i Estany <carles@pina.cat>
26872
26873 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26874 * conf/i386-efi.rmk: Likewise.
26875 * conf/i386-ieee1275.rmk: Likewise.
26876 * conf/i386-pc.rmk: Likewise.
26877 * conf/powerpc-ieee1275.rmk: Likewise.
26878 * conf/sparc64-ieee1275.rmk: Likewise.
26879 * conf/x86_64-efi.rmk: Likewise.
26880 * gettext/gettex.c: Include <grub/i18n.h>.
26881 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26882 here ...
26883 * include/grub/i18n.h: ... to here
26884 * include/grub/i18n.h: ... to here.
26885 * kern/misc.c: Include <grub/i18n.h>
26886 (grub_gettext_dummy): Move above user.
26887
26888 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26889
26890 * util/Makefile.in (install-local): Convert a `for' into a normal
26891 shell expansion.
26892
26893 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26894
26895 * autogen.sh: Add automake call.
26896 * config.guess: Remove.
26897 * config.sub: Likewise.
26898 * install-sh: Likewise.
26899
26900 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26901
26902 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26903
26904 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26905
26906 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26907 function to a normal shell `for'.
26908
26909 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26910
26911 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26912
26913 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26914
26915 * util/grub-mkrelpath.c: New file.
26916 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26917 (grub_mkrelpath_SOURCES): New variable.
26918 * include/grub/util/misc.h: New function prototype.
26919 * util/misc.c (make_system_path_relative_to_its_root): New function.
26920
26921 * util/grub-mkconfig_lib.in (bindir): New variable.
26922 (grub_mkrelpath): Likewise.
26923 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26924
26925 * util/probe.c (probe): Make the file path relative to its root.
26926 Change a info message to use the GRUB path. Enable again the
26927 check if we can read the file with GRUB facilities.
26928
26929 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26930 to its root.
26931
26932 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26933
26934 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26935 platform.
26936
26937 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26938
26939 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26940 strncmp().
26941
26942 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26943
26944 * util/getroot.c (grub_util_is_dmraid): New function.
26945 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26946 devices as normal ones, not as LVM.
26947
26948 2009-11-23 Carles Pina i Estany <carles@pina.cat>
26949
26950 * conf/common.rmk: Add grub-gettext_lib target and updates
26951 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26952 LDFLAGS.
26953 * gettext/gettext.c: New file. (Reads mo files).
26954 * include/grub/file.h (grub_file_pread): New prototype.
26955 * include/grub/i18n.h (_): New prototype.
26956 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26957 prototypes.
26958 * kern/misc.c (grub_gettext_dummy): New function.
26959 * normal/menu_text.c: Include <grub/i18n.h>.
26960 * normal/menu_text.c (print_timeout): Gettexttize string.
26961 * normal/menu_text.c (print_message): Gettexttize string.
26962 * po/POTFILES: Add `normal/menu_text.c'.
26963 * po/ca.po: Add new translations.
26964 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26965 gettext module and defines locale_dir and lang in grub.cfg.
26966 * NEWS: Add gettext support.
26967
26968 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26969
26970 * util/hostdisk.c: Include `<grub/i18n.h>'.
26971 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26972 (make_device_name): Rewrite using asprintf.
26973 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26974 (find_system_device): If a device is not found, generate one just
26975 by reusing the OS path name.
26976 (read_device_map): Make it permissible for device.map not to exist.
26977
26978 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26979
26980 * script/sh/execute.c: Move from here ...
26981 * script/execute.c: ... to here. Update all users.
26982 * script/sh/function.c: Move from here ...
26983 * script/function.c: ... to here. Update all users.
26984 * script/sh/lexer.c: Move from here ...
26985 * script/lexer.c: ... to here. Update all users.
26986 * script/sh/main.c: Move from here ...
26987 * script/main.c: ... to here. Update all users.
26988 * script/sh/parser.y: Move from here ...
26989 * script/parser.y: ... to here. Update all users.
26990 * script/sh/script.c: Move from here ...
26991 * script/script.c: ... to here. Update all users.
26992
26993 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26994
26995 * configure.ac: Detect all `emu' platforms. Define
26996 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26997 --enable-grub-emu logic. Disable include/grub/machine
26998 symlink on `emu' platforms.
26999
27000 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27001 * gensymlist.sh.in: Likewise.
27002
27003 * include/grub/i386/coreboot/machine.h: Remove file.
27004 * include/grub/i386/efi/machine.h: Likewise.
27005 * include/grub/i386/ieee1275/machine.h: Likewise.
27006 * include/grub/i386/pc/machine.h: Likewise.
27007 * include/grub/i386/qemu/machine.h: Likewise.
27008 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27009 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27010 * include/grub/x86_64/efi/machine.h: Likewise.
27011
27012 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27013 * commands/halt.c: Likewise.
27014 * commands/reboot.c: Likewise.
27015 * include/grub/autoefi.h: Likewise.
27016 * include/grub/i386/at_keyboard.h: Likewise.
27017 * include/grub/i386/kernel.h: Likewise.
27018 * include/grub/i386/loader.h: Likewise.
27019 * include/grub/i386/pc/memory.h: Likewise.
27020 * kern/dl.c: Likewise.
27021 * kern/i386/coreboot/init.c: Likewise.
27022 * loader/i386/bsd.c: Likewise.
27023 * loader/i386/linux.c: Likewise.
27024 * loader/multiboot_loader.c: Likewise.
27025 * term/i386/pc/serial.c: Likewise.
27026 * term/usb_keyboard.c: Likewise.
27027
27028 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27029 `<grub/machine/machine.h>'
27030 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27031 * util/misc.c: Remove `<grub/machine/machine.h>' and
27032 `<grub/machine/time.h>'.
27033
27034 * Makefile.in (enable_grub_emu): Remove variable.
27035 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27036
27037 * conf/any-emu.rmk: New file.
27038 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27039 (grub_emu_init.c): Move from here ...
27040 * conf/any-emu.rmk: ... to here.
27041
27042 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27043 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27044 * conf/any-emu.rmk: ... to here.
27045
27046 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27047
27048 * include/grub/parser.h (grub_parser_register): Document need
27049 of `name' parameter.
27050 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27051 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27052 "sh" to "grub".
27053
27054 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27055
27056 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27057 `$(XGETTEXT)'.
27058 * include/grub/i18n.h (N_): New macro.
27059 * util/mkisofs/mkisofs.h: Likewise.
27060 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27061 around N_().
27062 (usage): Use gettext() to translate help strings when printing them.
27063
27064 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27065
27066 Based on patch from Bean
27067 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27068
27069 * video/efi_fb.c: New file.
27070 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27071 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27072 variables.
27073 * conf/x86_64-efi.rmk: Likewise.
27074
27075 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27076
27077 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27078 * util/i386/pc/grub-setup.c: Likewise.
27079
27080 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27081
27082 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27083 <hurd/fs.h>
27084 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27085 file_get_storage_info to implement grub_guess_root_device.
27086
27087 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27088
27089 * Makefile.in (target): Use make's builtin $(shell) function
27090 instead of calling directly $(SHELL) to create the locale directories,
27091 inside the $(foreach) function.
27092
27093 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27094
27095 * util/grub-mkrescue.in: Print an error and usage if output option
27096 has not been given.
27097
27098 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27099
27100 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27101 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27102 root and /boot are on different devices.
27103
27104 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27105
27106 Fix build for srcdir != objdir.
27107
27108 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27109 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27110 $(srcdir).
27111 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27112 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27113 reference for input.
27114
27115 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27116
27117 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27118 or hardlinking it). Remove -J option, Joliet is not compatible with
27119 multiple source directories.
27120
27121 2009-11-21 Carles Pina i Estany <carles@pina.cat>
27122 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27123
27124 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27125 (process_input_dir): New function. Process an arbitrary input
27126 directory.
27127 Misc adjustments to support both "override mode" and system-wide mode.
27128
27129 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27130
27131 * configure.ac (UNIFONT_BDF): Rename to ...
27132 (FONT_SOURCE): ... this. Update all users.
27133
27134 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27135
27136 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27137 to the list of unifont files to look for.
27138
27139 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27140
27141 Patch from Joe Auricchio <jauricchio@gmail.com>
27142 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27143 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27144 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27145
27146 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27147
27148 * Makefile.in (install-local): Add a missing backslash.
27149
27150 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27151
27152 * include/grub/x86_64/io.h: New file.
27153
27154 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27155
27156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27157 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27158 Include `"progname.h"'.
27159 (main): Initialize gettext.
27160 * util/i386/pc/grub-setup.c: Gettexttize.
27161 * util/i386/pc/grub-mkimage.c: Likewise.
27162
27163 * Makefile.in (po/*.po): Redefine as ...
27164 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27165
27166 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27167
27168 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27169
27170 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27171 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27172 (program_name): Remove.
27173 (main): Initialize gettext support.
27174 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27175 Include `<libintl.h>'.
27176 (_): New macro.
27177
27178 * util/mkisofs/eltorito.c: Gettexttize.
27179 * util/mkisofs/joliet.c: Likewise.
27180 * util/mkisofs/mkisofs.c: Likewise.
27181 * util/mkisofs/multi.c: Likewise.
27182 * util/mkisofs/rock.c: Likewise.
27183 * util/mkisofs/tree.c: Likewise.
27184 * util/mkisofs/write.c: Likewise.
27185
27186 * po/POTFILES: Update with new files.
27187
27188 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27189
27190 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27191 * util/mkisofs/iso9660.h: Likewise.
27192 * util/mkisofs/joliet.c: Likewise.
27193 * util/mkisofs/mkisofs.c: Likewise.
27194 * util/mkisofs/mkisofs.h: Likewise.
27195 * util/mkisofs/rock.c: Likewise.
27196 * util/mkisofs/tree.c: Likewise.
27197 * util/mkisofs/write.c: Likewise.
27198
27199 * util/mkisofs/eltorito.c (rcsid): Remove.
27200 * util/mkisofs/hash.c: Likewise.
27201 * util/mkisofs/joliet.c: Likewise.
27202 * util/mkisofs/name.c: Likewise.
27203 * util/mkisofs/rock.c: Likewise.
27204 * util/mkisofs/tree.c: Likewise.
27205 * util/mkisofs/write.c: Likewise.
27206
27207 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27208
27209 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27210 instead of static allocation.
27211 * util/mkisofs/match.h: Likewise.
27212
27213 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27214
27215 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27216 and `util/grub.d/10_linux.in'.
27217 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27218 translatable Shell files.
27219
27220 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27221
27222 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27223
27224 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27225
27226 * INSTALL: Document Automake is needed for bootstrap.
27227 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
27228 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27229 Add gettext initialization.
27230 (kfreebsd_entry): Make menuentry output translatable.
27231
27232 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27233
27234 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27235 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27236 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27237 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27238 (LINGUAS): Auto-generate using `po/LINGUAS'.
27239 * po/LINGUAS: New file.
27240
27241 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27244 other things).
27245 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27246 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27247 bindtextdomain() calls for gettext initialization.
27248
27249 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27250
27251 * gnulib/progname.c: New file (imported from Gnulib).
27252 * gnulib/progname.h: Likewise.
27253 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27254 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27255 (usage): Replace `progname' with `program_name'.
27256 (main): Use set_program_name() for program name initialization.
27257
27258 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27259
27260 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27261 from here ...
27262 * Makefile.in (CPPFLAGS): ... to here.
27263
27264 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27265
27266 * aclocal.m4: Move from here ...
27267 * acinclude.m4: ... to here.
27268 * autogen.sh: Add call to `aclocal'.
27269 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27270
27271 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27272
27273 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27274 (LINGUAS): New variable.
27275 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27276 (install-local): Install MO files.
27277 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27278 * include/grub/i18n.h: New file.
27279 * po/POTFILES: New file.
27280 * po/ca.po: New file.
27281 * util/grub.d/10_linux.in (bindir): New variable.
27282 Add gettext initialization.
27283 (linux_entry): Make menuentry output translatable.
27284 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27285 (usage): Make --help output translatable.
27286 (main): Initialize gettext.
27287
27288 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27289
27290 * import_gcry.py: New file (written by Vladimir with minor
27291 adjustments).
27292 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27293 ciphers.
27294 * INSTALL: Document that Python is required for bootstrap.
27295
27296 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27297
27298 Import ciphers from libgcrypt 1.4.4.
27299
27300 * lib/libgcrypt/cipher/ChangeLog
27301 * lib/libgcrypt/cipher/ac.c
27302 * lib/libgcrypt/cipher/arcfour.c
27303 * lib/libgcrypt/cipher/bithelp.h
27304 * lib/libgcrypt/cipher/blowfish.c
27305 * lib/libgcrypt/cipher/camellia-glue.c
27306 * lib/libgcrypt/cipher/camellia.c
27307 * lib/libgcrypt/cipher/camellia.h
27308 * lib/libgcrypt/cipher/cast5.c
27309 * lib/libgcrypt/cipher/cipher.c
27310 * lib/libgcrypt/cipher/crc.c
27311 * lib/libgcrypt/cipher/des.c
27312 * lib/libgcrypt/cipher/dsa.c
27313 * lib/libgcrypt/cipher/ecc.c
27314 * lib/libgcrypt/cipher/elgamal.c
27315 * lib/libgcrypt/cipher/hash-common.c
27316 * lib/libgcrypt/cipher/hash-common.h
27317 * lib/libgcrypt/cipher/hmac-tests.c
27318 * lib/libgcrypt/cipher/md.c
27319 * lib/libgcrypt/cipher/md4.c
27320 * lib/libgcrypt/cipher/md5.c
27321 * lib/libgcrypt/cipher/primegen.c
27322 * lib/libgcrypt/cipher/pubkey.c
27323 * lib/libgcrypt/cipher/rfc2268.c
27324 * lib/libgcrypt/cipher/rijndael-tables.h
27325 * lib/libgcrypt/cipher/rijndael.c
27326 * lib/libgcrypt/cipher/rmd.h
27327 * lib/libgcrypt/cipher/rmd160.c
27328 * lib/libgcrypt/cipher/rsa.c
27329 * lib/libgcrypt/cipher/seed.c
27330 * lib/libgcrypt/cipher/serpent.c
27331 * lib/libgcrypt/cipher/sha1.c
27332 * lib/libgcrypt/cipher/sha256.c
27333 * lib/libgcrypt/cipher/sha512.c
27334 * lib/libgcrypt/cipher/tiger.c
27335 * lib/libgcrypt/cipher/twofish.c
27336 * lib/libgcrypt/cipher/whirlpool.c
27337
27338 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 Fix build for systems without error().
27341
27342 * gnulib/error.c: New file (imported from Gnulib).
27343 * gnulib/error.h: Likewise.
27344 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27345 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27346 (this variable is now used by error()).
27347
27348 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27349
27350 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27351 instead of relying that char is signed.
27352
27353 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27354
27355 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27356 blocksize different from specified.
27357 (grub_pxefs_read): Likewise.
27358
27359 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27360
27361 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27362
27363 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27364 (grub_ata_readwrite): Likewise. Update 2 format strings.
27365 (grub_atapi_read): Likewise.
27366
27367 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27368 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27369 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27370 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27371 (ata_mod_LDFLAGS): Move from here ...
27372 * conf/i386.rmk: ... to here ...
27373 * conf/x86_64-efi.rmk: ... and here.
27374 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27375 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27376
27377 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27378
27379 Relicense multiboot.h, with RMS' blessing.
27380
27381 * include/multiboot.h: Change to X11 license.
27382
27383 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27384
27385 Support --version in grub-mkisofs.
27386
27387 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27388 (OPTION_VERSION): New macro.
27389 (ld_options): Recognize --version.
27390 (usage): Move `program_name' from here ...
27391 (program_name): ... to here. Add `static' qualifier.
27392 (main): Recognize `OPTION_VERSION'.
27393
27394 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
27395
27396 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27397 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27398
27399 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27400
27401 Fix help2man generation for mkisofs.
27402
27403 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27404 (usage): Send output to stdout (rather than stderr).
27405
27406 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27407
27408 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27409 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27410 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27411 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27412 (bin_SCRIPTS): Add `grub-mkfloppy'.
27413 (grub_mkfloppy_SOURCES): New variable.
27414
27415 * util/grub-mkrescue.in: New file.
27416 * util/i386/pc/grub-mkfloppy.in: New file.
27417
27418 * util/i386/coreboot/grub-mkrescue.in: Remove.
27419 * util/i386/pc/grub-mkrescue.in: Remove.
27420
27421 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27422
27423 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27424 from here ...
27425 * include/multiboot.h (struct multiboot_header): ... to here. Update
27426 all users.
27427 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27428 from here ...
27429 * include/multiboot.h (struct multiboot_info): ... to here. Update
27430 all users.
27431 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27432 from here ...
27433 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27434 Update all users.
27435 * include/grub/multiboot.h (struct grub_mod_list): Move
27436 from here ...
27437 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27438 Update all users.
27439
27440 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27441
27442 * include/multiboot2.h (multiboot_word): Rename from this ...
27443 (multiboot2_word): ... to this. Update all users.
27444 (multiboot_header): Rename from this ...
27445 (multiboot2_header): ... to this. Update all users.
27446 (multiboot_tag_header): Rename from this ...
27447 (multiboot2_tag_header): ... to this. Update all users.
27448 (multiboot_tag_start): Rename from this ...
27449 (multiboot2_tag_start): ... to this. Update all users.
27450 (multiboot_tag_name): Rename from this ...
27451 (multiboot2_tag_name): ... to this. Update all users.
27452 (multiboot_tag_module): Rename from this ...
27453 (multiboot2_tag_module): ... to this. Update all users.
27454 (multiboot_tag_memory): Rename from this ...
27455 (multiboot2_tag_memory): ... to this. Update all users.
27456 (multiboot_tag_unused): Rename from this ...
27457 (multiboot2_tag_unused): ... to this. Update all users.
27458 (multiboot_tag_end): Rename from this ...
27459 (multiboot2_tag_end): ... to this. Update all users.
27460
27461 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27462
27463 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
27464 this platform we should support Multiboot1 first.
27465
27466 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27467 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
27468 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
27469
27470 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27471
27472 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
27473 of write calls (converting them to fwrite() if they aren't already).
27474 (get_torito_desc): Likewise.
27475 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
27476
27477 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27478
27479 * util/i386/pc/grub-install.in: Move from here ...
27480 * util/grub-install.in: ... to here. Update all users.
27481
27482 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
27483
27484 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
27485
27486 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27487
27488 Support for El Torito without floppy emulation.
27489
27490 * util/mkisofs/eltorito.c: Include `<errno.h>'.
27491 (init_boot_catalog): Improve error handling.
27492 (get_torito_desc): Don't use floppy emulation unless requested by
27493 user. Patch boot information table when requested via
27494 `-boot-info-table'.
27495 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
27496 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
27497 (use_boot_info_table): New variables.
27498 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
27499 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
27500 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
27501 `--eltorito-emul-floppy'.
27502 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
27503 and `OPTION_ELTORITO_EMUL_FLOPPY'.
27504 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
27505 (use_boot_info_table, get_731): New prototypes.
27506 * util/mkisofs/write.c (get_731): New function.
27507
27508 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
27509
27510 Fix the generation of the man page.
27511
27512 * util/pc/i386/grub-install.in: Source
27513 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27514
27515 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27516
27517 Large file support for grub-mkisofs.
27518
27519 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
27520 * util/mkisofs/mkisofs.c (next_extent, last_extent)
27521 (session_start): Upgrade type to `uint64_t'. Update all users.
27522 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
27523 (struct directory_entry): Upgrade type of `starting_block' and
27524 `size' to `uint64_t'. Update all users.
27525 (struct deferred): Remove unused structure.
27526 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
27527 Update all users.
27528 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
27529 file is larger than `UINT32_MAX'.
27530 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
27531 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
27532 return value.
27533 (struct deferred_write): Upgrade type of `extent' and `size' to
27534 `uint64_t'. Update all users.
27535 (last_extent_written): Upgrade type to `uint64_t'. Update all
27536 users.
27537 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
27538 Update all users. Upgrade type of `remain' to `int64_t' and
27539 `use' to `size_t'. Use error() to handle fread() errors.
27540 (write_files): Rely on write_one_file() rather than calling
27541 xfwrite() directly.
27542
27543 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
27544
27545 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
27546
27547 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27548
27549 * util/mkisofs/fnmatch.c: Remove.
27550 * util/mkisofs/getopt1.c: Likewise.
27551 * util/mkisofs/getopt.c: Likewise.
27552 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
27553 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
27554 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
27555 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27556 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27557
27558 * configure.ac: Detect `mingw32msvc' host_os.
27559 Check for lstat(), getuid() and getgid().
27560
27561 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27562 instances of `u_char' with `uint8_t'.
27563
27564 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
27565 [!HAVE_GETUID] (getuid): New function (stub).
27566 [!HAVE_GETGID] (getgid): Likewise.
27567 [!HAVE_LSTAT] (lstat): Likewise.
27568 [!S_IROTH] (S_IROTH): New macro (dummy).
27569 [!S_IRGRP] (S_IRGRP): Likewise.
27570
27571 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27572
27573 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
27574 conditional expression).
27575
27576 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27577
27578 Import from Gnulib.
27579
27580 * gnulib/fnmatch.c: New file.
27581 * gnulib/fnmatch.h: Likewise.
27582 * gnulib/fnmatch_loop.c: Likewise.
27583 * gnulib/getopt.c: Likewise.
27584 * gnulib/getopt.h: Likewise.
27585 * gnulib/getopt1.c: Likewise.
27586 * gnulib/getopt_int.h: Likewise.
27587 * gnulib/gettext.h: Likewise.
27588
27589 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27590
27591 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
27592 * normal/handler.c (read_handler_list): Likewise.
27593
27594 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27595
27596 Misc cleanup.
27597
27598 * kern/command.c (grub_register_command_prio): Use
27599 grub_zalloc() instead of explicitly zeroing data.
27600 * kern/list.c: Include `<grub/mm.h>'.
27601 (grub_named_list_find): Replace `0' with `NULL'.
27602 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
27603 (fs_module_list): Change type to `grub_named_list_t'. Update all
27604 users.
27605 * normal/dyncmd.c (read_command_list): Add space between function
27606 call and parenthesis.
27607 * normal/handler.c (read_handler_list): Likewise.
27608
27609 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27610
27611 * normal/auth.c (punishment_delay): Moved from here ...
27612 (grub_auth_strcmp): ... to here (inside function).
27613
27614 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27615
27616 * include/grub/list.h (struct grub_named_list): Remove `const'
27617 qualifier from `name'.
27618 (struct grub_prio_list): Likewise.
27619
27620 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27621
27622 * normal/auth.c: Include `<grub/time.h>'.
27623 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27624
27625 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27626
27627 * normal/auth.c (punishment_delay): New variable.
27628 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27629 (grub_auth_check_authentication): Punish failed login attempts with
27630 an incremental (2^N) delay.
27631
27632 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27633
27634 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27635 path with $(srcdir).
27636
27637 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27638
27639 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27640
27641 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27642
27643 * util/i386/coreboot/grub-mkrescue.in: New file.
27644 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27645 variables.
27646
27647 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27648 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27649 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27650 requirements.
27651 * util/mkisofs/defaults.h: New file.
27652 * util/mkisofs/eltorito.c: Likewise.
27653 * util/mkisofs/exclude.h: Likewise.
27654 * util/mkisofs/fnmatch.c: Likewise.
27655 * util/mkisofs/getopt.c: Likewise.
27656 * util/mkisofs/getopt1.c: Likewise.
27657 * util/mkisofs/hash.c: Likewise.
27658 * util/mkisofs/include/fctldefs.h: Likewise.
27659 * util/mkisofs/include/mconfig.h: Likewise.
27660 * util/mkisofs/include/prototyp.h: Likewise.
27661 * util/mkisofs/include/statdefs.h: Likewise.
27662 * util/mkisofs/iso9660.h: Likewise.
27663 * util/mkisofs/joliet.c: Likewise.
27664 * util/mkisofs/match.c: Likewise.
27665 * util/mkisofs/match.h: Likewise.
27666 * util/mkisofs/mkisofs.c: Likewise.
27667 * util/mkisofs/mkisofs.h: Likewise.
27668 * util/mkisofs/multi.c: Likewise.
27669 * util/mkisofs/name.c: Likewise.
27670 * util/mkisofs/rock.c: Likewise.
27671 * util/mkisofs/tree.c: Likewise.
27672 * util/mkisofs/write.c: Likewise.
27673
27674 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27675
27676 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27677 being insecure.
27678
27679 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27680
27681 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27682 `grub-mkimage' (and use $0 when possible).
27683
27684 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27685
27686 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27687 error message for excessively large memory map.
27688
27689 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27690
27691 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27692 executable bit.
27693
27694 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27695
27696 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27697 message for coreboot users.
27698
27699 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27700
27701 Fix build with GNU gold.
27702
27703 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27704 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27705 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27706 link addresses.
27707 * aclocal.m4: Likewise.
27708
27709 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
27710
27711 * configure.ac (AC_PREREQ): Bump to 2.59d.
27712 * INSTALL: Make it more clear when Autoconf and Ruby are
27713 needed and when to run `./autogen.sh'.
27714
27715 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27716
27717 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27718 OSes.
27719
27720 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27721
27722 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27723
27724 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27725
27726 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27727 giving it to GNU Mach.
27728
27729 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27730
27731 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27732 GNU partition number to get internal GRUB partition number.
27733
27734 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27735
27736 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27737 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27738
27739 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27740
27741 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27742 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27743 case.
27744
27745 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27746
27747 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27748
27749 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27750
27751 Fix build problem.
27752
27753 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27754 `-isystem=$(srcdir)/include'.
27755
27756 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27757
27758 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27759 checked (grub-install doesn't currently rely on it).
27760
27761 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27762
27763 Revert SVN r2660.
27764
27765 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27766 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27767 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27768 * conf/i386-ieee1275.rmk: Likewise.
27769 * conf/i386-pc.rmk: Likewise.
27770 * conf/powerpc-ieee1275.rmk: Likewise.
27771 * conf/sparc64-ieee1275.rmk: Likewise.
27772 * conf/x86_64-efi.rmk: Likewise.
27773
27774 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27775
27776 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27777
27778 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27779
27780 * include/grub/misc.h: Stop checking for APPLE_CC.
27781
27782 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27783
27784 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27785 doesn't cause an infinite call loop.
27786
27787 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
27788
27789 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27790 strings.
27791
27792 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27793
27794 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27795 variable.
27796 * Makefile.in: Likewise.
27797
27798 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27799
27800 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27801
27802 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27803
27804 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27805
27806 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27807
27808 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27809
27810 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27811
27812 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27813 from here ...
27814 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27815
27816 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27817
27818 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27819 in $(MAKEINFO) invocation. This makes it clear in output that
27820 errors are being ignored.
27821
27822 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27823
27824 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27825 from here ...
27826 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27827 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27828 * conf/i386-ieee1275.rmk: Likewise.
27829 * conf/i386-pc.rmk: Likewise.
27830 * conf/powerpc-ieee1275.rmk: Likewise.
27831 * conf/sparc64-ieee1275.rmk: Likewise.
27832 * conf/x86_64-efi.rmk: Likewise.
27833
27834 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27835
27836 * util/grub-editenv.c (main): If only a command is given, use
27837 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27838 (usage): FILENAME is now optional and has a default.
27839
27840 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27841
27842 Improve grub-mkconfig performance when there are several menu
27843 entries on a single filesystem.
27844
27845 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27846 prepare_grub_to_access_device.
27847 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27848 * util/grub.d/30_os-prober.in: Likewise.
27849
27850 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27851
27852 * util/grub.d/10_freebsd.in: Remove.
27853 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27854 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27855
27856 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27857
27858 * docs/grub.cfg: Fix example usage of *BSD loaders.
27859
27860 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27861
27862 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27863 grub_util_error() call.
27864
27865 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27866
27867 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27868 `reserved_first_sector' member.
27869 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27870 `reserved_first_sector' to 1.
27871 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27872 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27873 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27874 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27875 filesystems which begin at first sector.
27876 (options): New option --skip-fs-probe.
27877 (main): Handle --skip-fs-probe and pass it to setup().
27878
27879 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27882 (memset): Fix function prototype.
27883
27884 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27885 2009-10-25 Vasily Averin <vvs@parallels.com>
27886
27887 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27888 `dirent.direntlen == 0'.
27889
27890 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27891
27892 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27893 `cpio'.
27894 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27895
27896 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27897
27898 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27899 `__trampoline_setup' and `__ucmpdi2'.
27900 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27901 that libgcc provides.
27902
27903 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27904
27905 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27906 * include/grub/sparc64/libgcc.h (memset): Likewise.
27907 * include/grub/misc.h (memset, memcmp): New function prototypes.
27908
27909 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27910
27911 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27912 `cpio'.
27913 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27914
27915 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27916
27917 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27918 * docs/grub.cfg: Compensate for recent change in multiboot
27919 loader (since 2009-08-14 it won't pass filename to payload).
27920 * util/grub.d/10_hurd.in: Likewise.
27921
27922 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
27923
27924 * config.guess: Update to latest version from config git
27925 repository.
27926 * config.sub: Likewise.
27927
27928 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27929
27930 Fix build on sparc64.
27931
27932 * configure.ac: Perform checks for libgcc symbols before
27933 adding `-nostdlib' to LDFLAGS.
27934
27935 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 Let user specify OpenBSD root device.
27938
27939 * loader/i386/bsd.c (openbsd_root): New variable.
27940 (openbsd_opts): New option 'root'.
27941 (OPENBSD_ROOT_ARG): New macro.
27942 (grub_openbsd_boot): Use 'openbsd_root'.
27943 (grub_cmd_openbsd): Fill 'openbsd_root'.
27944
27945 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27946
27947 * NEWS: Misc adjustments.
27948
27949 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27952
27953 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27954
27955 * configure.ac: Bump version to 1.97.
27956
27957 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
27958
27959 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27960 -mno-3dnow on x86 architectures. Some toolchains enable these
27961 features by default, but they rely on registers that aren't enabled
27962 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27963
27964 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27965
27966 Make entry text a bit more readable.
27967
27968 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27969
27970 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27973
27974 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27975
27976 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27977 operations.
27978
27979 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 * configure.ac: Add missing dollar.
27982
27983 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27984
27985 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27986
27987 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27988 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27989 exports.
27990 * include/grub/sparc64/libgcc.h: Likewise. Use
27991 preprocessor conditionals.
27992
27993 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27994
27995 * conf/common.rmk (grub-dumpbios): Remove rule.
27996 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27997 * util/grub-dumpbios.in: Remove file.
27998
27999 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28000
28001 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28002 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28003
28004 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28005 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28006 users.
28007
28008 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28009 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28010 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28011 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28012 users.
28013
28014 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28015
28016 * term/tparm.c: Switch to GPLv3.
28017
28018 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28019
28020 * include/grub/i386/cpuid.h: Add header protection.
28021
28022 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28023
28024 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28025
28026 * include/grub/i386/cpuid.h: New file.
28027 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28028 (has_longmode): Rename to ...
28029 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28030 `static' attribute.
28031 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28032 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28033 on a CPU that doesn't implement AMD64 instruction set.
28034
28035 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28036
28037 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28038 that version.texi is rebuilt on version number changes.
28039
28040 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28041
28042 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28043 Fixes bug #27602.
28044
28045 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28046
28047 * util/i386/pc/grub-install.in: Source
28048 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28049 that the --grub-probe option will work.
28050 * util/sparc64/ieee1275/grub-install.in: Likewise.
28051
28052 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28053
28054 * configure.ac: Bump version to 1.97~beta4.
28055
28056 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 Resync grub-mkdevicemap in x86_64-efi.
28059
28060 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28061 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28062 `util/devicemap.c'.
28063
28064 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
28065
28066 * util/grub-editenv.c (create_envblk_file): Write new block with a
28067 .new suffix and then rename it into place, to ensure atomic
28068 creation.
28069
28070 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28071
28072 Do not automatically install headers.
28073
28074 * Makefile.in (include_DATA): Remove. Update all users.
28075
28076 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28077
28078 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28079 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28080
28081 * util/osdetect.lua: Remove.
28082 * script/lua/lauxlib.c: Likewise.
28083 * script/lua/ldebug.c: Likewise.
28084 * script/lua/grub_main.c: Likewise.
28085 * script/lua/lauxlib.h: Likewise.
28086 * script/lua/ldebug.h: Likewise.
28087 * script/lua/ltablib.c: Likewise.
28088 * script/lua/liolib.c: Likewise.
28089 * script/lua/lstrlib.c: Likewise.
28090 * script/lua/lualib.h: Likewise.
28091 * script/lua/ldo.c: Likewise.
28092 * script/lua/ldump.c: Likewise.
28093 * script/lua/ldo.h: Likewise.
28094 * script/lua/loslib.c: Likewise.
28095 * script/lua/lundump.c: Likewise.
28096 * script/lua/grub_lib.c: Likewise.
28097 * script/lua/ldblib.c: Likewise.
28098 * script/lua/lundump.h: Likewise.
28099 * script/lua/lmem.c: Likewise.
28100 * script/lua/grub_lib.h: Likewise.
28101 * script/lua/lmathlib.c: Likewise.
28102 * script/lua/lstate.c: Likewise.
28103 * script/lua/ltm.c: Likewise.
28104 * script/lua/lvm.c: Likewise.
28105 * script/lua/lmem.h: Likewise.
28106 * script/lua/lstate.h: Likewise.
28107 * script/lua/ltm.h: Likewise.
28108 * script/lua/ltable.c: Likewise.
28109 * script/lua/lvm.h: Likewise.
28110 * script/lua/llex.c: Likewise.
28111 * script/lua/lgc.c: Likewise.
28112 * script/lua/grub_lua.h: Likewise.
28113 * script/lua/loadlib.c: Likewise.
28114 * script/lua/lfunc.c: Likewise.
28115 * script/lua/lopcodes.c: Likewise.
28116 * script/lua/lparser.c: Likewise.
28117 * script/lua/ltable.h: Likewise.
28118 * script/lua/llex.h: Likewise.
28119 * script/lua/lgc.h: Likewise.
28120 * script/lua/lfunc.h: Likewise.
28121 * script/lua/lbaselib.c: Likewise.
28122 * script/lua/lopcodes.h: Likewise.
28123 * script/lua/lparser.h: Likewise.
28124 * script/lua/lzio.c: Likewise.
28125 * script/lua/linit.c: Likewise.
28126 * script/lua/lobject.c: Likewise.
28127 * script/lua/llimits.h: Likewise.
28128 * script/lua/lstring.c: Likewise.
28129 * script/lua/lzio.h: Likewise.
28130 * script/lua/lapi.c: Likewise.
28131 * script/lua/lcode.c: Likewise.
28132 * script/lua/lua.h: Likewise.
28133 * script/lua/lobject.h: Likewise.
28134 * script/lua/lstring.h: Likewise.
28135 * script/lua/lapi.h: Likewise.
28136 * script/lua/lcode.h: Likewise.
28137 * script/lua/luaconf.h: Likewise.
28138
28139 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
28140
28141 * docs/grub.texi (Command-line and menu entry commands): Document
28142 date and echo commands.
28143
28144 2009-09-24 Pavel Roskin <proski@gnu.org>
28145
28146 * include/grub/kernel.h (struct grub_module_header): Remove
28147 `grub_module_header_types'. Make `type' unsigned. Make `size'
28148 32-bit on all platforms.
28149 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28150 8-bit field. Use grub_host_to_target32() for `size'.
28151 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28152 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28153 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28154
28155 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 Fix "lost keypress" bug in at_keyboard.
28158
28159 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28160 Checks for readyness of input buffer (without flushing it).
28161 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28162 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28163
28164 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28165
28166 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28167 size check within GRUB_MACHINE_PCBIOS section.
28168
28169 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28170
28171 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28172 return value.
28173 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28174 KEYBOARD_ISREADY check.
28175 (grub_at_keyboard_checkkey): Rename to ...
28176 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28177 Remove gratuitous cast.
28178
28179 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
28180
28181 * configure.ac: Call AC_PROG_MKDIR_P.
28182 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28183 version.texi in $(builddir) rather than $(srcdir).
28184 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28185 to makeinfo's @include search path.
28186
28187 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28188
28189 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28190
28191 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28192
28193 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28194 for `*.dpkg-new'.
28195
28196 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
28197
28198 Build info documentation. Some code borrowed from Automake.
28199
28200 * configure.ac: Check for makeinfo.
28201 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28202 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28203 docs/version.texi.
28204 (MOSTLYCLEANFILES): Add vti.tmp.
28205 (docs/version.texi, docs/stamp-vti): Update automatically.
28206 (docs/grub.info): Build info documentation. Use --force and ignore
28207 errors for now.
28208 (all-local): Add $(INFOS).
28209 (install-local): Install info files.
28210 (uninstall): Uninstall info files.
28211 * docs/version.texi: Remove from revision control. This file is
28212 automatically generated on build now.
28213 * gendistlist.sh: Add `*.info'.
28214
28215 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28216
28217 * kern/term.c: Fix indentation.
28218
28219 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28220
28221 * util/hostdisk.c: Fix a comment.
28222
28223 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28224
28225 Fix regression introduced in r2539.
28226
28227 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28228 to 0xA1.
28229
28230 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
28231
28232 * util/grub.d/30_os-prober.in: Don't throw away stderr from
28233 os-prober. Under normal operation, it does not print anything to
28234 stderr; if it does, we need to debug it, and throwing away stderr
28235 makes that excessively difficult.
28236
28237 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28238
28239 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28240
28241 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28242
28243 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28244 AC_LANG_PROGRAM from autoconf.
28245 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28246 prototypes (fixes warning).
28247
28248 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28249 `--disable-werror' was used.
28250
28251 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28252
28253 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28254 uninitialized `lastaddr'.
28255
28256 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28257
28258 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
28259
28260 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28261
28262 * commands/test.c (get_fileinfo): Return immediately if
28263 grub_fs_probe fails.
28264
28265 2009-09-14 José Martínez <xosemp@gmail.com>
28266
28267 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28268
28269 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28270
28271 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28272 output.
28273
28274 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28275
28276 * configure.ac: Remove --enable-grub-pe2elf. Only build
28277 grub-pe2elf when needed by the build system itself.
28278 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28279
28280 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28281
28282 * configure.ac: Bump version to 1.97~beta3.
28283 * docs/version.texi: Likewise.
28284
28285 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28286
28287 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28288 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28289 from here ...
28290 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28291 (grub_linux_setup_video): ... to here (with some adjustments).
28292
28293 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28294
28295 Fix memory corruption issue (spotted by Colin Watson).
28296
28297 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28298 causing returned size to be stored in an incorrect memory location.
28299 Fix use of uninitialized value when storing the returned size.
28300
28301 2009-09-12 Yves Blusseau <blusseau@zetam.org>
28302
28303 Change clean rules to properly remove files
28304
28305 * genmk.rb: add new clean rules
28306 * Makefile.in (clean): add the new targets
28307 (mostlyclean): likewise
28308
28309 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28310
28311 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28312 to grub_uint64_t.
28313 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28314 non-resident files.
28315
28316 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28317
28318 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28319 part of bug #27349.
28320
28321 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28322
28323 * util/grub-mkconfig.in: Make the created config mode 400 and
28324 print a warning if it fails.
28325
28326 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28327
28328 * util/grub.d/40_custom.in: Ask user to type custom entries below
28329 comment, rather than below 'exec tail' line.
28330
28331 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28332
28333 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28334 visible in grub.cfg.
28335
28336 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28337
28338 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28339 file.
28340
28341 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28342
28343 * docs/grub.cfg: Add an example menu entry for memtest86+.
28344
28345 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
28346
28347 * config.guess: Update to latest version from config git.
28348 * config.sub: Likewise.
28349
28350 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
28351
28352 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28353 unknown-command case. Fixes bug #27320.
28354
28355 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
28356
28357 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28358 `help' if the command exists.
28359
28360 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28361
28362 * INSTALL: Require GCC 4.1.3 or later.
28363
28364 2009-09-06 Yves Blusseau <blusseau@zetam.org>
28365
28366 * Makefile.in (RMKFILES): add i386-qemu.rmk
28367 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28368 $(srcdir)/stamp-h.in
28369
28370 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28371
28372 * util/grub-probe.c (probe): Comment out buggy codepath, which
28373 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28374 should be re-enabled after 1.97.
28375
28376 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
28377
28378 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28379 find searches for.
28380
28381 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28384 unnecessary calls to grub_error.
28385
28386 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
28387
28388 * NEWS: Mention `keystatus' and Unicode fonts.
28389
28390 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28391
28392 * configure.ac: Bump version to 1.97~beta2.
28393 * docs/version.texi: Likewise.
28394
28395 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28396
28397 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28398 containing unwind information in some cases where it previously did
28399 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28400 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28401 discussion.
28402
28403 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28404
28405 Embedding loadenv module into grub-emu
28406
28407 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28408 commands/loadenv.c
28409 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28410 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28413 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28414 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28415
28416 2009-09-03 Magnus Granberg <zorry@ume.nu>
28417
28418 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28419 include -fPIE in the default specs.
28420 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28421 to TARGET_CFLAGS.
28422
28423 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
28424
28425 * INSTALL: Note that GNU Bison 2.3 or later is required.
28426
28427 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28428
28429 * kern/i386/pc/startup.S: Fix typo.
28430
28431 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28432
28433 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28434 according to GCS.
28435
28436 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28437
28438 * docs/grub.texi (Naming convention): Describe one-based partition
28439 numbering.
28440 (Device syntax): Likewise.
28441 (File name syntax): Likewise.
28442 (Block list syntax): Likewise.
28443 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28444 menu.lst.
28445 (File name syntax): Likewise.
28446 (Command-line and menu entry commands): Document acpi, blocklist,
28447 crc, export, insmod, keystatus, ls, set, and unset commands.
28448
28449 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28450
28451 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28452 to avoid implying that only one of --shift, --ctrl, or --alt may be
28453 used.
28454
28455 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28456
28457 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
28458 rather than comparing against S_IFREG, which will almost never work.
28459
28460 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
28461
28462 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
28463 (write_blocklists): Likewise.
28464
28465 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
28466
28467 * script/lua/grub_lua.h (fputs): Supply a format string as the first
28468 argument to grub_printf.
28469
28470 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
28471
28472 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
28473 non GNU test.
28474
28475 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * kern/file.c (grub_file_read): Spelling fix
28478
28479 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
28482 loading of headers in some cases.
28483
28484 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
28485
28486 * configure.ac: Bump version to 1.97~beta1.
28487 * docs/version.texi: Likewise.
28488
28489 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 * include/grub/i386/xnu.h: Add license header.
28492 include grub/err.h explicitly.
28493
28494 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28495
28496 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
28497 to `ufs' in the vfs.root.mountfrom kernel parameter.
28498
28499 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28500
28501 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
28502
28503 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
28504 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
28505
28506 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
28507 `ARRAY_SIZE' macro.
28508
28509 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28510
28511 * kern/file.c (grub_file_read): Check offset.
28512 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
28513 * fs/jfs.c (grub_jfs_read_file): Likewise.
28514 * fs/ntfs.c (grub_ntfs_read): Likewise.
28515 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
28516 * fs/minix.c (grub_minix_read_file): Correct offset check.
28517 * fs/ufs.c (grub_ufs_read_file): Likewise.
28518
28519 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28520
28521 * term/i386/pc/console.c (bios_data_area): Cast
28522 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
28523
28524 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28525
28526 1-bit optimised blitters.
28527
28528 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
28529 prototype.
28530 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28531 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28532 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28533 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28534 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28535 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28536 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
28537 function.
28538 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28539 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28540 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28541 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28542 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28543 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28544 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
28545 when possible.
28546 * video/video.c (grub_video_get_blit_format): Return
28547 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
28548
28549 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28550
28551 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
28552 the first argument to grub_printf.
28553
28554 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28555 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28556
28557 Add `getkeystatus' terminal method. Add a new `keystatus' command
28558 to query it.
28559
28560 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28561 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28562 modifier key bitmasks.
28563 (struct grub_term_input): Add `getkeystatus' member.
28564 (grub_getkeystatus): Add prototype.
28565 * kern/term.c (grub_getkeystatus): New function.
28566
28567 * include/grub/i386/pc/memory.h
28568 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
28569 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
28570 Data Area layout.
28571 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
28572 (grub_console_term_input): Set `getkeystatus' member.
28573 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
28574 constants.
28575 (grub_usb_keyboard_getreport): Likewise.
28576 (grub_usb_keyboard_checkkey): Likewise.
28577 (grub_usb_keyboard_getkeystatus): New function.
28578 (grub_usb_keyboard_term): Set `getkeystatus' member.
28579
28580 * commands/keystatus.c: New file.
28581 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
28582 (keystatus_mod_SOURCES): New variable.
28583 (keystatus_mod_CFLAGS): Likewise.
28584 (keystatus_mod_LDFLAGS): Likewise.
28585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
28586 commands/keystatus.c.
28587 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28588 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28589 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28593
28594 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28595
28596 Split befs.mod and afs.mod into *_be.mod and *.mod
28597
28598 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
28599 (grub_fstest_SOURCES): Likewise.
28600 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
28601 (afs_be_mod_SOURCES): New variable.
28602 (afs_be_mod_CFLAGS): Likewise.
28603 (afs_be_mod_LDFLAGS): Likewise.
28604 (befs_be_mod_SOURCES): Likewise.
28605 (befs_be_mod_CFLAGS): Likewise.
28606 (befs_be_mod_LDFLAGS): Likewise.
28607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
28608 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28609 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28610 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28611 (grub_emu_SOURCES): Likewise.
28612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28613 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28614 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28615 * fs/afs_be.c: New file.
28616 * fs/befs_be.c: New file.
28617 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28618 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28619 (U16): Replaced with ...
28620 (grub_afs_to_cpu16): ...this. All users updated.
28621 (U32): Replaced with ...
28622 (grub_afs_to_cpu32): ...this. All users updated.
28623 (U64): Replaced with ...
28624 (grub_afs_to_cpu64): ...this. All users updated.
28625 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28626 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
28627 (grub_afs_validate_sblock): Check only one endianness.
28628 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28629 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28630 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28631 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28632 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28633 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28634 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28635 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28636
28637 2009-08-26 Bean <bean123ch@gmail.com>
28638
28639 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28640 64-bit number.
28641 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28642 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28643 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28644
28645 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 NetBSD memory map support.
28648
28649 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28650 (grub_netbsd_btinfo_mmap_header): New structure.
28651 (grub_netbsd_btinfo_mmap_entry): Likewise.
28652 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28653
28654 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28655
28656 Enable bsd.mod on coreboot.
28657
28658 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28659 (bsd_mod_SOURCES): New variable.
28660 (bsd_mod_CFLAGS): Likewise.
28661 (bsd_mod_LDFLAGS): Likewise.
28662 (bsd_mod_ASFLAGS): Likewise.
28663 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28664 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28665
28666 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28667
28668 Cleanup NetBSD root support.
28669
28670 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28671 grub_bsd_get_device.
28672 Fix typo.
28673
28674 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
28675
28676 * util/grub.d/00_header.in: Move check for the video backend of
28677 gfxterm from here ...
28678 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28679 a suitable video backend.
28680
28681 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 Fix breakage in grub-setup.
28684
28685 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28686 "msdos_partition_map".
28687
28688 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28689
28690 Fix breakage in normal/auth.c.
28691
28692 * normal/auth.c (grub_iswordseparator): New function.
28693
28694 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28695
28696 Authentication support.
28697
28698 * commands/password.c: New file.
28699 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28700 (password_mod_SOURCES): New variable.
28701 (password_mod_CFLAGS): Likewise.
28702 (password_mod_LDFLAGS): Likewise.
28703 (normal_mod_SOURCES): Add normal/auth.c.
28704 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28705 normal/auth.c.
28706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28708 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28712 * include/grub/auth.h: New file.
28713 * include/grub/err.h (grub_err_t): New enum value
28714 GRUB_ERR_ACCESS_DENIED.
28715 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28716 'users'.
28717 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28718 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28719 users updated.
28720 * normal/auth.c: New file.
28721 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28722 (grub_cmdline_run): Don't allow to go to command line without
28723 authentication.
28724 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28725 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28726 menuentry without superuser rights.
28727 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28728 user isn't a superuser.
28729
28730 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28731
28732 Save space by inlining misc.c functions.
28733
28734 * kern/misc.c (grub_iswordseparator): Made static.
28735 * kern/misc.c (grub_strcat): Moved from here ...
28736 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28737 * kern/misc.c (grub_strncat): Moved from here ...
28738 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28739 * kern/misc.c (grub_strcasecmp): Moved from here ...
28740 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28741 * kern/misc.c (grub_strncasecmp): Moved from here ...
28742 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28743 * kern/misc.c (grub_isalpha): Moved from here ...
28744 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28745 * kern/misc.c (grub_isdigit): Moved from here ...
28746 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28747 * kern/misc.c (grub_isgraph): Moved from here ...
28748 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28749 * kern/misc.c (grub_tolower): Moved from here ...
28750 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28751
28752 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28753
28754 * script/sh/function.c (grub_script_function_find): Cut error message
28755 not to flood terminal.
28756 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28757 limit.
28758 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28759
28760 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
28761
28762 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28763 `report' grub_uint8_t *.
28764 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28765 Use a 50-millisecond timeout rather than just repeating
28766 grub_usb_keyboard_getreport 50 times.
28767 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28768
28769 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28770
28771 Rename *_partition_map to part_*
28772
28773 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28774 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28775 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28776 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28777 All users updated.
28778 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28779 All users updated.
28780 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28781 * util/grub-probe.c (probe_partmap): Don't transform partition name
28782 to get module name.
28783
28784 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28785
28786 Fix OpenBSD and NetBSD support.
28787
28788 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28789 memory address conflict.
28790 (OPENBSD_MMAP_ACPI): New definition.
28791 (OPENBSD_MMAP_NVS): Likewise.
28792 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28793 and OPENBSD_MMAP_NVS.
28794 Add memory map terminator
28795 Explicit cast when calling grub_unix_real_boot.
28796 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
28797
28798 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 Let user specify NetBSD root device.
28801
28802 * loader/i386/bsd.c (netbsd_root): New variable.
28803 (netbsd_opts): New option 'root'.
28804 (NETBSD_ROOT_ARG): New macro.
28805 (grub_netbsd_boot): Use 'netbsd_root'.
28806 (grub_bsd_unload): Free 'netbsd_root'.
28807 (grub_cmd_netbsd): Fill 'netbsd_root'.
28808
28809 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 Support for 64-bit NetBSD.
28812
28813 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28814 point when booting non-FreeBSD.
28815
28816 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 Support --no-smp and --no-acpi for NetBSD.
28819
28820 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28821 (NETBSD_AB_NOACPI): Likewise.
28822 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28823 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28824
28825 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28826
28827 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28828 errors.
28829 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28830 errors. Call grub_error when needed.
28831
28832 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28833
28834 * commands/search.c (search_fs): Try searching without autoload first.
28835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28836 filesystem module explicitly for faster booting.
28837
28838 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28839
28840 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28841
28842 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28843
28844 * util/grub.d/30_os-prober.in: Disable os-prober if
28845 `GRUB_DISABLE_OS_PROBER' was set to true.
28846
28847 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28848
28849 * partmap/pc.c: Rename to ...
28850 * partmap/msdos.c: ... this. Update all users.
28851 (grub_pc_partition_map): Rename to ...
28852 (grub_msdos_partition_map): ... this. Update all users.
28853
28854 * parttool/pcpart.c: Rename to ...
28855 * parttool/msdospart.c: ... this. Update all users.
28856
28857 * include/grub/pc_partition.h: Rename to ...
28858 * include/grub/msdos_partition.h: ... this. Update all users.
28859 (grub_pc_partition_bsd_entry): Rename to ...
28860 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28861 (grub_pc_partition_disk_label): Rename to ...
28862 (grub_msdos_partition_disk_label): ... this. Update all users.
28863 (grub_pc_partition_entry): Rename to ...
28864 (grub_msdos_partition_entry): ... this. Update all users.
28865 (grub_pc_partition_mbr): Rename to ...
28866 (grub_msdos_partition_mbr): ... this. Update all users.
28867 (grub_pc_partition): Rename to ...
28868 (grub_msdos_partition): ... this. Update all users.
28869 (grub_pc_partition_is_empty): Rename to ...
28870 (grub_msdos_partition_is_empty): ... this. Update all users.
28871 (grub_pc_partition_is_extended): Rename to ...
28872 (grub_msdos_partition_is_extended): ... this. Update all users.
28873 (grub_pc_partition_is_bsd): Rename to ...
28874 (grub_msdos_partition_is_bsd): ... this. Update all users.
28875
28876 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28877 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28878 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28879 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28880 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28881 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28882 (gpt_mod_LDFLAGS): Rename to ...
28883 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28884 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28885 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28886 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28887 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28888 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28889 (part_gpt_mod_LDFLAGS): ... this.
28890 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28891 `pcpart.mod' to `msdospart.mod'.
28892 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28893 to ...
28894 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28895 (msdospart_mod_LDFLAGS): ... this.
28896
28897 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28898
28899 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28900 (openbsd_opts): Likewise.
28901 (netbsd_opts): Likewise.
28902 (freebsd_flags): Added 0 terminator.
28903 (openbsd_flags): Likewise.
28904 (netbsd_flags): Likewise.
28905 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28906 (grub_cmd_freebsd): Transformed into extended command.
28907 (grub_cmd_openbsd): Likewise.
28908 (grub_cmd_netbsd): Likewise.
28909 (cmd_freebsd): Changed type to grub_extcmd_t.
28910 (cmd_openbsd): Likewise.
28911 (cmd_netbsd): Likewise.
28912 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28913 grub_cmd_openbsd as extended commands.
28914 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28915 cmd_netbsd and cmd_openbsd
28916
28917 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28918
28919 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28920
28921 2009-08-21 Pavel Roskin <proski@gnu.org>
28922
28923 * Makefile.in (install-local): When checking if a file is in the
28924 build directory, use "test -e" to detect symlinks.
28925
28926 * Makefile.in (install-local): Remove all files in
28927 $(DESTDIR)$(pkglibdir) before installing new files there.
28928
28929 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28930
28931 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28932 grub-mkelfimage.
28933
28934 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28935
28936 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28937 explicitly specified by the user.
28938
28939 2009-08-18 Pavel Roskin <proski@gnu.org>
28940
28941 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28942 grub_uint8_t pointer for data.
28943 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28944 Likewise.
28945 * video/fb/fbutil.c: Remove unnecessary casts.
28946
28947 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28948
28949 VBE cleanup.
28950
28951 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28952 (grub_vbe_set_video_mode): Save active mode info
28953 only after setting the mode.
28954 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28955 second argument.
28956
28957 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28958
28959 Rename variables for clarity.
28960
28961 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28962 (active_vbe_mode_info): ... this. All users updated.
28963 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28964 All users updated.
28965 (initial_mode): Rename to ...
28966 (initial_vbe_mode): ... this. All users updated.
28967 (mode_in_use): Rename to ..
28968 (vbe_mode_in_use): ... this. All users updated.
28969 (mode_list): Rename to ..
28970 (vbe_mode_list): ... this. All users updated.
28971 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28972 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28973 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28974 'mode_list_size' to 'vbe_mode_list_size'.
28975 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28976 'best_mode_info' to 'best_vbe_mode_info' and
28977 'best_mode' to 'best_vbe_mode'
28978
28979 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28980
28981 Remove duplicate grub_video_fb_get_video_ptr.
28982
28983 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28984 (grub_video_fb_get_video_ptr): ... this.
28985 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28986 * video/fb/fbutil.c: Add comment about addressing.
28987 (get_data_ptr): Rename to ...
28988 (grub_video_fb_get_video_ptr): ... this. All users updated.
28989 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28990
28991 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28992
28993 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28994 grub_dprintf() that was just added.
28995
28996 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28997
28998 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28999 (DEFAULT_VIDEO_MODE): Remove macros.
29000 (grub_linux_boot): Remove assumption that Linux has FB support,
29001 and use "text" as default video mode.
29002
29003 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29004
29005 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29006 grub_dprintf.
29007 * fs/fat.c (grub_fat_read_data): Likewise.
29008
29009 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29012 payload.
29013 (grub_module): Likewise.
29014
29015 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29016
29017 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29018 mbi->cmdline but free playground.
29019
29020 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29021
29022 Handle group offset on UFS1.
29023
29024 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29025 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29026
29027 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29028
29029 Split ufs.mod into ufs1.mod and ufs2.mod.
29030
29031 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29032 (grub_fstest_SOURCES): Likewise.
29033 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29034 (ufs_mod_SOURCES): Remove.
29035 (ufs_mod_CFLAGS): Likewise.
29036 (ufs_mod_LDFLAGS): Likewise.
29037 (ufs1_mod_SOURCES): New variable.
29038 (ufs1_mod_CFLAGS): Likewise.
29039 (ufs1_mod_LDFLAGS): Likewise.
29040 (ufs2_mod_SOURCES): New variable.
29041 (ufs2_mod_CFLAGS): Likewise.
29042 (ufs2_mod_LDFLAGS): Likewise.
29043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29044 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29045 Likewise.
29046 (grub_emu_SOURCES): Likewise.
29047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29048 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29049 (grub_setup_SOURCES): Likewise.
29050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29051 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29052 (grub_setup_SOURCES): Likewise.
29053 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29054 Likewise.
29055 * fs/ufs2.c: New file.
29056 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29057
29058 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 Framebuffer split.
29061
29062 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29063 subsystem at the end.
29064 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29065 (video_fb_mod_SOURCES): New variable.
29066 (video_fb_mod_CFLAGS): Likewise.
29067 (video_fb_mod_LDFLAGS): Likewise.
29068 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29069 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29070 * video/i386/pc/vbeblit.c: Moved from here ...
29071 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29072 * video/i386/pc/vbefill.c: Moved from here ...
29073 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29074 * video/i386/pc/vbeutil.c: Moved from here ...
29075 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29076 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29077 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29078 * include/grub/i386/pc/vbefill.h: Moved from here ...
29079 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29080 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29081 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29082 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29083 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29084 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29085 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29086 (grub_video_adapter): Added 'get_info_and_fini'.
29087 (grub_video_get_info_and_fini): New prototype.
29088 (grub_video_set_mode): make modestring const char *.
29089 * loader/i386/linux.c (grub_linux_setup_video): Use
29090 grub_video_get_info_and_fini.
29091 (grub_linux_boot): Move modesetting just before booting.
29092 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29093 grub_video_get_info_and_fini.
29094 * video/i386/pc/vbe.c: Moved framebuffer part ...
29095 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29096 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29097 grub_video_fbstd_colors and grub_video_fb_set_palette.
29098 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29099 grub_video_fb_init.
29100 (grub_video_vbe_fini): Use grub_video_fb_fini.
29101 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29102 render_target and use grub_video_fb_set_active_render_target and
29103 grub_video_fb_set_palette.
29104 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29105 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29106 (grub_video_vbe_adapter): Use framebuffer.
29107 * video/video.c (grub_video_get_info_and_fini): New function.
29108 (grub_video_set_mode): Make modestring const char *.
29109 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29110 values are already initialised.
29111
29112 2009-08-14 Pavel Roskin <proski@gnu.org>
29113
29114 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29115 ABS and APPLE_CC.
29116 * boot/i386/pc/diskboot.S: Likewise.
29117 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29118 sectors allow compilation on MacOSX.
29119 * conf/i386-pc.rmk: Enable unconditional compilation of
29120 lnxboot.img.
29121
29122 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
29123
29124 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29125 * util/grub.d/00_header.in: Enter interruptible sleep if
29126 GRUB_HIDDEN_TIMEOUT is set.
29127
29128 2009-08-13 Yves Blusseau <blusseau@zetam.org>
29129
29130 * include/grub/symbol.h: Add the LOCAL macro.
29131 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29132 starting with "L_".
29133
29134 2009-08-13 Pavel Roskin <proski@gnu.org>
29135
29136 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29137 any modern compilers we support.
29138
29139 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29140 Use local labels starting with "L_" so that Apple assembler
29141 knows they are local.
29142
29143 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29144
29145 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29146 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29147 (bsd_kernel_types): ... this enum.
29148
29149 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29150 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29151 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29152
29153 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29154 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29155 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29156 messages.
29157
29158 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29159
29160 * util/grub-dumpdevtree: Moved from here ...
29161 * util/i386/efi/grub-dumpdevtree: ... to here.
29162 (hexify): New function. Converts a string to its hex version.
29163 Generate hex versions of "efi" and "device-properties" by calling
29164 hexify() on the ASCII strings rather than by hardcoding numbers.
29165
29166 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29167
29168 * fs/jfs.c: Update copyright year.
29169
29170 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29171
29172 * util/grub.d/00_header.in: Fix a comment.
29173 * util/grub.d/10_linux.in: Likewise.
29174 * util/grub.d/10_windows.in: Likewise.
29175 * util/grub.d/10_hurd.in: Likewise.
29176
29177 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29178
29179 * util/grub-mkconfig.in: Allow the user to specify the used font
29180 with GRUB_FONT.
29181
29182 2009-08-08 Pavel Roskin <proski@gnu.org>
29183
29184 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29185 available, xfs.mod needs it now.
29186
29187 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29188 the "g" modifier in sed when the intention is to strip something
29189 once. This fixes comparison of kernels with multiple dashes.
29190
29191 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29192 on it. Add missing space before closing bracket. Fix
29193 misleading formatting.
29194
29195 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29196
29197 * docs/grub.texi: Major overhaul. Remove all sections that are
29198 specific to GRUB Legacy, or mostly composed of Legacy-specific
29199 information.
29200
29201 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29202
29203 * docs/version.texi: New file. Provides version information for
29204 grub.texi.
29205
29206 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29207
29208 * docs/grub.texi: Update CVS information to SVN.
29209 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29210
29211 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29212
29213 * util/grub-mkconfig.in: Remove a wrong `fi'.
29214
29215 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29216
29217 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29218 (grub_jfs_uuid): New function.
29219 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29220
29221 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29222
29223 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29224 of it to ...
29225 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29226 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29227
29228 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29229
29230 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29231 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29232 Update all users.
29233
29234 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29235 not just "vmlinu[zx]".
29236 Moved from here ...
29237 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29238 all users.
29239
29240 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29241 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29242 all users.
29243
29244 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29245
29246 * util/grub.d/10_freebsd.in: Use an absolute device path for
29247 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29248
29249 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
29250
29251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29252 handling of multiple abstraction modules.
29253
29254 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29255
29256 Fix a bug resulting in black screen when loading Linux using a
29257 packed video mode.
29258
29259 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29260 function.
29261
29262 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29263 (grub_vbe_bios_getset_dac_palette_width): New function.
29264 (grub_vbe_bios_get_dac_palette_width)
29265 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29266 grub_vbe_bios_getset_dac_palette_width()).
29267
29268 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29269 check for return status.
29270 (grub_vbe_get_video_mode_info): When getting information for a packed
29271 mode (<= 8 bpp), obtain DAC palette width using
29272 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29273 {red,green,blue}_mark_size.
29274
29275 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
29276
29277 * commands/search.c (options): Fix help output to match actual code.
29278
29279 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29280
29281 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29282 of homegrown code.
29283
29284 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29285
29286 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29287 on XFS or ReiserFS.
29288
29289 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29290
29291 Support Apple partition map with sector size different from 512 bytes.
29292
29293 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29294 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29295 and 'apart.partmap_size'.
29296
29297 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29298 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29299
29300 Fix cpuid command.
29301
29302 * commands/i386/cpuid.c (options): New variable.
29303 (grub_cmd_cpuid): Return real error.
29304 (GRUB_MOD_INIT(cpuid)): Declare options.
29305
29306 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29307
29308 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29309 valid.
29310
29311 2009-07-31 Bean <bean123ch@gmail.com>
29312
29313 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29314 log2_inode.
29315 (grub_fshelp_node): Move inode field to the end.
29316 (grub_xfs_data): Remove inode field.
29317 (grub_xfs_inode_block): Calculate inode size using sblock.
29318 (grub_xfs_inode_offset): Likewise.
29319 (grub_xfs_read_inode): Calculate inode size using sblock.
29320 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29321 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29322 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29323 to match inode size.
29324 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29325 not accessible when data is null.
29326 (grub_xfs_open): Likewise.
29327
29328 2009-07-31 Bean <bean123ch@gmail.com>
29329
29330 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29331 Don't change pv->disk if it's already set.
29332
29333 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29334 (grub_raid_register): ... here.
29335 (grub_raid_rescan): Removed.
29336
29337 * include/grub/raid.h (grub_raid_rescan): Removed.
29338
29339 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29340 (fstest): Replace grub_raid_rescan with module fini function followed
29341 by init function.
29342
29343 * util/grub-probe.c: Add include file <grub/raid.h>.
29344 (probe_raid_level): New function.
29345 (probe): Detect abstraction by walking the disk device, support two
29346 level of abstraction (LVM on RAID) when detecting partition map.
29347
29348 2009-07-31 Pavel Roskin <proski@gnu.org>
29349
29350 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29351 to grub_zalloc(), it was erroneous.
29352 Reported by Bean <bean123ch@gmail.com>
29353
29354 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29355
29356 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
29357 embedding zone, not only the first one.
29358
29359 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
29360
29361 * term/gfxterm.c (clear_char): New function.
29362 (grub_virtual_screen_setup): Use clear_char.
29363 (scroll_up): Likewise.
29364 (grub_virtual_screen_cls): Likewise.
29365
29366 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
29367
29368 * util/deviceiter.c (get_acceleraid_disk_name): New static
29369 function.
29370 (grub_util_iterate_devices): Handle Accelraid devices.
29371 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29372
29373 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29374
29375 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29376 separator for the suggested gfxpayload string (';' collides with the
29377 parser and needs escaping).
29378
29379 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29380
29381 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29382 Clear direction flag before jumping to OS.
29383 (grub_multiboot2_real_boot): Likewise.
29384
29385 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29386
29387 * util/i386/pc/grub-install: Fix parsing of --disk-module
29388 option.
29389
29390 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29391
29392 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29393 when embedding.
29394
29395 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
29396
29397 * util/grub-mkconfig.in (package_version): New variable.
29398 Use it do display the version.
29399
29400 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29401
29402 * kern/file.c (grub_file_open): Revert to previous check with
29403 grub_errno.
29404
29405 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29406
29407 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29408 from help line. It's out of sync with code.
29409
29410 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29411
29412 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29413 entries on failed boot.
29414
29415 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29416
29417 * kern/file.c (grub_file_open): Fix an error check.
29418
29419 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29420
29421 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29422 partition map couldn't be identified.
29423
29424 2009-07-23 Pavel Roskin <proski@gnu.org>
29425
29426 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29427 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29428 case of little endian words becomes just an optimization.
29429 Respect const modifier.
29430 (md5_final): Use code that doesn't depend on endianness.
29431
29432 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29433 to avoid loss of upper bits if align is unsigned and shorter
29434 than addr.
29435
29436 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29437
29438 UUID support for UFS
29439
29440 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29441 (grub_ufs_uuid): New function.
29442 (grub_ufs_fs): add .uuid
29443
29444 2009-07-21 Pavel Roskin <proski@gnu.org>
29445
29446 * kern/dl.c (grub_dl_check_header): Make static.
29447
29448 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
29449
29450 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29451 add drivemap for Vista. It breaks Windows 7.
29452
29453 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29454
29455 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
29456 128 bytes
29457
29458 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29459
29460 Add BFS support
29461
29462 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
29463 (grub_fstest_SOURCES): Likewise.
29464 (pkglib_MODULES): Add befs.mod.
29465 (befs_mod_SOURCES): New variable.
29466 (befs_mod_CFLAGS): Likewise.
29467 (befs_mod_LDFLAGS): Likewise.
29468 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29469 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29471 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29472 (grub_setup_SOURCES): Likewise.
29473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29475 (grub_setup_SOURCES): Likewise.
29476 * fs/befs.c: New file.
29477 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
29478 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
29479 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
29480 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
29481 (B_KEY_INDEX_ALIGN): New declaration.
29482 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
29483 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
29484 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
29485 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
29486 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
29487 (grub_afs_mount) [MODE_BFS]: Likewise.
29488 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
29489 (grub_afs_fs): Use GRUB_AFS_FSNAME
29490 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
29491 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
29492 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
29493 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
29494
29495 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
29496
29497 * util/getroot.c (find_root_device): Add support for MacOSX.
29498 * util/hostdisk.c: Likewise.
29499
29500 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29501
29502 * font/font.c (find_glyph): Check whether a font is present to avoid
29503 segmentation fault.
29504
29505 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
29506
29507 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
29508
29509 2009-07-20 Pavel Roskin <proski@gnu.org>
29510
29511 * configure.ac: Trim excessively wordy excuses.
29512
29513 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29514
29515 Add symlink, mtime and label support to AtheFS.
29516
29517 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
29518 (grub_afs_iterate_dir): Handle symlinks.
29519 (grub_afs_open): Use grub_afs_read_symlink.
29520 (grub_afs_dir): Likewise.
29521 Pass mtime.
29522 (grub_afs_label): New function.
29523 (grub_afs_fs): Add grub_afs_label.
29524 (grub_afs_read_symlink): New function.
29525
29526 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 Fix AtheFS support.
29529
29530 * fs/afs.c: Fix comments style.
29531 (grub_afs_blockrun): Declare as packed.
29532 (grub_afs_datastream): Likewise.
29533 (grub_afs_bnode): Likewise.
29534 (grub_afs_btree): Likewise.
29535 (grub_afs_sblock): Likewise.
29536 Declare `name' as char.
29537 (grub_afs_inode): Declare as packed.
29538 Change void *vnode to grub_uint32_t unused.
29539 (grub_afs_iterate_dir): Check that key_size is positive.
29540 (grub_afs_mount): Don't read superblock twice.
29541 (grub_afs_dir): Don't free node in case of error,
29542 grub_fshelp_find_file already handles this.
29543 (grub_afs_open): Likewise.
29544
29545 2009-07-19 Pavel Roskin <proski@gnu.org>
29546
29547 * Makefile.in: Remove LIBLZO and enable_lzo.
29548 * conf/i386-pc.rmk: Remove lzo support.
29549 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
29550 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
29551 support.
29552 * kern/i386/pc/lzo1x.S: Remove.
29553 * kern/i386/pc/startup.S: Remove lzo support.
29554 * util/i386/pc/grub-mkimage.c: Likewise.
29555
29556 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29557
29558 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29559 * fs/xfs.c (grub_xfs_dir): Likewise.
29560 * fs/afs.c (grub_afs_dir): Likewise.
29561 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29562 (grub_iso9660_open): Likewise.
29563 * fs/jfs.c (grub_jfs_open): Likewise.
29564 * fs/ext2.c (grub_ext2_dir): Likewise.
29565 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
29566 * script/sh/lexer.c (grub_script_yylex): Likewise.
29567
29568 2009-07-16 Pavel Roskin <proski@gnu.org>
29569
29570 * configure.ac: Never add "-c" to CFLAGS.
29571
29572 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
29573
29574 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
29575 grub_cv_cc_efiemu should be used.
29576
29577 * configure.ac: Typo fixes.
29578
29579 * kern/mm.c (grub_zalloc): New function.
29580 (grub_debug_zalloc): Likewise.
29581 * include/grub/mm.h: Declare grub_zalloc() and
29582 grub_debug_zalloc().
29583 * util/misc.c (grub_zalloc): New function.
29584 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
29585 instead of grub_malloc(), remove unneeded initializations.
29586 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
29587 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
29588 * commands/parttool.c (grub_cmd_parttool): Likewise.
29589 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
29590 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
29591 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
29592 * disk/usbms.c (grub_usbms_finddevs): Likewise.
29593 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
29594 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
29595 (grub_cmd_efiemu_pnvram): Likewise.
29596 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
29597 * fs/iso9660.c (grub_iso9660_mount): Likewise.
29598 (grub_iso9660_iterate_dir): Likewise.
29599 * fs/jfs.c (grub_jfs_opendir): Likewise.
29600 * fs/ntfs.c (list_file): Likewise.
29601 (grub_ntfs_mount): Likewise.
29602 * kern/disk.c (grub_disk_open): Likewise.
29603 * kern/dl.c (grub_dl_load_core): Likewise.
29604 * kern/elf.c (grub_elf_file): Likewise.
29605 * kern/env.c (grub_env_context_open): Likewise.
29606 (grub_env_set): Likewise.
29607 (grub_env_set_data_slot): Likewise.
29608 * kern/file.c (grub_file_open): Likewise.
29609 * kern/fs.c (grub_fs_blocklist_open): Likewise.
29610 * loader/i386/multiboot.c (grub_module): Likewise.
29611 * loader/xnu.c (grub_xnu_create_key): Likewise.
29612 (grub_xnu_create_value): Likewise.
29613 * normal/main.c (grub_normal_add_menu_entry): Likewise.
29614 (read_config_file): Likewise.
29615 * normal/menu_entry.c (make_screen): Likewise.
29616 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29617 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29618 * script/sh/script.c (grub_script_parse): Likewise.
29619 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29620 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29621 * video/readers/png.c (grub_png_output_byte): Likewise.
29622 (grub_video_reader_png): Likewise.
29623
29624 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29625
29626 Enable all targets that can be built by default
29627
29628 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
29629 grub-mkfont and grub-fstest if they can be built
29630
29631 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29632
29633 Fix hang and segmentation fault in grub-emu-usb
29634
29635 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29636 * util/usb.c (grub_libusb_devices): likewise
29637 (grub_libusb_init): rename to ...
29638 (GRUB_MOD_INIT (libusb)):...this
29639 (grub_libusb_fini): rename to ..
29640 (GRUB_MOD_FINI (libusb)):...this
29641 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29642 * include/grub/disk.h (grub_raid_init): removed, it's useless
29643 (grub_raid_fini): likewise
29644 (grub_lvm_init): likewise
29645 (grub_lvm_fini): likewise
29646 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29647 by grub_init_all
29648
29649 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29650
29651 Fix libusb
29652
29653 * Makefile.in (LIBUSB): new macro
29654 * genmk.rb (Utility/print_tail): new method
29655 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29656 (top level): call util.print_tail at the end.
29657
29658 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29659
29660 Make FreeBSD accept zpool.cache
29661
29662 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29663 type is /boot/zfs/zpool.cache
29664
29665 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29666
29667 Fix 64-bit efiemu
29668
29669 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29670 correct wrong typedef
29671 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29672
29673 2009-07-15 Pavel Roskin <proski@gnu.org>
29674
29675 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29676 * kern/disk.c (struct grub_disk_cache): Likewise.
29677
29678 * commands/probe.c (options): Typo fix.
29679
29680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29681 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29682 accordingly.
29683 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29684
29685 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29686 the end of "Error" to make the message more readable.
29687
29688 * boot/i386/pc/boot.S (kernel_segment): Remove.
29689 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29690 for destination.
29691
29692 * boot/i386/pc/boot.S (boot_version): Remove.
29693 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29694 Remove.
29695
29696 * include/grub/i386/pc/boot.h: Sort all offsets.
29697 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29698 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29699 * boot/i386/pc/boot.S: Assert location of every offset listed in
29700 include/grub/i386/pc/boot.h.
29701
29702 2009-07-13 Pavel Roskin <proski@gnu.org>
29703
29704 * include/grub/i386/coreboot/machine.h: Rename
29705 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29706 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29707 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29708
29709 * kern/dl.c: Force native word size to suppress warnings when
29710 compiling grub-emu.
29711
29712 * kern/device.c (grub_device_iterate): Change struct part_ent to
29713 hold the name, not a pointer to it. Use one grub_malloc() per
29714 partition, not two. Free partition_name if grub_malloc() fails.
29715 Set ents to NULL only before grub_partition_iterate() is called.
29716
29717 2009-07-11 Bean <bean123ch@gmail.com>
29718
29719 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29720 childname.
29721
29722 2009-07-10 Bean <bean123ch@gmail.com>
29723 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29724
29725 * kern/ieee1275/openfw.c (grub_children_iterate)
29726 (grub_devalias_iterate): Fix size evaluation for property or path
29727 strings, which was broken since r2132.
29728
29729 2009-07-07 Pavel Roskin <proski@gnu.org>
29730
29731 * commands/search.c (search_file): Merge into ...
29732 (search_fs): ... this. Accept search type as argument.
29733 (grub_cmd_search): Pass search type to search_fs().
29734
29735 * include/grub/util/console.h: New file.
29736 * util/console.c: Use it instead of grub/machine/console.h.
29737 * util/grub-emu.c: Likewise.
29738
29739 * lib/arg.c (find_long_option): Remove.
29740 (find_long): Add `len' argument, make `s' const char *.
29741 (grub_arg_parse): Parse long options in place, not in a
29742 temporary buffer.
29743
29744 2009-07-06 Pavel Roskin <proski@gnu.org>
29745
29746 * commands/search.c (search_fs): Fix potential NULL pointer
29747 dereference.
29748
29749 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29750 function pointer.
29751
29752 2009-07-06 Daniel Mierswa <impulze@impulze.org>
29753
29754 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29755 comparison.
29756
29757 2009-07-05 Pavel Roskin <proski@gnu.org>
29758
29759 * include/grub/i386/linux.h (struct linux_kernel_params):
29760 Restore padding3, it's still needed.
29761
29762 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29763 FreeBSD.
29764 * util/osdetect.lua: Likewise.
29765
29766 2009-07-05 Bean <bean123ch@gmail.com>
29767
29768 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29769
29770 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29771 (grub_lua_getenv): Likewise.
29772 (grub_lua_setenv): Likewise.
29773 (save_errno): New function.
29774 (push_result): Likewise.
29775 (grub_lua_enum_device): Likewise.
29776 (grub_lua_enum_file): Likewise.
29777 (grub_lua_file_open): Likewise.
29778 (grub_lua_file_close): Likewise.
29779 (grub_lua_file_seek): Likewise.
29780 (grub_lua_file_read): Likewise.
29781 (grub_lua_file_getline): Likewise.
29782 (grub_lua_file_getsize): Likewise.
29783 (grub_lua_file_getpos): Likewise.
29784 (grub_lua_file_eof): Likewise.
29785 (grub_lua_file_exist): Likewise.
29786 (grub_lua_add_menu): Likewise.
29787
29788 * script/lua/grub_lua.h (isupper): New inline function.
29789 (islower): Likewise.
29790 (ispunct): Likewise.
29791 (isxdigit): Likewise.
29792 (strcspn): Change to normal function.
29793 (strpbkr): New function declaration.
29794 (memchr): Likewise.
29795
29796 * script/lua/grub_main.c (scan_str): New function.
29797 (strcspn): Likewise.
29798 (strpbrk): Likewise.
29799 (memchr): Likewise.
29800
29801 * script/lua/linit.c (lualibs): Enable the string library.
29802
29803 * util/osdetect.lua: New file.
29804
29805 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29806
29807 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29808 `capabilities' member.
29809
29810 2009-07-02 Pavel Roskin <proski@gnu.org>
29811
29812 * genparttoollist.sh: Add missing newline at the end.
29813
29814 2009-07-01 Pavel Roskin <proski@gnu.org>
29815
29816 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29817
29818 * util/hostdisk.c (open_device): Remove `const' from
29819 `sysctl_size', as sysctlbyname() can change it (in this case it
29820 doesn't actually happen).
29821
29822 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29823 using signed long int constants.
29824
29825 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29826 constant to avoid a warning on FreeBSD.
29827
29828 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29829 where it's needed.
29830
29831 * Makefile.in: Install include/grub/machine symlink.
29832
29833 * Makefile.in: When installing symlinks, use "cp -fR", which
29834 works on FreeBSD and MacOSX.
29835 From Yves Blusseau <cl7m42e02@sneakemail.com>
29836
29837 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29838 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29839
29840 * util/misc.c: Move grub_reboot() and grub_halt() ...
29841 * util/grub-emu.c: ... here. Make main_env static.
29842 * include/grub/util/misc.h: Remove main_env.
29843
29844 * kern/mm.c: Use correct format to print size_t.
29845
29846 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29847 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29848 * kern/powerpc/dl.c: Likewise.
29849 * kern/sparc64/dl.c: Likewise.
29850 * kern/x86_64/dl.c: Likewise.
29851
29852 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29853
29854 Fix grub-emu build on sparc64-ieee1275.
29855
29856 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
29857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29858
29859 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29860
29861 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29862 (grub_reboot, grub_halt): New functions.
29863
29864 * util/i386/pc/misc.c: Delete. Update all users.
29865 * util/sparc64/ieee1275/misc.c: Likewise.
29866 * util/powerpc/ieee1275/misc.c: Likewise.
29867
29868 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29869
29870 * conf/i386.rmk (setjmp_mod_SOURCES)
29871 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29872 * conf/common.rmk (setjmp_mod_SOURCES)
29873 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29874 to use $(target_cpu).
29875 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29876 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29877 * conf/powerpc-ieee1275.rmk: Likewise.
29878 * conf/sparc64-ieee1275.rmk: Likewise.
29879
29880 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29881 $(target_cpu) for kern/$(target_cpu)/dl.c.
29882 * conf/i386-efi.rmk: Likewise.
29883 * conf/i386-ieee1275.rmk: Likewise.
29884 * conf/x86_64-efi.rmk: Likewise.
29885 * conf/i386-coreboot.rmk: Likewise.
29886 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29887 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29888 kern/$(target_cpu)/cache.S.
29889 * conf/sparc64-ieee1275.rmk: Likewise.
29890
29891 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29892
29893 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29894 type to `grub_uint8_t', and adjust `padding9' accordingly.
29895
29896 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29897
29898 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29899
29900 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29901 assembly in final jump, using register constraints.
29902
29903 (grub_linux_boot): For text mode, initialize `have_vga' using
29904 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29905
29906 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29907 right before the final jump.
29908
29909 Set `video_mode' to 0x3.
29910
29911 Document initialization of `video_page', `video_mode' and
29912 `video_ega_bx'.
29913
29914 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29915
29916 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29917 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
29918 and set GRUB_LINUX_FLAG_QUIET appropriately.
29919
29920 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29921
29922 Fix build on Debian / sparc.
29923
29924 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29925
29926 2009-06-28 Pavel Roskin <proski@gnu.org>
29927
29928 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29929 fix a warning.
29930
29931 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29932
29933 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29934
29935 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29936 `err'.
29937
29938 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29939
29940 Revert r2338.
29941
29942 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29943 file can't be opened. grub_file_open() is already supposed to set
29944 grub_errno / grub_errmsg appropriately.
29945 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29946
29947 2009-06-27 Pavel Roskin <proski@gnu.org>
29948 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29949
29950 * include/grub/dl.h: Include grub/elf.h.
29951 (struct grub_dl): Add symtab field.
29952 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29953 GRUB_MODULES_MACHINE_READONLY.
29954 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29955 of the header for read-only modules.
29956 (grub_dl_unload): Free mod->symtab for read-only modules.
29957 * kern/i386/dl.c: Use mod->symtab.
29958 * kern/powerpc/dl.c: Likewise.
29959 * kern/sparc64/dl.c: Likewise.
29960 * kern/x86_64/dl.c: Likewise.
29961
29962 * conf/i386-qemu.rmk: New file.
29963 * kern/i386/qemu/startup.S: Likewise.
29964 * kern/i386/qemu/mmap.c: Likewise.
29965 * boot/i386/qemu/boot.S: Likewise.
29966 * include/grub/i386/qemu/time.h: Likewise.
29967 * include/grub/i386/qemu/serial.h: Likewise.
29968 * include/grub/i386/qemu/kernel.h: Likewise.
29969 * include/grub/i386/qemu/console.h: Likewise.
29970 * include/grub/i386/qemu/boot.h: Likewise.
29971 * include/grub/i386/qemu/init.h: Likewise.
29972 * include/grub/i386/qemu/machine.h: Likewise.
29973 * include/grub/i386/qemu/loader.h: Likewise.
29974 * include/grub/i386/qemu/memory.h: Likewise.
29975
29976 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29977 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29978 [qemu] (pkglib_IMAGES): Add `boot.img'.
29979 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29980 [qemu] (boot_img_FORMAT): New variables.
29981 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29982 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29983 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29984 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29985 [qemu] (kernel_img_FORMAT): New variables.
29986
29987 * configure.ac: Recognise `i386-qemu'.
29988
29989 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29990 (for no compression).
29991 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29992 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29993 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29994 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29995 ifdefs).
29996
29997 2009-06-27 Pavel Roskin <proski@gnu.org>
29998
29999 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30000 read.
30001 * efiemu/prepare32.c: Likewise.
30002 * efiemu/prepare64.c: Likewise.
30003
30004 2009-06-26 Pavel Roskin <proski@gnu.org>
30005
30006 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30007 * include/grub/elf.h: Define symbols without "32" or "64" based
30008 on GRUB_TARGET_WORDSIZE.
30009 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30010 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30011 ELF definitions.
30012 * efiemu/loadcore64.c: Likewise.
30013 * loader/i386/bsd32.c: Likewise.
30014 * loader/i386/bsd64.c: Likewise.
30015 * kern/dl.c: Remove own ELF definitions.
30016 * util/i386/efi/grub-mkimage.c: Likewise.
30017
30018 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30019
30020 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30021 segment 0x0 unconditionally, because the reference generated by
30022 GAS is an absolute address.
30023
30024 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30025
30026 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30027 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30028
30029 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30030
30031 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30032 indexes. Check for -f explicitly.
30033 (search_file): Improve error message.
30034 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
30035
30036 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30037
30038 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30039 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30040
30041 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30042
30043 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30044 * conf/i386-ieee1275.rmk: Likewise.
30045 * conf/i386-coreboot.rmk: Likewise.
30046
30047 * kern/i386/pc/startup.S (grub_stop): Remove function.
30048 * kern/i386/ieee1275/startup.S: Likewise.
30049 * kern/i386/coreboot/startup.S: Likewise.
30050 * kern/i386/misc.S (grub_stop): New function.
30051
30052 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30053
30054 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30055 * kern/i386/realmode.S (real_to_prot): ... to here.
30056
30057 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30058
30059 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30060 with `kernel.img'.
30061 (kernel_elf_SOURCES): Rename to ...
30062 (kernel_img_SOURCES): ... this.
30063 (kernel_elf_HEADERS): Rename to ...
30064 (kernel_img_HEADERS): ... this. Update all users.
30065 (kernel_elf_ASFLAGS): Rename to ...
30066 (kernel_img_ASFLAGS): ... this.
30067 (kernel_elf_CFLAGS): Rename to ...
30068 (kernel_img_CFLAGS): ... this.
30069 (kernel_elf_LDFLAGS): Rename to ...
30070 (kernel_img_LDFLAGS): ... this.
30071 * conf/i386-coreboot.rmk: Likewise.
30072 * conf/powerpc-ieee1275.rmk: Likewise.
30073
30074 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30075 with "kernel.img".
30076
30077 2009-06-21 Pavel Roskin <proski@gnu.org>
30078
30079 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30080 to match nested functions.
30081 * loader/sparc64/ieee1275/linux.c: Likewise.
30082
30083 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30084
30085 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30086
30087 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30088 all i386 platforms.
30089
30090 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30091
30092 Fix asm file handling on ELF, and remove workarounds.
30093
30094 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
30095 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
30096 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30097 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30098
30099 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 Load BSD ELF modules
30102
30103 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30104 and loader/i386/bsd64.c
30105 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30106 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30107 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30108 (grub_freebsd_load_elfmodule32): New declaration
30109 (grub_freebsd_load_elfmoduleobj64): Likewise
30110 (grub_freebsd_load_elf_meta32): Likewise
30111 (grub_freebsd_load_elf_meta64): Likewise
30112 (grub_freebsd_add_meta): Likewise
30113 (grub_freebsd_add_meta_module): Likewise
30114 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30115 (grub_freebsd_add_meta_module): Likewise and move module-specific
30116 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30117 (grub_cmd_freebsd): Add elf-kernel specific parts
30118 based on grub_freebsd_add_meta_module
30119 (grub_cmd_freebsd_module): Add type parsing moved from
30120 grub_freebsd_add_meta_module
30121 (grub_cmd_freebsd_module_elf): New function
30122 (cmd_freebsd_module_elf): New variable
30123 (GRUB_MOD_INIT): Register freebsd_module_elf
30124 * loader/i386/bsd32.c: New file
30125 * loader/i386/bsd64.c: Likewise
30126 * loader/i386/bsdXX.c: Likewise
30127 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30128 (grub_elf64_load): Likewise
30129 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30130 All users updated
30131 (grub_elf64_load_hook_t): Likewise
30132
30133 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
30134
30135 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30136 variable.
30137 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30138 don't write a menu entry for recovery mode.
30139
30140 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30141
30142 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30143 after it's no longer needed.
30144
30145 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30146
30147 * include/grub/i386/loader.h (grub_linux_prot_size)
30148 (grub_linux_tmp_addr, grub_linux_real_addr)
30149 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30150 GRUB_MACHINE_PCBIOS.
30151 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30152 common grub_util_info() call to ...
30153 (generate_image): ... here.
30154 Fix use of uninitialized memory, comparison of signed with
30155 unsigned integers and memory leak.
30156 Remove bogus module address message.
30157
30158 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30159
30160 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30161 grub_raid_register
30162 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30163
30164 2009-06-19 Pavel Roskin <proski@gnu.org>
30165
30166 * configure.ac: Remove stray AC_MSG_CHECKING.
30167
30168 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30169
30170 * disk/scsi.c (grub_scsi_open): use continue instead of big if
30171
30172 2009-06-18 Pavel Roskin <proski@gnu.org>
30173
30174 * conf/common.rmk: Add fs_file.mod.
30175 * disk/fs_file.c: New file.
30176 * include/grub/disk.h (enum grub_disk_dev_id): Add
30177 GRUB_DISK_DEVICE_FILE_ID.
30178
30179 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30180
30181 Fix build with Apple's toolchain. Part 2
30182
30183 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30184 a fake start
30185
30186 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30187
30188 Fix build with Apple's toolchain. Part 1
30189
30190 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30191 for long calls
30192 * configure.ac: remove a leftover AC_MSG_RESULT
30193 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
30194 Apple's toolchain
30195
30196 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30197
30198 Fix warnings
30199
30200 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30201 (decomp_block): initialize ch
30202 use grub_memcpy instead of memcpy
30203
30204 2009-06-17 Pavel Roskin <proski@gnu.org>
30205
30206 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30207 version, use declarations needed to use vga_text as the startup
30208 console.
30209
30210 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30211 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30212 the kernel.
30213 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30214 and grub_at_keyboard_fini(), it's done on module load and
30215 unload.
30216
30217 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
30218
30219 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30220 file can't be found.
30221 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30222
30223 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30224
30225 Fix newline handling
30226
30227 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
30228 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
30229 (grub_script_yylex): don't segfault on unterminated script
30230 newline terminates command and variable
30231
30232 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30233
30234 avoid double grub_adjust_range call. Bug reported by David Simner
30235
30236 * kern/disk.c (grub_disk_write): change to raw disk access before
30237 calling disk_read
30238
30239 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
30240
30241 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30242 spaces, for the benefit of help2man.
30243 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30244
30245 2009-06-16 Pavel Roskin <proski@gnu.org>
30246
30247 * kern/i386/halt.c: Include grub/machine/init.h.
30248 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30249
30250 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
30251
30252 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30253 drivemap menuentry.
30254
30255 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30256
30257 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30258 `echo' command.
30259
30260 2009-06-16 Pavel Roskin <proski@gnu.org>
30261
30262 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30263 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30264 save %dx, we only need %dl and we never change it.
30265 * boot/i386/pc/cdboot.S: Don't set the root drive.
30266 * boot/i386/pc/pxeboot.S: Likewise.
30267 * include/grub/i386/pc/boot.h: Remove
30268 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30269 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30270 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30271 * kern/i386/pc/init.c (make_install_device): Remove references
30272 to grub_root_drive.
30273 * kern/i386/pc/startup.S: Likewise.
30274 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30275
30276 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30277
30278 xnu_uuid command
30279
30280 * commands/xnu_uuid.c: new file
30281 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30282 (xnu_uuid_mod_SOURCES): new variable
30283 (xnu_uuid_mod_CFLAGS): likewise
30284 (xnu_uuid_mod_LDFLAGS): likewise
30285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30286 * conf/i386-ieee1275.rmk: likewise
30287 * conf/i386-pc.rmk: likewise
30288 * conf/powerpc-ieee1275.rmk: likewise
30289 * conf/sparc64-ieee1275.rmk: likewise
30290 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30291
30292 2009-06-16 Pavel Roskin <proski@gnu.org>
30293
30294 * configure.ac: Avoid '==' in test command, it's not portable.
30295
30296 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 Probe command
30299
30300 * commands/probe.c: new file
30301 * conf/common.rmk (pkglib_MODULES): add probe.mod
30302 (probe_mod_SOURCES): new variable
30303 (probe_mod_CFLAGS): likewise
30304 (probe_mod_LDFLAGS): likewise
30305 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30306 * conf/i386-ieee1275.rmk: likewise
30307 * conf/i386-pc.rmk: likewise
30308 * conf/powerpc-ieee1275.rmk: likewise
30309 * conf/sparc64-ieee1275.rmk: likewise
30310
30311 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 Fix handling of string like \"hello\" and "a
30314 b"
30315
30316 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30317 (grub_script_yylex): fix parsing of quoting, escaping and newline
30318
30319 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
30322 handling
30323
30324 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
30325
30326 * util/grub-mkconfig.in: Fix parsing of --output option.
30327
30328 2009-06-12 Pavel Roskin <proski@gnu.org>
30329
30330 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30331 genmk.rb don't need to be generated or installed.
30332
30333 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30334
30335 * commands/i386/pc/drivemap_int13h.S: add more comments
30336
30337 2009-06-11 Pavel Roskin <proski@gnu.org>
30338
30339 * Makefile.in (uninstall): Uninstall manuals.
30340
30341 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30342 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30343 and update-grub_lib in two places.
30344 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30345
30346 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30347 a compiler warning.
30348
30349 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30350 `entry_lo' to fix variable shadowing.
30351
30352 2009-06-11 Christian Franke <franke@computer.org>
30353
30354 * kern/misc.c (__enable_execute_stack): Add missing return type
30355 to prevent gcc warning.
30356
30357 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30358
30359 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30360
30361 2009-06-11 Pavel Roskin <proski@gnu.org>
30362
30363 * Makefile.in: Don't rely on any scripts being executable.
30364 Always use $(SHELL) to run shell scripts.
30365
30366 * configure.ac: Always define ___main if using -nostdlib. This
30367 fixes tests on Cygwin.
30368
30369 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30370
30371 UDF fix
30372
30373 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
30374 is in bytes and not in blocks
30375
30376 2009-06-11 Pavel Roskin <proski@gnu.org>
30377
30378 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30379 warning.
30380
30381 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30382
30383 * util/grub.d/30_os-prober.in: Fix a comment. Source
30384 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30385 to set the root device. Place drivemap command in the generated
30386 chain entry.
30387
30388 2009-06-11 Pavel Roskin <proski@gnu.org>
30389
30390 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30391 have long been resolved.
30392
30393 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
30394
30395 * util/grub.d/10_linux.in: Capitalise "Linux".
30396
30397 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30398
30399 2009-06-11 Pavel Roskin <proski@gnu.org>
30400
30401 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30402 fix a gcc warning and ensure that the function won't ever exit.
30403
30404 * kern/i386/ieee1275/init.c: Add missing prototype for
30405 grub_stop_floppy().
30406
30407 * loader/ieee1275/multiboot2.c [__i386__]: Include
30408 grub/cpu/multiboot.h.
30409
30410 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30411 casts to short - they are not portable and cause warnings. Fix
30412 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30413
30414 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Drivemap fixes
30417
30418 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30419 new function
30420 (grub_get_root_biosnumber_saved): new variable
30421 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30422 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
30423 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
30424 %dx after the call if necessary
30425 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30426 (boot_mod_SOURCES): remove
30427 (boot_mod_CFLAGS): remove
30428 (boot_mod_LDFLAGS): remove
30429 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30430 (boot_mod_SOURCES): new variable
30431 (boot_mod_CFLAGS): likewise
30432 (boot_mod_LDFLAGS): likewise
30433 * conf/i386-efi.rmk: likewise
30434 * conf/i386-ieee1275.rmk: likewise
30435 * conf/i386-pc.rmk: likewise
30436 * conf/powerpc-ieee1275.rmk: likewise
30437 * conf/sparc64-ieee1275.rmk: likewise
30438 * conf/x86_64-efi.rmk: likewise
30439 * include/grub/i386/pc/biosnum.h: new file
30440 * lib/i386/pc/biosnum.c: likewise
30441 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30442 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30443 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
30444
30445 2009-06-10 Pavel Roskin <proski@gnu.org>
30446
30447 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30448 Use separate variables. Read only the file size at the end, but
30449 not the checksum that we don't use.
30450
30451 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30452 Adjust all callers.
30453
30454 * kern/ieee1275/openfw.c: Remove libc includes.
30455 * kern/ieee1275/cmain.c: Likewise.
30456 * include/grub/ieee1275/ieee1275.h: Likewise.
30457
30458 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
30459 compiler warnings.
30460
30461 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30462
30463 * Makefile.in: Remove all trailing whitespace.
30464 * conf/i386-pc.rmk: Likewise.
30465 * conf/powerpc-ieee1275.rmk: Likewise.
30466 * conf/sparc64-ieee1275.rmk: Likewise.
30467 * docs/grub.texi: Likewise.
30468 * docs/texinfo.tex: Likewise.
30469 * disk/fs_uuid.c: Likewise.
30470 * disk/lvm.c: Likewise.
30471 * disk/scsi.c: Likewise.
30472 * disk/ata.c: Likewise.
30473 * disk/ieee1275/ofdisk.c: Likewise.
30474 * disk/i386/pc/biosdisk.c: Likewise.
30475 * disk/host.c: Likewise.
30476 * disk/raid.c: Likewise.
30477 * disk/efi/efidisk.c: Likewise.
30478 * disk/usbms.c: Likewise.
30479 * disk/memdisk.c: Likewise.
30480 * disk/loopback.c: Likewise.
30481 * kern/powerpc/dl.c: Likewise.
30482 * kern/device.c: Likewise.
30483 * kern/dl.c: Likewise.
30484 * kern/sparc64/dl.c: Likewise.
30485 * kern/ieee1275/ieee1275.c: Likewise.
30486 * kern/term.c: Likewise.
30487 * kern/fs.c: Likewise.
30488 * kern/i386/dl.c: Likewise.
30489 * kern/i386/pc/startup.S: Likewise.
30490 * kern/i386/pc/init.c: Likewise.
30491 * kern/i386/pc/mmap.c: Likewise.
30492 * kern/i386/pc/lzo1x.S: Likewise.
30493 * kern/i386/ieee1275/init.c: Likewise.
30494 * kern/i386/realmode.S: Likewise.
30495 * kern/i386/tsc.c: Likewise.
30496 * kern/partition.c: Likewise.
30497 * kern/corecmd.c: Likewise.
30498 * kern/file.c: Likewise.
30499 * kern/efi/efi.c: Likewise.
30500 * kern/efi/init.c: Likewise.
30501 * kern/efi/mm.c: Likewise.
30502 * kern/main.c: Likewise.
30503 * kern/err.c: Likewise.
30504 * kern/env.c: Likewise.
30505 * kern/disk.c: Likewise.
30506 * kern/generic/millisleep.c: Likewise.
30507 * kern/generic/rtc_get_time_ms.c: Likewise.
30508 * kern/misc.c: Likewise.
30509 * kern/parser.c: Likewise.
30510 * genmk.rb: Likewise.
30511 * configure.ac: Likewise.
30512 * boot/i386/pc/diskboot.S: Likewise.
30513 * boot/i386/pc/pxeboot.S: Likewise.
30514 * boot/i386/pc/boot.S: Likewise.
30515 * boot/i386/pc/lnxboot.S: Likewise.
30516 * boot/i386/pc/cdboot.S: Likewise.
30517 * parttool/pcpart.c: Likewise.
30518 * video/readers/tga.c: Likewise.
30519 * video/video.c: Likewise.
30520 * video/bitmap.c: Likewise.
30521 * lib/envblk.c: Likewise.
30522 * lib/i386/setjmp.S: Likewise.
30523 * fs/xfs.c: Likewise.
30524 * fs/afs.c: Likewise.
30525 * fs/fat.c: Likewise.
30526 * fs/ntfs.c: Likewise.
30527 * fs/udf.c: Likewise.
30528 * fs/affs.c: Likewise.
30529 * fs/iso9660.c: Likewise.
30530 * fs/hfs.c: Likewise.
30531 * fs/fshelp.c: Likewise.
30532 * fs/ext2.c: Likewise.
30533 * fs/jfs.c: Likewise.
30534 * fs/reiserfs.c: Likewise.
30535 * fs/hfsplus.c: Likewise.
30536 * fs/minix.c: Likewise.
30537 * fs/cpio.c: Likewise.
30538 * fs/sfs.c: Likewise.
30539 * fs/ufs.c: Likewise.
30540 * efiemu/prepare.c: Likewise.
30541 * efiemu/loadcore_common.c: Likewise.
30542 * efiemu/runtime/efiemu.sh: Likewise.
30543 * efiemu/runtime/efiemu.S: Likewise.
30544 * efiemu/runtime/efiemu.c: Likewise.
30545 * efiemu/pnvram.c: Likewise.
30546 * efiemu/main.c: Likewise.
30547 * efiemu/i386/pc/cfgtables.c: Likewise.
30548 * efiemu/i386/loadcore64.c: Likewise.
30549 * efiemu/i386/loadcore32.c: Likewise.
30550 * efiemu/loadcore.c: Likewise.
30551 * efiemu/symbols.c: Likewise.
30552 * efiemu/mm.c: Likewise.
30553 * include/grub/autoefi.h: Likewise.
30554 * include/grub/datetime.h: Likewise.
30555 * include/grub/term.h: Likewise.
30556 * include/grub/hfs.h: Likewise.
30557 * include/grub/lvm.h: Likewise.
30558 * include/grub/i386/tsc.h: Likewise.
30559 * include/grub/i386/linux.h: Likewise.
30560 * include/grub/i386/xnu.h: Likewise.
30561 * include/grub/i386/efiemu.h: Likewise.
30562 * include/grub/i386/pc/biosdisk.h: Likewise.
30563 * include/grub/i386/pc/memory.h: Likewise.
30564 * include/grub/i386/pc/vbe.h: Likewise.
30565 * include/grub/parttool.h: Likewise.
30566 * include/grub/video.h: Likewise.
30567 * include/grub/memory.h: Likewise.
30568 * include/grub/fs.h: Likewise.
30569 * include/grub/partition.h: Likewise.
30570 * include/grub/xnu.h: Likewise.
30571 * include/grub/efi/api.h: Likewise.
30572 * include/grub/efi/pe32.h: Likewise.
30573 * include/grub/efi/memory.h: Likewise.
30574 * include/grub/multiboot.h: Likewise.
30575 * include/grub/usbdesc.h: Likewise.
30576 * include/grub/multiboot2.h: Likewise.
30577 * include/grub/acpi.h: Likewise.
30578 * include/grub/efiemu/efiemu.h: Likewise.
30579 * include/grub/disk.h: Likewise.
30580 * include/grub/ieee1275/ieee1275.h: Likewise.
30581 * include/grub/net.h: Likewise.
30582 * include/grub/machoload.h: Likewise.
30583 * include/grub/macho.h: Likewise.
30584 * include/multiboot.h: Likewise.
30585 * genmoddep.awk: Likewise.
30586 * normal/main.c: Likewise.
30587 * normal/menu_entry.c: Likewise.
30588 * normal/menu_viewer.c: Likewise.
30589 * normal/completion.c: Likewise.
30590 * normal/cmdline.c: Likewise.
30591 * normal/misc.c: Likewise.
30592 * normal/datetime.c: Likewise.
30593 * bus/usb/usbtrans.c: Likewise.
30594 * bus/usb/ohci.c: Likewise.
30595 * bus/usb/uhci.c: Likewise.
30596 * bus/usb/usb.c: Likewise.
30597 * mmap/efi/mmap.c: Likewise.
30598 * mmap/i386/pc/mmap_helper.S: Likewise.
30599 * mmap/i386/pc/mmap.c: Likewise.
30600 * mmap/i386/mmap.c: Likewise.
30601 * mmap/i386/uppermem.c: Likewise.
30602 * mmap/mmap.c: Likewise.
30603 * commands/acpi.c: Likewise.
30604 * commands/echo.c: Likewise.
30605 * commands/blocklist.c: Likewise.
30606 * commands/loadenv.c: Likewise.
30607 * commands/usbtest.c: Likewise.
30608 * commands/boot.c: Likewise.
30609 * commands/parttool.c: Likewise.
30610 * commands/search.c: Likewise.
30611 * commands/cat.c: Likewise.
30612 * commands/i386/pc/play.c: Likewise.
30613 * commands/i386/pc/drivemap.c: Likewise.
30614 * commands/i386/pc/vbeinfo.c: Likewise.
30615 * commands/i386/pc/acpi.c: Likewise.
30616 * commands/i386/pc/vbetest.c: Likewise.
30617 * commands/ls.c: Likewise.
30618 * commands/cmp.c: Likewise.
30619 * commands/test.c: Likewise.
30620 * commands/efi/acpi.c: Likewise.
30621 * commands/gptsync.c: Likewise.
30622 * commands/help.c: Likewise.
30623 * partmap/amiga.c: Likewise.
30624 * partmap/apple.c: Likewise.
30625 * partmap/acorn.c: Likewise.
30626 * partmap/pc.c: Likewise.
30627 * partmap/sun.c: Likewise.
30628 * partmap/gpt.c: Likewise.
30629 * script/sh/lexer.c: Likewise.
30630 * script/sh/function.c: Likewise.
30631 * font/font.c: Likewise.
30632 * font/font_cmd.c: Likewise.
30633 * loader/powerpc/ieee1275/linux.c: Likewise.
30634 * loader/efi/chainloader.c: Likewise.
30635 * loader/multiboot_loader.c: Likewise.
30636 * loader/macho.c: Likewise.
30637 * loader/i386/multiboot.c: Likewise.
30638 * loader/i386/linux.c: Likewise.
30639 * loader/i386/pc/linux.c: Likewise.
30640 * loader/i386/pc/multiboot2.c: Likewise.
30641 * loader/i386/pc/chainloader.c: Likewise.
30642 * loader/i386/pc/xnu.c: Likewise.
30643 * loader/i386/bsd_trampoline.S: Likewise.
30644 * loader/i386/efi/linux.c: Likewise.
30645 * loader/i386/multiboot_elfxx.c: Likewise.
30646 * loader/i386/bsd_helper.S: Likewise.
30647 * loader/i386/bsd.c: Likewise.
30648 * loader/i386/linux_trampoline.S: Likewise.
30649 * loader/i386/xnu_helper.S: Likewise.
30650 * loader/i386/xnu.c: Likewise.
30651 * loader/i386/bsd_pagetable.c: Likewise.
30652 * loader/i386/multiboot_helper.S: Likewise.
30653 * loader/xnu.c: Likewise.
30654 * loader/xnu_resume.c: Likewise.
30655 * io/gzio.c: Likewise.
30656 * term/efi/console.c: Likewise.
30657 * term/terminfo.c: Likewise.
30658 * term/ieee1275/ofconsole.c: Likewise.
30659 * term/i386/pc/serial.c: Likewise.
30660 * term/i386/pc/vesafb.c: Likewise.
30661 * term/i386/pc/vga.c: Likewise.
30662 * term/usb_keyboard.c: Likewise.
30663 * term/gfxterm.c: Likewise.
30664 * aclocal.m4: Likewise.
30665 * util/lvm.c: Likewise.
30666 * util/grub.d/30_os-prober.in: Likewise.
30667 * util/grub.d/10_hurd.in: Likewise.
30668 * util/console.c: Likewise.
30669 * util/grub-macho2img.c: Likewise.
30670 * util/grub-probe.c: Likewise.
30671 * util/hostfs.c: Likewise.
30672 * util/i386/pc/grub-mkimage.c: Likewise.
30673 * util/i386/pc/grub-setup.c: Likewise.
30674 * util/i386/efi/grub-mkimage.c: Likewise.
30675 * util/grub-mkconfig.in: Likewise.
30676 * util/raid.c: Likewise.
30677 * util/resolve.c: Likewise.
30678 * util/grub-mkdevicemap.c: Likewise.
30679 * util/grub-emu.c: Likewise.
30680 * util/getroot.c: Likewise.
30681 * util/hostdisk.c: Likewise.
30682 * util/usb.c: Likewise.
30683 * util/grub-editenv.c: Likewise.
30684 * util/misc.c: Likewise.
30685
30686 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30687
30688 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30689 `genparttoollist.sh'.
30690 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30691 Add `*.sh' to the list find searches for and change `mdate.sh'
30692 to `mdate-sh'.
30693
30694 2009-06-10 Pavel Roskin <proski@gnu.org>
30695
30696 * include/grub/multiboot2.h: Provide compatibility defines for
30697 multiboot2.h.
30698 * include/multiboot2.h: Include stdint.h only if needed, using
30699 angle brackets.
30700 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30701 grub/multiboot2.h.
30702 * loader/ieee1275/multiboot2.c: Likewise.
30703 * loader/multiboot2.c: Likewise.
30704 * loader/multiboot_loader.c: Likewise.
30705
30706 * configure.ac: Use -nostdlib when probing for the target. It
30707 should not be required to have libc for the target.
30708
30709 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30710 they fail without libc headers for the target.
30711 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30712 exports.
30713 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30714 preprocessor conditionals.
30715
30716 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30717 build system doesn't need to be aware of the tar.c internals.
30718
30719 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
30720
30721 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
30722
30723 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30724
30725 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30726 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30727
30728 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
30729
30730 * util/i386/pc/grub-install.in: Change the error message if UUIDs
30731 aren't available if ata.mod gets used.
30732
30733 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
30734
30735 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
30736 initialising controller.
30737 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30738
30739 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30740
30741 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30742 to choose between ata and biosdisk module on i386-pc.
30743
30744 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
30745
30746 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30747 Subclass and Programming Interface fields in terms of the 3 byte
30748 Class Code register.
30749 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30750
30751 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30752 interface is OHCI. Add grub_dprintf for symmetry with
30753 bus/usb/uhci.c.
30754 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30755 interface is UHCI. Add interf variable for programming
30756 interface. Print interface with class/subclass.
30757
30758 * bus/usb/ohci.c: Set interf with correct field.
30759
30760 * bus/usb/uhci.c: Remove unneeded doubled lines.
30761 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30762 Remove whitespace inside comment.
30763
30764 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30765
30766 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30767 as fallback an equivalent option without depth.
30768
30769 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30770
30771 Not fail if unable to retrieve C/H/S on LBA disks
30772
30773 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
30774 if unable to retrieve C/H/S on LBA disks
30775
30776 2009-06-08 Pavel Roskin <proski@gnu.org>
30777
30778 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30779 about aliasing.
30780
30781 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30782
30783 * Makefile.in (uninstall): Remove all $lib_DATA files.
30784
30785 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30786
30787 Bugfix: install on partitionless device
30788
30789 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30790 is a whole disk
30791
30792 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30793
30794 * Makefile.in (uninstall): Remove all $include_DATA files.
30795
30796 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30797
30798 * commands/true.c: New file. Implement the true and false commands.
30799 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30800 (true_mod_SOURCES): New variable.
30801 (true_mod_CFLAGS): Likewise.
30802 (true_mod_LDFLAGS): Likewise.
30803
30804 2009-06-05 Colin D Bennett <colin@gibibit.com>
30805
30806 Optimized font character lookup using binary search instead of linear
30807 search. Fonts now are required to have the character index ordered by
30808 code point.
30809
30810 * font/font.c (load_font_index): Verify that fonts have ordered
30811 character indices.
30812 (find_glyph): Use binary search instead of linear search to find a
30813 character in a font.
30814
30815 2009-06-05 Michael Scherer <misc@mandriva.org>
30816
30817 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30818 uses case sensitive btree.
30819 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30820 only for case insensitive filesystems.
30821
30822 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30823
30824 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30825 * conf/common.rmk (search_mod_CFLAGS): likewise
30826
30827 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30828
30829 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
30830 compensate a compiler bug
30831
30832 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30833
30834 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
30835 instead of '\b'
30836
30837 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30838
30839 Definitions for creating asm symbols with Apple's CC
30840
30841 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30842 [APPLE_CC] (VARIABLE): likewise
30843
30844 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30845
30846 Disable lnxboot.img when compiled
30847 with Apple's CC
30848
30849 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30850 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30851 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30852 [! APPLE_CC] (CODE_LENG): skip
30853 [! APPLE_CC] (setup_sects): likewise
30854 [! APPLE_CC]: skip filling
30855
30856 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30857
30858 Address in trampolines based on 32-bit registers when compiled
30859 with Apple's CC
30860
30861 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
30862 for addresses
30863 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30864
30865 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30866
30867 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30868
30869 * kern/misc.c [APPLE_CC] (memcpy): new function
30870 [APPLE_CC] (memmove): likewise
30871 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
30872 (memcpy): define alias conditionally on !APPLE_CC
30873 (memset): likewise
30874 (abort): likewise
30875 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30876 APPLE_CC are defined
30877 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30878 (grub_assert_fail): make prototype conditional
30879
30880 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30881
30882 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30883
30884 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30885 grub-macho2img
30886 (CLEANFILES): add grub-macho2img
30887 (grub_macho2img_SOURCES): new variable
30888 * kern/i386/pc/startup.S (bss_start): new variable
30889 (bss_end): likewise
30890 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30891 * util/grub-macho2img.c: new file
30892
30893 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30894
30895 Use objconv when compiling with Apple's CC
30896
30897 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30898 (efiemu64.o): likewise
30899 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30900 when compiling with Apple's CC
30901 (efiemu64_s.o): likewise
30902 * configure.ac: check for objconv when compiling with Apple's CC
30903 * genmk.rb: use objconv for modules when compiled with Apple's CC
30904
30905 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30906
30907 Define segment as well as section when compiling with
30908 Apple's CC
30909
30910 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30911 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30912 (efiemu_convert_pointer): likewise
30913 (efiemu_set_virtual_address_map): likewise
30914 (efiemu_convert_pointer): likewise
30915 (efiemu_getcrc32): likewise
30916 (init_crc32_table): likewise
30917 (reflect): likewise
30918 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30919 (GRUB_MOD_DEP): likewise
30920
30921 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30922
30923 Allow a compilation without -mcmodel=large
30924
30925 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30926 when compiled without -mcmodel=large
30927 (filter_memory_map): remove memory post 4 GiB when compiled
30928 without -mcmodel=large
30929 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
30930 TARGET_CFLAGS when -mcmodel=large isn't supported
30931
30932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30933
30934 Remove nested functions in efiemu core
30935
30936 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
30937
30938 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30939
30940 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30941
30942 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30943 temporary storage
30944 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30945 using Apple's CC
30946 (grub_cpu_is_tsc_supported): likewise
30947 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
30948
30949 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30950
30951 Absolute addressing through constant with Apple's cc
30952
30953 * kern/i386/pc/startup.S: Define necessary constants
30954 and address through it when using ABS with Apple's CC
30955 * boot/i386/pc/diskboot.S: likewise
30956 * boot/i386/pc/boot.S: likewise
30957 * boot/i386/pc/lnxboot.S: likewise
30958 * boot/i386/pc/cdboot.S: likewise
30959 * mmap/i386/pc/mmap_helper.S: likewise
30960 * commands/i386/pc/drivemap_int13h.S: likewise
30961
30962 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30963
30964 Check if compiler is apple cc
30965
30966 * Makefile.in (ASFLAGS): new variable
30967 (TARGET_ASFLAGS): likewise
30968 (TARGET_MODULE_FORMAT): likewise
30969 (TARGET_APPLE_CC): likewise
30970 (OBJCONV): likewise
30971 (TARGET_IMG_CFLAGS): likewise
30972 (TARGET_CPPFLAGS): add includedir
30973 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30974 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30975 Check for linker script only if compiler isn't Apple's CC
30976 (TARGET_MODULE_FORMAT): set
30977 (TARGET_APPLE_CC): likewise
30978 (TARGET_ASFLAGS): likewise
30979 (ASFLAGS): likewise
30980 Check for objcopy only if compiler isn't Apple's CC
30981 Check for BSS symbol only if compiler isn't Apple's CC
30982 * genmk.rb: adapt nm options if we use Apple's utils
30983 * aclocal.m4 (grub_apple_cc): new test
30984 (grub_apple_target_cc): likewise
30985
30986 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30987
30988 Simplify sed expressions and improve awk
30989
30990 * Makefile.in (install-local): simplify sed expression
30991 * gencmdlist.sh: likewise
30992 * genmoddep.awk: avoid adding module as a dependency of itself
30993
30994 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30995
30996 Add missing start symbols
30997
30998 * boot/i386/pc/boot.S: add start
30999 * boot/i386/pc/pxeboot.S: likewise
31000
31001 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31002
31003 Fix wrong assumptions with grub-mkimage on EFI
31004
31005 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
31006 (relocate_addresses): consider both r_addend and value at offset
31007 (make_mods_section): zerofill modinfo and header
31008 (convert_elf): write prefix here
31009
31010 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31011
31012 Use .asciz instead of .string
31013
31014 * i386/pc/diskboot.S: use .asciz instead of .string
31015 * i386/pc/boot.S: likewise
31016 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31017 (GRUB_MOD_NAME): likewise
31018
31019 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31020
31021 gfxpayload support
31022
31023 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31024 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31025 (grub_video_setup): remove
31026 (grub_video_set_mode): new prototype
31027 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31028 (vid_mode): remove
31029 (linux_vesafb_res): compile only on PCBIOS
31030 (grub_linux_boot): support gfxpayload
31031 * loader/i386/pc/xnu.c (video_hook): new function
31032 (grub_xnu_set_video): support gfxpayload
31033 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31034 (DEFAULT_VIDEO_HEIGHT): likewise
31035 (DEFAULT_VIDEO_FLAGS): likewise
31036 (DEFAULT_VIDEO_MODE): new definition
31037 (video_hook): new function
31038 (grub_gfxterm_init): use grub_video_set_mode
31039 * util/grub.d/30_os-prober.in: remove explicit modesetting before
31040 loading xnu
31041 * video/video.c (grub_video_setup): removed
31042 (grub_video_set_mode): new function based on grub_gfxterm_init and
31043 grub_video_setup
31044
31045 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31046
31047 Avoid calling biosdisk in drivemap
31048
31049 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31050 (revparse_biosdisk): likewise
31051 (list_mappings): derive name from id directly
31052 (grub_cmd_drivemap): use tryparse_diskstring
31053
31054 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31055
31056 Script fixes
31057
31058 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31059 (grub_lexer_param): add tokenonhold
31060 (grub_script_create_cmdline): remove cmdline. All callers updated
31061 (grub_script_function_create): make functionname
31062 grub_script_arg. All callers updated
31063 (grub_script_execute_argument_to_string): new prototype
31064 * kern/parser.c (state_transitions): reorder
31065 (grub_parser_cmdline_state): fix a bug and make more compact
31066 * script/sh/execute.c (grub_script_execute_argument_to_string):
31067 make global
31068 (grub_script_execute_cmdline): use new format
31069 * script/sh/function.c (grub_script_function_create): make functionname
31070 grub_script_arg. All callers updated
31071 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
31072 (grub_script_yylex): remove
31073 (grub_script_yylex2): renamed to ...
31074 (grub_script_yylex): ...renamed
31075 parse the expressions like a${b}c
31076 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31077 (GRUB_PARSER_TOKEN_VAR): remove
31078 (GRUB_PARSER_TOKEN_NAME): likewise
31079 ("if"): declare as typeless
31080 ("while"): likewise
31081 ("function"): likewise
31082 ("else"): likewise
31083 ("then"): likewise
31084 ("fi"): likewise
31085 (text): remove
31086 (argument): likewise
31087 (script): accept empty scripts and make exit on error
31088 (arguments): use GRUB_PARSER_TOKEN_ARG
31089 (function): likewise
31090 (command): move error handling to script
31091 (menuentry): move grub_script_lexer_ref before
31092 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
31093 argument. All callers updated
31094
31095 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31096
31097 Prevent GRUB from probing floppies during boot.
31098
31099 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31100 * commands/search.c (options): Add --no-floppy.
31101 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31102 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31103 --no-floppy when searching for UUIDs.
31104
31105 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31106
31107 Simplify the code duplication in commands/search.c.
31108
31109 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31110 (search_fs): ... this. Update all users.
31111
31112 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
31113
31114 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31115
31116 2009-05-28 Pavel Roskin <proski@gnu.org>
31117
31118 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31119 Remove the original symlink explicitly.
31120
31121 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31122 just one slash. That's how grub_fshelp_find_file() does it.
31123
31124 2009-05-26 Pavel Roskin <proski@gnu.org>
31125
31126 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31127 to `str'.
31128
31129 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31130 possibly unused.
31131
31132 2009-05-25 Christian Franke <franke@computer.org>
31133
31134 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31135 register.
31136 (grub_atapi_identify): Add wait after drive select.
31137 (grub_ata_identify): Do more strict status register check before
31138 calling grub_atapi_identify (). Suppress error message if status
31139 register is 0x00 after command failure. Add status register
31140 check after PIO read to avoid bogus identify due to stuck DRQ.
31141 Thanks to Pavel Roskin for testing.
31142 (grub_device_initialize): Remove unsafe status register check.
31143 Thanks to 'phcoder' for problem report and patch.
31144 Prevent sign extension in debug message.
31145
31146 2009-05-23 Colin D Bennett <colin@gibibit.com>
31147
31148 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31149 definition file, and functions defined in `normal/menu.c' have had
31150 their prototypes moved to `include/grub/menu.h' for consistency.
31151
31152 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31153 from normal.h.
31154 (grub_menu_get_entry): Likewise.
31155 (grub_menu_get_timeout): Likewise.
31156 (grub_menu_set_timeout): Likewise.
31157 (grub_menu_execute_entry): Likewise.
31158 (grub_menu_execute_with_fallback): Likewise.
31159 (grub_menu_entry_run): Likewise.
31160
31161 * include/grub/normal.h: Re-ordered and grouped function
31162 prototypes by file that the function is defined in.
31163 (grub_menu_execute_callback): Removed; moved to menu.h.
31164 (grub_menu_get_entry): Likewise.
31165 (grub_menu_get_timeout): Likewise.
31166 (grub_menu_set_timeout): Likewise.
31167 (grub_menu_execute_entry): Likewise.
31168 (grub_menu_execute_with_fallback): Likewise.
31169 (grub_menu_entry_run): Likewise.
31170 (grub_menu_addentry): Renamed from this ...
31171 (grub_normal_add_menu_entry): ... to this.
31172
31173 * normal/main.c (grub_menu_addentry): Renamed from this ...
31174 (grub_normal_add_menu_entry): ... to this.
31175
31176 * script/sh/execute.c (grub_script_execute_menuentry): Update
31177 reference to renamed grub_menu_addentry function.
31178
31179 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
31180
31181 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31182
31183 2009-05-22 Pavel Roskin <proski@gnu.org>
31184
31185 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31186 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31187 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31188 compiling for the i386 targets, but not for the utilities.
31189
31190 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31191 to grub_uint8_t.
31192 (grub_root_drive): Likewise.
31193 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31194 remove alignment.
31195 (grub_root_drive): Change size to byte.
31196 (grub_start_addr): Remove.
31197 (grub_end_addr): Likewise.
31198 (grub_apm_bios_info): Likewise.
31199
31200 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
31201
31202 * normal/i386: Remove.
31203 * normal/powerpc: Likewise.
31204 * normal/sparc64: Likewise.
31205 * normal/x86_64: Likewise.
31206
31207 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31208
31209 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
31210 * loader/i386/linux_trampoline.S: Fix indentation
31211 * loader/i386/xnu_helper.S: Likewise
31212
31213 2009-05-18 Colin D Bennett <colin@gibibit.com>
31214
31215 Display error messages when parsing a Lua statement fails.
31216 Previously, executing a syntactically invalid statement like
31217 ")foo" or "bar;" would silently fail.
31218
31219 * script/lua/grub_main.c (handle_lua_error): New function.
31220 (grub_lua_parse_line): Improved reporting of Lua parser and
31221 execution errors.
31222
31223 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31224
31225 Remove -Werror which causes build to fail on some systems
31226
31227 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31228 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31229 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
31230
31231 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 trampoline for linux on 64-bit platform
31234
31235 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31236 loader/i386/efi/linux_trampoline.S
31237 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
31238 declaration
31239 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31240 here
31241 * loader/i386/linux_trampoline.S: moved here
31242 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31243 trampoline
31244 (jumpvector): removed
31245 (grub_linux_trampoline_start): new declaration
31246 (grub_linux_trampoline_end): likewise
31247 (grub_linux_boot): use trampoline when on 64-bit platform
31248 * loader/i386/linux.c: likewise
31249
31250 2009-05-16 Pavel Roskin <proski@gnu.org>
31251
31252 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31253 const to avoid a warning.
31254 (grub_lua_setenv): Likewise.
31255 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31256 lmsg to fix a warning.
31257
31258 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31259
31260 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
31261 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31262 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31263 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31264 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31265 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31266 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31267 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31268
31269 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31270
31271 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31272
31273 2009-05-16 Bean <bean123ch@gmail.com>
31274
31275 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31276 (lua_mod_SOURCES): New variable.
31277 (lua_mod_CFLAGS): Likewise.
31278 (lua_mod_LDFLAGS): Likewise.
31279
31280 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31281 (setjmp_mod_SOURCES): New variable.
31282 (setjmp_mod_CFLAGS): Likewise.
31283 (setjmp_LDFLAGS): Likewise.
31284
31285 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31286 (setjmp_mod_SOURCES): New variable.
31287 (setjmp_mod_CFLAGS): Likewise.
31288 (setjmp_LDFLAGS): Likewise.
31289
31290 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31291 (setjmp_mod_SOURCES): New variable.
31292 (setjmp_mod_CFLAGS): Likewise.
31293 (setjmp_LDFLAGS): Likewise.
31294
31295 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31296 (setjmp_mod_SOURCES): New variable.
31297 (setjmp_mod_CFLAGS): Likewise.
31298 (setjmp_LDFLAGS): Likewise.
31299
31300 * normal/i386/setjmp.S: Moved from here ...
31301 * lib/i386/setjmp.S: ... Moved here
31302 * normal/x86_64/setjmp.S: Moved from here ...
31303 * lib/x86_64/setjmp.S: ... Moved here
31304 * normal/powerpc/setjmp.S: Moved from here ...
31305 * lib/powerpc/setjmp.S: ... Moved here
31306 * normal/sparc64/setjmp.S: Moved from here ...
31307 * lib/sparc64/setjmp.S: ... Moved here
31308
31309 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31310 returns_twice in mingw.
31311
31312 * script/lua/grub_lib.c: New file.
31313 * script/lua/grub_lib.h: Likewise.
31314 * script/lua/grub_lua.h: Likewise.
31315 * script/lua/grub_main.c: Likewise.
31316 * script/lua/lapi.c: Likewise.
31317 * script/lua/lapi.h: Likewise.
31318 * script/lua/lauxlib.c: Likewise.
31319 * script/lua/lauxlib.h: Likewise.
31320 * script/lua/lbaselib.c: Likewise.
31321 * script/lua/lcode.c: Likewise.
31322 * script/lua/lcode.h: Likewise.
31323 * script/lua/ldblib.c: Likewise.
31324 * script/lua/ldebug.c: Likewise.
31325 * script/lua/ldebug.h: Likewise.
31326 * script/lua/ldo.c: Likewise.
31327 * script/lua/ldo.h: Likewise.
31328 * script/lua/ldump.c: Likewise.
31329 * script/lua/lfunc.c: Likewise.
31330 * script/lua/lfunc.h: Likewise.
31331 * script/lua/lgc.c: Likewise.
31332 * script/lua/lgc.h: Likewise.
31333 * script/lua/linit.c: Likewise.
31334 * script/lua/liolib.c: Likewise.
31335 * script/lua/llex.c: Likewise.
31336 * script/lua/llex.h: Likewise.
31337 * script/lua/llimits.h: Likewise.
31338 * script/lua/lmathlib.c: Likewise.
31339 * script/lua/lmem.c: Likewise.
31340 * script/lua/lmem.h: Likewise.
31341 * script/lua/loadlib.c: Likewise.
31342 * script/lua/lobject.c: Likewise.
31343 * script/lua/lobject.h: Likewise.
31344 * script/lua/lopcodes.c: Likewise.
31345 * script/lua/lopcodes.h: Likewise.
31346 * script/lua/loslib.c: Likewise.
31347 * script/lua/lparser.c: Likewise.
31348 * script/lua/lparser.h: Likewise.
31349 * script/lua/lstate.c: Likewise.
31350 * script/lua/lstate.h: Likewise.
31351 * script/lua/lstring.c: Likewise.
31352 * script/lua/lstring.h: Likewise.
31353 * script/lua/lstrlib.c: Likewise.
31354 * script/lua/ltable.c: Likewise.
31355 * script/lua/ltable.h: Likewise.
31356 * script/lua/ltablib.c: Likewise.
31357 * script/lua/ltm.c: Likewise.
31358 * script/lua/ltm.h: Likewise.
31359 * script/lua/lua.h: Likewise.
31360 * script/lua/luaconf.h: Likewise.
31361 * script/lua/lualib.h: Likewise.
31362 * script/lua/lundump.c: Likewise.
31363 * script/lua/lundump.h: Likewise.
31364 * script/lua/lvm.c: Likewise.
31365 * script/lua/lvm.h: Likewise.
31366 * script/lua/lzio.c: Likewise.
31367 * script/lua/lzio.h: Likewise.
31368
31369 2009-05-16 Bean <bean123ch@gmail.com>
31370
31371 * include/grub/kernel.h (grub_module_header_types): Add type
31372 OBJ_TYPE_CONFIG.
31373
31374 * kern/main.c (grub_load_config): New function.
31375 (grub_main): Call grub_load_config to read boot config.
31376
31377 * grub-mkimage (generate_image): New parameter config_path.
31378 (options): New option --config.
31379 (main): Parse --config option, and pass it to generate_image.
31380
31381 2009-05-14 Christian Franke <franke@computer.org>
31382
31383 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31384 This fixes build on Cygwin.
31385
31386 2009-05-14 Pavel Roskin <proski@gnu.org>
31387
31388 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31389 jump. This saves two bytes, so the typical case of 2 swapped
31390 drives would fit 32 bytes.
31391
31392 2009-05-13 Pavel Roskin <proski@gnu.org>
31393
31394 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31395 grub_uint32_t to avoid a warning.
31396
31397 * loader/i386/linux.c (allocate_pages): When assigning
31398 real_mode_mem, cast through grub_size_t to fix a warning. The
31399 code already makes sure that the value would fit a pointer.
31400 (grub_linux_setup_video): Cast render_target->data to
31401 grub_size_t to fix a warning.
31402
31403 2009-05-13 Javier Martín <lordhabbit@gmail.com>
31404
31405 * commands/i386/pc/drivemap.c: New file - implement drivemap
31406 command.
31407 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31408 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31409
31410 2009-05-13 Pavel Roskin <proski@gnu.org>
31411
31412 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31413 embedding_area_exists.
31414
31415 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31416
31417 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31418 it easier to understand / work with.
31419 Improve warning messages for cases where there's no embedding area,
31420 or when it is too small (or core.img too large).
31421
31422 2009-05-13 Pavel Roskin <proski@gnu.org>
31423
31424 * loader/i386/pc/multiboot2.c: Add necessary includes for
31425 grub_multiboot2_real_boot().
31426
31427 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31428 PX record is always little-endian. We only need the lower 2
31429 bytes of the mode.
31430
31431 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31432 facilitate code reuse.
31433 (grub_cpio_mount): Use "struct head", not a char buffer. This
31434 fixes a warning reported by gcc 4.4.
31435
31436 * kernel/disk.c (grub_disk_read): Use void pointer for the
31437 buffer.
31438 (grub_disk_write): Use const void pointer for the buffer.
31439 Adjust all callers. Remove unnecessary casts.
31440
31441 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31442
31443 * util/i386/pc/grub-install.in: Update copyright year.
31444
31445 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31446
31447 gptsync
31448
31449 * commands/gptsync.c: new file
31450 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31451 (gptsync_mod_SOURCES): new variable
31452 (gptsync_mod_CFLAGS): likewise
31453 (gptsync_mod_LDFLAGS): likewise
31454 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
31455 new definition
31456 (GRUB_PC_PARTITION_TYPE_HFS): likewise
31457 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
31458 * conf/i386-ieee1275.rmk: likewise
31459 * conf/i386-pc.rmk: likewise
31460 * conf/powerpc-ieee1275.rmk: likewise
31461
31462 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31463
31464 Fixed grub-emu
31465
31466 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
31467 (grub_dl_ref): likewise
31468
31469 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
31470
31471 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
31472 split in two functions (one for msdos and one for gpt).
31473
31474 2009-05-08 Pavel Roskin <proski@gnu.org>
31475
31476 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
31477 not modified.
31478
31479 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
31480 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
31481 Initialize them with -1. Add sanity check for bad1. Eliminate
31482 nerr variable.
31483
31484 2009-05-08 David S. Miller <davem@davemloft.net>
31485
31486 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
31487
31488 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
31489
31490 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
31491 existence.
31492
31493 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
31494
31495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31496 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
31497
31498 2009-05-05 David S. Miller <davem@davemloft.net>
31499
31500 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
31501
31502 2009-05-05 Pavel Roskin <proski@gnu.org>
31503
31504 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
31505 of grub_dl_ref() and grub_dl_unref().
31506 * commands/parttool.c: Remove preprocessor conditionals around
31507 grub_dl_ref() and grub_dl_unref().
31508 * fs/affs.c: Likewise.
31509 * fs/afs.c: Likewise.
31510 * fs/cpio.c: Likewise.
31511 * fs/ext2.c: Likewise.
31512 * fs/fat.c: Likewise.
31513 * fs/hfs.c: Likewise.
31514 * fs/hfsplus.c: Likewise.
31515 * fs/iso9660.c: Likewise.
31516 * fs/jfs.c: Likewise.
31517 * fs/minix.c: Likewise.
31518 * fs/ntfs.c: Likewise.
31519 * fs/reiserfs.c: Likewise.
31520 * fs/sfs.c: Likewise.
31521 * fs/udf.c: Likewise.
31522 * fs/ufs.c: Likewise.
31523 * fs/xfs.c: Likewise.
31524 * include/grub/dl.h: Likewise.
31525 * loader/xnu.c: Likewise.
31526
31527 2009-05-04 Pavel Roskin <proski@gnu.org>
31528
31529 * commands/acpi.c: Remove unused variable my_mod.
31530 * partmap/amiga.c: Likewise.
31531 * partmap/apple.c: Likewise.
31532 * partmap/gpt.c: Likewise.
31533 * partmap/pc.c: Likewise.
31534 * partmap/sun.c: Likewise.
31535 * term/gfxterm.c: Likewise.
31536 * term/i386/pc/vesafb.c: Likewise.
31537 * term/i386/pc/vga.c: Likewise.
31538
31539 2009-05-04 David S. Miller <davem@davemloft.net>
31540
31541 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
31542 pointer args to grub_ieee1275_get_property().
31543
31544 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
31545
31546 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
31547 devices, and do not traverse down under controller nodes.
31548
31549 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
31550 (grub_ofdisk_open): Use it to un-escape "," characters.
31551 * kern/disk.c (find_part_sep): New.
31552 (grub_disk_open): Use it to find the first non-escaped ','
31553 character in the disk name.
31554 * util/ieee1275/devicemap.c (escape_of_path): New.
31555 (grub_util_emit_devicemap_entry): Use it.
31556 * util/sparc64/ieee1275/grub-install.in: Update script to
31557 strip partition specifiers properly by not triggering on
31558 '\' escaped ',' characters.
31559
31560 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31561
31562 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31563 to 0x300.
31564 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
31565 resolutions.
31566 (linux_vesafb_modes): Add a lot of additional modes to the list (based
31567 on documentation from Wikipedia).
31568
31569 2009-05-04 Pavel Roskin <proski@gnu.org>
31570
31571 * disk/ata.c: Spelling fixes.
31572 * disk/raid.c: Likewise.
31573 * disk/usbms.c: Likewise.
31574 * disk/dmraid_nvidia.c: Likewise.
31575 * kern/ieee1275/openfw.c: Likewise.
31576 * kern/ieee1275/init.c: Likewise.
31577 * kern/ieee1275/cmain.c: Likewise.
31578 * boot/i386/pc/cdboot.S: Likewise.
31579 * video/readers/png.c: Likewise.
31580 * video/i386/pc/vbe.c: Likewise.
31581 * fs/udf.c: Likewise.
31582 * fs/hfs.c: Likewise.
31583 * fs/reiserfs.c: Likewise.
31584 * efiemu/runtime/efiemu.c: Likewise.
31585 * efiemu/main.c: Likewise.
31586 * efiemu/mm.c: Likewise.
31587 * include/grub/elf.h: Likewise.
31588 * include/grub/xnu.h: Likewise.
31589 * include/grub/usbdesc.h: Likewise.
31590 * include/grub/usb.h: Likewise.
31591 * include/grub/script_sh.h: Likewise.
31592 * include/grub/lib/LzmaEnc.h: Likewise.
31593 * include/grub/efiemu/efiemu.h: Likewise.
31594 * include/grub/command.h: Likewise.
31595 * normal/menu.c: Likewise.
31596 * normal/main.c: Likewise.
31597 * normal/datetime.c: Likewise.
31598 * bus/usb/uhci.c: Likewise.
31599 * mmap/i386/uppermem.c: Likewise.
31600 * mmap/mmap.c: Likewise.
31601 * commands/acpi.c: Likewise.
31602 * commands/test.c: Likewise.
31603 * partmap/apple.c: Likewise.
31604 * font/font.c: Likewise.
31605 * loader/sparc64/ieee1275/linux.c: Likewise.
31606 * loader/macho.c: Likewise.
31607 * loader/i386/bsd_trampoline.S: Likewise.
31608 * loader/i386/bsd.c: Likewise.
31609 * loader/xnu.c: Likewise.
31610 * term/i386/pc/vesafb.c: Likewise.
31611 * term/usb_keyboard.c: Likewise.
31612 * util/resolve.c: Likewise.
31613 * util/getroot.c: Likewise.
31614
31615 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31616
31617 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31618
31619 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31620
31621 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31622 build error.
31623
31624 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31625
31626 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31627 parameter only available on BIOS.
31628
31629 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31630
31631 Removed wrong semicolon in declaration
31632
31633 * grub/misc.h (grub_dprintf): remove semicolon
31634
31635 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31636
31637 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31638 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31639 is done by grub_cmd_linux() now).
31640 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31641 restore video to text mode.
31642 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31643 indicates lack of "vga=" parameter. "vga=0" is mapped to
31644 `GRUB_LINUX_VID_MODE_NORMAL'.
31645
31646 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31647
31648 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31649 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31650 and `normal/script.c'. Add `kern/rescue_reader.c',
31651 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
31652 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31653 `grub_script.tab.c'.
31654
31655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31656 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31658 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31659 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31660
31661 * Makefile.in: Remove duplicated 2008 in Copyright line.
31662
31663 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31664
31665 * util/misc.c (grub_util_warn): New function. Emits a warning
31666 unconditionally.
31667 * include/grub/util/misc.h (grub_util_warn): New declaration.
31668
31669 * util/i386/pc/grub-install.in: Understand --force and pass it down
31670 to grub-setup.
31671
31672 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31673 down to setup().
31674 (setup): Improve error messages and add warnings when requested to
31675 install in odd layouts. Refuse to install using blocklists unless
31676 --force was set.
31677
31678 2009-05-04 martin f. krafft <madduck@madduck.net>
31679
31680 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31681
31682 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31683
31684 Updated copyright year
31685
31686 * fs/hfsplus.c: updated copyright year
31687
31688 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31689
31690 HFS+ UUID
31691
31692 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
31693 in the space previously used by unused3
31694 (grub_hfsplus_uuid): new function
31695 (grub_hfsplus_fs): added uuid field
31696
31697 2009-05-03 Pavel Roskin <proski@gnu.org>
31698
31699 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31700 suppress warnings. It's no longer needed.
31701 * disk/host.c: Likewise.
31702 * disk/ata_pthru.c: Likewise.
31703 * disk/loopback.c: Likewise.
31704 * hook/datehook.c: Likewise.
31705 * parttool/pcpart.c: Likewise.
31706 * fs/i386/pc/pxe.c: Likewise.
31707 * fs/ntfscomp.c: Likewise.
31708 * efiemu/main.c: Likewise.
31709 * mmap/mmap.c: Likewise.
31710 * commands/crc.c: Likewise.
31711 * commands/hexdump.c: Likewise.
31712 * commands/hdparm.c: Likewise.
31713 * commands/acpi.c: Likewise.
31714 * commands/echo.c: Likewise.
31715 * commands/minicmd.c: Likewise.
31716 * commands/blocklist.c: Likewise.
31717 * commands/memrw.c: Likewise.
31718 * commands/loadenv.c: Likewise.
31719 * commands/usbtest.c: Likewise.
31720 * commands/lsmmap.c: Likewise.
31721 * commands/boot.c: Likewise.
31722 * commands/parttool.c: Likewise.
31723 * commands/configfile.c: Likewise.
31724 * commands/search.c: Likewise.
31725 * commands/ieee1275/suspend.c: Likewise.
31726 * commands/cat.c: Likewise.
31727 * commands/i386/pc/pxecmd.c: Likewise.
31728 * commands/i386/pc/play.c: Likewise.
31729 * commands/i386/pc/halt.c: Likewise.
31730 * commands/i386/pc/vbeinfo.c: Likewise.
31731 * commands/i386/pc/vbetest.c: Likewise.
31732 * commands/lspci.c: Likewise.
31733 * commands/date.c: Likewise.
31734 * commands/handler.c: Likewise.
31735 * commands/ls.c: Likewise.
31736 * commands/test.c: Likewise.
31737 * commands/cmp.c: Likewise.
31738 * commands/efi/loadbios.c: Likewise.
31739 * commands/efi/fixvideo.c: Likewise.
31740 * commands/halt.c: Likewise.
31741 * commands/help.c: Likewise.
31742 * commands/reboot.c: Likewise.
31743 * hello/hello.c: Likewise.
31744 * script/sh/main.c: Likewise.
31745 * loader/xnu.c: Likewise.
31746 * term/terminfo.c: Likewise.
31747 * term/i386/pc/serial.c: Likewise.
31748 * term/usb_keyboard.c: Likewise.
31749
31750 2009-05-03 David S. Miller <davem@davemloft.net>
31751
31752 * normal/menu.c: Include grub/parser.h
31753
31754 2009-05-03 Pavel Roskin <proski@gnu.org>
31755
31756 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31757 not char*.
31758 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31759 Suggested by Javier Martín <lordhabbit@gmail.com>
31760
31761 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31762 efiemu??.o doesn't exist.
31763 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31764 copying.
31765
31766 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
31767
31768 FreeBSD 64-bit support
31769
31770 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
31771 and loader/i386/bsd_trampoline.S
31772 (bsd_mod_ASFLAGS): new variable
31773 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31774 (FREEBSD_MODTYPE_KERNEL64): likewise
31775 (grub_bsd64_trampoline_start): likewise
31776 (grub_bsd64_trampoline_end): likewise
31777 (grub_bsd64_trampoline_selfjump): likewise
31778 (grub_bsd64_trampoline_gdt): likewise
31779 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31780 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31781 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31782 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
31783 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31784 of "attrib" member
31785 * loader/i386/bsd_pagetable.c: new file
31786 * loader/i386/bsd_trampoline.S: likewise
31787 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31788 (ALIGN_VAR): likewise
31789 (entry_hi): new variable
31790 (kern_end_mdofs): likewise
31791 (is_64bit): likewise
31792 (grub_freebsd_add_meta): use ALIGN_VAR
31793 (grub_e820_mmap): new declaration
31794 (grub_freebsd_add_mmap): new function
31795 (grub_freebsd_add_meta_module): support 64 bit kernels
31796 (grub_freebsd_list_modules): use ALIGN_VAR
31797 (gdt_descriptor): new declaration
31798 (grub_freebsd_boot): support 64 bit kernels
31799 (grub_bsd_elf64_hook): new function
31800 (grub_bsd_load_elf): support elf64
31801
31802 2009-05-03 Bean <bean123ch@gmail.com>
31803
31804 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31805 after we get the result of if statement.
31806
31807 2009-05-03 Bean <bean123ch@gmail.com>
31808
31809 * Makefile.in (enable_efiemu): New variable.
31810
31811 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31812 set.
31813 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31814 path.
31815 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31816 path, add -mno-red-zone option.
31817 (efiemu64_s.o): Likewise.
31818 (efiemu64.o): Use macro $^ for source file.
31819
31820 * configure.ac (--enable-efiemu): New option.
31821
31822 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31823
31824 xnu support
31825
31826 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31827 (pkglib_MODULES): add xnu.mod
31828 (xnu_mod_SOURCES): new variable
31829 (xnu_mod_CFLAGS): likewise
31830 (xnu_mod_LDFLAGS): likewise
31831 (xnu_mod_ASFLAGS): likewise
31832 * conf/i386-pc.rmk: likewise
31833 * conf/x86_64-efi.rmk: likewise
31834 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
31835 new declaration
31836 * include/grub/i386/macho.h: new file
31837 * include/grub/i386/xnu.h: likewise
31838 * include/grub/macho.h: likewise
31839 * include/grub/machoload.h: likewise
31840 * include/grub/x86_64/macho.h: likewise
31841 * include/grub/x86_64/xnu.h: likewise
31842 * include/grub/xnu.h: likewise
31843 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31844 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31845 * loader/i386/efi/xnu.c: new file
31846 * loader/i386/pc/xnu.c: likewise
31847 * loader/i386/xnu.c: likewise
31848 * loader/i386/xnu_helper.S: likewise
31849 * loader/macho.c: likewise
31850 * loader/xnu.c: likewise
31851 * loader/xnu_resume.c: likewise
31852 * util/grub-dumpdevtree: likewise
31853 * include/grub/i386/pit.h: include grub/err.h
31854 (grub_pit_wait): export
31855 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
31856
31857 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31858
31859 Efiemu
31860
31861 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
31862 _linux_efi, linux_efi.
31863 new files in grub-emu
31864 new targets efiemu32.o and efiemu64.o
31865 * loader/linux_normal_efiemu.c: likewise
31866 * loader/i386/efi/linux.c: added preliminary efiemu support
31867 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
31868 files to copy
31869 * include/grub/autoefi.h: new file
31870 * include/grub/i386/efiemu.h: likewise
31871 * include/grub/i386/pc/efiemu.h: likewise
31872 * include/grub/efi/api.h: add LL suffix when necessary
31873 new definitions relating to tables
31874 * include/grub/efiemu/efiemu.h: new file
31875 * include/grub/efiemu/runtime.h: likewise
31876 * efiemu/prepare.c: likewise
31877 * efiemu/loadcore_common.c: likewise
31878 * efiemu/loadcore64.c: likewise
31879 * efiemu/runtime/efiemu.sh: likewise
31880 * efiemu/runtime/efiemu.S: likewise
31881 * efiemu/runtime/efiemu.c: likewise
31882 * efiemu/runtime/config.h: likewise
31883 * efiemu/prepare32.c: likewise
31884 * efiemu/main.c: likewise
31885 * efiemu/modules/pnvram.c: likewise
31886 * efiemu/modules/i386: likewise
31887 * efiemu/modules/i386/pc: likewise
31888 * efiemu/modules/acpi.c: likewise
31889 * efiemu/i386/pc/cfgtables.c: likewise
31890 * efiemu/i386/loadcore64.c: likewise
31891 * efiemu/i386/loadcore32.c: likewise
31892 * efiemu/prepare64.c: likewise
31893 * efiemu/loadcore.c: likewise
31894 * efiemu/symbols.c: likewise
31895 * efiemu/mm.c: likewise
31896 * efiemu/loadcore32.c: likewise
31897
31898 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31899
31900 ACPI spoofing
31901
31902 * commands/acpi.c: new file
31903 * commands/i386/pc/acpi.c: likewise
31904 * commands/efi/acpi.c: likewise
31905 * include/grub/acpi.h: likewise
31906 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31907 (acpi_mod_SOURCES): new variable
31908 (acpi_mod_CFLAGS): likewise
31909 (acpi_mod_LDFLAGS): likewise
31910 * conf/i386-efi.rmk: likewise
31911 * conf/x86_64-efi.rmk: likewise
31912
31913 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31914
31915 Missing part from mmap patch
31916
31917 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31918 (grub_mmap_unregister)
31919 (grub_mmap_free_and_unregister): use grub_mmap_register
31920
31921 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31922
31923 Mmap services
31924
31925 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31926 * loader/i386/linux.c (find_mmap_size): likewise
31927 (allocate_pages): likewise
31928 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31929 (grub_fill_multiboot_mmap): likewise
31930 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31931 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31932 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31933 (OPENBSD_MMAP_RESERVED): likewise
31934 * include/grub/i386/pc/memory.h: include grub/memory.h
31935 (grub_lower_mem): removed
31936 (grub_upper_mem): likewise
31937 (GRUB_MACHINE_MEMORY_ACPI): new definition
31938 (GRUB_MACHINE_MEMORY_NVS): likewise
31939 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31940 (GRUB_MACHINE_MEMORY_HOLE): likewise
31941 (grub_machine_mmap_register): likewise
31942 (grub_machine_mmap_unregister): likewise
31943 (grub_machine_get_upper): likewise
31944 (grub_machine_get_lower): likewise
31945 (grub_machine_get_post64): likewise
31946 * include/grub/i386/efi/memory.h: new file
31947 * include/grub/x86_64/efi/memory.h: likewise
31948 * include/grub/efi/memory.h: likewise
31949 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31950 (mmap_mod_SOURCES): new variable
31951 (mmap_mod_LDFLAGS): likewise
31952 (mmap_mod_ASFLAGS): likewise
31953 * conf/i386-coreboot.rmk: likewise
31954 * conf/i386-ieee1275.rmk: likewise
31955 * conf/i386-efi.rmk: likewise
31956 * conf/x86_64-efi.rmk: likewise
31957 * include/grub/types.h (UINT_TO_PTR): new macro
31958 (PTR_TO_UINT32): likewise
31959 (PTR_TO_UINT64): likewise
31960 * include/grub/memory.h: new file
31961 * mmap/i386/pc/mmap.c: likewise
31962 * mmap/i386/pc/mmap_helper.S: likewise
31963 * mmap/i386/uppermem.c: likewise
31964 * mmap/mmap.c: likewise
31965 * mmap/efi/mmap.c: likewise
31966 * kern/i386/coreboot/init.c (grub_machine_init): don't use
31967 grub_upper_mem
31968 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31969 (grub_upper_mem): likewise
31970 (grub_machine_init): don't use grub_upper_mem,
31971 make grub_lower_mem local
31972 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31973 grub_mmap_iterate and grub_mmap_get_upper
31974 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31975
31976 2009-05-02 Bean <bean123ch@gmail.com>
31977
31978 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31979 script/sh/parser.y.
31980 (pkglib_MODULES): Add normal.mod and sh.mod.
31981 (normal_SOURCES): New variable.
31982 (normal_mod_CFLAGS): Likewise.
31983 (normal_mod_LDFLAGS): Likewise.
31984 (sh_mod_SOURCES): Likewise.
31985 (sh_mod_CFLAGS): Likewise.
31986 (sh_mod_LDFLAGS): Likewise.
31987
31988 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31989 script/sh/lexer.c_DEPENDENCIES.
31990 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31991 kern/rescue_reader.c and kern/rescue_parser.c.
31992 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31993 (grub_emu_SOURCES): Change source files.
31994 (pkglib_MODULES): Remove normal.mod.
31995 (normal_SOURCES): Removed.
31996 (normal_mod_CFLAGS): Likewise.
31997 (normal_mod_LDFLAGS): Likewise.
31998 * conf/i386-coreboot.rmk: Likewise.
31999 * conf/i386-efi.rmk: Likewise.
32000 * conf/i386-ieee1276.rmk: Likewise.
32001 * conf/powerpc-ieee1275.rmk: Likewise.
32002 * conf/sparc64-ieee1275.rmk: Likewise.
32003 * conf/x86_64-efi.rmk: Likewise.
32004
32005 * include/grub/command.h (grub_command_execute): New inline function.
32006
32007 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32008
32009 * include/grub/normal.h: Remove <grub/setjmp.h>.
32010 (grub_fs_module_list): Moved to normal/autofs.c.
32011 (grub_exit_env): Removed.
32012 (grub_command_execute): Likewise.
32013 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32014 parameter script.
32015 (read_command_list): New function declaration.
32016 (read_fs_list): Likewise.
32017
32018 * include/parser.h: Include <grub/reader.h>.
32019 (grub_parser_split_cmdline): Change type of getline parameter.
32020 (grub_parser): New structure.
32021 (grub_parser_class): New variable.
32022 (grub_parser_execute): New function declaration.
32023 (grub_register_rescue_parser): Likewise.
32024 (grub_parser_register): New inline function.
32025 (grub_parser_unregister): Likewise.
32026 (grub_parser_get_current): Likewise.
32027 (grub_parser_set_current): Likewise.
32028
32029 * include/grub/reader.h: New file.
32030 * kern/reader.c: Likewise.
32031 * kern/rescue_parser.c: Likewise.
32032 * kern/rescue_reader.c: Likewise.
32033 * normal/autofs.c: Likewise.
32034 * normal/dyncmd.c: Likewise.
32035
32036 * include/grub/rescue.h: Removed.
32037 * normal/command.h: Likewise.
32038
32039 * include/grub/script.h: Moved to ...
32040 * include/grub/script_sh.h: ... Moved here.
32041 * normal/execute.c: Moved to ...
32042 * script/sh/execute.c: ... Moved here.
32043 * normal/function.c: Moved to ...
32044 * script/sh/function.c: ... Moved here.
32045 * normal/lexer.c: Moved to ...
32046 * script/sh/lexer.c: ... Moved here.
32047 * normal/parser.y: Moved to ...
32048 * script/sh/parser.y: ... Moved here.
32049 * normal/script.c: Moved to ...
32050 * script/sh/script.c: ... Moved here.
32051
32052 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32053 <grub/reader.h>.
32054 (grub_exit_env): Removed.
32055 (fs_module_list): Moved to normal/autofs.c.
32056 (grub_file_getline): Don't handle comment here.
32057 (free_menu): Skip removed field entry->commands.
32058 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32059 script parameter.
32060 (read_config_file): Removed nested parameter, change getline function.
32061 (grub_enter_normal_mode): Removed.
32062 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32063 (read_command_list): Likewise.
32064 (autoload_fs_module): Moved to normal/autofs.c.
32065 (read_fs_list): Likewise.
32066 (reader_nested): New variable.
32067 (grub_normal_execute): Run parser.sh to switch to sh parser.
32068 (grub_cmd_rescue): Removed.
32069 (cmd_normal): Removed.
32070 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32071 rescue command.
32072 (grub_cmdline_run): New function.
32073 (grub_normal_reader_init): Likewise.
32074 (grub_normal_read_line): Likewise.
32075 (grub_env_write_pager): Likewise.
32076 (cmdline): New variable.
32077 (grub_normal_reader): Likewise.
32078 (GRUB_MOD_INIT): Register normal reader and set as current, register
32079 pager hook, register normal command with grub_register_command_prio,
32080 so that it won't show up in command.lst.
32081 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32082 grub_fs_autoload_hook.
32083
32084 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32085 (grub_menu_execute_entry): Replace grub_script_execute with
32086 grub_parser_execute, change parameter to grub_command_execute.
32087
32088 * normal/menu_text.c: Remove <grub/script.h>.
32089
32090 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32091 and <grub/parser.h>.
32092 (run): Change editor_getline to use new parser interface. Change
32093 parameter to grub_command_execute.
32094
32095 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32096 <grub/reader.h> and <grub/parser.h>.
32097 (grub_load_normal_mode): Execute normal command.
32098 (grub_main): Call grub_register_core_commands,
32099 grub_register_rescue_parser and grub_register_rescue_reader, use
32100 grub_reader_loop to enter input loop.
32101
32102 * kern/parser.c (grub_parser_split_cmdline): Change type of
32103 getline parameter.
32104 (grub_parser_class): New variable.
32105 (grub_parser_execute): New function.
32106
32107 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32108 * loader/multiboot2.c: Likewise.
32109 * loader/sparc64/ieee1275/linux.c: Likewise.
32110
32111 * util/grub-emu.c (read_command_list): New dummy function.
32112
32113 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32114
32115 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32116 count to 16 for CCISS and IDA.
32117
32118 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32119
32120 * normal/menu_text.c (grub_wait_after_message): Print a newline
32121 after waiting for user input.
32122
32123 * loader/i386/linux.c: Include `<grub/normal.h>'.
32124 (grub_cmd_linux): Improve the error message about `ask' mode, by
32125 waiting for user input so it's not missed (we can do this, since
32126 user requested interaction).
32127
32128 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32129
32130 Added missing lst to grub-mkrescue
32131
32132 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32133 and ${input_dir}/parttool.lst
32134
32135 2009-04-30 David S. Miller <davem@davemloft.net>
32136
32137 * util/hostdisk.c (device_is_wholedisk): New function.
32138 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32139 zero only if device_is_wholedisk() returns true.
32140
32141 * util/hostdisk.c (convert_system_partition_to_system_disk):
32142 Handle virtual disk devices named /dev/vdiskX as found on sparc
32143 and powerpc.
32144
32145 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32146 lettered partition specifier is found, convert to numbered.
32147
32148 2009-04-29 David S. Miller <davem@davemloft.net>
32149
32150 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32151 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32152
32153 * normal/command.c: Add missing newline at end of file.
32154
32155 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32156 warnings.
32157 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32158 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32159 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32160 ihandles have a 32-bit type but need to be stored in a "void *".
32161
32162 2009-04-28 Pavel Roskin <proski@gnu.org>
32163
32164 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32165 not disk. Adjust all dependencies.
32166 (grub_fs_uuid_close): Use grub_device_close(), not
32167 grub_disk_close().
32168
32169 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32170 parent's partition, don't copy it by reference, as it gets freed
32171 on close.
32172
32173 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32174
32175 Preboot hooks support
32176
32177 * commands/boot.c (struct grub_preboot_t): new declaration
32178 (preboots_head): new variable
32179 (preboots_tail): likewise
32180 (grub_loader_register_preboot_hook): new function
32181 (grub_loader_unregister_preboot_hook): likewise
32182 (grub_loader_set): launch preboot hooks
32183 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32184 (grub_loader_register_preboot_hook): new declaration
32185 (grub_loader_unregister_preboot_hook): likewise
32186
32187 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32188
32189 Warning fix
32190
32191 * disk/scsi.c (grub_scsi_open): added missing cast when
32192 calling grub_dprintf
32193
32194 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32195
32196 Bug and warning fixes
32197
32198 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
32199 declaration
32200 * commands/test.c (test_parse): fixed bug with file tests and corrected
32201 declaration of find_file
32202
32203 2009-04-26 Pavel Roskin <proski@gnu.org>
32204
32205 * Makefile.in: Don't install empty manual pages if help2man is
32206 missing. Use help2man option for output, not shell redirection.
32207
32208 2009-04-26 David S. Miller <davem@davemloft.net>
32209
32210 * util/grub-mkdevicemap.c (make_device_map): Add missing
32211 NESTED_FUNC_ATTR to process_device().
32212
32213 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32214
32215 Test command
32216
32217 * commands/test.c: rewritten to use bash-like test
32218
32219 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32220
32221 Parttool autoloading and improvements
32222
32223 * Makefile.in (pkglib_DATA): add parttool.lst
32224 (parttool.lst): new target
32225 * genmk.rb: generate parttool-*
32226 (CLEANFILES): add #{parttool}
32227 (PARTTOOLFILES): new variable
32228 * genparttoollist.sh: new file
32229 * parttool/pcpart.c (grub_pcpart_boot): more feedback
32230 (grub_pcpart_type): likewise
32231 * commands/parttool.c (helpmsg): new variable
32232 (grub_cmd_parttool): output help if not enough arguments are supplied
32233 autoload modules
32234 (GRUB_MOD_INIT(parttool)): use helpmsg
32235
32236 2009-04-24 David S. Miller <davem@davemloft.net>
32237
32238 Avoiding opening same device multiple times in device iterator.
32239
32240 * kern/device.c: (grub_device_iterate): Define struct part_ent,
32241 and use it to build a list of partitions in iterate_disk() and
32242 iterate_partition().
32243
32244 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32245 on disk->data.
32246
32247 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32248 grub_devalias_iterate() result instead of unconditional 0.
32249 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32250 Also, capture hook return value, either directly or via
32251 grub_children_iterate(), and propagate to caller.
32252 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32253 grub_children_iterate): Return value is now 'int' instead of
32254 'grub_err_t'.
32255 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32256 like a proper iterator, stopping when hooks return non-zero.
32257 (grub_devalias_iterate): Likewise.
32258
32259 2009-04-23 David S. Miller <davem@davemloft.net>
32260
32261 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32262
32263 2009-04-22 David S. Miller <davem@davemloft.net>
32264
32265 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32266 is larger than address_cells, use that value for address_cells too.
32267
32268 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32269 IEEE1275_MAX_PATH_LEN): Define.
32270 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32271 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32272 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32273 'devtype'. Explicitly NULL terminate devalias expansion.
32274
32275 * util/sparc64/ieee1275/misc.c: New file.
32276 * util/sparc64/ieee1275/grub-setup.c: New file.
32277 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32278 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32279 * util/sparc64/ieee1275/grub-install.in: New file.
32280 * util/ieee1275/ofpath.c: New file.
32281 * util/ieee1275/devicemap.c: New file.
32282 * util/devicemap.c: New file.
32283 * util/deviceiter.c: New file.
32284 * kern/sparc64/ieee1275/init.c: New file.
32285 * include/grub/util/ofpath.h: New file.
32286 * include/grub/util/deviceiter.h: New file.
32287 * util/grub-mkdevicemap.c: Include deviceiter.h.
32288 Implement using grub_util_emit_devicemap_entry and
32289 grub_util_iterate_devices.
32290 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32291 util/devicemap.c into grub-mkdevicemap
32292 * conf/i386-efi.rmk: Likewise.
32293 * conf/i386-ieee1275.rmk: Likewise.
32294 * conf/i386-pc.rmk: Likewise.
32295 * conf/powerpc-ieee1275.rmk: Likewise.
32296 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32297 images and installation utilities. Build kernel as image
32298 instead of as elf binary. Use common rules as much as possible.
32299
32300 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 Correct GPT definition
32303
32304 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
32305 of "attrib" member
32306
32307 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
32308
32309 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32310
32311 2009-04-19 David S. Miller <davem@davemloft.net>
32312
32313 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32314 (grub_rescue_cmd_linux): Rename to...
32315 (grub_cmd_linux): and fix prototype.
32316 (grub_rescue_cmd_initrd): Rename to...
32317 (grub_cmd_initrd): and fix prototype.
32318 (cmd_linux, cmd_initrd): New.
32319 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32320 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32321
32322 2009-04-17 Pavel Roskin <proski@gnu.org>
32323
32324 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32325 format.
32326 (grub_ohci_transfer): Likewise.
32327
32328 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32329
32330 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32331 return without a value. Fix inconsistent indentation.
32332
32333 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32334 match struct grub_fs.
32335
32336 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32337 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32338 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32339 * commands/lspci.c (grub_lspci_iter): Likewise.
32340
32341 2009-04-16 Bean <bean123ch@gmail.com>
32342
32343 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32344 value.
32345
32346 2009-04-15 Pavel Roskin <proski@gnu.org>
32347
32348 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32349 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32350 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32351 definitions.
32352
32353 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32354
32355 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
32356 that no multiple data or metadata areas are supported and `Unknown
32357 metadata header'.
32358
32359 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32360
32361 Move loader out of the kernel
32362
32363 * kern/loader.c: moved to ...
32364 * commands/boot.c: ... moved here
32365 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32366 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32367 * include/grub/kernel.h (grub_machine_fini): export
32368 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32369 (grub_loader_set): likewise
32370 (grub_loader_unset): likewise
32371 (grub_loader_boot): likewise
32372 * conf/common.rmk: new module boot.mod
32373 (pkglib_MODULES): add boot.mod
32374 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32375 (grub_emu_SOURCES): likewise
32376 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32377 (grub_emu_SOURCES): likewise
32378 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32379 (grub_emu_SOURCES): likewise
32380 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32381 (grub_emu_SOURCES): likewise
32382 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32383 (grub_emu_SOURCES): likewise
32384 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32385 (grub_emu_SOURCES): likewise
32386 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
32387 (grub_emu_SOURCES): likewise
32388
32389 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32390
32391 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
32392
32393 * kern/misc.c (grub_itoa): Removed function
32394 (grub_ltoa): likewise
32395 (grub_vsprintf): use grub_lltoa
32396
32397 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32398
32399 Restore grub-emu
32400
32401 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32402 * conf/i386-coreboot.rmk: likewise
32403 * conf/i386-ieee1275.rmk: likewise
32404 * conf/powerpc-ieee1275.rmk: likewise
32405
32406 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32407
32408 * INSTALL: Add that `./autogen.sh' needs to be run before
32409 `./configure.'.
32410
32411 2009-04-14 Bean <bean123ch@gmail.com>
32412
32413 * Makefile.in (pkglib_DATA): Add handler.lst.
32414 (handler.lst): New rule.
32415
32416 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32417 * conf/i386-coreboot.rmk: Likewise.
32418 * conf/i386-ieee1275.rmk: Likewise.
32419 * conf/i386-efi.rmk: Likewise.
32420 * conf/x86_64-efi.rmk: Likewise.
32421 * conf/powerpc-ieee1275.rmk: Likewise.
32422 * conf/sparc64-ieee1275.rmk: Likewise.
32423
32424 * genhandlerlist.sh: New file.
32425
32426 * genmk.rb: Add rules to generate handler.lst.
32427
32428 * include/grub/normal.h (grub_file_getline): New function definition.
32429 (read_handler_list): Likewise.
32430 (free_handler_list): Likewise.
32431
32432 * include/grub/term.h (grub_term_register_input): Add name parameter
32433 for auto generation of handler.lst.
32434 (grub_term_register_output): Likewise.
32435
32436 * normal/handler.c: New file.
32437
32438 * normal/main.c (get_line): Renamed to grub_file_getline.
32439 (read_config_file): Use the newly renamed grub_file_getline.
32440 (read_command_list): Likewise.
32441 (read_fs_list): Likewise.
32442 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32443 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32444
32445 * term/efi/console.c (grub_console_init): Add name parameter for auto
32446 generation of handler.lst.
32447 * term/gfxterm.c: Likewise.
32448 * term/i386/pc/at_keyboard.c: Likewise.
32449 * term/i386/pc/console.c: Likewise.
32450 * term/i386/pc/serial.c: Likewise.
32451 * term/i386/pc/vesafb.c: Likewise.
32452 * term/i386/pc/vga.c: Likewise.
32453 * term/i386/pc/vga_text.c: Likewise.
32454 * term/ieee1275/ofconsole.c: Likewise.
32455 * term/usb_keyboard.c: Likewise.
32456
32457 2009-04-14 Bean <bean123ch@gmail.com>
32458
32459 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
32460 properly with null character.
32461
32462 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32463
32464 * configure: Remove.
32465 * config.h.in: Likewise.
32466 * stamp-h.in: Likewise.
32467 * DISTLIST: Likewise.
32468 * conf/common.mk: Likewise.
32469 * conf/i386-coreboot.mk: Likewise.
32470 * conf/i386-efi.mk: Likewise.
32471 * conf/i386-ieee1275.mk: Likewise.
32472 * conf/i386.mk: Likewise.
32473 * conf/i386-pc.mk: Likewise.
32474 * conf/powerpc-ieee1275.mk: Likewise.
32475 * conf/sparc64-ieee1275.mk: Likewise.
32476 * conf/x86_64-efi.mk: Likewise.
32477
32478 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
32479 develop on GRUB.
32480
32481 2009-04-14 John Stanley <jpsinthemix@verizon.net>
32482 David S. Miller <davem@davemloft.net>
32483
32484 * util/hostdisk.c (make_device_name): Fix buffer length
32485 calculations.
32486
32487 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32488
32489 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
32490 <sys/param.h> and <sys/sysctl.h>.
32491 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
32492 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
32493 opening the device and reset them afterwards.
32494
32495 2009-04-13 Pavel Roskin <proski@gnu.org>
32496
32497 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
32498 Reported by John Stanley <jpsinthemix@verizon.net>
32499
32500 2009-04-13 Robert Millan <rmh@aybabtu.com>
32501
32502 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
32503 that name for menuentries when appropriate.
32504
32505 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32506
32507 * util/grub.d/10_freebsd.in: Add a missing `fi'.
32508
32509 2009-04-13 Robert Millan <rmh@aybabtu.com>
32510
32511 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
32512 to Linux, simply abort telling the user it's no longer supported.
32513
32514 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32515
32516 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
32517 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
32518 `freebsd_loadenv' only when devices.hints exist.
32519
32520 2009-04-13 Pavel Roskin <proski@gnu.org>
32521
32522 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
32523
32524 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32525
32526 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
32527 partition number.
32528 (grub_drive): Likewise.
32529
32530 2009-04-13 David S. Miller <davem@davemloft.net>
32531
32532 * kern/sparc64/ieee1275/ieee1275.c: New file.
32533 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
32534 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
32535 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
32536 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
32537 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
32538 grub_ieee1275_alloc_physmem): Declare new exported functions.
32539
32540 * include/grub/sparc64/ieee1275/loader.h: New file.
32541 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32542 * include/grub/sparc64/kernel.h: Likewise.
32543 * loader/sparc64/ieee1275/linux.c: Likewise.
32544
32545 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
32546 (grub_fstest_SOURCES): Likewise.
32547
32548 * util/hostdisk.c (make_device_name): Do not make any assumptions
32549 about the length of drive names.
32550
32551 * kern/dl.c (grub_dl_load_file): Close file immediately when
32552 we are done using it.
32553
32554 2009-04-12 David S. Miller <davem@davemloft.net>
32555
32556 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32557 values. Noticed by Pavel Roskin.
32558
32559 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32560 target compiler.
32561
32562 * genmk.rb: Add more flexible image type specification, also
32563 pass --strip-unneeded to objcopy.
32564 * conf/i386-pc.rmk: Use *_FORMAT.
32565 * conf/i386-pc.mk: Rebuilt.
32566
32567 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
32568 (OFDISK_HASH_SZ): Define.
32569 (ofdisk_hash): New hash table.
32570 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
32571 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
32572 instead of device phandle which is not unique.
32573
32574 * kern/sparc64/ieee1275/init.c: Delete, replace with...
32575 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
32576 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
32577 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
32578 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
32579 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
32580 GRUB_KERNEL_MACHINE_DATA_END): Define.
32581 (grub_kernel_image_size, grub_total_module_size): Declare.
32582
32583 2009-04-12 Pavel Roskin <proski@gnu.org>
32584
32585 * configure.ac: Change the logic when we check for target tools.
32586 Do it when the target is specified and it's different from the
32587 specified value of the host.
32588
32589 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
32590
32591 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
32592 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
32593 GNU/kFreeBSD. Check if a device is a character device. Use
32594 DIOCGMEDIASIZE to get the size.
32595 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
32596 support for GNU/kFreeBSD.
32597 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
32598 is a character device instead of a block device. Add support for
32599 FreeBSD device names.
32600
32601 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
32602 is a character device instead of a block device.
32603
32604 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
32605 is a character device instead of a block device.
32606
32607 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
32608
32609 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
32610 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
32611 FreeBSD. Check if a device is a character device. Use
32612 DIOCGMEDIASIZE to get the size.
32613 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
32614 support for FreeBSD.
32615 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32616 is a character device instead of a block device. Add support for
32617 FreeBSD device names.
32618
32619 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32620 a character device instead of a block device.
32621 (grub_util_check_char_device): New function.
32622
32623 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32624 a character device instead of a block device.
32625
32626 * include/grub/util/getroot.h (grub_util_check_char_device): New
32627 prototype.
32628
32629 2009-04-11 David S. Miller <davem@davemloft.net>
32630
32631 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32632 static libgcc.
32633 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32634 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32635 function, if present.
32636 (__bswapdi2): Likewise.
32637
32638 * include/grub/sparc64/ieee1275/boot.h: New file.
32639 * boot/sparc64/ieee1275/boot.S: Likewise.
32640 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32641
32642 * kern/misc.c (grub_ltoa): New function.
32643 (grub_vsprintf): Use it to format 'long' integers.
32644
32645 2009-04-10 David S. Miller <davem@davemloft.net>
32646
32647 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32648 slots are of type grub_ieee1275_cell_t.
32649 (grub_nand_read): Likewise.
32650 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32651 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32652 macros are used to compare values in arg/ret block of the call.
32653 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32654 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32655 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32656 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32657 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32658 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32659 grub_ieee1275_close, grub_ieee1275_set_property,
32660 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32661 grub_ieee1275_cell_t.
32662 * kern/ieee1275/openfw.c (grub_map): Likewise.
32663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32664 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32665
32666 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32667 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32668 (grub_devalias_iterate): Likewise.
32669
32670 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
32671
32672 UFS improvements
32673
32674 * fs/ufs.c (INODE_NBLOCKS): new definition
32675 (struct grub_ufs_dirent): added fields for non-BSD dirents
32676 (grub_ufs_get_file_block): fixed double indirect handling
32677 (grub_ufs_lookup_symlink): use more robust way to determine whether
32678 symlink is inline
32679 (grub_ufs_find_file): support for non-BSD dirents
32680 (grub_ufs_dir): support for non-BSD dirents
32681
32682 2009-04-10 Bean <bean123ch@gnail.com>
32683
32684 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32685 attribute, otherwise the size would be wrong for i386 platform.
32686
32687 * include/grub/pci.h (grub_pci_read_word): New inline function.
32688 (grub_pci_read_byte): Likewise.
32689 (grub_pci_write): Likewise.
32690 (grub_pci_write_word): Likewise.
32691 (grub_pci_write_byte): Likewise.
32692
32693 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32694
32695 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32696 (find_framebuf): Scan pci to locate the frame buffer address.
32697
32698 * commands/efi/fixvideo.c: New file.
32699
32700 * commands/efi/loadbios.c: Likewise.
32701
32702 * commands/memrw.c: Likewise.
32703
32704 * util/grub-dumpbios.in: Likewise.
32705
32706 * conf/common.rmk (grub-dumpbios): New utility.
32707 (pkglib_MODULES): New module memrw.mod.
32708 (memrw_mod_SOURCE): New macro.
32709 (memrw_mod_CFLAGS): Likewise.
32710 (memrw_mod_LDFLAGS): Likewise.
32711
32712 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
32713 fixvideo.mod.
32714 (loadbios_mod_SOURCE): New macro.
32715 (loadbios_mod_CFLAGS): Likewise.
32716 (loadbios_mod_LDFLAGS): Likewise.
32717 (fixvideo_mod_SOURCE): Likewise.
32718 (fixvideo_mod_CFLAGS): Likewise.
32719 (fixvideo_mod_LDFLAGS): Likewise.
32720
32721 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
32722 fixvideo.mod.
32723 (loadbios_mod_SOURCE): New macro.
32724 (loadbios_mod_CFLAGS): Likewise.
32725 (loadbios_mod_LDFLAGS): Likewise.
32726 (fixvideo_mod_SOURCE): Likewise.
32727 (fixvideo_mod_CFLAGS): Likewise.
32728 (fixvideo_mod_LDFLAGS): Likewise.
32729
32730 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
32731
32732 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32733
32734 2009-04-07 David S. Miller <davem@davemloft.net>
32735
32736 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32737 support for R_SPARC_OLO10 relocations. Fix compile warning for
32738 R_SPARC_WDISP30 case.
32739 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
32740
32741 2009-04-06 Pavel Roskin <proski@gnu.org>
32742
32743 * include/grub/misc.h (ARRAY_SIZE): New macro.
32744 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32745 New macro.
32746 * loader/i386/linux.c (allocate_pages): Use free_pages().
32747 (grub_linux_unload): Don't use free_pages().
32748 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32749 wrong index. Treat all other modes as text modes.
32750 (grub_cmd_linux): Initialize vid_mode unconditionally to
32751 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32752
32753 * commands/help.c (print_command_help): Use cmd->prio, not
32754 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32755
32756 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
32757
32758 Parttool
32759
32760 * parttool/pcpart.c: new file
32761 * commands/parttool.c: likewise
32762 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32763 (parttool_mod_SOURCES): new variable
32764 (parttool_mod_CFLAGS): likewise
32765 (parttool_mod_LDFLAGS): likewise
32766 (pcpart_mod_SOURCES): likewise
32767 (pcpart_mod_CFLAGS): likewise
32768 (pcpart_mod_LDFLAGS): likewise
32769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
32770 and parttool/pcpart.c
32771 * conf/i386-efi.rmk: likewise
32772 * conf/i386-ieee1275.rmk: likewise
32773 * conf/i386-pc.rmk: likewise
32774 * conf/powerpc-ieee1275.rmk: likewise
32775 * conf/sparc64-ieee1275.rmk: likewise
32776 * conf/x86_64-ieee1275.rmk: likewise
32777
32778 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32779
32780 Support for mtime and further expandability of dir command
32781
32782 * include/grub/lib/datetime.h: moved to ...
32783 * include/grub/datetime.h: ... moved here and added
32784 declaration of grub_unixtime2datetime. All users updated
32785 * include/grub/fs.h: new syntax for dir and mtime functions in
32786 struct grub_fs
32787 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32788 and GRUB_FSHELP_FLAGS_MASK
32789 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32790 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32791 (grub_ext2_mtime): new function
32792 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32793 (grub_hfsplus_mtime): new function
32794 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32795 (GRUB_UFS_ATTR_FILE): likewise
32796 (GRUB_UFS_ATTR_LNK): likewise
32797 (struct grub_ufs_sblock): new fields mtime
32798 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32799 all users updated
32800 (grub_ufs_dir): mtime support
32801 (grub_ufs_mtime): new function
32802 * fs/affs.c (grub_affs_dir): use new dir syntax
32803 * fs/afs.c (grub_afs_dir): likewise
32804 * fs/cpio.c (grub_cpio_dir): likewise
32805 * fs/fat.c (grub_fat_find_dir): likewise
32806 * fs/hfs.c (grub_hfs_dir): likewise
32807 * fs/iso9660.c (grub_iso9660_dir): likewise
32808 * fs/jfs.c (grub_jfs_dir): likewise
32809 * fs/minix.c (grub_minix_dir): likewise
32810 * fs/ntfs.c (grub_ntfs_dir): likewise
32811 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32812 * fs/sfs.c (grub_sfs_dir): likewise
32813 * fs/xfs.c (grub_xfs_dir): likewise
32814 * util/hostfs.c (grub_hostfs_dir): likewise
32815 * lib/datetime.c: moved to ...
32816 * normal/datetime.c: ... moved here
32817 (grub_unixtime2datetime): new function
32818 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
32819 * normal/completion.c (iterate_dir): use new dir syntax
32820 * normal/misc.c (grub_normal_print_device_info): tell the
32821 last modification time of a volume
32822 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
32823 * conf/common.rmk: added lib/datetime.c to ls.mod
32824 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
32825 (normal_mod_SOURCES): likewise
32826 (datetime_mod_SOURCES): Removed lib/datetime.c
32827 * conf/i386-efi.rmk: likewise
32828 * conf/i386-ieee1275.rmk: likewise
32829 * conf/i386-pc.rmk: likewise
32830 * conf/powerpc-ieee1275.rmk: likewise
32831 * conf/sparc64-ieee1275.rmk: likewise
32832 * conf/x86_64-efi.rmk: likewise
32833
32834 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32835
32836 Trim trailing spaces in FAT label and support mtools-like labels
32837
32838 * fs/fat.c (grub_fat_iterate_dir): New function based
32839 on grub_fat_find_dir
32840 (grub_fat_find_dir): use grub_fat_iterate_dir
32841 (grub_fat_label): likewise
32842
32843 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32844
32845 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
32846 and command.h
32847 remove extraneous kernel_elf_HEADERS
32848
32849 2009-04-04 Bean <bean123ch@gnail.com>
32850
32851 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32852
32853 * util/misc.c: Likewise.
32854
32855 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32856
32857 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32858 instead of grub_printf.
32859
32860 2009-04-03 Robert Millan <rmh@aybabtu.com>
32861
32862 * loader/i386/linux.c (grub_linux_setup_video): Fill
32863 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32864 values from `mode info' structure instead of hardcoded
32865 values.
32866
32867 2009-04-01 Pavel Roskin <proski@gnu.org>
32868
32869 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32870 unused now.
32871 * genmk.rb: Likewise.
32872 * configure.ac: Likewise.
32873
32874 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32875
32876 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32877 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32878
32879 2009-04-01 David S. Miller <davem@davemloft.net>
32880
32881 * normal/sparc64/setjmp.S: Fix setjmp implementation.
32882 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
32883 (grub_setjmp): Mark with 'returns_twice' attribute.
32884 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32885 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32886 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32887
32888 2009-04-01 Robert Millan <rmh@aybabtu.com>
32889
32890 Reapply fix from 2008-07-28 which was accidentally reverted; also
32891 perform the same fix to a similar check in same function.
32892
32893 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32894 with the same number are found, just use issue a warning with
32895 grub_dprintf(), as this error has been reported to be non-fatal.
32896
32897 2009-03-31 Pavel Roskin <proski@gnu.org>
32898
32899 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32900 for cross-compilation.
32901
32902 2009-03-30 Robert Millan <rmh@aybabtu.com>
32903
32904 Fix i386-ieee1275 build.
32905
32906 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32907 Remove declaration.
32908
32909 2009-03-30 Pavel Roskin <proski@gnu.org>
32910
32911 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32912 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32913 zero-terminated, rely only on the strlen value. Fix comparison
32914 of strings differing in length.
32915
32916 2009-03-30 Robert Millan <rmh@aybabtu.com>
32917
32918 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32919 checking for abi version. Improve error messages on BIOS to notify
32920 user about `linux16' command.
32921
32922 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32923
32924 Leak fixes
32925
32926 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32927 in case of collision
32928 * disk/scsi.c (grub_scsi_open): free scsi in case of error
32929
32930 2009-03-29 Robert Millan <rmh@aybabtu.com>
32931
32932 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32933 set `vid_mode' accordingly.
32934 (grub_linux_boot): Process `vid_mode' and set video mode.
32935
32936 2009-03-29 Robert Millan <rmh@aybabtu.com>
32937
32938 * util/grub.d/10_linux.in (linux_entry): New function.
32939 Factorize generation of Linux boot entries.
32940
32941 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32942
32943 Make the format of Environment Block plain text. The boot loader
32944 part is not tested well yet.
32945
32946 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32947 (buffer): Removed.
32948 (envblk): Likewise.
32949 (usage): Remove "info" and "clear". Add "unset". Update the
32950 description of "set", as this does not delete variables any
32951 longer.
32952 (create_envblk_file): Complete rewrite.
32953 (open_envblk_file): Likewise.
32954 (cmd_info): Removed.
32955 (cmd_list): Likewise.
32956 (cmd_set): Likewise.
32957 (cmd_clear): Likewise.
32958 (list_variables): New function.
32959 (write_envblk): Likewise.
32960 (set_variables): Likewise.
32961 (unset_variables): Likewise.
32962 (main): Complete rewrite.
32963
32964 * commands/loadenv.c (buffer): Removed.
32965 (envblk): Likewise.
32966 (open_envblk_file): New function.
32967 (read_envblk_file): Complete rewrite.
32968 (grub_cmd_load_env): Likewise.
32969 (grub_cmd_list_env): Likewise.
32970 (struct blocklist): New struct.
32971 (free_blocklists): New function.
32972 (check_blocklists): Likewise.
32973 (write_blocklists): Likewise.
32974 (grub_cmd_save_env): Complete rewrite.
32975
32976 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32977 a plain text signature.
32978 (GRUB_ENVBLK_MAXLEN): Removed.
32979 (struct grub_envblk): Complete rewrite.
32980 (grub_envblk_find): Removed.
32981 (grub_envblk_insert): Likewise.
32982 (grub_envblk_open): New prototype.
32983 (grub_envblk_set): Likewise.
32984 (grub_envblk_delete): Put const to VALUE.
32985 (grub_envblk_iterate): Put const to NAME and VALUE.
32986 (grub_envblk_close): New prototype.
32987 (grub_envblk_buffer): New inline function.
32988 (grub_envblk_size): Likewise.
32989
32990 * lib/envblk.c: Include grub/mm.h.
32991 (grub_env_find): Removed.
32992 (grub_envblk_open): New function.
32993 (grub_envblk_close): Likewise.
32994 (escaped_value_len): Likewise.
32995 (find_next_line): Likewise.
32996 (grub_envblk_insert): Removed.
32997 (grub_envblk_set): New function.
32998 (grub_envblk_delete): Complete rewrite.
32999 (grub_envblk_iterate): Likewise.
33000
33001 2009-03-28 Robert Millan <rmh@aybabtu.com>
33002
33003 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33004 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33005 variables. Use 16-bit loader.
33006 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33007 loader.
33008 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33009 (grub_linux16_boot): ... this. Update all users.
33010 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33011 (grub_linux_boot): ... this. Update all users.
33012
33013 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33014 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33015 commands to `linux16' and `initrd16'.
33016 (GRUB_MOD_FINI(linux)): Rename to ...
33017 (GRUB_MOD_FINI(linux16)): ... this.
33018
33019 2009-03-24 Pavel Roskin <proski@gnu.org>
33020
33021 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33022 not just for compilation.
33023
33024 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33025
33026 Move multiboot helper out of kernel
33027
33028 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33029 `loader/i386/multiboot_helper.S'.
33030 * conf/i386-coreboot.rmk: Likewise
33031 * conf/i386-ieee1275.rmk: Likewise
33032
33033 * kern/i386/loader.S: Move multiboot helpers from here...
33034 * loader/i386/multiboot_helper.S: ...moved here
33035 * include/grub/i386/loader.h: Move declarations of multiboot
33036 helpers from here...
33037 * include/grub/i386/multiboot.h: ...moved here
33038 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33039
33040 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33041
33042 * kern/env.c (grub_env_context_open): Added an argument to specify
33043 whether a new context inherits exported variables from current
33044 one. This is useful when making a sandbox to interpret a config
33045 file.
33046 All callers updated.
33047
33048 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33049
33050 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33051
33052 * kern/env.c (grub_env_context_close): Fix memory leaks.
33053
33054 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33055
33056 * normal/main.c (grub_normal_execute): Added an argument
33057 BATCH to specify if an interactive interface should be provided
33058 after reading a config file.
33059 All callers updated.
33060 (read_command_list): Prevent being executed twice.
33061 (read_fs_list): Likewise.
33062
33063 * include/grub/normal.h (grub_normal_execute): Updated the
33064 prototype.
33065
33066 2009-03-22 Pavel Roskin <proski@gno.org>
33067
33068 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33069 _start.
33070 * kern/i386/pc/startup.S: Likewise.
33071 * kern/i386/efi/startup.S: Likewise.
33072 * kern/i386/ieee1275/startup.S: Likewise.
33073 * kern/i386/coreboot/startup.S: Likewise.
33074 * kern/x86_64/efi/startup.S: Likewise.
33075
33076 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33077 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33078 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33079
33080 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33081
33082 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33083
33084 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33085 limit detection.
33086 Use vaddr of correct segment for entry_point.
33087
33088 2009-03-21 Bean <bean123ch@gmail.com>
33089
33090 * commands/blocklist.c: Add include file <grub/command.h>, remove
33091 <grub/normal.h> and <grub/arg.h>.
33092 (grub_cmd_blocklist): Use the new command interface.
33093 (GRUB_MOD_INIT): Likewise.
33094 (GRUB_MOD_FINI): Likewise.
33095 * commands/boot.c: Likewise.
33096 * commands/cat.c: Likewise.
33097 * commands/cmp.c: Likewise.
33098 * commands/configfile.c: Likewise.
33099 * commands/crc.c: Likewise.
33100 * commands/echo.c: Likewise.
33101 * commands/halt.c: Likewise.
33102 * commands/handler.c: Likewise.
33103 * commands/hdparm.c: Likewise.
33104 * commands/help.c: Likewise.
33105 * commands/hexdump.c: Likewise.
33106 * commands/loadenv.c: Likewise.
33107 * commands/ls.c: Likewise.
33108 * commands/lsmmap.c: Likewise.
33109 * commands/lspci.c: Likewise.
33110 * commands/loadenv.c: Likewise.
33111 * commands/read.c: Likewise.
33112 * commands/reboot.c: Likewise.
33113 * commands/search.c: Likewise.
33114 * commands/sleep.c: Likewise.
33115 * commands/test.c: Likewise.
33116 * commands/usbtest.c: Likewise.
33117 * commands/videotest.c: Likewise.
33118 * commands/i386/cpuid.c: Likewise.
33119 * commands/i386/pc/halt.c: Likewise.
33120 * commands/i386/pc/play.c: Likewise.
33121 * commands/i386/pc/pxecmd.c: Likewise.
33122 * commands/i386/pc/vbeinfo.c: Likewise.
33123 * commands/i386/pc/vbetest.c: Likewise.
33124 * commands/ieee1275/suspend.c: Likewise.
33125 * disk/loopback.c: Likewise.
33126 * font/font_cmd.c: Likewise.
33127 * hello/hello.c: Likewise.
33128 * loader/efi/appleloader.c: Likewise.
33129 * loader/efi/chainloader.c: Likewise.
33130 * loader/i386/bsd.c: Likewise.
33131 * loader/i386/efi/linux.c: Likewise.
33132 * loader/i386/ieee1275/linux.c: Likewise.
33133 * loader/i386/linux.c: Likewise.
33134 * loader/i386/pc/chainloader.c: Likewise.
33135 * loader/i386/pc/linux.c: Likewise.
33136 * loader/powerpc/ieee1275/linux.c: Likewise.
33137 * loader/multiboot_loader.c: Likewise.
33138 * term/gfxterm.c: Likewise.
33139 * term/i386/pc/serial.c: Likewise.
33140 * term/terminfo.c: Likewise.
33141
33142 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33143 * term/i386/pc/vga.c: Likewise.
33144 * video/readers/jpeg.c: Likewise.
33145 * video/readers/png.c: Likewise.
33146 * video/readers/tga.c: Likewise.
33147
33148 * util/grub-fstest (cmd_loopback): Removed.
33149 (cmd_blocklist): Likewise.
33150 (cmd_ls): Likewise.
33151 (grub_register_command): Likewise.
33152 (grub_unregister_command): Likewise.
33153 (execute_command): Use grub_command_find to locate command and execute
33154 it.
33155
33156 * include/grub/efi/chainloader.h: Removed.
33157 * loader/efi/chainloader_normal.c: Likewise.
33158 * loader/i386/bsd_normal.c: Likewise.
33159 * loader/i386/pc/chainloader_normal.c: Likewise.
33160 * loader/i386/pc/multiboot_normal.c: Likewise.
33161 * loader/linux_normal.c: Likewise.
33162 * loader/multiboot_loader_normal.c: Likewise.
33163 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33164
33165 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33166 and grub_register_command_p1.
33167
33168 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33169 kern/command.c, lib/arg.c and commands/extcmd.c.
33170 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33171 (minicmd_mod_SOURCES): New variable.
33172 (minicmd_mod_CFLAGS): Likewise.
33173 (minicmd_mod_LDFLAGS): Likewise.
33174 (extcmd_mod_SOURCES): Likewise.
33175 (extcmd_mod_CFLAGS): Likewise.
33176 (extcmd_mod_LDFLAGS): Likewise.
33177 (boot_mod_SOURCES): Removed.
33178 (boot_mod_CFLAGS): Likewise.
33179 (boot_mod_LDFLAGS): Likewise.
33180
33181 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33182 kern/corecmd.c.
33183 (kernel_img_HEADERS): Add command.h.
33184 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33185 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33186 and lib/arg.c.
33187 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33188 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33189 remove the corresponding normal mode command.
33190 (normal_mod_SOURCES): Remove normal/arg.c.
33191 * conf/i386-coreboot.rmk: Likewise.
33192 * conf/i386-efi.rmk: Likewise.
33193 * conf/i386-ieee1275.rmk: Likewise.
33194 * conf/powerpc-ieee1275.rmk: Likewise.
33195 * conf/x86_64-efi.rmk: Likewise.
33196
33197 * include/grub/arg.h: Move from here ...
33198 * include/grub/lib/arg.h: ... to here.
33199
33200 * normal/arg.c: Move from here ...
33201 * lib/arg.c: ... to here.
33202
33203 * commands/extcmd.c: New file.
33204 * commands/minicmd.c: Likewise.
33205 * include/grub/command.h: Likewise.
33206 * include/grub/extcmd.h: Likewise.
33207 * kern/command.c: Likewise.
33208 * kern/corecmd.c: Likewise.
33209
33210 * kern/list.c (grub_list_iterate): Return int instead of void.
33211 (grub_list_insert): New function.
33212 (grub_prio_list_insert): Likewise.
33213
33214 * kern/rescue.c (grub_rescue_command): Removed.
33215 (grub_rescue_command_list): Likewise.
33216 (grub_rescue_register_command): Likewise.
33217 (grub_rescue_unregister_command): Likewise.
33218 (grub_rescue_cmd_boot): Move to minicmd.c
33219 (grub_rescue_cmd_help): Likewise.
33220 (grub_rescue_cmd_info): Likewise.
33221 (grub_rescue_cmd_boot): Likewise.
33222 (grub_rescue_cmd_testload): Likewise.
33223 (grub_rescue_cmd_dump): Likewise.
33224 (grub_rescue_cmd_rmmod): Likewise.
33225 (grub_rescue_cmd_lsmod): Likewise.
33226 (grub_rescue_cmd_exit): Likewise.
33227 (grub_rescue_print_devices): Moved to corecmd.c.
33228 (grub_rescue_print_files): Likewise.
33229 (grub_rescue_cmd_ls): Likewise.
33230 (grub_rescue_cmd_insmod): Likewise.
33231 (grub_rescue_cmd_set): Likewise.
33232 (grub_rescue_cmd_unset): Likewise.
33233 (attempt_normal_mode): Use grub_command_find to get normal module.
33234 (grub_enter_rescue_mode): Use grub_register_core_commands to register
33235 commands, remove grub_rescue_register_command calls.
33236
33237 * normal/command.c (grub_register_command): Removed.
33238 (grub_unregister_command): Likewise.
33239 (grub_command_find): Likewise.
33240 (grub_iterate_commands): Likewise.
33241 (rescue_command): Likewise.
33242 (export_command): Moved to corecmd.c.
33243 (set_command): Removed.
33244 (unset_command): Likewise.
33245 (insmod_command): Likewise.
33246 (rmmod_command): Likewise.
33247 (lsmod_command): Likewise.
33248 (grub_command_init): Likewise.
33249
33250 * normal/completion.c (iterate_command): Use cmd->prio to check for
33251 active command.
33252 (complete_arguments): Use grub_extcmd_t structure to find options.
33253 (grub_normal_do_completion): Change function grub_iterate_commands to
33254 grub_command_iterate.
33255
33256 * normal/execute.c (grub_script_execute_cmd): No need to parse
33257 argument here.
33258
33259 * normal/main.c (grub_dyncmd_dispatcher): New function.
33260 (read_command_list): Register unload commands as dyncmd.
33261 (grub_cmd_normal): Use new command interface, register rescue,
33262 unregister normal at entry, register normal, unregister rescue at exit.
33263
33264 * include/grub/list.h (grub_list_test_t): New type.
33265 (grub_list_iterate): Return int instead of void.
33266 (grub_list_insert): New function.
33267 (GRUB_AS_NAMED_LIST_P): New macro.
33268 (GRUB_AS_PRIO_LIST): Likewise.
33269 (GRUB_AS_PRIO_LIST_P): Likewise.
33270 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33271 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33272 (grub_prio_list): New structure.
33273 (grub_prio_list_insert): New function.
33274 (grub_prio_list_remove): New inline function.
33275
33276 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33277 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33278 (GRUB_COMMAND_FLAG_MENU): Likewise.
33279 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33280 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33281 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33282 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33283 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33284 (grub_command): Likewise.
33285 (grub_register_command): Likewise.
33286 (grub_command_find): Likewise.
33287 (grub_iterate_commands): Likewise.
33288 (grub_command_init): Likewise.
33289 (grub_arg_parse): Likewise.
33290 (grub_arg_show_help): Likewise.
33291
33292 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33293 (grub_rescue_unregister_command): Likewise.
33294
33295 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33296 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33297 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33298
33299 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33300 grub_rescue_cmd_initrd.
33301 * include/grub/i386/loader.h: Likewise.
33302 * include/grub/x86_64/loader.h: Likewise.
33303
33304 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33305
33306 2009-03-21 Bean <bean123ch@gmail.com>
33307
33308 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33309 instead of stat in mingw environment.
33310
33311 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33312
33313 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33314
33315 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33316 AC_CONFIG_LINKS.
33317
33318 2009-03-21 Bean <bean123ch@gmail.com>
33319
33320 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33321 out of range error.
33322
33323 2009-03-18 Michel Dänzer <michel@daenzer.net>
33324
33325 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33326 checking inode flags for EXT4_EXTENTS_FLAG.
33327
33328 2009-03-18 Robert Millan <rmh@aybabtu.com>
33329
33330 * loader/i386/linux.c: Include `<grub/video.h>' and
33331 `<grub/i386/pc/vbe.h>'..
33332 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33333 (grub_linux32_boot): Attempt to configure video settings with
33334 grub_linux_setup_video().
33335 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33336 to avoid grub_console_fini() which would step out of graphical mode
33337 unconditionally.
33338
33339 2009-03-14 Robert Millan <rmh@aybabtu.com>
33340
33341 Fix build on powerpc.
33342 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33343
33344 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33345
33346 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33347 background image command.
33348
33349 2009-03-12 Colin D Bennett <colin@gibibit.com>
33350
33351 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33352 (grub_gfxterm_putchar): Extract pairs of identical calls to
33353 draw_cursor out of conditional blocks.
33354
33355 2009-03-11 Pavel Roskin <proski@gnu.org>
33356
33357 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33358 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33359
33360 2009-03-11 Robert Millan <rmh@aybabtu.com>
33361
33362 * loader/i386/multiboot_elfxx.c
33363 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33364
33365 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
33366
33367 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33368 `kern/handler.c'.
33369
33370 2009-03-11 Robert Millan <rmh@aybabtu.com>
33371
33372 * loader/i386/multiboot.c (code_size): New variable.
33373 (grub_multiboot): Define offsets by adding to `code_size' rather
33374 than subtracting from `grub_multiboot_payload_size'. Provide
33375 4-byte alignment to MBI and others by increasing
33376 `boot_loader_name_length' appropriately.
33377
33378 * loader/i386/multiboot_elfxx.c
33379 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33380
33381 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
33382
33383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33384 `fs/ext2.c'.
33385
33386 2009-03-08 Robert Millan <rmh@aybabtu.com>
33387
33388 Make loader/i386/linux.c usable on i386-pc again.
33389
33390 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33391 memory to heap.
33392 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33393 `#error' stanza.
33394
33395 2009-03-07 Bean <bean123ch@gmail.com>
33396
33397 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33398 allocation.
33399
33400 2009-03-06 Robert Millan <rmh@aybabtu.com>
33401
33402 Fix display issue on terminals with screen size other than 80x25
33403 (e.g. gfxterm with resolution higher than 640x480).
33404
33405 * normal/main.c (grub_normal_init_page): Display title text in a
33406 position relative to the center of the terminal instead of relying
33407 on a hardcoded offset.
33408
33409 2009-03-04 Robert Millan <rmh@aybabtu.com>
33410
33411 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33412 installed.
33413
33414 * Makefile.in (host_kernel): New variable.
33415 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33416 scripts instead of just the windows one.
33417 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33418
33419 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33420
33421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33422 `kern/handler.c'.
33423 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33424 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33425 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33427 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33428 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33429
33430 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33431
33432 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33433 or if there's no space for the disk label and print the partition number on a
33434 invalid magic.
33435
33436 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33437
33438 * util/misc.c: Include <time.h>.
33439 (grub_millisleep): New function.
33440
33441 2009-03-04 Bean <bean123ch@gmail.com>
33442
33443 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33444 another option -mno-red-zone.
33445
33446 * commands/handler.c: Change module description.
33447
33448 * kern/handler.c: Add missing space at the end of description line.
33449
33450 * kern/list.c: Likewise.
33451
33452 2009-03-03 Robert Millan <rmh@aybabtu.com>
33453
33454 Move more components to the relocation area, and fix mbi pointer
33455 handling to use the destination rather than the origin (thanks to
33456 Vladimir Serbinenko for spotting).
33457
33458 * loader/i386/multiboot.c (mbi_dest): New variable.
33459 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
33460 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
33461 relocation area.
33462
33463 2009-03-01 Bean <bean123ch@gmail.com>
33464
33465 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
33466 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
33467 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
33468 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
33469
33470 * loader/i386/efi/linux.c (acpi_guid): New variable.
33471 (acpi_guid): Likewise.
33472 (EBDA_SEG_ADDR): New constant.
33473 (LOW_MEM_ADDR): Likewise.
33474 (FAKE_EBDA_SEG): Likewise.
33475 (fake_bios_data): New function.
33476 (grub_linux_boot): Call fake_bios_data.
33477
33478 2009-03-01 Bean <bean123ch@gmail.com>
33479
33480 * commands/terminal.c: Removed.
33481
33482 * commands/handler.c: New file.
33483
33484 * include/grub/list.h: Likewise.
33485
33486 * include/grub/handler.h: Likewise.
33487
33488 * kern/list.c: Likewise.
33489
33490 * kern/handler.c: Likewise.
33491
33492 * kern/term.h: Include header file <grub/handler.h>.
33493 (grub_term_input): Move next field to the beginning.
33494 (grub_term_output): Likewise.
33495 (grub_term_input_class): New variable.
33496 (grub_term_output_class): Likewise.
33497 (grub_term_register_input): Changed to inline function.
33498 (grub_term_register_output): Likewise.
33499 (grub_term_unregister_input): Likewise.
33500 (grub_term_unregister_output): Likewise.
33501 (grub_term_set_current_input): Likewise.
33502 (grub_term_set_current_output): Likewise.
33503 (grub_term_get_current_input): Likewise.
33504 (grub_term_get_current_output): Likewise.
33505 (grub_term_iterate_input): Removed.
33506 (grub_term_iterate_output): Likewise.
33507
33508 * kern/term.c (grub_term_list_input): Removed.
33509 (grub_term_list_output): Likewise.
33510 (grub_term_input_class): New variable.
33511 (grub_term_output_class): Likewise.
33512 (grub_cur_term_input): Change variable as macro.
33513 (grub_cur_term_output): Likewise.
33514 (grub_term_register_input): Removed.
33515 (grub_term_register_output): Likewise.
33516 (grub_term_unregister_input): Likewise.
33517 (grub_term_unregister_output): Likewise.
33518 (grub_term_set_current_input): Likewise.
33519 (grub_term_set_current_output): Likewise.
33520 (grub_term_iterate_input): Likewise.
33521 (grub_term_iterate_output): Likewise.
33522 (grub_term_get_current_input): Likewise.
33523 (grub_term_get_current_output): Likewise.
33524
33525 * util/grub-editenv.c: Include header file <grub/handler.h>.
33526 (grub_term_get_current_input): Removed.
33527 (grub_term_get_current_output): Likewise.
33528 (grub_term_input_class): New variable.
33529 (grub_term_output_class): Likewise.
33530
33531 * util/grub-fstest.c (grub_term_get_current_input): Removed.
33532 (grub_term_get_current_output): Likewise.
33533 (grub_term_input_class): New variable.
33534 (grub_term_output_class): Likewise.
33535
33536 * util/grub-probe.c (grub_term_get_current_input): Removed.
33537 (grub_term_get_current_output): Likewise.
33538 (grub_term_input_class): New variable.
33539 (grub_term_output_class): Likewise.
33540
33541 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
33542 (grub_term_get_current_output): Likewise.
33543 (grub_term_input_class): New variable.
33544 (grub_term_output_class): Likewise.
33545
33546 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
33547 (terminal_mod_SOURCES): Likewise.
33548 (terminal_mod_CFLAGS): Likewise.
33549 (terminal_mod_LDFLAGS): Likewise.
33550
33551 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
33552 handler.c.
33553 (kernel_img_SOURCES): Add list.c and handler.c.
33554 (kernel_img_HEADERS): Add list.h and handler.h.
33555
33556 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33557 handler.c.
33558 (kernel_mod_SOURCES): Add list.c and handler.c.
33559 (kernel_mod_HEADERS): Add list.h and handler.h.
33560
33561 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33562 handler.c.
33563 (kernel_elf_SOURCES): Add list.c and handler.c.
33564 (kernel_elf_HEADERS): Add list.h and handler.h.
33565
33566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33567 handler.c.
33568 (kernel_elf_SOURCES): Add list.c and handler.c.
33569 (kernel_elf_HEADERS): Add list.h and handler.h.
33570
33571 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33572 handler.c.
33573 (kernel_mod_SOURCES): Add list.c and handler.c.
33574 (kernel_mod_HEADERS): Add list.h and handler.h.
33575
33576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33577 handler.c.
33578 (kernel_elf_SOURCES): Add list.c and handler.c.
33579 (kernel_elf_HEADERS): Add list.h and handler.h.
33580
33581 2009-02-27 Robert Millan <rmh@aybabtu.com>
33582
33583 Factorize elf32 / elf64 code in Multiboot loader. This will
33584 prevent it from getting out of sync again.
33585
33586 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
33587 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
33588 grub_multiboot_load_elf64): Move from here ...
33589 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
33590 grub_multiboot_load_elf): ... to here (new file).
33591
33592 2009-02-27 Robert Millan <rmh@aybabtu.com>
33593
33594 * util/grub.d/10_linux.in: Rename "single-user mode" to
33595 "recovery mode".
33596
33597 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33598
33599 Don't leak in SCSI code.
33600 * disk/scsi.c (grub_scsi_close): free `scsi'.
33601
33602 2009-02-27 Robert Millan <rmh@aybabtu.com>
33603
33604 * loader/i386/pc/multiboot.c: Move from here ...
33605 * loader/i386/multiboot.c: ... to here. Update all users.
33606
33607 2009-02-27 Robert Millan <rmh@aybabtu.com>
33608
33609 Patch from Alexandre Bique <bique.alexandre@gmail.com>
33610 * util/i386/pc/grub-setup.c (setup): Fix directory path.
33611
33612 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
33613
33614 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33615 b-tree.
33616
33617 2009-02-27 Robert Millan <rmh@aybabtu.com>
33618
33619 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33620 `0x' qualifier as 0 when base is specified as parameter).
33621
33622 2009-02-24 Bean <bean123ch@gmail.com>
33623
33624 * configure.ac: Check for -mcmodel=large in x86_64 target.
33625
33626 * include/grub/efi/api.h (efi_call_10): New macro.
33627 (efi_wrap_10): New function.
33628
33629 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33630 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33631 (GRUB_PE32_REL_BASED_LOW): Likewise.
33632 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33633 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33634 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33635 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33636 (GRUB_PE32_REL_BASED_REL): Likewise.
33637 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33638 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33639 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33640
33641 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33642 issue.
33643
33644 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33645 (efi_wrap_10): New function.
33646
33647 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33648
33649 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33650 MB/MBP model (NV chipset).
33651 (devdata_devs): Add devpath_5 to the list.
33652
33653 * load/i386/efi/linux.c (video_base): Remove variable.
33654 (RGB_MASK): New macro.
33655 (RGB_MAGIC): Likewise.
33656 (LINE_MIN): Likewise.
33657 (LINE_MAX): Likewise.
33658 (FBTEST_STEP): Likewise.
33659 (FBTEST_COUNT): Likewise.
33660 (fb_list): New variable.
33661 (grub_find_video_card): Remove function.
33662 (find_framebuf): New function.
33663 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33664 line length.
33665
33666 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33667 problem for x86_64.
33668
33669 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33670
33671 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33672
33673 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33674 coding tool name.
33675
33676 2009-02-22 Robert Millan <rmh@aybabtu.com>
33677
33678 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33679 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33680 in our relocation, instead of using it directly from heap. Also
33681 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33682
33683 2009-02-21 Robert Millan <rmh@aybabtu.com>
33684
33685 Implement USB keyboard support (based on patch by Marco Gerards)
33686
33687 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33688 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33689 (usb_keyboard_mod_LDFLAGS): New variables.
33690
33691 * term/usb_keyboard.c: New file.
33692
33693 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33694
33695 Corrected wrong declaration
33696
33697 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33698
33699 2009-02-14 Christian Franke <franke@computer.org>
33700
33701 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33702 (grub_lspci_iter): Print class code and programming interface byte.
33703
33704 2009-02-14 Christian Franke <franke@computer.org>
33705
33706 * gendistlist.sh: Ignore `.svn' directories.
33707
33708 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
33709
33710 * fs/fat.c: Add 2009 to Copyright line.
33711
33712 2009-02-14 Christian Franke <franke@computer.org>
33713
33714 * commands/hdparm.c: New file. Provides `hdparm' command
33715 which sends ATA commands via grub_disk_ata_pass_through ().
33716
33717 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33718
33719 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33720 and <grub/cpu/io.h> to include/grub/ata.h.
33721 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33722 (GRUB_CDROM_SECTOR_SIZE): Remove.
33723 (GRUB_ATA_*): Move to include/grub/ata.h.
33724 (GRUB_ATAPI_*): Likewise.
33725 (enum grub_ata_commands): Likewise.
33726 (enum grub_ata_timeout_milliseconds): Likewise.
33727 (struct grub_ata_device): Likewise.
33728 (grub_ata_regset): Likewise.
33729 (grub_ata_regget): Likewise.
33730 (grub_ata_regset2): Likewise.
33731 (grub_ata_regget2): Likewise.
33732 (grub_ata_check_ready): Likewise.
33733 (grub_ata_wait_not_busy): Remove static, exported in
33734 include/grub/ata.h.
33735 (grub_ata_wait_drq): Likewise.
33736 (grub_ata_pio_read): Likewise.
33737
33738 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33739 function for hdparm.mod.
33740
33741 * include/grub/ata.h: New file, contains declarations from
33742 disk/ata.c.
33743 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33744
33745 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33746 (grub_disk_ata_pass_through): New exported variable.
33747
33748 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33749
33750 2009-02-13 Colin D Bennett <colin@gibibit.com>
33751
33752 Support multiple fallback entries, and provide an API to support
33753 executing default+fallback menu entries. Renamed the `terminal' menu
33754 viewer to `text'.
33755
33756 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33757 variable declaration.
33758 (grub_menu_execute_callback): New structure declaration.
33759 (grub_menu_execute_callback_t): New typedef.
33760 (grub_menu_execute_with_fallback): New function declaration.
33761 (grub_menu_get_entry): Likewise.
33762 (grub_menu_get_timeout): Likewise.
33763 (grub_menu_set_timeout): Likewise.
33764
33765 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33766
33767 * normal/menu.c (grub_wait_after_message): Moved to
33768 `normal/menu_text.c'.
33769 (draw_border): Likewise.
33770 (print_message): Likewise.
33771 (print_entry): Likewise.
33772 (print_entries): Likewise.
33773 (grub_menu_init_page): Likewise.
33774 (get_entry_number): Likewise.
33775 (print_timeout): Likewise.
33776 (run_menu): Likewise.
33777 (grub_menu_execute_entry): Likewise.
33778 (show_text_menu): Likewise.
33779 (get_and_remove_first_entry_number): New function.
33780 (grub_menu_execute_with_fallback): Likewise.
33781 (get_entry): Renamed to ...
33782 (grub_menu_get_entry): .. this and made it global.
33783 (get_timeout): Renamed to ...
33784 (grub_menu_get_timeout): ... this and made it global.
33785 (set_timeout): Renamed to ...
33786 (grub_menu_set_timeout): ... this and made it global.
33787 (grub_normal_terminal_menu_viewer): Renamed to ...
33788 (grub_normal_text_menu_viewer): ... this.
33789
33790 * normal/menu_text.c: New file. Extracted text-menu-specific code
33791 from normal/menu.c.
33792
33793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33794 (normal_mod_SOURCES): Likewise.
33795
33796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33797 (normal_mod_SOURCES): Likewise.
33798
33799 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33800 (normal_mod_SOURCES): Likewise.
33801
33802 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33803 (normal_mod_SOURCES): Likewise.
33804
33805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33806 (normal_mod_SOURCES): Likewise.
33807
33808 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33809 (normal_mod_SOURCES): Likewise.
33810
33811 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33812 (normal_mod_SOURCES): Likewise.
33813
33814 2009-02-11 Robert Millan <rmh@aybabtu.com>
33815
33816 * util/grub.d/00_header.in: Update old reference to `font' command.
33817
33818 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
33819
33820 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33821
33822 Based on patch from Javier Martín.
33823
33824 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33825
33826 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
33827 to avoid false positives with FAT.
33828 (grub_fstest_SOURCES): Likewise.
33829 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33830 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33832 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33835
33836 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33837
33838 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
33839 bpb.version_specific.fat12_or_fat16.fstype and
33840 bpb.version_specific.fat32.fstype.
33841
33842 2009-02-08 Robert Millan <rmh@aybabtu.com>
33843
33844 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
33845
33846 2009-02-08 Robert Millan <rmh@aybabtu.com>
33847
33848 * Makefile.in (host_os, host_cpu): New variables.
33849 (target_os): Remove. Update all users.
33850
33851 2009-02-08 Marco Gerards <marco@gnu.org>
33852
33853 * Makefile.in (enable_grub_emu_usb): New variable.
33854 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33855 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33856 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33857 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33858 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33859 `usbtest.mod' and `usbms.mod'.
33860 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33861 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33862 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33863 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33864 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33865 variables.
33866
33867 * disk/usbms.c: New file.
33868
33869 * include/grub/usb.h: Likewise.
33870
33871 * include/grub/usbtrans.h: Likewise.
33872
33873 * include/grub/usbdesc.h: Likewise.
33874
33875 * bus/usb/usbtrans.c: Likewise.
33876
33877 * bus/usb/ohci.c: Likewise.
33878
33879 * bus/usb/uhci.c: Likewise.
33880
33881 * bus/usb/usbhub.c: Likewise.
33882
33883 * bus/usb/usb.c: Likewise.
33884
33885 * commands/usbtest.c: Likewise.
33886
33887 * util/usb.c: Likewise.
33888
33889 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33890
33891 * configure.ac: Test for libusb presence.
33892
33893 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33894
33895 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33896
33897 * kern/mm.c: Add more comments.
33898
33899 2009-02-08 Robert Millan <rmh@aybabtu.com>
33900
33901 Patch from Javier Martín.
33902 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33903 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33904
33905 2009-02-08 Robert Millan <rmh@aybabtu.com>
33906
33907 * fs/cpio.c: Split tar functionality to ...
33908 * fs/tar.c: ... here (new file). Update all users.
33909
33910 2009-02-07 Robert Millan <rmh@aybabtu.com>
33911
33912 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33913 backward-incompatible features.
33914
33915 Based on patch from Javier Martín, with some adjustments.
33916
33917 2009-02-07 Michael Scherer <misc@mandriva.org>
33918
33919 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33920
33921 2009-02-07 Robert Millan <rmh@aybabtu.com>
33922
33923 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33924 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33925 after the RAID stuff.
33926
33927 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33928
33929 Fixes problem when running vbetest command as reported by
33930 Vladimir Serbinenko <phcoder@gmail.com>.
33931
33932 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33933
33934 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
33935
33936 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33937 /dev/md/NpN style mdraid devices.
33938
33939 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33940
33941 * util/unifont2pff.rb: Remove.
33942
33943 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33944
33945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33946 `#'.
33947
33948 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33949
33950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33951 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33952 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33953 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33955 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33956 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33957
33958 2009-02-02 Christian Franke <franke@computer.org>
33959
33960 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33961
33962 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
33963
33964 * INSTALL: Note that we now require at least autoconf 2.59 and
33965 that LZO is optional.
33966
33967 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33968
33969 Base on patch on bug #24154 created by Tomas Tintera
33970 <trosos@seznam.cz>.
33971
33972 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33973
33974 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33975
33976 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
33977 <bero@arklinux.org>.
33978
33979 * normal/parser.y (script_init): Add missing semicolon.
33980
33981 2009-01-31 Colin D Bennett <colin@gibibit.com>
33982
33983 * normal/main.c: Add include to grub/menu_viewer.h.
33984 (free_menu_entry_classes): Added.
33985 (grub_normal_menu_addentry): Added class property handling.
33986 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33987 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33988
33989 * normal/menu_viewer.c: New file.
33990
33991 * normal/menu.c (run_menu_entry): Renamed to ...
33992 (grub_menu_execute_entry): ... this and made it as global.
33993 (grub_menu_run): Renamed to ...
33994 (show_text_menu): ... this and made it local.
33995 (show_text_menu): Adapt to new function names.
33996 (grub_normal_terminal_menu_viewer): New global variable.
33997
33998 * include/grub/menu.h: New file.
33999
34000 * include/grub/menu_viewer.h: New file.
34001
34002 * include/grub/normal.h: Added include to grub/menu.h.
34003 (grub_menu_entry): Moved to include/grub/menu.h.
34004 (grub_menu_entry_t): Likewise.
34005 (grub_menu): Likewise.
34006 (grub_menu_t): Likewise.
34007 (grub_normal_terminal_menu_viewer): Added.
34008 (grub_menu_execute_entry): Likewise.
34009 (grub_menu_run): Removed.
34010
34011 * DISTLIST: Added include/grub/menu.h.
34012 Added include/grub/menu_viewer.h.
34013 Added normal/menu_viewer.c.
34014
34015 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34016
34017 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34018 arglist for menutitle arguments.
34019
34020 * normal/main.c (grub_normal_menu_addentry): Likewise.
34021
34022 * normal/parser.y (menuentry): Likewise.
34023
34024 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34025
34026 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34027 (grub_script_create_cmdmenu): Likewise.
34028
34029 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34030
34031 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34032 changes.
34033
34034 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34035
34036 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34037
34038 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34039
34040 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34041
34042 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34043
34044 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34045
34046 2009-01-30 Christian Franke <franke@computer.org>
34047
34048 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34049 in option help text.
34050
34051 2009-01-27 Pavel Roskin <proski@gnu.org>
34052
34053 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34054
34055 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34056
34057 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34058
34059 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34060
34061 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34062 unregister function.
34063
34064 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34065
34066 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34067
34068 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34069
34070 * util/grub-mkfont.c (usage): Fix typo.
34071
34072 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34073
34074 2009-01-26 Daniel Mierswa <impulze@impulze.org>
34075
34076 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34077
34078 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34079
34080 * kern/misc.c (grub_strcasecmp): New function.
34081 (grub_strcasecmp): Use grub_size_t instead of int for length.
34082 Fix return value.
34083 * include/grub/misc.h: Update function prototypes.
34084
34085 2009-01-26 Robert Millan <rmh@aybabtu.com>
34086
34087 * configure.ac: Fix cross-compilation check.
34088
34089 2009-01-22 Christian Franke <franke@computer.org>
34090
34091 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34092 (precision) digit string. Allow `.format2' without `format1' (width).
34093 Limit input chars for `%s' output to `format2' if specified. This is
34094 compatible with standard printf ().
34095
34096 2009-01-22 Christian Franke <franke@computer.org>
34097
34098 * disk/ata.c (grub_ata_wait_status): Replace by ...
34099 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34100 other status bits may be invalid while BSY is asserted.
34101 (grub_ata_check_ready): New function.
34102 (grub_ata_cmd): Removed.
34103 (grub_ata_wait_drq): New function.
34104 (grub_ata_strncpy): Remove inline.
34105 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34106 and error check now done by grub_ata_wait_drq ().
34107 (grub_ata_pio_write): Likewise.
34108 (grub_atapi_identify): Set DEV before check for !BSY. Use
34109 grub_ata_wait_drq () to wait for data.
34110 (grub_ata_device_initialize): Add status register check to
34111 detect missing SATA slave devices. Add debug messages.
34112 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34113 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34114 transfer loop by grub_ata_pio_write ().
34115 (grub_ata_identify): Set DEV before check for !BSY. Use
34116 grub_ata_wait_drq () to wait for data.
34117 (grub_ata_setaddress): Set DEV before check for !BSY.
34118 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34119 read/write in one loop. Fix invalid command on write. Fix incomplete
34120 command on (size % batch) == 0. Add missing error check after write of
34121 last block. Add debug messages.
34122 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34123
34124 2009-01-19 Christian Franke <franke@computer.org>
34125
34126 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34127 (GRUB_ATAPI_IREASON_*): Likewise.
34128 (grub_ata_pio_write): Fix timeout error return.
34129 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34130 (grub_atapi_wait_drq): New function.
34131 (grub_atapi_packet): New parameter `size'.
34132 Use grub_atapi_wait_drq () and direct write instead of
34133 grub_ata_pio_write ().
34134 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34135 reads the number of bytes requested by the device for each DRQ
34136 assertion.
34137 (grub_atapi_write): Remove old implementation, return not
34138 implemented instead.
34139
34140 2009-01-19 Christian Franke <franke@computer.org>
34141
34142 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34143 of 512 to calculate data size.
34144 (grub_scsi_read12): Likewise.
34145 (grub_scsi_write10): Likewise.
34146 (grub_scsi_write12): Likewise.
34147 (grub_scsi_read): Adjust size according to blocksize.
34148 Add checks for invalid blocksize and unaligned transfer.
34149
34150 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34151
34152 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34153
34154 * term/gfxterm.c (write_char): Fix background rendering for wide
34155 width glyphs.
34156
34157 2009-01-19 Robert Millan <rmh@aybabtu.com>
34158
34159 * config.guess: Update to latest version from config git.
34160 * config.sub: Likewise.
34161
34162 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
34163
34164 * Makefile.in: Change font compilation to use new grub-mkfont instead
34165 of java version.
34166
34167 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34168 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34169 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34170 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34171 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34172 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34173 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34174 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34175 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34176
34177 2009-01-16 Christian Franke <franke@computer.org>
34178
34179 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34180 (enum grub_ata_timeout_milliseconds): New enum.
34181 (grub_ata_wait_status): Add parameter milliseconds.
34182 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34183 recovery from timed-out commands.
34184 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34185 return grub_errno instead of REG_ERROR.
34186 (grub_ata_pio_write): Add parameter milliseconds.
34187 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34188 Pass milliseconds to grub_ata_wait_status () and
34189 grub_ata_pio_read ().
34190 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34191 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34192 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34193 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34194 It is not suitable for device detection, because DEV bit is ignored,
34195 the command may run too long, and not all devices set the signature
34196 properly.
34197 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34198 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34199 Fix device selection, DEV bit must be set first to address the registers
34200 of the correct device.
34201 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34202 grub_ata_pio_read/write ().
34203 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34204 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34205
34206 2009-01-13 Carles Pina i Estany <carles@pina.cat>
34207
34208 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34209
34210 2009-01-13 Bean <bean123ch@gmail.com>
34211
34212 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34213
34214 2009-01-13 Bean <bean123ch@gmail.com>
34215
34216 * Makefile.in: (enable_grub_mkfont): New variable.
34217 (freetype_cflags): Likewise.
34218 (freetype_libs): Likewise.
34219
34220 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34221 (grub_mkfont_SOURCES): New variable.
34222 (grub_mkfont_CFLAGS): Likewise.
34223 (grub_mkfont_LDFLAGS): Likewise.
34224
34225 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34226 library if `--enable-grub-mkfont' is requested.
34227 (enable_grub_mkfont): New variable.
34228 (freetype_cflags): Likewise.
34229 (freetype_libs): Likewise.
34230
34231 * util/grub-mkfont.c: New file.
34232
34233 2009-01-12 Christian Franke <franke@computer.org>
34234
34235 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34236 mode check. Fix setting of compat_use[].
34237
34238 2009-01-10 Robert Millan <rmh@aybabtu.com>
34239
34240 Update a few copyright years which we forgot to do in 2008 (only for
34241 files whose changes made in 2008 were copyright-significant)
34242
34243 * Makefile.in: Add 2008 to Copyright line.
34244 * disk/ieee1275/ofdisk.c: Likewise.
34245 * disk/efi/efidisk.c: Likewise.
34246 * kern/dl.c: Likewise.
34247 * kern/sparc64/ieee1275/init.c: Likewise.
34248 * kern/mm.c: Likewise.
34249 * kern/efi/mm.c: Likewise.
34250 * boot/i386/pc/boot.S: Likewise.
34251 * genfslist.sh: Likewise.
34252 * fs/iso9660.c: Likewise.
34253 * fs/hfs.c: Likewise.
34254 * fs/jfs.c: Likewise.
34255 * fs/minix.c: Likewise.
34256 * fs/ufs.c: Likewise.
34257 * gensymlist.sh.in: Likewise.
34258 * genkernsyms.sh.in: Likewise.
34259 * include/grub/misc.h: Likewise.
34260 * include/grub/types.h: Likewise.
34261 * include/grub/symbol.h: Likewise.
34262 * include/grub/elf.h: Likewise.
34263 * include/grub/kernel.h: Likewise.
34264 * include/grub/disk.h: Likewise.
34265 * include/grub/dl.h: Likewise.
34266 * include/grub/i386/linux.h: Likewise.
34267 * include/grub/i386/pc/biosdisk.h: Likewise.
34268 * include/grub/efi/api.h: Likewise.
34269 * include/grub/efi/pe32.h: Likewise.
34270 * include/grub/util/misc.h: Likewise.
34271 * normal/execute.c: Likewise.
34272 * normal/arg.c: Likewise.
34273 * normal/completion.c: Likewise.
34274 * normal/lexer.c: Likewise.
34275 * normal/parser.y: Likewise.
34276 * normal/misc.c: Likewise.
34277 * commands/i386/pc/vbeinfo.c: Likewise.
34278 * commands/hexdump.c: Likewise.
34279 * commands/terminal.c: Likewise.
34280 * commands/ls.c: Likewise.
34281 * commands/help.c: Likewise.
34282 * partmap/pc.c: Likewise.
34283 * loader/efi/chainloader.c: Likewise.
34284 * loader/multiboot_loader.c: Likewise.
34285 * loader/i386/pc/multiboot2.c: Likewise.
34286 * term/efi/console.c: Likewise.
34287 * term/i386/pc/serial.c: Likewise.
34288 * util/lvm.c: Likewise.
34289 * util/console.c: Likewise.
34290 * util/i386/efi/grub-mkimage.c: Likewise.
34291 * util/raid.c: Likewise.
34292
34293 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34294
34295 * commands/videotest.c: Removed include to grub/machine/memory.h.
34296
34297 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34298 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34299 (video_mod_SOURCES): Removed.
34300 (video_mod_CFLAGS): Likewise.
34301 (video_mod_LDFLAGS): Likewise.
34302 (gfxterm_mod_SOURCES): Likewise.
34303 (gfxterm_mod_CFLAGS): Likewise.
34304 (gfxterm_mod_LDFLAGS): Likewise.
34305 (videotest_mod_SOURCES): Likewise.
34306 (videotest_mod_CFLAGS): Likewise.
34307 (videotest_mod_LDFLAGS): Likewise.
34308 (bitmap_mod_SOURCES): Likewise.
34309 (bitmap_mod_CFLAGS): Likewise.
34310 (bitmap_mod_LDFLAGS): Likewise.
34311 (tga_mod_SOURCES): Likewise.
34312 (tga_mod_CFLAGS): Likewise.
34313 (tga_mod_LDFLAGS): Likewise.
34314 (jpeg_mod_SOURCES): Likewise.
34315 (jpeg_mod_CFLAGS): Likewise.
34316 (jpeg_mod_LDFLAGS): Likewise.
34317 (png_mod_SOURCES): Likewise.
34318 (png_mod_CFLAGS): Likewise.
34319 (png_mod_LDFLAGS): Likewise.
34320
34321 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34322 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34323 (video_mod_SOURCES): Added.
34324 (video_mod_CFLAGS): Likewise.
34325 (video_mod_LDFLAGS): Likewise.
34326 (videotest_mod_SOURCES): Likewise.
34327 (videotest_mod_CFLAGS): Likewise.
34328 (videotest_mod_LDFLAGS): Likewise.
34329 (bitmap_mod_SOURCES): Likewise.
34330 (bitmap_mod_CFLAGS): Likewise.
34331 (bitmap_mod_LDFLAGS): Likewise.
34332 (tga_mod_SOURCES): Likewise.
34333 (tga_mod_CFLAGS): Likewise.
34334 (tga_mod_LDFLAGS): Likewise.
34335 (jpeg_mod_SOURCES): Likewise.
34336 (jpeg_mod_CFLAGS): Likewise.
34337 (jpeg_mod_LDFLAGS): Likewise.
34338 (png_mod_SOURCES): Likewise.
34339 (png_mod_CFLAGS): Likewise.
34340 (png_mod_LDFLAGS): Likewise.
34341 (gfxterm_mod_SOURCES): Likewise.
34342 (gfxterm_mod_CFLAGS): Likewise.
34343 (gfxterm_mod_LDFLAGS): Likewise.
34344
34345 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34346 grub/machine/console.h.
34347
34348 2009-01-04 Jerone Young <jerone@gmail.com>
34349
34350 Make on screen instructions clearer
34351
34352 Based on patch created by Jidanni <jidanni@jidanni.org>
34353
34354 * normal/menu.c: print clearer instructions on the screen
34355
34356 2009-01-02 Colin D Bennett <colin@gibibit.com>
34357
34358 New font engine.
34359
34360 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34361 build system and fixed gfxterm.c to work with different sized fonts.
34362
34363 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34364
34365 * configure: Re-generated.
34366
34367 * DISTLIST: Removed font/manager.c.
34368 Added font/font.c.
34369 Added font/font_cmd.c.
34370
34371 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34372 compilation.
34373
34374 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34375
34376 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
34377
34378 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34379
34380 * normal/menu.c: Likewise.
34381
34382 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34383 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34384
34385 * include/grub/font.h: Replaced with new file.
34386
34387 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34388 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34389 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34390 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34391 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34392 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
34393 fg_red, fg_green, fg_blue, fg_alpha.
34394 (grub_video_adapter): Removed blit_glyph.
34395 (grub_video_blit_glyph): Removed.
34396
34397 * font/manager.c: Removed file.
34398
34399 * font/font.c: New file.
34400
34401 * font/font_cmd.c: Likewise.
34402
34403 * video/video.c (grub_video_blit_glyph): Removed.
34404
34405 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34406 (grub_video_vbe_map_rgba): Likewise.
34407 (grub_video_vbe_unmap_color_int): Likewise.
34408 (grub_video_vbe_blit_glyph): Removed.
34409 (grub_video_vbe_adapter): Removed blit_glyph.
34410
34411 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34412 (get_pixel): Likewise.
34413 (set_pixel): Likewise.
34414
34415 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34416
34417 * term/gfxterm.c: Adapted to new font engine.
34418
34419 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34420
34421 * term/i386/pc/vga.c: Likewise.
34422
34423 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34424
34425 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34426
34427 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34428
34429 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34430
34431 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34432
34433 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34434
34435 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34436
34437 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34438
34439 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34440
34441 * util/grub.d/00_header.in: Changed to use new loadfont command.
34442
34443 * util/grub-mkconfig_lib.in: Changed font extension.
34444
34445 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
34446
34447 * util/getroot.c (grub_util_get_grub_dev): Add support for
34448 /dev/md/dNNpNN style partitionable mdraid devices.
34449
34450 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
34451
34452 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
34453 at a time limit of the PXE TFTP API correctly.
34454 (grub_pxefs_close): Likewise.
34455
34456 2008-11-29 Robert Millan <rmh@aybabtu.com>
34457
34458 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
34459 grub_ata_device_initialize() calls.
34460
34461 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
34462
34463 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
34464 iteration failed.
34465 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
34466
34467 2008-11-28 Robert Millan <rmh@aybabtu.com>
34468
34469 Fix build on powerpc-ieee1275. Based on patch created by
34470 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
34471 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34472 `kern/ieee1275/mmap.c'.
34473 * include/grub/powerpc/ieee1275/memory.h: New file.
34474
34475 Provide grub-install on coreboot.
34476 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
34477 (grub_install_SOURCES): New variable.
34478 * util/i386/pc/grub-install.in: Add a few condition checks to make it
34479 usable on coreboot.
34480
34481 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
34482
34483 * util/grub-fstest.c (grub_term_get_current_input): Change return type
34484 to `grub_term_input_t'.
34485 (grub_term_get_current_output): Change return type to
34486 `grub_term_output_t'.
34487
34488 2008-11-22 Robert Millan <rmh@aybabtu.com>
34489
34490 Fix breakage on coreboot due to declaration mismatch.
34491 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
34492 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
34493 grub_vga_text_cls().
34494
34495 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34496 comments. Avoid copying one more byte than necessary (just in case).
34497
34498 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
34499 to 0x200000 (avoids trouble with some OFW implementations, and matches
34500 with the one in Yaboot).
34501 Reported by Manoel Abranches
34502
34503 2008-11-20 Robert Millan <rmh@aybabtu.com>
34504
34505 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
34506 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
34507
34508 * util/grub-mkconfig_lib.in (grub_warn): New function.
34509 (convert_system_path_to_grub_path): Use grub_warn() when issuing
34510 warnings, to obtain consistent formatting.
34511 * util/grub.d/00_header.in: Likewise.
34512 * util/update-grub_lib.in: Likewise.
34513
34514 * loader/i386/linux.c (allocate_pages): Fix a warning.
34515 Move comment text to `#error' stanza.
34516
34517 Harmonize ieee1275's grub_available_iterate() with the generic
34518 grub_machine_mmap_iterate() interface (fixes a recently-introduced
34519 build problem on i386-ieee1275):
34520 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
34521 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
34522 parameter `type'. Update all users of this function.
34523 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34524 `kern/ieee1275/mmap.c'.
34525 * kern/ieee1275/init.c
34526 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
34527 with ...
34528 (grub_machine_mmap_iterate): ... this.
34529 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
34530 return type to `grub_err_t'. Update all implementations of this
34531 function prototype.
34532 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
34533 Likewise.
34534
34535 Add `lsmmap' command (lists firmware-provided memory map):
34536 * commands/lsmmap.c: New file.
34537 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
34538 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
34539 variables.
34540 * conf/powerpc-ieee1275.rmk: Likewise.
34541 * conf/i386-coreboot.rmk: Likewise.
34542 * conf/i386-ieee1275.rmk: Likewise.
34543
34544 2008-11-19 Robert Millan <rmh@aybabtu.com>
34545
34546 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
34547 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
34548 constraints to initrd allocation (based on code from
34549 loader/i386/pc/linux.c). Without them, initrd was allocated too high
34550 for Linux to find it.
34551
34552 2008-11-14 Robert Millan <rmh@aybabtu.com>
34553
34554 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
34555 order to cope with duplicate slashes.
34556
34557 2008-11-14 Robert Millan <rmh@aybabtu.com>
34558
34559 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34560 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34561 don't want to mess with lower memory, because it is used in the Linux
34562 loader.
34563
34564 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34565 an appropriate place in lower memory, between 0x10000 and 0x90000,
34566 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
34567 is in our heap (probably as a result of it being corrupted during
34568 decompression). Add #error instance with comment to explain why this
34569 loader isn't currently usable on PC/BIOS.
34570
34571 2008-11-14 Robert Millan <rmh@aybabtu.com>
34572
34573 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34574 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
34575
34576 2008-11-12 Robert Millan <rmh@aybabtu.com>
34577
34578 Make loader/i386/linux.c buildable on i386-pc (although disabled).
34579
34580 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
34581 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
34582 from here ...
34583 * include/grub/i386/pc/memory.h: ... to here.
34584
34585 2008-11-12 Robert Millan <rmh@aybabtu.com>
34586
34587 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
34588 split).
34589
34590 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
34591 (grub_console_cur_color, grub_console_real_putchar)
34592 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34593 (grub_console_setcolorstate, grub_console_setcolor)
34594 (grub_console_getcolor): Move from here ...
34595 * include/grub/i386/vga_common.h: ... to here (new file).
34596
34597 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
34598 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
34599 `<grub/i386/io.h>'.
34600 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
34601 `<grub/i386/vga_common.h>'.
34602
34603 2008-11-12 Robert Millan <rmh@aybabtu.com>
34604
34605 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
34606 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
34607 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
34608 variables.
34609 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34610 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
34611
34612 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
34613 grub_console_init() with call to grub_vga_text_init().
34614 (grub_machine_fini): Replace call to
34615 grub_console_fini() with call to grub_vga_text_fini() and
34616 grub_at_keyboard_fini().
34617
34618 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34619 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34620 (grub_console_setcolorstate, grub_console_setcolor)
34621 (grub_console_getcolor): New function prototypes.
34622
34623 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34624 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34625 (grub_vga_text_setcursor): Static-ize.
34626 (grub_vga_text_term): New structure.
34627 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34628
34629 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34630 (grub_console_cur_color, grub_console_standard_color)
34631 (grub_console_normal_color, grub_console_highlight_color)
34632 (map_char, grub_console_putchar, grub_console_getcharwidth)
34633 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34634 (grub_console_getcolor): Move from here ...
34635 * term/i386/vga_common.c: ... to here (same function names).
34636
34637 2008-11-12 Robert Millan <rmh@aybabtu.com>
34638
34639 Use newly-added Multiboot support in coreboot.
34640
34641 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34642 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34643
34644 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34645 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34646 (codestart): Store the MBI in `startup_multiboot_info' when we're
34647 being loaded using Multiboot.
34648
34649 * kern/i386/coreboot/init.c (grub_machine_init): Move
34650 grub_at_keyboard_init() call to beginning of function (useful for
34651 debugging). Call grub_machine_mmap_init() before attempting to use
34652 grub_machine_mmap_iterate().
34653 (grub_lower_mem, grub_upper_mem): Move from here ...
34654 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34655 here (new file).
34656
34657 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34658 function prototype.
34659
34660 2008-11-12 Robert Millan <rmh@aybabtu.com>
34661
34662 Fix a regression introduced by the at_keyboard.mod split. Because
34663 some terminals are default on some platforms and non-default on
34664 others, the first terminal being registered determines which is
34665 going to be default.
34666
34667 * kern/term.c (grub_term_register_input): If this is the first
34668 terminal being registered, set it as the current one.
34669 (grub_term_register_output): Likewise.
34670
34671 * term/efi/console.c (grub_console_init): Do not call
34672 grub_term_set_current_output() or grub_term_set_current_input().
34673 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34674 * term/i386/pc/console.c (grub_console_init): Likewise.
34675 (grub_console_fini): Do not call grub_term_set_current_input()
34676 (but leave grub_term_set_current_output() to restore text mode).
34677
34678 2008-11-10 Robert Millan <rmh@aybabtu.com>
34679
34680 * util/grub.d/00_header.in: Add backward compatibility check for
34681 versions of terminal.mod that don't understand `terminal_input' or
34682 `terminal_output'.
34683
34684 2008-11-09 Robert Millan <rmh@aybabtu.com>
34685
34686 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34687 `terminal_input' / `terminal_output', not `terminal'.
34688
34689 2008-11-08 Robert Millan <rmh@aybabtu.com>
34690
34691 * Makefile.in (include_DATA): Fix srcdir=. assumption.
34692 (DISTCLEANFILES): Add `build_env.mk'.
34693
34694 2008-11-08 Robert Millan <rmh@aybabtu.com>
34695
34696 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
34697 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34698 members. Update all users.
34699 * util/console.c (grub_ncurses_term): Split in ...
34700 (grub_ncurses_term_input): ... this, and ...
34701 (grub_ncurses_term_output): ... this. Update all users.
34702 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
34703
34704 2008-11-08 Robert Millan <rmh@aybabtu.com>
34705
34706 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34707 (PKGDATA): Add $(pkgdata_SRCDIR).
34708 (pkglib_BUILDDIR): New variable.
34709 (pkgdata_SRCDIR): New variable.
34710 (build_env.mk): New target.
34711 (include_DATA): New variable.
34712 (install-local): Install $(include_DATA) files in $(includedir).
34713
34714 2008-11-07 Pavel Roskin <proski@gnu.org>
34715
34716 * gendistlist.sh: Use C locale for sorting to ensure consistent
34717 output on all systems.
34718
34719 * util/grub.d/00_header.in: Remove incorrect space before
34720 "serial".
34721
34722 2008-11-07 Robert Millan <rmh@aybabtu.com>
34723
34724 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34725 per specification.
34726 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34727 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34728 (based on find_multi_boot1_header).
34729 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34730 using find_multi_boot2_header(), and abort if neither Multiboot or
34731 Multiboot headers were found.
34732
34733 2008-11-07 Robert Millan <rmh@aybabtu.com>
34734
34735 Modularize at_keyboard.mod:
34736
34737 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34738 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34739 (at_keyboard_mod_LDFLAGS): New variables.
34740
34741 Actual terminal split:
34742
34743 * include/grub/term.h (struct grub_term): Split in ...
34744 (struct grub_term_input): ... this, and ...
34745 (struct grub_term_output): ... this. Update all users.
34746 (grub_term_set_current): Split in ...
34747 (grub_term_set_current_input): ... this, and ...
34748 (grub_term_set_current_output): ... this.
34749 (grub_term_get_current): Split in ...
34750 (grub_term_get_current_input): ... this, and ...
34751 (grub_term_get_current_output): ... this.
34752 (grub_term_register): Split in ...
34753 (grub_term_register_input): ... this, and ...
34754 (grub_term_register_output): ... this.
34755 (grub_term_unregister): Split in ...
34756 (grub_term_unregister_input): ... this, and ...
34757 (grub_term_unregister_output): ... this.
34758 (grub_term_iterate): Split in ...
34759 (grub_term_iterate_input): ... this, and ...
34760 (grub_term_iterate_output): ... this.
34761
34762 * kern/term.c (grub_term_list): Split in ...
34763 (grub_term_list_input): ... this, and ...
34764 (grub_term_list_output): ... this. Update all users.
34765 (grub_cur_term): Split in ...
34766 (grub_cur_term_input): ... this, and ...
34767 (grub_cur_term_output): ... this. Update all users.
34768 (grub_term_set_current): Split in ...
34769 (grub_term_set_current_input): ... this, and ...
34770 (grub_term_set_current_output): ... this.
34771 (grub_term_get_current): Split in ...
34772 (grub_term_get_current_input): ... this, and ...
34773 (grub_term_get_current_output): ... this.
34774 (grub_term_register): Split in ...
34775 (grub_term_register_input): ... this, and ...
34776 (grub_term_register_output): ... this.
34777 (grub_term_unregister): Split in ...
34778 (grub_term_unregister_input): ... this, and ...
34779 (grub_term_unregister_output): ... this.
34780 (grub_term_iterate): Split in ...
34781 (grub_term_iterate_input): ... this, and ...
34782 (grub_term_iterate_output): ... this.
34783
34784 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34785 a check for input and one for output (and only attempt to get keys
34786 from user when input works).
34787
34788 * util/grub-probe.c (grub_term_get_current): Split in ...
34789 (grub_term_get_current_input): ... this, and ...
34790 (grub_term_get_current_output): ... this.
34791 * util/grub-fstest.c: Likewise.
34792 * util/i386/pc/grub-setup.c: Likewise.
34793 * util/grub-editenv.c: Likewise.
34794
34795 Portability adjustments:
34796
34797 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34798 `term/i386/pc/at_keyboard.c'.
34799 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34800 grub_keyboard_controller_init() (now handled by terminal .init).
34801 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34802 grub_at_keyboard_init().
34803 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34804 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34805 at_keyboard.mod via input terminal interface).
34806 * include/grub/i386/coreboot/console.h: Convert into a stub for
34807 `<grub/i386/pc/console.h>'.
34808
34809 Migrate full terminals to new API:
34810
34811 * term/efi/console.c (grub_console_term): Split into ...
34812 (grub_console_term_input): ... this, and ...
34813 (grub_console_term_output): ... this. Update all users.
34814 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34815 (grub_ofconsole_init): Split into ...
34816 (grub_ofconsole_init_input): ... this, and ...
34817 (grub_ofconsole_init_output): ... this.
34818 (grub_ofconsole_term): Split into ...
34819 (grub_ofconsole_term_input): ... this, and ...
34820 (grub_ofconsole_term_output): ... this. Update all users.
34821 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34822 (grub_serial_term_input): ... this, and ...
34823 (grub_serial_term_output): ... this. Update all users.
34824 * term/i386/pc/console.c (grub_console_term): Split into ...
34825 (grub_console_term_input): ... this, and ...
34826 (grub_console_term_output): ... this. Update all users.
34827 (grub_console_term_input): Only enable it on PC/BIOS platform.
34828 (grub_console_init): Remove grub_keyboard_controller_init() call.
34829
34830 Migrate input terminals to new API:
34831
34832 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34833 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34834 i386-specific anyway).
34835 (grub_console_checkkey): Rename to ...
34836 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34837 users.
34838 (grub_keyboard_controller_orig): New variable.
34839 (grub_console_getkey): Rename to ...
34840 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34841 users.
34842 (grub_keyboard_controller_init): Static-ize. Save original
34843 controller value so that it can be restored ...
34844 (grub_keyboard_controller_fini): ... here (new function).
34845 (grub_at_keyboard_term): New structure.
34846 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34847 functions.
34848
34849 Migrate output terminals to new API:
34850
34851 * term/i386/pc/vga.c (grub_vga_term): Change type to
34852 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34853 members. Update all users.
34854 * term/gfxterm.c (grub_video_term): Change type to
34855 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34856 members. Update all users.
34857 * include/grub/i386/pc/console.h (grub_console_checkkey)
34858 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34859 etc).
34860
34861 Migrate `terminal' command and userland tools to new API:
34862
34863 * commands/terminal.c (grub_cmd_terminal): Split into ...
34864 (grub_cmd_terminal_input): ... this, and ...
34865 (grub_cmd_terminal_output): ... this.
34866 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34867 `terminal_input' and `terminal_output'.
34868 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34869 `terminal_input' / `terminal_output' API.
34870 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34871 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34872 provided ${GRUB_TERMINAL}, convert it).
34873
34874 2008-11-04 Robert Millan <rmh@aybabtu.com>
34875
34876 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34877 for FreeBSD.
34878 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34879
34880 2008-11-03 Bean <bean123ch@gmail.com>
34881
34882 * kern/elf.c (grub_elf32_load): Revert to previous code.
34883 (grub_elf64_load): Likewise.
34884
34885 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34886
34887 2008-11-01 Robert Millan <rmh@aybabtu.com>
34888
34889 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34890 (TARGET_CPPFLAGS): Likewise.
34891 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34892
34893 2008-11-01 Carles Pina i Estany <carles@pina.cat>
34894
34895 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34896
34897 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34898
34899 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34900 addition of objects until the code is not going to be able to fail.
34901
34902 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34903
34904 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34905 (add a missing NULL check, and correct them by moving the pointer
34906 operations after the actual check).
34907
34908 2008-10-29 Robert Millan <rmh@aybabtu.com>
34909
34910 * util/i386/pc/grub-install.in: Handle empty string as output from
34911 make_system_path_relative_to_its_root().
34912
34913 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34914
34915 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34916 circular metadata worst case scenario. If the metadata is circular
34917 then copy the wrap in place.
34918 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34919 project lib/format_text/layout.h
34920 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34921
34922 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34923
34924 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
34925
34926 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34927
34928 * util/update-grub_lib.in: Mention filename in warning message.
34929
34930 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34931
34932 * NEWS: Update for rename of update-grub to grub-mkconfig.
34933
34934 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34935
34936 * util/update-grub_lib.in: Copy to ...
34937 * util/grub-mkconfig_lib.in: ... this. Update all users.
34938 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
34939 * util/update-grub.in: Rename to ...
34940 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34941 option. Add `--output' option to allow users to specify the generated
34942 configuration file. Default to stdout.
34943 (update_grub_dir): Rename to ...
34944 (grub_mkconfig_dir): ... this.
34945 (grub_cfg): Default to an empty string.
34946 * conf/common.rmk (update-grub): Rename to ...
34947 (grub-mkconfig): ... this.
34948 (update-grub_lib): Copy to ...
34949 (grub-mkconfig_lib): ... this.
34950 (update-grub_SCRIPTS): Copy to ...
34951 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34952 (update-grub_DATA): Rename to ...
34953 (grub-mkconfig_DATA): ... this.
34954
34955 2008-09-28 Robert Millan <rmh@aybabtu.com>
34956
34957 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34958 to `modified'. Add the real `created' field.
34959 (grub_iso9660_uuid): Use `modified' rather than `created' for
34960 constructing the UUID.
34961
34962 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
34963
34964 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34965 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34966
34967 2008-09-28 Bean <bean123ch@gmail.com>
34968
34969 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34970 Thanks to Christian Franke for finding this bug.
34971
34972 2008-09-25 Robert Millan <rmh@aybabtu.com>
34973
34974 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34975 instances of grub_util_get_disk_name() (see previous commit).
34976
34977 2008-09-25 Robert Millan <rmh@aybabtu.com>
34978
34979 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34980 `util/i386/get_disk_name.c'.
34981 * conf/i386-efi.rmk: Likewise.
34982 * conf/x86_64-efi.rmk: Likewise.
34983 * conf/i386-coreboot.rmk: Likewise.
34984 * conf/i386-ieee1275.rmk: Likewise.
34985 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34986 `util/ieee1275/get_disk_name.c'.
34987 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34988 * util/ieee1275/get_disk_name.c: Remove file.
34989 * util/i386/get_disk_name.c: Remove file.
34990 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34991 "hd%d" for device.map entries, rather than using
34992 grub_util_get_disk_name().
34993
34994 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34995
34996 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34997 warning.
34998 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34999
35000 2008-09-24 Carles Pina i Estany <carles@pina.cat>
35001
35002 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35003 Changed to 0x5100.
35004 (GRUB_TERM_PPAGE): Changed to 0x4900.
35005
35006 2008-09-24 Robert Millan <rmh@aybabtu.com>
35007
35008 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35009 macros (they were i386-pc specific).
35010 * include/grub/sparc64/ieee1275/console.h: Likewise.
35011 * include/grub/efi/console.h: Likewise.
35012
35013 2008-09-22 Bean <bean123ch@gmail.com>
35014
35015 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35016 resident and in attribute list.
35017
35018 * include/grub/ntfs.h (BMP_LEN): Removed.
35019
35020 2008-09-22 Bean <bean123ch@gmail.com>
35021
35022 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
35023 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35024
35025 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35026 error occurs, as grub_disk_open will call grub_disk_close, which will
35027 call p->close (scsi).
35028
35029 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
35030
35031 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35032 (AC_PREREQ): Bumped to 2.59.
35033 (AC_TRY_COMPILE): Replace obsolete macro with ...
35034 (AC_COMPILE_IFELSE): ... this.
35035 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35036 (AC_LINK_IFELSE): ... this.
35037
35038 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
35039
35040 * autogen.sh: Add a call to `gendistlist.sh'.
35041
35042 2008-09-19 Christian Franke <franke@computer.org>
35043
35044 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35045 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35046 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35047 Export __enable_execute_stack() to modules.
35048 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35049 New function.
35050
35051 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
35052
35053 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35054 Sort the list.
35055
35056 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
35057
35058 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
35059 #include <grub/util/hostdisk.h>.
35060
35061 2008-09-08 Robert Millan <rmh@aybabtu.com>
35062
35063 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35064 segments when their filesz is zero (grub_file_read() interprets
35065 zero-size as "read until EOF", which results in memory corruption).
35066 Use `lowest_segment' rather than 0 for calculating the current
35067 segment load address.
35068
35069 2008-09-08 Robert Millan <rmh@aybabtu.com>
35070
35071 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35072 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35073 clobbered useful information.
35074
35075 2008-09-08 Robert Millan <rmh@aybabtu.com>
35076
35077 * include/grub/util/biosdisk.h: Move to ...
35078 * include/grub/util/hostdisk.h: ... here. Update all users.
35079 * util/biosdisk.c: Move to ...
35080 * util/hostdisk.c: ... here. Update all users.
35081
35082 2008-09-07 Robert Millan <rmh@aybabtu.com>
35083
35084 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35085 variables.
35086 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35087 and length can be stored directly in the `mbi->mmap_addr' and
35088 `mbi->mmap_length' struct fields.
35089
35090 2008-09-07 Robert Millan <rmh@aybabtu.com>
35091
35092 * conf/i386.rmk: New file. Provides declaration for building
35093 `cpuid.mod'.
35094 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35095 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35096 variables.
35097 Include `conf/i386.mk'.
35098 * conf/i386-efi.rmk: Likewise.
35099 * conf/x86_64-efi.rmk: Likewise.
35100 * conf/i386-coreboot.rmk: Likewise.
35101 * conf/i386-ieee1275.rmk: Likewise.
35102
35103 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35104
35105 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35106 Adds optimization support for BGR based modes.
35107
35108 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35109 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35110 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35111 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35112 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35113 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35114 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35115 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35116 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35117 (grub_video_i386_vbeblit_index_index): Likewise.
35118 (grub_video_i386_vbeblit_replace_directN): Added.
35119 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35120 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35121 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35122 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35123 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35124 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35125 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35126 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35127 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35128 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35129 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35130 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35131 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35132
35133 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35134 (grub_video_i386_vbefill_R8G8B8): Likewise.
35135 (grub_video_i386_vbefill_index): Likewise.
35136 (grub_video_i386_vbefill_direct32): Added.
35137 (grub_video_i386_vbefill_direct24): Likewise.
35138 (grub_video_i386_vbefill_direct16): Likewise.
35139 (grub_video_i386_vbefill_direct8): Likewise.
35140
35141 * include/grub/video.h (grub_video_blit_format): Removed
35142 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35143 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35144 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35145 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35146 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
35147
35148 * video/video.c (grub_video_get_blit_format): Updated to use new
35149 blit formats. Added handling for 16 bit color modes.
35150
35151 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
35152 fillers.
35153 (common_blitter): Updated to use new blitters.
35154
35155 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35156 Removed.
35157 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35158 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35159 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35160 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35161 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35162 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35163 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35164 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35165 (grub_video_i386_vbeblit_index_index): Likewise.
35166 (grub_video_i386_vbeblit_replace_directN): Added.
35167 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35168 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35169 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35170 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35171 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35172 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35173 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35174 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35175 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35176 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35177 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35178 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35179 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35180
35181 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35182 (grub_video_i386_vbefill_R8G8B8): Likewise.
35183 (grub_video_i386_vbefill_index): Likewise.
35184 (grub_video_i386_vbefill_direct32): Added.
35185 (grub_video_i386_vbefill_direct24): Likewise.
35186 (grub_video_i386_vbefill_direct16): Likewise.
35187 (grub_video_i386_vbefill_direct8): Likewise.
35188
35189 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35190 types.
35191
35192 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35193 types.
35194
35195 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35196 blitter types.
35197
35198 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35199 types.
35200
35201 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35202
35203 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35204 RAID level 1.
35205
35206 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35207
35208 * fs/iso9660.c (grub_iso9660_date): New structure.
35209 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35210 (grub_iso9660_uuid): New function.
35211
35212 2008-09-05 Bean <bean123ch@gmail.com>
35213
35214 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35215
35216 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35217 insensitive bit for names in Win32 and Win32 & DOS namespace.
35218
35219 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35220
35221 * include/grub/types.h (LONG_MAX): Likewise.
35222
35223 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35224
35225 * util/getroot.c: Include <config.h>.
35226 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35227 add support for /dev/md/N devices and handle LVM double dash escaping.
35228
35229 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35230
35231 * config.guess: Update to latest version from config git.
35232 * config.sub: Likewise.
35233
35234 2008-09-03 Robert Millan <rmh@aybabtu.com>
35235
35236 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35237 `disk->total_sectors'.
35238
35239 2008-09-01 Colin D Bennett <colin@gibibit.com>
35240
35241 * include/grub/normal.h: Fixed incorrect comment for
35242 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35243
35244 2008-09-01 Colin D Bennett <colin@gibibit.com>
35245
35246 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35247 values with defines.
35248
35249 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35250 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35251 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35252 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35253 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35254 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35255 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35256 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35257 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35258 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35259 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35260 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35261 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35262 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35263 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35264 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35265 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35266 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35267 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35268
35269 2008-08-31 Robert Millan <rmh@aybabtu.com>
35270
35271 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35272 declaration.
35273 (grub_multiboot): Fix a few warnings.
35274
35275 2008-08-31 Robert Millan <rmh@aybabtu.com>
35276
35277 * loader/i386/pc/multiboot.c: Update comment not to say that
35278 boot_device support is unimplemented.
35279
35280 2008-08-31 Robert Millan <rmh@aybabtu.com>
35281
35282 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35283 or memory map support are unimplemented.
35284
35285 2008-08-31 Colin D Bennett <colin@gibibit.com>
35286
35287 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35288
35289 2008-08-31 Colin D Bennett <colin@gibibit.com>
35290
35291 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35292 total video memory in 'vbeinfo' output; show color format details for
35293 each video mode.
35294
35295 2008-08-30 Pavel Roskin <proski@gnu.org>
35296
35297 * util/genmoddep.c: Remove for real this time.
35298 * DISTLIST: Remove util/genmoddep.c.
35299
35300 2008-08-30 Robert Millan <rmh@aybabtu.com>
35301
35302 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35303 as required by Multiboot spec (it was already 4-byte aligned, but
35304 only by chance).
35305
35306 2008-08-29 Pavel Roskin <proski@gnu.org>
35307
35308 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35309 * kern/powerpc/ieee1275/startup.S: ... this.
35310 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35311 * DISTLIST: Likewise.
35312
35313 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35314 grub/cpu/kernel.h. Add start label for consistency with other
35315 platforms. Add grub_prefix immediately after start. Add jump
35316 to the code after grub_prefix.
35317 * include/grub/powerpc/kernel.h: Provide valid values for
35318 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35319
35320 2008-08-29 Bean <bean123ch@gmail.com>
35321
35322 * configure.ac: Change host_os to cygwin for mingw.
35323 (asprintf): New check for function.
35324
35325 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35326 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35327
35328 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
35329 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
35330 sync, sleep and grub_util_get_disk_size for mingw.
35331
35332 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35333 to get size in mingw.
35334 (open_device): Use flag O_BINARY if it's defined.
35335 (find_root_device): Add dummy code for mingw.
35336
35337 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35338 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35339 (get_scsi_disk_name): Return 0 for mingw.
35340
35341 * util/hostfs.c: #include <grub/util/misc.h>.
35342 (grub_hostfs_open): Use "rb" flag to open file, use
35343 grub_util_get_disk_size to get disk size for mingw.
35344
35345 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35346 (asprintf): New function if HAVE_ASPRINTF is not set.
35347 (sync): New function for mingw.
35348 (sleep): Likewise.
35349 (grub_util_get_disk_size): Likewise.
35350
35351 2008-08-28 Pavel Roskin <proski@gnu.org>
35352
35353 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35354 kern/time.c.
35355
35356 2008-08-28 Robert Millan <rmh@aybabtu.com>
35357
35358 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35359
35360 2008-08-28 Robert Millan <rmh@aybabtu.com>
35361
35362 Change find_grub_drive() syntax so it doesn't prevent it from
35363 detecting NULL names as errors.
35364
35365 * util/biosdisk.c (find_grub_drive): Move free slot search code
35366 from here ...
35367 (find_free_slot): ... to here.
35368 (read_device_map): Use find_free_slot() to search for free slots.
35369
35370 2008-08-27 Marco Gerards <marco@gnu.org>
35371
35372 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35373 (scsi_mod_SOURCES): New variable.
35374 (scsi_mod_CFLAGS): Likewise
35375 (scsi_mod_LDFLAGS): Likewise.
35376
35377 * disk/scsi.c: New file.
35378
35379 * include/grub/scsi.h: Likewise.
35380
35381 * include/grub/scsicmd.h: Likewise.
35382
35383 * disk/ata.c: Include <grub/scsi.h>.
35384 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35385 instead.
35386 (grub_ata_iterate): Skip ATAPI devices.
35387 (grub_ata_open): Only handle ATAPI devices.
35388 (struct grub_atapi_read): Removed.
35389 (grub_atapi_readsector): Likewise.
35390 (grub_ata_read): No longer handle ATAPI devices.
35391 (grub_ata_write): Likewise.
35392 (grub_atapi_iterate): New function.
35393 (grub_atapi_read): Likewise.
35394 (grub_atapi_write): Likewise.
35395 (grub_atapi_open): Likewise.
35396 (grub_atapi_close): Likewise.
35397 (grub_atapi_dev): New variable.
35398 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35399 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35400
35401 * include/grub/disk.h (enum grub_disk_dev_id): Add
35402 `GRUB_DISK_DEVICE_SCSI_ID'.
35403
35404 2008-08-26 Robert Millan <rmh@aybabtu.com>
35405
35406 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35407 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35408 descriptive.
35409
35410 2008-08-23 Bean <bean123ch@gmail.com>
35411
35412 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35413 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35414 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35415 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35416 dm_nv.mod.
35417 (raid5rec_mod_SOURCES): New macro.
35418 (raid5rec_mod_CFLAGS): Likewise.
35419 (raid5rec_mod_LDFLAGS): Likewise.
35420 (raid6rec_mod_SOURCES): Likewise.
35421 (raid6rec_mod_CFLAGS): Likewise.
35422 (raid6rec_mod_LDFLAGS): Likewise.
35423 (mdraid_mod_SOURCES): Likewise.
35424 (mdraid_mod_CFLAGS): Likewise.
35425 (mdraid_mod_LDFLAGS): Likewise.
35426 (dm_nv_mod_SOURCES): Likewise.
35427 (dm_nv_mod_CFLAGS): Likewise.
35428 (dm_nv_mod_LDFLAGS): Likewise.
35429
35430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35431 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35432 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35433
35434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35435 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35436
35437 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35438
35439 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35440
35441 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35442
35443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35444
35445 * disk/raid5_recover.c: New file.
35446
35447 * disk/raid6_recover.c: Likewise.
35448
35449 * disk/mdraid_linux.c: Likewise.
35450
35451 * disk/dmraid_nvidia.c: Likewise.
35452
35453 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
35454 ULONG_MAX.
35455
35456 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
35457 calculate the size of raid device.
35458 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
35459 different layout of raid5.
35460 (grub_raid_scan_device): Remove code specific to mdraid.
35461 (grub_raid_list): New variable.
35462 (free_array): New function.
35463 (grub_raid_register): Likewise.
35464 (grub_raid_unregister): Likewise.
35465 (grub_raid_rescan): Likewise.
35466 (GRUB_MOD_INIT): Don't iterate device here.
35467 (GRUB_MOD_FINI): Use free_array to release resource.
35468
35469 * include/grub/raid.h: Remove macro and structure specific to mdraid.
35470 (grub_raid5_recover_func_t): New function variable type.
35471 (grub_raid6_recover_func_t): Likewise.
35472 (grub_raid5_recover_func): New variable.
35473 (grub_raid6_recover_func): Likewise.
35474 (grub_raid_register): New function.
35475 (grub_raid_unregister): Likewise.
35476 (grub_raid_rescan): Likewise.
35477 (grub_raid_block_xor): Likewise.
35478
35479 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
35480 (CMD_CRC): New macro.
35481 (part): Removed.
35482 (read_file): Handle device as well as file.
35483 (cmd_crc): New function.
35484 (fstest): Handle multiple disks.
35485 (options): Remove part, raw and long, add root and diskcount.
35486 (usage): Add crc, remove -p, -r, -l, add -r and -c.
35487 (main): Find the first non option entry and ignore subsequent options,
35488 add handling for the new options, support multiple disks.
35489
35490 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
35491
35492 2008-08-23 Bean <bean123ch@gmail.com>
35493
35494 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
35495
35496 * genfslist.sh: Ignore kernel.mod.
35497
35498 * genpartmaplist.sh: Likewise.
35499
35500 2008-08-23 Robert Millan <rmh@aybabtu.com>
35501
35502 * util/getroot.c (find_root_device): Skip anything that starts with
35503 a dot, not just directories. This avoids things like /dev/.tmp.md0.
35504
35505 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
35506
35507 * util/update-grub.in (GRUB_GFXMODE): Export variable.
35508 * util/grub.d/00_header.in: Allow the administrator to change default
35509 gfxmode via ${GRUB_GFXMODE}.
35510
35511 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
35512
35513 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
35514
35515 2008-08-21 Robert Millan <rmh@aybabtu.com>
35516
35517 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
35518 loader.
35519 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
35520 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
35521
35522 2008-08-20 Carles Pina i Estany <carles@pina.cat>
35523
35524 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
35525 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
35526
35527 2008-08-19 Robert Millan <rmh@aybabtu.com>
35528
35529 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
35530 (struct grub_virtual_screen): Remove `cursor_color'.
35531 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
35532 initialization.
35533 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
35534
35535 2008-08-18 Robert Millan <rmh@aybabtu.com>
35536
35537 Unify (identical) linux_normal.c files.
35538 * loader/i386/efi/linux_normal.c: Move from here ...
35539 * loader/linux_normal.c: ... to here. Update all users.
35540 * loader/i386/pc/linux_normal.c: Delete. Update all users.
35541 * loader/i386/ieee1275/linux_normal.c: Likewise.
35542
35543 2008-08-18 Robert Millan <rmh@aybabtu.com>
35544
35545 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
35546 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
35547 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
35548 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
35549 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
35550 New macros.
35551 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
35552 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
35553 (GRUB_LINUX_CL_END_OFFSET): ... to here.
35554 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
35555 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35556 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35557 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35558 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35559 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35560 portably using grub_getxy().
35561 Replace `-EFI' with `-bzImage' in boot message.
35562
35563 2008-08-17 Robert Millan <rmh@aybabtu.com>
35564
35565 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
35566
35567 2008-08-17 Robert Millan <rmh@aybabtu.com>
35568
35569 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
35570
35571 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
35572 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
35573 (grub_machine_mmap_iterate): New function declaration.
35574 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
35575 structure.
35576 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
35577 macros.
35578
35579 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
35580 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
35581 Move e820 parsing from here ...
35582 * kern/i386/pc/mmap.c: New file.
35583 (grub_machine_mmap_iterate): ... to here.
35584
35585 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
35586 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
35587 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
35588 (grub_available_iterate): Redeclare to return `void', and redeclare
35589 its hook to use grub_uint64_t as addr and size parameters, and rename
35590 to ...
35591 (grub_machine_mmap_iterate): ... this. Update all users.
35592
35593 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
35594 to make it more readable. Rename to ...
35595 (grub_machine_mmap_iterate): ... this.
35596
35597 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
35598 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
35599 (grub_multiboot): Allocate an extra region after the payload, and fill
35600 it with a Multiboot memory map. Adjust a.out loader to calculate size
35601 with the extra space.
35602 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
35603 with the extra space.
35604
35605 2008-08-17 Carles Pina i Estany <carles@pina.cat>
35606
35607 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
35608
35609 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
35610
35611 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
35612 mdate-sh to the list `find' searches for.
35613 * DISTLIST: Regenerated.
35614
35615 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
35616
35617 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35618 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
35619 genmoddep.awk, gensymlist.sh.in.
35620 (DISTDIRS): Add bus, docs, hook, lib.
35621 * DISTLIST: Regenerated.
35622 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
35623
35624 2008-08-16 Robert Millan <rmh@aybabtu.com>
35625
35626 * disk/raid.c (grub_raid_init): Handle/report errors set by
35627 grub_device_iterate().
35628 * disk/lvm.c (grub_lvm_init): Likewise.
35629
35630 2008-08-15 Bean <bean123ch@gmail.com>
35631
35632 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35633 and datehook.mod.
35634 (datetime_mod_SOURCES): New macro.
35635 (datetime_mod_CFLAGS): Likewise.
35636 (datetime_mod_LDFLAGS): Likewise.
35637 (date_mod_SOURCES): Likewise.
35638 (date_mod_CFLAGS): Likewise.
35639 (date_mod_LDFLAGS): Likewise.
35640 (datehook_mod_SOURCES): Likewise.
35641 (datehook_mod_CFLAGS): Likewise.
35642 (datehook_mod_LDFLAGS): Likewise.
35643
35644 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35645 and datehook.mod.
35646 (datetime_mod_SOURCES): New macro.
35647 (datetime_mod_CFLAGS): Likewise.
35648 (datetime_mod_LDFLAGS): Likewise.
35649 (date_mod_SOURCES): Likewise.
35650 (date_mod_CFLAGS): Likewise.
35651 (date_mod_LDFLAGS): Likewise.
35652 (datehook_mod_SOURCES): Likewise.
35653 (datehook_mod_CFLAGS): Likewise.
35654 (datehook_mod_LDFLAGS): Likewise.
35655
35656 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35657 and datehook.mod.
35658 (datetime_mod_SOURCES): New macro.
35659 (datetime_mod_CFLAGS): Likewise.
35660 (datetime_mod_LDFLAGS): Likewise.
35661 (date_mod_SOURCES): Likewise.
35662 (date_mod_CFLAGS): Likewise.
35663 (date_mod_LDFLAGS): Likewise.
35664 (datehook_mod_SOURCES): Likewise.
35665 (datehook_mod_CFLAGS): Likewise.
35666 (datehook_mod_LDFLAGS): Likewise.
35667
35668 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35669 and datehook.mod.
35670 (datetime_mod_SOURCES): New macro.
35671 (datetime_mod_CFLAGS): Likewise.
35672 (datetime_mod_LDFLAGS): Likewise.
35673 (date_mod_SOURCES): Likewise.
35674 (date_mod_CFLAGS): Likewise.
35675 (date_mod_LDFLAGS): Likewise.
35676 (datehook_mod_SOURCES): Likewise.
35677 (datehook_mod_CFLAGS): Likewise.
35678 (datehook_mod_LDFLAGS): Likewise.
35679
35680 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35681 and datehook.mod.
35682 (datetime_mod_SOURCES): New macro.
35683 (datetime_mod_CFLAGS): Likewise.
35684 (datetime_mod_LDFLAGS): Likewise.
35685 (date_mod_SOURCES): Likewise.
35686 (date_mod_CFLAGS): Likewise.
35687 (date_mod_LDFLAGS): Likewise.
35688 (datehook_mod_SOURCES): Likewise.
35689 (datehook_mod_CFLAGS): Likewise.
35690 (datehook_mod_LDFLAGS): Likewise.
35691
35692 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35693
35694 * commands/date.c: New file.
35695
35696 * hook/datehook.c: Likewise.
35697
35698 * include/grub/lib/datetime.h: Likewise.
35699
35700 * include/grub/i386/cmos.h: Likewise.
35701
35702 * lib/datetime.c: Likewise.
35703
35704 * lib/i386/datetime.c: Likewise.
35705
35706 * lib/efi/datetime.c: Likewise.
35707
35708 2008-08-14 Robert Millan <rmh@aybabtu.com>
35709
35710 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35711 (grub_mkelfimage_SOURCES): New variable.
35712 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35713
35714 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35715 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35716 * conf/powerpc-ieee1275.rmk: Likewise.
35717 * conf/i386-ieee1275.rmk: Likewise.
35718
35719 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35720 * kern/i386/coreboot/init.c: Likewise.
35721
35722 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35723 with `<grub/cpu/kernel.h>'.
35724 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35725 to ...
35726 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35727 * kern/i386/coreboot/startup.S: Likewise.
35728
35729 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35730 (GRUB_MOD_GAP): Remove.
35731 * include/grub/powerpc/kernel.h: New file.
35732 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35733 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35734 * include/grub/i386/kernel.h: New file.
35735 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35736 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35737 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35738
35739 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35740 `grub-mkelfimage'.
35741 Use --directory when invoking grub_mkimage.
35742
35743 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35744 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35745 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35746 and GRUB_KERNEL_CPU_PREFIX.
35747
35748 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
35749
35750 * include/grub/err.h (grub_err_printf): New function prototype.
35751 * util/misc.c (grub_err_printf): New function.
35752 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35753 grub_printf.
35754 * kern/err.c (grub_print_error): Use grub_err_printf.
35755
35756 2008-08-13 Robert Millan <rmh@aybabtu.com>
35757
35758 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35759
35760 2008-08-13 Robert Millan <rmh@aybabtu.com>
35761
35762 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35763 boot entry.
35764
35765 2008-08-12 Robert Millan <rmh@aybabtu.com>
35766
35767 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35768 of the relocation code from here ...
35769 (grub_multiboot): ... to here.
35770 (forward_relocator, backward_relocator): Move from here ...
35771 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35772 (grub_multiboot_backward_relocator): ... to here.
35773 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35774 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35775 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35776 (grub_multiboot_forward_relocator_end)
35777 (grub_multiboot_backward_relocator)
35778 (grub_multiboot_backward_relocator_end): New variables.
35779
35780 2008-08-12 Bean <bean123ch@gmail.com>
35781
35782 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35783
35784 2008-08-11 Robert Millan <rmh@aybabtu.com>
35785
35786 * kern/i386/linuxbios/startup.S: Move from here ...
35787 * kern/i386/coreboot/startup.S: ... to here.
35788
35789 * kern/i386/linuxbios/init.c: Move from here ...
35790 * kern/i386/coreboot/init.c: ... to here.
35791
35792 * kern/i386/linuxbios/table.c: Move from here ...
35793 * kern/i386/coreboot/mmap.c: ... to here.
35794
35795 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35796
35797 2008-08-11 Robert Millan <rmh@aybabtu.com>
35798
35799 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35800 errors. Leave it to the upper layer to handle them.
35801
35802 2008-08-09 Christian Franke <franke@computer.org>
35803
35804 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35805 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35806 Install `grub.d/10_windows' only on Cygwin.
35807 * configure.ac: Add subst of `target_os'.
35808 Check `target_os' also before setting TARGET_OBJ2ELF.
35809 Add `--enable-grub-pe2elf'.
35810
35811 2008-08-08 Robert Millan <rmh@aybabtu.com>
35812
35813 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35814 (grub_last_time): Change type to grub_uint64_t.
35815 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35816 (grub_disk_close): Likewise.
35817
35818 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35819 (run_menu): Migrate code from to using grub_get_time_ms().
35820
35821 * util/misc.c (grub_get_time_ms): New function.
35822
35823 2008-08-08 Marco Gerards <marco@gnu.org>
35824
35825 * disk/ata.c (grub_ata_regget): Change return type to
35826 `grub_uint8_t'.
35827 (grub_ata_regget2): Likewise.
35828 (grub_ata_wait_status): New function.
35829 (grub_ata_wait_busy): Removed function, updated all users to use
35830 `grub_ata_wait_status'.
35831 (grub_ata_wait_drq): Likewise.
35832 (grub_ata_cmd): New function.
35833 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35834 error handling.
35835 (grub_ata_pio_write): Add error handling.
35836 (grub_atapi_identify): Likewise.
35837 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35838 handling.
35839 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35840 handling. Actually use the detected registers. Reorder the
35841 detection logic such that it is easier to read.
35842 (grub_ata_pciinit): Do not assign the same ID to each controller.
35843 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35844 handling.
35845 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35846
35847 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35848
35849 2008-08-08 Marco Gerards <marco@gnu.org>
35850
35851 * NEWS: Update.
35852
35853 2008-08-07 Bean <bean123ch@gmail.com>
35854
35855 * include/grub/x86_64/pci.h: New file.
35856
35857 2008-08-07 Christian Franke <franke@computer.org>
35858
35859 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35860 (TIMER2_GATE): Likewise.
35861 (grub_pit_wait): Add enable/disable of the timer2 gate
35862 bit of port 0x61. This fixes a possible infinite loop.
35863
35864 2008-08-07 Bean <bean123ch@gmail.com>
35865
35866 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35867 kern/i386/tsc.c and kern/i386/pit.c.
35868
35869 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35870 x86_64 platform.
35871
35872 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35873 <grub/i386/tsc.h>.
35874
35875 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35876
35877 2008-08-07 Bean <bean123ch@gmail.com>
35878
35879 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35880
35881 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35882
35883 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35884 multiple inclusion. Add #include <grub/types.h>.
35885
35886 2008-08-06 Christian Franke <franke@computer.org>
35887
35888 * conf/common.rmk: Build and install `10_windows'.
35889 * util/grub.d/10_windows.in: New script.
35890
35891 2008-08-06 Pavel Roskin <proski@gnu.org>
35892
35893 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35894
35895 2008-08-06 Robert Millan <rmh@aybabtu.com>
35896
35897 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35898 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35899
35900 2008-08-06 Bean <bean123ch@gmail.com>
35901
35902 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35903 (grub_pxefs_fs_int): Remove dummy definition.
35904 (grub_pxefs_open): Use data->block_size to store the current block
35905 size setting.
35906 (grub_pxefs_read): Use block size stored in data->block_size. As the
35907 value of grub_pxe_blksize can be changed after the file is opened.
35908
35909 2008-08-06 Bean <bean123ch@gmail.com>
35910
35911 * fs/i386/pc/pxe.c (curr_file): new variable.
35912 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35913 require the dummy internal file system anymore.
35914 (grub_pxefs_read): Removed.
35915 (grub_pxefs_close): Likewise.
35916 (grub_pxefs_fs_int): Likewise.
35917 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35918 connection when we switch file.
35919 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35920
35921 2008-08-06 Robert Millan <rmh@aybabtu.com>
35922
35923 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35924 `halt.mod'.
35925 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35926 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35927
35928 * kern/i386/halt.c: New file.
35929 * kern/i386/reboot.c: Likewise.
35930 * include/grub/i386/reboot.h: Likewise.
35931 * include/grub/i386/halt.h: Likewise.
35932
35933 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35934 Include `<grub/cpu/halt.h>'.
35935 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35936 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35937
35938 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35939 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35940 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35941 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35942 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35943 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35944 from here ...
35945 * include/grub/i386/at_keyboard.h: ... to here.
35946
35947 2008-08-05 Robert Millan <rmh@aybabtu.com>
35948
35949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35950 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35951 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35952 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35953 `kern/generic/millisleep.c'.
35954
35955 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35956 instead of grub_get_rtc().
35957 (grub_tsc_init): Initialize `tsc_boot_time'.
35958
35959 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35960 (grub_machine_init): Use grub_tsc_init() rather than
35961 installing an RTC-based handler via grub_install_get_time_ms().
35962
35963 * kern/i386/pit.c: New file.
35964 * include/grub/i386/pit.h: Likewise.
35965
35966 2008-08-05 Bean <bean123ch@gmail.com>
35967
35968 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35969
35970 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35971 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35972 (pxe_mod_SOURCES): New macro.
35973 (pxe_mod_CFLAGS): Likewise.
35974 (pxe_mod_LDFLAGS): Likewise.
35975 (pxecmd_mod_SOURCES): Likewise.
35976 (pxecmd_mod_CFLAGS): Likewise.
35977 (pxecmd_mod_LDFLAGS): Likewise.
35978
35979 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35980 (grub_pxe_call): Likewise.
35981
35982 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35983
35984 * commands/i386/pc/pxecmd.c: New file.
35985
35986 * fs/i386/pc/pxe.c: Likewise.
35987
35988 * include/grub/i386/pc/pxe.h: Likewise.
35989
35990 2008-08-05 Bean <bean123ch@gmail.com>
35991
35992 * util/console.c (grub_console_cur_color): New variable.
35993 (grub_console_standard_color): Likewise.
35994 (grub_console_normal_color): Likewise.
35995 (grub_console_highlight_color): Likewise.
35996 (color_map): Likewise.
35997 (use_color): Likewise.
35998 (NUM_COLORS): New macro.
35999 (grub_ncurses_setcolorstate): Handle color properly.
36000 (grub_ncurses_setcolor): Don't change color here, just remember the
36001 settings, color will be set in grub_ncurses_setcolorstate.
36002 (grub_ncurses_getcolor): New function.
36003 (grub_ncurses_init): Initialize color pairs.
36004 (grub_ncurses_term): New member grub_ncurses_getcolor.
36005
36006 2008-08-05 Colin D Bennett <colin@gibibit.com>
36007
36008 High resolution timer support. Implemented for x86 CPUs using TSC.
36009 Extracted generic grub_millisleep() so it's linked in only as needed.
36010 This requires a Pentium compatible CPU; if the RDTSC instruction is
36011 not supported, then it falls back on the generic grub_get_time_ms()
36012 implementation that uses the machine's RTC.
36013
36014 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36015 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36016 `kern/generic/millisleep.c'.
36017
36018 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36019 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36020
36021 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36022 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36023
36024 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36025
36026 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36027 `kern/generic/millisleep.c'.
36028
36029 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36030
36031 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36032
36033 * kern/generic/rtc_get_time_ms.c: New file.
36034
36035 * kern/generic/millisleep.c: New file.
36036
36037 * kern/misc.c: Don't include
36038 <kern/time.h> anymore.
36039 (grub_millisleep_generic): Removed.
36040
36041 * commands/sleep.c (grub_interruptible_millisleep): Uses
36042 grub_get_time_ms() instead of grub_get_rtc().
36043
36044 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36045 function.
36046 (grub_cpu_is_cpuid_supported): New inline function.
36047 (grub_cpu_is_tsc_supported): New inline function.
36048 (grub_tsc_init): New function prototype.
36049 (grub_tsc_get_time_ms): New function prototype.
36050
36051 * kern/i386/tsc.c (grub_get_time_ms): New file.
36052
36053 * include/grub/time.h: Include <grub/types.h.
36054 (grub_millisleep_generic): Removed.
36055 (grub_get_time_ms): New prototype.
36056 (grub_install_get_time_ms): New prototype.
36057 (grub_rtc_get_time_ms): New prototype.
36058
36059 * kern/time.c (grub_get_time_ms): New function.
36060 (grub_install_get_time_ms): New function.
36061
36062 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36063 <grub/time.h> anymore.
36064 (grub_millisleep): Removed.
36065 (grub_machine_init): Call grub_tsc_init.
36066
36067 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36068 get_time_ms() implementation.
36069
36070 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36071 (ieee1275_get_time_ms): New function.
36072 (grub_machine_init): Install get_time_ms() implementation.
36073
36074 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36075 (grub_machine_init): Call grub_tsc_init().
36076 (grub_millisleep): Removed.
36077
36078 * kern/ieee1275/init.c (grub_millisleep): Removed.
36079 (grub_machine_init): Install ieee1275_get_time_ms()
36080 implementation.
36081 (ieee1275_get_time_ms): New function.
36082 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36083 real work.
36084
36085 2008-08-05 Marco Gerards <marco@gnu.org>
36086
36087 * disk/ata.c: Include <grub/pci.h>.
36088 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36089 (grub_ata_initialize): Rewritten.
36090 (grub_ata_device_initialize): New function.
36091
36092 2008-08-04 Pavel Roskin <proski@gnu.org>
36093
36094 * kern/main.c: Include grub/mm.h.
36095
36096 2008-08-04 Robert Millan <rmh@aybabtu.com>
36097
36098 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36099 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36100 corruption problem).
36101
36102 2008-08-04 Robert Millan <rmh@aybabtu.com>
36103
36104 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36105 warnings introduced in my last commit.
36106
36107 2008-08-03 Robert Millan <rmh@aybabtu.com>
36108
36109 Make PCI available on all i386 architectures.
36110
36111 * include/grub/i386/pc/pci.h: Move from here ...
36112 * include/grub/i386/pci.h: ... to here.
36113
36114 * include/grub/i386/pc/pci.h: Remove.
36115 * include/grub/i386/efi/pci.h: Remove.
36116 * include/grub/x86_64/efi/pci.h: Remove.
36117
36118 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36119 `<grub/cpu/pci.h>'.
36120
36121 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36122 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36123 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36124
36125 * conf/i386-ieee1275.rmk: Likewise.
36126
36127 2008-08-03 Robert Millan <rmh@aybabtu.com>
36128
36129 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36130 (grub_console_setcursor): Make it possible to set cursor off.
36131
36132 2008-08-03 Robert Millan <rmh@aybabtu.com>
36133
36134 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36135 of modules instead of assuming which platform provides what.
36136 * util/update-grub.in: Likewise.
36137
36138 2008-08-03 Robert Millan <rmh@aybabtu.com>
36139
36140 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36141 instead of `grub_install_dos_part' to determine whether a drive needs
36142 to be prepended to prefix (`grub_install_dos_part' is not reliable,
36143 because it can be overridden when loading GRUB via Multiboot).
36144
36145 2008-08-02 Robert Millan <rmh@aybabtu.com>
36146
36147 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36148
36149 2008-08-02 Robert Millan <rmh@aybabtu.com>
36150
36151 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36152 of informational grub_dprintf() calls.
36153
36154 2008-08-02 Robert Millan <rmh@aybabtu.com>
36155
36156 * disk/memdisk.c (memdisk_size): Don't initialize.
36157 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36158
36159 * include/grub/i386/pc/kernel.h
36160 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36161 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36162 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36163 (grub_arch_memdisk_size): Remove.
36164
36165 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36166 field (was only used to transfer a constant). Add `type' field to
36167 support multiple module types.
36168 (grub_module_iterate): New function.
36169
36170 * kern/device.c (grub_device_open): Do not hide error messages
36171 when grub_disk_open() fails. Use grub_print_error() instead.
36172
36173 * kern/i386/pc/init.c (grub_arch_modules_addr)
36174 (grub_arch_memdisk_size): Remove functions.
36175 (grub_arch_modules_addr): Return the module address in high memory
36176 (now that it isn't copied anymore).
36177
36178 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36179 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36180 decompression routine (grub_total_module_size already includes that
36181 now). Don't copy modules back to low memory.
36182
36183 * kern/main.c: Include `<grub/mm.h>'.
36184 (grub_load_modules): Split out (and use) ...
36185 (grub_module_iterate): ... this function, which iterates through
36186 module objects and runs a hook.
36187 Comment out grub_mm_init_region() call, as it would cause non-ELF
36188 modules to be overwritten.
36189
36190 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36191 the memdisk image in its own region, make it part of the module list.
36192 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36193 (main): Parse --memdisk|-m option, and pass user-provided path as
36194 parameter to generate_image().
36195 (add_segments): Pass `memdisk_path' down to load_modules().
36196 (load_modules): Embed memdisk image in module section when requested.
36197 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36198 `header.type' instead of `header.offset'.
36199
36200 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36201 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36202 (memdisk_mod_LDFLAGS): New variables.
36203 * conf/i386-coreboot.rmk: Likewise.
36204 * conf/i386-ieee1275.rmk: Likewise.
36205
36206 2008-08-02 Robert Millan <rmh@aybabtu.com>
36207
36208 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36209 (backward_relocator): New variables. Used to allocate and relocate
36210 the payload, respectively.
36211 (grub_multiboot_load_elf32): Load into heap instead of requested
36212 address, install the appropriate relocator code in each bound of
36213 the payload, and set the entry point such that
36214 grub_multiboot_real_boot() will jump to one of them.
36215
36216 * kern/i386/loader.S (grub_multiboot_payload_size)
36217 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36218 (grub_multiboot_payload_entry_offset): New variables.
36219 (grub_multiboot_real_boot): Set cpu context to what the relocator
36220 expects, and jump to the relocator instead of the payload.
36221
36222 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36223 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36224 (grub_multiboot_payload_entry_offset): Export.
36225
36226 2008-08-01 Bean <bean123ch@gmail.com>
36227
36228 * normal/menu_entry.c (editor_getline): Don't return the original
36229 string as result, as it will be released by lexer once it has done
36230 using it.
36231
36232 2008-08-01 Robert Millan <rmh@aybabtu.com>
36233
36234 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36235 within menuentries, not before them.
36236 util/grub.d/10_hurd.in: Likewise.
36237
36238 2008-08-01 Bean <bean123ch@gmail.com>
36239
36240 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36241 (bufio_mod_SOURCES): New macro.
36242 (bufio_mod_CFLAGS): Likewise.
36243 (bufio_mod_LDFLAGS): Likewise.
36244
36245 * include/grub/bufio.h: New file.
36246
36247 * io/bufio.c: Likewise.
36248
36249 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36250 (grub_video_reader_png): Use grub_buffile_open to open file.
36251
36252 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36253 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36254
36255 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36256 (grub_video_reader_tga): Use grub_buffile_open to open file.
36257
36258 * font/manager.c: Include <grub/bufio.h>.
36259 (add_font): Use grub_buffile_open to open file.
36260
36261 2008-07-31 Robert Millan <rmh@aybabtu.com>
36262
36263 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36264 ELF segments, use a macro for arbitrarily accessing any of them instead
36265 of preparing a pointer that allows access to one at a time.
36266 (grub_multiboot_load_elf64): Likewise.
36267
36268 2008-07-31 Bean <bean123ch@gmail.com>
36269
36270 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36271 GRUB_KERNEL_MACHINE_DATA_END.
36272
36273 2008-07-30 Robert Millan <rmh@aybabtu.com>
36274
36275 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36276 Increase from 0x50 to 0x60.
36277 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36278 use UUIDs to identify the root drive for them. If that's not
36279 possible, abort.
36280 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36281 check, for cross-disk installs.
36282
36283 2008-07-30 Robert Millan <rmh@aybabtu.com>
36284
36285 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36286 is non-empty, use it to set the `prefix' environment variable instead
36287 of the usual approach.
36288 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36289 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36290 environment variable instead of dummy make_install_device().
36291
36292 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36293 (start): Insert a data section, with `grub_prefix' variable.
36294 * kern/i386/linuxbios/startup.S: Likewise.
36295
36296 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36297 New variable reference.
36298 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36299 New macro. Defines offset of `grub_prefix' within startup.S (relative
36300 to `start').
36301 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36302 section within startup.S (relative to `start').
36303 * include/grub/i386/coreboot/kernel.h: Likewise.
36304
36305 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36306 Overwrite grub_prefix with its contents, at the beginning of the
36307 first segment.
36308 (main): Understand -p|--prefix.
36309
36310 2008-07-30 Robert Millan <rmh@aybabtu.com>
36311
36312 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36313
36314 2008-07-30 Robert Millan <rmh@aybabtu.com>
36315
36316 * term/i386/pc/vga_text.c (grub_console_cls): Use
36317 grub_console_gotoxy() to go back to beginning of the screen.
36318 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36319
36320 2008-07-29 Christian Franke <franke@computer.org>
36321
36322 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36323 Add conversion of emulated mount points on Cygwin.
36324
36325 2008-07-29 Christian Franke <franke@computer.org>
36326
36327 * util/update-grub.in: Add a check for admin
36328 group on Cygwin.
36329 Remove old `grub.cfg.new' before creation.
36330 Add `-f' to `mv' to handle the different filesystem
36331 semantics of Windows.
36332
36333 2008-07-29 Bean <bean123ch@gmail.com>
36334
36335 * normal/main.c (get_line): Fix buffer overflow bug.
36336
36337 2008-07-28 Robert Millan <rmh@aybabtu.com>
36338
36339 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36340 (struct grub_apple_header): New struct. Describes the layout of
36341 the partmap header.
36342 (apple_partition_map_iterate): Check the header magic as well as the
36343 partition magic (which was already being checked).
36344
36345 2008-07-28 Pavel Roskin <proski@gnu.org>
36346
36347 * genmk.rb: Add a warning to the beginning of the output that
36348 it's a generated file and should not be edited.
36349
36350 2008-07-28 Robert Millan <rmh@aybabtu.com>
36351
36352 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36353 with the same number are found, just use issue a warning with
36354 grub_dprintf(), as this error has been reported to be non-fatal.
36355
36356 2008-07-27 Robert Millan <rmh@aybabtu.com>
36357
36358 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36359 information.
36360
36361 2008-07-27 Bean <bean123ch@gmail.com>
36362
36363 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36364 (grub_fat_find_dir): Ignore case when comparing filename.
36365
36366 2008-07-27 Bean <bean123ch@gmail.com>
36367
36368 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36369 smallino, as it's more descriptive, and i8count can be confused with
36370 the other field count.
36371 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36372 inode type.
36373
36374 2008-07-27 Bean <bean123ch@gmail.com>
36375
36376 * commands/crc.c: New file.
36377
36378 * lib/crc.c: Likewise.
36379
36380 * include/grub/lib/crc.h: Likewise.
36381
36382 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36383
36384 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36385 (hexdump): Move this function to ...
36386
36387 * lib/hexdump.c: ... here.
36388
36389 * include/grub/hexdump.h: Renamed to ...
36390
36391 * include/grub/lib/hexdump.h: ... this.
36392
36393 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36394
36395 * util/grub-editenv.c: Likewise.
36396
36397 * include/envblk.h: Renamed to ...
36398
36399 * include/lib/envblk.h: ... this.
36400
36401 * util/envblk.c: Renamed to ...
36402
36403 * lib/envblk.c: ... this.
36404
36405 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36406 lib/hexdump.c.
36407 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36408 (pkglib_MODULES): Add crc.mod.
36409 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36410 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36411 (crc_mod_SOURCES): New macro.
36412 (crc_mod_CFLAGS): Likewise.
36413 (crc_mod_LDFLAGS): Likewise.
36414
36415 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36416
36417 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36418
36419 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36420
36421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36422
36423 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36424
36425 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
36426
36427 * commands/help.c: Include <grub/term.h>.
36428 (TERM_WIDTH): Removed. Updated all users.
36429
36430 2008-07-27 Pavel Roskin <proski@gnu.org>
36431
36432 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36433 spurious warnings about a comment within a comment.
36434
36435 2008-07-25 Robert Millan <rmh@aybabtu.com>
36436
36437 * util/getroot.c (find_root_device): Skip devices that match
36438 /dev/dm-[0-9]. This lets the real device be found for any type of
36439 abstraction (LVM, EVMS, RAID..).
36440 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36441 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36442 device is found first, find_root_device() will now skip it.
36443
36444 2008-07-24 Pavel Roskin <proski@gnu.org>
36445
36446 * include/grub/types.h: Use __builtin_bswap32() and
36447 __builtin_bswap64() with gcc 4.3 and newer.
36448
36449 2008-07-24 Christian Franke <franke@computer.org>
36450
36451 * util/i386/pc/grub-install.in: If `--debug' is specified,
36452 pass `--verbose' to grub-setup.
36453 Abort script if make_system_path_relative_to_its_root() fails.
36454
36455 2008-07-24 Bean <bean123ch@gmail.com>
36456
36457 * configure.ac: Fixed a bug caused by the previous cygwin patch,
36458 variable `target_platform' should be `platform'.
36459
36460 2008-07-24 Bean <bean123ch@gmail.com>
36461
36462 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
36463 (grub_png_init_fixed_block): New function.
36464 (grub_png_decode_image_data): Handle fixed huffman code compression.
36465
36466 2008-07-24 Bean <bean123ch@gmail.com>
36467
36468 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
36469 (grub_pe2elf_SOURCES): New macro.
36470 (CLEANFILES): Add grub-pe2elf.
36471
36472 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
36473 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
36474 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
36475 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
36476 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
36477 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
36478 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
36479 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
36480 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
36481 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
36482 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
36483 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
36484 (GRUB_PE32_DT_FUNCTION): Likewise.
36485 (GRUB_PE32_REL_I386_DIR32): Likewise.
36486 (GRUB_PE32_REL_I386_REL32): Likewise.
36487 (grub_pe32_symbol): New structure.
36488 (grub_pe32_reloc): Likewise.
36489
36490 * util/grub-pe2elf.c: New file.
36491
36492 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
36493 start symbol in non pc platform.
36494
36495 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
36496
36497 The following patches are from Christian Franke.
36498
36499 * include/grub/dl.h: Remove .previous, gas supports this only
36500 for ELF format.
36501
36502 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
36503 Remove .type, gas supports this only for ELF format.
36504
36505 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
36506 nullbytes in symbol table. This fixes an infinite loop if table is
36507 zero filled.
36508
36509 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
36510 TARGET_IMG_LDFLAGS and EXEEXT.
36511
36512 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
36513 TARGET_IMG_LDFLAGS_AC.
36514 (grub_CHECK_STACK_ARG_PROBE): New function.
36515
36516 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
36517
36518 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
36519
36520 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
36521 to set TARGET_IMG_LD* accordingly.
36522 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
36523 Add call to grub_CHECK_STACK_ARG_PROBE.
36524 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
36525
36526 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
36527
36528 * genmk.rb: Add EXEEXT to CLEANFILES.
36529
36530 2008-07-23 Robert Millan <rmh@aybabtu.com>
36531
36532 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
36533 define the codes for arrows and lines used for the menu).
36534 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
36535 as well.
36536
36537 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
36538 fonts, because the latter are too slow.
36539
36540 2008-07-21 Bean <bean123ch@gmail.com>
36541
36542 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
36543 a20. Run keyboard test last, as it will cause macbook to halt.
36544
36545 2008-07-18 Pavel Roskin <proski@gnu.org>
36546
36547 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
36548 load foreign architecture modules correctly anyway. Keep
36549 support for loading host architecture modules, whether we
36550 compile them or not.
36551
36552 2008-07-17 Pavel Roskin <proski@gnu.org>
36553
36554 * configure.ac: Use -m32 or -m64 regardless of whether we had to
36555 change target_cpu. The compiler default can mismatch target_cpu
36556 in any case.
36557
36558 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36559 * kern/efi/efi.c: Likewise.
36560
36561 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36562 target compiler is functional.
36563 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
36564 are set up.
36565
36566 * configure.ac: Default to efi platform for x86_64-apple. Allow
36567 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
36568 adjustments from the rest, only do them if target is not
36569 explicitly given. Merge other adjustments with the final sanity
36570 check. Remove an extraneous check for supported CPU. Be
36571 specific which CPU and which platform is not supported.
36572
36573 * configure.ac: Default to pc platform for x86_64.
36574
36575 2008-07-17 Robert Millan <rmh@aybabtu.com>
36576
36577 Partial LinuxBIOS -> Coreboot rename.
36578
36579 * conf/i386-linuxbios.rmk: Renamed to ...
36580 * conf/i386-coreboot.rmk: ... this.
36581 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
36582 * configure.ac: Accept "coreboot" as input platform (but maintain
36583 compatibility with "linuxbios").
36584 * include/grub/i386/linuxbios: Renamed to ...
36585 * include/grub/i386/coreboot: ... this.
36586
36587 2008-07-17 Bean <bean123ch@gmail.com>
36588
36589 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
36590 (appleldr_mod_SOURCE): New variable.
36591 (appleldr_mod_CFLAGS): Likewise.
36592 (appleldr_mod_LDFLAGS): Likewise.
36593 (pci_mod_SOURCES): Likewise.
36594 (pci_mod_CFLAGS): Likewise.
36595 (pci_mod_LDFLAGS): Likewise.
36596 (lspci_mod_SOURCES): Likewise.
36597 (lspci_mod_CFLAGS): Likewise.
36598 (lspci_mod_LDFLAGS): Likewise.
36599
36600 * conf/x86_64-efi.rmk: New file.
36601
36602 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
36603 macro.
36604 (grub_efidisk_write): Likewise.
36605
36606 * include/efi/api.h (efi_call_0): New macro.
36607 (efi_call_1): Likewise.
36608 (efi_call_2): Likewise.
36609 (efi_call_3): Likewise.
36610 (efi_call_4): Likewise.
36611 (efi_call_5): Likewise.
36612 (efi_call_6): Likewise.
36613
36614 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36615 grub_rescue_cmd_chainloader.
36616
36617 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36618 (grub_pe32_optional_header): Change some fields based on i386 or
36619 x86_64 platform.
36620 (GRUB_PE32_PE32_MAGIC): Likewise.
36621
36622 * include/grub/efi/uga_draw.h: New file.
36623
36624 * include/grub/elf.h (STN_ABS): New constant.
36625 (R_X86_64_NONE): Relocation constant for x86_64.
36626 (R_X86_64_64): Likewise.
36627 (R_X86_64_PC32): Likewise.
36628 (R_X86_64_GOT32): Likewise.
36629 (R_X86_64_PLT32): Likewise.
36630 (R_X86_64_COPY): Likewise.
36631 (R_X86_64_GLOB_DAT): Likewise.
36632 (R_X86_64_JUMP_SLOT): Likewise.
36633 (R_X86_64_RELATIVE): Likewise.
36634 (R_X86_64_GOTPCREL): Likewise.
36635 (R_X86_64_32): Likewise.
36636 (R_X86_64_32S): Likewise.
36637 (R_X86_64_16): Likewise.
36638 (R_X86_64_PC16): Likewise.
36639 (R_X86_64_8): Likewise.
36640 (R_X86_64_PC8): Likewise.
36641
36642 * include/grub/i386/efi/pci.h: New file.
36643
36644 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36645 Change it value based on platform.
36646 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36647 (GRUB_E820_RAM): Likewise.
36648 (GRUB_E820_RESERVED): Likewise.
36649 (GRUB_E820_ACPI): Likewise.
36650 (GRUB_E820_NVS): Likewise.
36651 (GRUB_E820_EXEC_CODE): Likewise.
36652 (GRUB_E820_MAX_ENTRY): Likewise.
36653 (grub_e820_mmap): New structure.
36654 (linux_kernel_header): Change the efi field according to different
36655 kernel version, also field from linux_kernel_header.
36656
36657 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36658
36659 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36660 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36661 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36662 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36663 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36664 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36665 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36666 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36667 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36668 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36669
36670 * include/grub/x86_64/efi/kernel.h: New file.
36671
36672 * include/grub/x86_64/efi/loader.h: Likewise.
36673
36674 * include/grub/x86_64/efi/machine.h: Likewise.
36675
36676 * include/grub/x86_64/efi/pci.h: Likewise.
36677
36678 * include/grub/x86_64/efi/time.h: Likewise.
36679
36680 * include/grub/x86_64/linux.h: Likewise.
36681
36682 * include/grub/x86_64/setjmp.h: Likewise.
36683
36684 * include/grub/x86_64/time.h: Likewise.
36685
36686 * include/grub/x86_64/types.h: Likewise.
36687
36688 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36689 GRUB_TARGET_SIZEOF_VOID_P.
36690
36691 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36692 (grub_efi_locate_handle): Likewise.
36693 (grub_efi_open_protocol): Likewise.
36694 (grub_efi_set_text_mode): Likewise.
36695 (grub_efi_stall): Likewise.
36696 (grub_exit): Likewise.
36697 (grub_reboot): Likewise.
36698 (grub_halt): Likewise.
36699 (grub_efi_exit_boot_services): Likewise.
36700 (grub_get_rtc): Likewise.
36701
36702 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36703 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36704 (grub_efi_allocate_pages): Wrap efi calls.
36705 (grub_efi_free_pages): Wrap efi calls.
36706 (grub_efi_get_memory_map): Wrap efi calls.
36707
36708 * kern/x86_64/dl.c: New file.
36709
36710 * kern/x86_64/efi/callwrap.S: Likewise.
36711
36712 * kern/x86_64/efi/startup.S: Likewise.
36713
36714 * loader/efi/appleloader.c: Likewise.
36715
36716 * loader/efi/chainloader.c (cmdline): New variable.
36717 (grub_chainloader_unload): Wrap efi calls.
36718 (grub_chainloader_boot): Likewise.
36719 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36720 command line.
36721
36722 * loader/efi/chainloader_normal.c (chainloader_command):
36723 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36724 command line.
36725
36726 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36727 method.
36728 (grub_e820_add_region): New function.
36729 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36730 booting.
36731 (grub_find_video_card): New function.
36732 (grub_linux_setup_video): New function.
36733 (grub_rescue_cmd_linux): Probe for video information.
36734
36735 * normal/x86_64/setjmp.S: New file.
36736
36737 * term/efi/console.c (map_char): New function.
36738 (grub_console_putchar): Map unicode char.
36739 (grub_console_checkkey): Wrap efi calls.
36740 (grub_console_getkey): Likewise.
36741 (grub_console_getwh): Likewise.
36742 (grub_console_gotoxy): Likewise.
36743 (grub_console_cls): Likewise.
36744 (grub_console_setcolorstate): Likewise.
36745 (grub_console_setcursor): Likewise.
36746
36747 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36748
36749 2008-07-16 Pavel Roskin <proski@gnu.org>
36750
36751 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36752 format strings.
36753
36754 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36755 pointer, not an integer. This fixes a warning and prevents
36756 precision loss on 64-bit systems.
36757 (relocate_addresses): Remove unneeded cast.
36758
36759 2008-07-15 Pavel Roskin <proski@gnu.org>
36760
36761 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36762
36763 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36764
36765 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36766 Fix comparison between signed and unsigned.
36767
36768 * include/grub/i386/ieee1275/console.h: Declare
36769 grub_console_init() and grub_console_fini().
36770
36771 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36772 It's empty and unused.
36773
36774 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36775 beginning to avoid warnings with some compilers.
36776
36777 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36778 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36779
36780 2008-07-14 Pavel Roskin <proski@gnu.org>
36781
36782 * kern/env.c (grub_register_variable_hook): Don't copy empty
36783 string, it leaks memory. Pass "" to grub_env_set(), it should
36784 handle constant strings.
36785
36786 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36787 * commands/cmp.c (grub_cmd_cmp): Likewise.
36788 * kern/dl.c (grub_dl_flush_cache): Likewise.
36789 (grub_dl_load_core): Likewise.
36790 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36791 (grub_elf64_load_phdrs): Likewise.
36792
36793 2008-07-13 Pavel Roskin <proski@gnu.org>
36794
36795 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36796 between signed and unsigned.
36797 (LzmaEnc_Finish): Fix warning about an unused parameter.
36798
36799 2008-07-13 Bean <bean123ch@gmail.com>
36800
36801 * Makefile.in (enable_lzo): New rule.
36802
36803 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36804
36805 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36806
36807 * boot/i386/pc/lnxboot.S: #include <config.h>.
36808
36809 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
36810 its value according to the compression algorithm used, lzo or lzma.
36811
36812 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36813 compression algorithm according to configure macro.
36814
36815 * kern/i386/pc/startup.S (codestart): Likewise.
36816
36817 * kern/i386/pc/lzma_decode.S: New file.
36818
36819 * include/grub/lib/LzFind.h: Likewise.
36820
36821 * include/grub/lib/LzHash.h: Likewise.
36822
36823 * include/grub/lib/LzmaDec.h: Likewise.
36824
36825 * include/grub/lib/LzmaEnc.h: Likewise.
36826
36827 * include/grub/lib/LzmaTypes.h: Likewise.
36828
36829 * lib/LzFind.c: Likewise.
36830
36831 * lib/LzmaDec.c: Likewise.
36832
36833 * lib/LzmaEnc.c: Likewise.
36834
36835 2008-07-13 Bean <bean123ch@gmail.com>
36836
36837 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36838 (grub_ext4_extent_header): New structure.
36839 (grub_ext4_extent): Likewise.
36840 (grub_ext4_extent_idx): Likewise.
36841 (grub_ext4_find_leaf): New function.
36842 (grub_ext2_read_block): Handle extents.
36843
36844 2008-07-12 Robert Millan <rmh@aybabtu.com>
36845
36846 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36847
36848 2008-07-11 Robert Millan <rmh@aybabtu.com>
36849
36850 * util/grub.d/40_custom.in: New file. Example on how to add custom
36851 entries to /etc/grub.d.
36852 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36853 40_custom (implicitly, by merging all the grub.d rules).
36854
36855 2008-07-11 Pavel Roskin <proski@gnu.org>
36856
36857 * commands/read.c (grub_getline): Fix invalid memory access.
36858 Don't add newline to the variable value.
36859
36860 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36861 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36862 (serial_hw_get_port): Check validity of the port number.
36863 (grub_cmd_serial): Check return value of serial_hw_get_port().
36864
36865 2008-07-07 Pavel Roskin <proski@gnu.org>
36866
36867 * boot/i386/pc/diskboot.S (notification_string): Replace
36868 "Loading kernel" with just "loading". This is shorter, less
36869 confusing and saves a few bytes for possible future changes.
36870
36871 2008-07-05 Pavel Roskin <proski@gnu.org>
36872
36873 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36874 size for ATAPI devices, they are undefined. Output sector
36875 number in decimal form.
36876
36877 * disk/ata.c: Use named constants for status bits.
36878
36879 2008-07-04 Pavel Roskin <proski@gnu.org>
36880
36881 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36882 grub_addr_t before casting it to the void pointer to fix a
36883 warning. Non-addressable regions are discarded earlier.
36884 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36885 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36886 (check_signature): Don't shadow table_header.
36887 (grub_linuxbios_table_iterate): Cast numeric constants to
36888 grub_linuxbios_table_header_t.
36889 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36890 grub_stop().
36891
36892 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36893 prevent warnings.
36894
36895 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36896 pointer, which can cause warnings. Support 64-bit addresses.
36897
36898 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36899 of sizeof(long). This fixes PowerPC image generation on x86_64.
36900
36901 2008-07-04 Robert Millan <rmh@aybabtu.com>
36902
36903 This fixes a performance issue when pc & gpt partmap iterators
36904 didn't abort iteration even after our hook found what it was
36905 looking for (often causing expensive probes of non-existent drives).
36906
36907 Some callers relied on previous buggy behaviour, since they would
36908 raise an error when their own hooks caused early abortion of its
36909 iteration.
36910
36911 * kern/device.c (grub_device_open): Improve error message.
36912 * disk/lvm.c (grub_lvm_open): Likewise.
36913 * disk/raid.c (grub_raid_open): Likewise.
36914
36915 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36916 when hook requests it, independently of grub_errno.
36917 (pc_partition_map_probe): Do not fail when find_func() caused
36918 early abortion of pc_partition_map_iterate().
36919
36920 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36921 when hook requests it, independently of grub_errno.
36922 (gpt_partition_map_probe): Do not fail when find_func() caused
36923 early abortion of gpt_partition_map_iterate().
36924
36925 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36926 when hook requests it, independently of grub_errno. Do not fail when
36927 part_map_iterate_hook() caused early abortion of p->iterate().
36928
36929 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36930 when grub_partition_iterate() returned with non-zero.
36931
36932 2008-07-03 Pavel Roskin <proski@gnu.org>
36933
36934 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36935 like we do in grub_ata_pio_read().
36936 (grub_ata_readwrite): Always write individual sectors. Fix the
36937 sector count for the remainder.
36938 (grub_ata_write): Enable writing to ATA devices. Correctly
36939 report error for ATAPI devices.
36940
36941 2008-07-02 Pavel Roskin <proski@gnu.org>
36942
36943 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36944 warning.
36945
36946 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36947 for every read sector, we already increment it for the whole
36948 batch. This fixes reading more than 256 sectors at once.
36949
36950 * util/grub-editenv.c (cmd_info): Cast argument to long
36951 explicitly. ptrdiff_t reduces to int on i386.
36952
36953 * util/grub-editenv.c (main): Be specific which parameter is
36954 missing.
36955
36956 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36957 (memdisk): Make memdisk_orig_addr a pointer.
36958
36959 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36960 for file offsets, use grub_off_t instead. Fix printf format
36961 warnings.
36962
36963 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36964 there. Real unexpected warnings should not drown in the noise
36965 about known problems.
36966
36967 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36968 grub_disk_addr_t for memory addresses.
36969
36970 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36971 explicitly to fix a warning.
36972
36973 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36974
36975 * Makefile.in (MODULE_LDFLAGS): New variable.
36976 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36977 the linker accepts --build-id=none.
36978 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36979 MODULE_LDFLAGS.
36980 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36981
36982 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36983 those in Linux XFS code. Provide a way to access 64-bit parent
36984 inode.
36985 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36986 the end of struct grub_xfs_dir_header.
36987
36988 2008-07-02 Bean <bean123ch@gmail.com>
36989
36990 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36991 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36992 and GRUB_IEEE1275_FLAG_NO_ANSI.
36993
36994 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36995 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36996 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36997
36998 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36999 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37000
37001 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37002 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37003
37004 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37005 esc sequence on non ANSI terminal.
37006 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37007
37008 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37009 beginning of file.
37010
37011 2008-07-02 Bean <bean123ch@gmail.com>
37012
37013 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37014 (grub_editenv_SOURCES): New variable.
37015 (pkglib_MODULES): Add loadenv.mod.
37016 (loadenv_mod_SOURCES): New variable.
37017 (loadenv_mod_CFLAGS): Likewise.
37018 (loadenv_mod_LDFLAGS): Likewise.
37019
37020 * include/grub/envblk.h: New file.
37021
37022 * util/envblk.c: New file.
37023
37024 * util/grub-editenv.c: New file.
37025
37026 * commands/loadenv.c: New file.
37027
37028 2008-07-01 Pavel Roskin <proski@gnu.org>
37029
37030 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37031 not unsigned char. This fixes warnings and is consistent with
37032 other tags.
37033
37034 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37035
37036 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37037
37038 * term/tparm.c (analyze): Always set *popcount.
37039
37040 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37041 cast to fix a warning.
37042
37043 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37044 cast to suppress a warning.
37045
37046 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37047 grub_fshelp_read_file() expects.
37048
37049 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37050 write uuid as a 32-bit value in CPU byte order, so declare and
37051 use it as such.
37052
37053 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37054 long if the format specifier expects it.
37055 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37056 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37057 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37058 long to fix a warning.
37059 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37060 grub_dprintf() arguments to fix warnings.
37061
37062 2008-06-30 Pavel Roskin <proski@gnu.org>
37063
37064 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37065 install_bsd_part immediately before core.img is embedded or
37066 modified on disk. This fixes core.img verification if core.img
37067 cannot be embedded.
37068
37069 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37070 core_path to calculate the blocklist.
37071 Patch from Javier Martín <lordhabbit@gmail.com>
37072
37073 2008-06-29 Robert Millan <rmh@aybabtu.com>
37074
37075 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37076 block to disk block.
37077 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37078 Patch from Niels Böhm <bitbucket@arcor.de>
37079
37080 2008-06-29 Robert Millan <rmh@aybabtu.com>
37081
37082 * util/update-grub_lib.in (font_path): Search for fonts in
37083 /boot/grub first, which is more likely to be readable (we aren't
37084 deciding where fonts live, just looking for them).
37085
37086 2008-06-26 Pavel Roskin <proski@gnu.org>
37087
37088 * util/biosdisk.c (read_device_map): Don't leave dead map
37089 entries for devices failing stat() check.
37090
37091 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37092 core_path_dev for the core.img path on the target device.
37093
37094 2008-06-26 Robert Millan <rmh@aybabtu.com>
37095
37096 * disk/fs_uuid.c: New file.
37097 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37098 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37099 (fs_uuid_mod_LDFLAGS): New variables.
37100 * include/grub/disk.h (grub_disk_dev_id): Add
37101 `GRUB_DISK_DEVICE_UUID_ID'.
37102 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37103 implement iterate().
37104
37105 2008-06-26 Robert Millan <rmh@aybabtu.com>
37106
37107 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37108 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37109 Linux image includes no initrd.
37110
37111 2008-06-21 Javier Martín <lordhabbit@gmail.com>
37112
37113 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37114 call to resolve the core image location that effectively appended the
37115 name twice.
37116
37117 2008-06-21 Robert Millan <rmh@aybabtu.com>
37118
37119 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37120 call from here ...
37121
37122 * util/grub.d/10_hurd.in: ... to here ...
37123 * util/grub.d/10_linux.in: ... and here.
37124
37125 2008-06-19 Robert Millan <rmh@aybabtu.com>
37126
37127 * kern/main.c (grub_main): Export `prefix' variable immediately
37128 after it has been set by grub_machine_set_prefix().
37129
37130 2008-06-19 Robert Millan <rmh@aybabtu.com>
37131
37132 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37133 search result when not saving to variable, not the other way around.
37134 When saving to variable, abort iteration as soon as a match is found.
37135
37136 2008-06-19 Robert Millan <rmh@aybabtu.com>
37137
37138 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37139 check for partition that provides /boot/grub. Its logic is flawed,
37140 as it prevents prepare_grub_to_access_device() from being called
37141 multiple times.
37142
37143 2008-06-19 Robert Millan <rmh@aybabtu.com>
37144
37145 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37146 "insmod" command directly when abstraction modules are needed,
37147 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
37148 since it had already been processed).
37149
37150 2008-06-19 Pavel Roskin <proski@gnu.org>
37151
37152 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37153 changed. This is needed in case GRUB_LIBDIR changes.
37154 * conf/i386-ieee1275.rmk: Likewise.
37155 * conf/i386-linuxbios.rmk: Likewise.
37156 * conf/i386-pc.rmk: Likewise.
37157 * conf/powerpc-ieee1275.rmk: Likewise.
37158
37159 2008-06-18 Pavel Roskin <proski@gnu.org>
37160
37161 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37162 kernel_elf_symlist.c to symlist.c for consistency with other
37163 architectures. Update all users.
37164 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37165
37166 2008-06-18 Robert Millan <rmh@aybabtu.com>
37167
37168 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37169 it in prefix.
37170
37171 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37172 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37173 a RAID device, run setup() for all members independently on whether
37174 LVM abstraction is being used.
37175 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37176 If grub-mkimage has set `*install_dos_part == -2', don't override this
37177 value.
37178 Perform *install_dos_part adjustments independently on whether
37179 we're embedding or not.
37180 Clarify error message when image is too big for embedding.
37181 Remove duplicate *install_dos_part stanza.
37182
37183 2008-06-17 Robert Millan <rmh@aybabtu.com>
37184
37185 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37186 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37187 variables.
37188 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37189 values in grub_ofconsole_normal_color and
37190 grub_ofconsole_highlight_color (they're not directly related to
37191 background and foreground).
37192 (grub_ofconsole_setcolorstate): Extract background and foreground
37193 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37194
37195 2008-06-17 Robert Millan <rmh@aybabtu.com>
37196
37197 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37198 /boot/grub for the check in last commit, not /boot (they could be
37199 different partitions).
37200
37201 2008-06-16 Robert Millan <rmh@aybabtu.com>
37202
37203 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37204 asked to setup access for the same partition that provides /boot,
37205 don't bother using UUIDs since our root already has the value we
37206 want.
37207
37208 2008-06-16 Robert Millan <rmh@aybabtu.com>
37209
37210 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37211 I2O devices.
37212 Patch from Sven Mueller <sven@debian.org>.
37213
37214 2008-06-16 Robert Millan <rmh@aybabtu.com>
37215
37216 * util/update-grub.in: Check for $EUID instead of $UID.
37217 Reported by Vincent Zweije.
37218
37219 2008-06-16 Bean <bean123ch@gmail.com>
37220
37221 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
37222 (grub_ext2_read_block): Likewise.
37223 (grub_ext2_read_inode): Likewise.
37224 (grub_ext2_mount): Likewise.
37225 (grub_ext2_close): Likewise.
37226 (grub_ext3_get_journal): Removed.
37227
37228 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
37229 (grub_reiserfs_read_symlink): Likewise.
37230 (grub_reiserfs_mount): Likewise.
37231 (grub_reiserfs_open): Likewise.
37232 (grub_reiserfs_read): Likewise.
37233 (grub_reiserfs_close): Likewise.
37234 (grub_reiserfs_get_journal): Removed.
37235
37236 * fs/fshelp.c (grub_fshelp_read): Removed.
37237 (grub_fshelp_map_block): Likewise.
37238
37239 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37240 (grub_fshelp_journal): Likewise.
37241 (grub_fshelp_read): Likewise.
37242 (grub_fshelp_map_block): Likewise.
37243
37244 2008-06-16 Pavel Roskin <proski@gnu.org>
37245
37246 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37247 floating point anymore.
37248 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37249
37250 2008-06-15 Pavel Roskin <proski@gnu.org>
37251
37252 * commands/ls.c (grub_ls_list_files): Use integer calculations
37253 for human readable format, avoid floating point use.
37254 * kern/misc.c (grub_ftoa): Remove.
37255 (grub_vsprintf): Remove floating point support.
37256
37257 2008-06-15 Robert Millan <rmh@aybabtu.com>
37258
37259 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
37260 devices.
37261 Reported by Max Vozeler.
37262
37263 2008-06-15 Robert Millan <rmh@aybabtu.com>
37264
37265 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37266 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37267 skipped later.
37268 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37269 the beginning of the prefix.
37270
37271 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37272 It is assumed that if we have a memdisk, grub-mkimage has set
37273 grub_prefix to include the "(memdisk)" drive in it.
37274
37275 2008-06-15 Robert Millan <rmh@aybabtu.com>
37276
37277 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37278 Initialize keyboard controller after registering the terminal, so that
37279 grub_printf() can be called from grub_keyboard_controller_init().
37280
37281 2008-06-15 Robert Millan <rmh@aybabtu.com>
37282
37283 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37284 extent-btree which is written as big endian on disk.
37285 Reported by Alain Greppin <al@chilibi.org>.
37286
37287 2008-06-14 Robert Millan <rmh@aybabtu.com>
37288
37289 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37290 * util/i386/pc/grub-install.in (modules): Likewise.
37291
37292 2008-06-13 Pavel Roskin <proski@gnu.org>
37293
37294 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37295
37296 2008-06-13 Bean <bean123ch@gmail.com>
37297
37298 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37299
37300 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37301
37302 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37303 to indicate sparse block.
37304
37305 2008-06-12 Pavel Roskin <proski@gnu.org>
37306
37307 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37308 number, grub_fshelp_read() does it for us.
37309
37310 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37311 linear disk read with journal translation.
37312 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37313 * include/grub/fshelp.h: Declare grub_fshelp_read().
37314
37315 2008-06-09 Pavel Roskin <proski@gnu.org>
37316
37317 * fs/minix.c (grub_minix_mount): Handle error reading
37318 superblock.
37319
37320 2008-06-08 Robert Millan <rmh@aybabtu.com>
37321
37322 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37323 don't append the RAID prefix afterwards.
37324 Reported by Clint Adams.
37325
37326 2008-06-08 Robert Millan <rmh@aybabtu.com>
37327
37328 Based on description from Pavel:
37329 * kern/disk.c (grub_disk_check_range): Rename to ...
37330 (grub_disk_adjust_range): ... this. Add a comment explaining the
37331 tasks performed by this function.
37332
37333 2008-06-08 Robert Millan <rmh@aybabtu.com>
37334
37335 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37336 `num_serial' (for consistency with other variables).
37337 (struct grub_ntfs_data): Add `uuid' member.
37338 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37339 (grub_ntfs_uuid): New function.
37340 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37341
37342 2008-06-07 Pavel Roskin <proski@gnu.org>
37343
37344 * util/biosdisk.c (open_device): Revert last change to the
37345 function, it broke installation. The sector needs to be
37346 different dependent on which device is opened.
37347
37348 2008-06-06 Robert Millan <rmh@aybabtu.com>
37349
37350 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37351 rest of GRUB, and breakage doesn't happen if its value were modified.
37352
37353 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37354 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37355 a constant (same value).
37356 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37357 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37358
37359 2008-06-06 Robert Millan <rmh@aybabtu.com>
37360
37361 * util/biosdisk.c (open_device): Do not modify sector offset when
37362 accessing a partition. kern/disk.c already handles this for us.
37363
37364 2008-06-06 Robert Millan <rmh@aybabtu.com>
37365
37366 * util/grub-emu.c (grub_machine_init): Move code in this function from
37367 here ...
37368 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37369 segfault in case grub_printf() is called).
37370
37371 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37372 grub_probe. Update all users not to explicitly add it again.
37373 (grub_device): New variable; contains corresponding device for grubdir.
37374 (fs_module, partmap_module, devabstraction_module): Pass
37375 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37376 every time.
37377
37378 2008-06-05 Robert Millan <rmh@aybabtu.com>
37379
37380 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37381 is found, print it (same layout as with labels).
37382
37383 2008-06-04 Robert Millan <rmh@aybabtu.com>
37384
37385 * util/biosdisk.c (get_drive): Rename to ...
37386 (find_grub_drive): ... this. Update all users.
37387
37388 (get_os_disk): Rename to ...
37389 (convert_system_partition_to_system_disk): ... this. Update all users.
37390
37391 (find_drive): Rename to ...
37392 (find_system_device): ... this. Update all users.
37393
37394 2008-06-04 Robert Millan <rmh@aybabtu.com>
37395
37396 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37397 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37398 (make_device_map): Likewise.
37399
37400 2008-06-01 Robert Millan <rmh@aybabtu.com>
37401
37402 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37403 before dereferencing it.
37404
37405 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37406 union with fat12/fat16-specific ones. Add some new fields, including
37407 `num_serial' for both versions.
37408 (struct grub_fat_data): Add `uuid' member.
37409 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37410 names. Initialize `data->uuid' using `num_serial'.
37411 (grub_fat_uuid): New function.
37412 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37413
37414 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37415 (grub_reiserfs_uuid): New function.
37416 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37417 member.
37418
37419 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37420 (grub_xfs_uuid): New function.
37421 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37422
37423 2008-06-01 Robert Millan <rmh@aybabtu.com>
37424
37425 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37426 code that is backward compatible with pre-uuid search command.
37427
37428 2008-05-31 Robert Millan <rmh@aybabtu.com>
37429
37430 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37431 floppies after everything else, to ensure floppy drive isn't accessed
37432 unnecessarily (patch from Bean).
37433
37434 2008-05-31 Robert Millan <rmh@aybabtu.com>
37435
37436 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37437 not print device names when we were asked to set a variable.
37438
37439 2008-05-31 Robert Millan <rmh@aybabtu.com>
37440
37441 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37442 using "cursor-on" and "cursor-off" commands (understood at least by
37443 the Open Firmware flavour on OLPC).
37444
37445 2008-05-31 Michael Gorven <michael@gorven.za.net>
37446
37447 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37448 on and off sequences.
37449
37450 2008-05-31 Robert Millan <rmh@aybabtu.com>
37451
37452 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
37453 * util/update-grub.in: Likewise.
37454
37455 2008-05-30 Pavel Roskin <proski@gnu.org>
37456
37457 * util/biosdisk.c (linux_find_partition): Simplify logic and
37458 make the code more universal. Keep special processing for
37459 devfs, but use a simple rule for all other devices. If the
37460 device ends with a number, append 'p' and the partition number.
37461 Otherwise, append only the partition number.
37462
37463 2008-05-30 Robert Millan <rmh@aybabtu.com>
37464
37465 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
37466 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
37467 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
37468 the `root' parameter to Linux.
37469
37470 2008-05-30 Robert Millan <rmh@aybabtu.com>
37471
37472 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
37473 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
37474 --fs_uuid with --fs-uuid.
37475 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
37476 all filesystems support them).
37477
37478 2008-05-30 Robert Millan <rmh@aybabtu.com>
37479
37480 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
37481 grub_printf() flags, since we're printing in units of 2 bytes.
37482
37483 2008-05-30 Robert Millan <rmh@aybabtu.com>
37484
37485 * util/grub.d/00_header.in: Remove obsolete comment referencing
37486 convert_system_path_to_grub_path().
37487 * util/update-grub.in: Likewise.
37488 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
37489 (convert_system_path_to_grub_path): Add a warning message explaining
37490 that this function is deprecated. Rely on is_path_readable_by_grub()
37491 for the readability checks.
37492 (font_path): Use is_path_readable_by_grub() for the readability
37493 check rather than convert_system_path_to_grub_path().
37494
37495 2008-05-30 Robert Millan <rmh@aybabtu.com>
37496
37497 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
37498 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
37499 converting it first.
37500 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
37501 grub.cfg for access to font file, and afterwards call it again to set
37502 the root device.
37503
37504 2008-05-30 Robert Millan <rmh@aybabtu.com>
37505
37506 * commands/search.c (options): Add --fs_uuid option.
37507 (search_fs_uuid): New function.
37508 (grub_cmd_search): Fix --set argument passing.
37509 Use search_fs_uuid() when requested via --fs_uuid.
37510 (grub_search_init): Update help message.
37511 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
37512 and redeclare it as an array of 16-bit words.
37513 (grub_ext2_uuid): New function.
37514 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
37515 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
37516 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
37517 (GRUB_DEVICE_BOOT_UUID): New variables.
37518 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
37519 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
37520 whenever possible.
37521 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
37522 just assume `root' variable has the right value.
37523 * util/grub.d/10_linux.in: Likewise.
37524 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
37525 via PRINT_FS_UUID.
37526 (main): Recognise `-t fs_uuid' argument.
37527
37528 2008-05-30 Robert Millan <rmh@aybabtu.com>
37529
37530 * util/biosdisk.c (map): Redefine structure to hold information
37531 about GRUB drive name.
37532 (get_drive): Reimplement without assuming (and verifying) BIOS-like
37533 drive names.
37534 (call_hook): Remove.
37535 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
37536 member. Assume drive has partitions.
37537 (grub_util_biosdisk_open): Access device names via `.device' struct
37538 member.
37539 (open_device): Likewise.
37540 (find_drive): Likewise.
37541 (read_device_map): Adjust map[] usage to match the new struct
37542 definition. Don't check for duplicates (still possible, but not cheap
37543 anymore).
37544 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
37545 (make_device_name): Remove assumption of BIOS-like drive names.
37546
37547 2008-05-30 Pavel Roskin <proski@gnu.org>
37548
37549 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
37550 compiling execute.c doesn't need grub_script.tab.h anymore.
37551 (normal/command.c_DEPENDENCIES): Likewise.
37552 (normal/function.c_DEPENDENCIES): Likewise.
37553 * conf/i386-ieee1275.rmk: Likewise.
37554 * conf/i386-linuxbios.rmk: Likewise.
37555 * conf/i386-pc.rmk: Likewise.
37556 * conf/powerpc-ieee1275.rmk: Likewise.
37557 * conf/sparc64-ieee1275.rmk: Likewise.
37558
37559 2008-05-29 Pavel Roskin <proski@gnu.org>
37560
37561 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37562 when scanning metadata for volume group name.
37563
37564 * include/grub/script.h: Don't include grub_script.tab.h. It's
37565 a generated file, which may only be included from the files with
37566 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
37567 use union YYSTYPE, as the later allows forward declaration.
37568 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
37569
37570 2008-05-29 Robert Millan <rmh@aybabtu.com>
37571
37572 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
37573 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
37574 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
37575 (grub_console_checkkey): Add grub_dprintf() call to report unknown
37576 scan codes.
37577
37578 2008-05-29 Robert Millan <rmh@aybabtu.com>
37579
37580 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
37581 control key combinations.
37582
37583 2008-05-29 Robert Millan <rmh@aybabtu.com>
37584
37585 * util/powerpc/ieee1275/grub-install.in: Move from here ...
37586 * util/ieee1275/grub-install.in: ... to here.
37587 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
37588 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
37589 (grub_install_SOURCES): Likewise.
37590
37591 2008-05-29 Robert Millan <rmh@aybabtu.com>
37592
37593 * fs/affs.c: Update copyright year.
37594 * fs/ext2.c: Likewise.
37595 * fs/fshelp.c: Likewise.
37596 * fs/hfsplus.c: Likewise.
37597 * fs/ntfs.c: Likewise.
37598 * fs/xfs.c: Likewise.
37599 * include/grub/fshelp.h: Likewise.
37600 * util/grub-mkdevicemap.c: Likewise.
37601
37602 2008-05-28 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
37605 might need to be fatfs to support some firmware implementations
37606 (e.g. OFW or EFI).
37607
37608 2008-05-28 Robert Millan <rmh@aybabtu.com>
37609
37610 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
37611 devices.
37612 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37613 (make_device_map): Likewise.
37614
37615 2008-05-20 Bean <bean123ch@gmail.com>
37616
37617 * fs/fshelp.c (grub_fshelp_map_block): New function.
37618 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37619 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37620
37621 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37622 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37623 (grub_fshelp_journal): New structure.
37624 (grub_fshelp_map_block): New function prototype.
37625 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37626 (grub_fshelp_map_block): Likewise.
37627
37628 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37629 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37630 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37631 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37632 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37633 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37634 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37635 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37636 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37637 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37638 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37639 (grub_ext2_sblock): New members for journal support.
37640 (grub_ext3_journal_header): New structure.
37641 (grub_ext3_journal_revoke_header): Likewise.
37642 (grub_ext3_journal_block_tag): Likewise.
37643 (grub_ext3_journal_sblock): Likewise.
37644 (grub_fshelp_node): New members logfile and journal.
37645 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37646 grub_fshelp_map_block to get real block number.
37647 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37648 number.
37649 (grub_ext2_read_inode): Likewise.
37650 (grub_ext3_get_journal): New function.
37651 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37652 (grub_ext2_close): Release memory used by journal.
37653
37654 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37655 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37656 (grub_reiserfs_transaction_header): Renamed to
37657 grub_reiserfs_description_block, replace field data with real_blocks.
37658 (grub_reiserfs_commit_block): New structure.
37659 (grub_reiserfs_data): New member journal.
37660 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37661 number.
37662 (grub_reiserfs_read_symlink): Likewise.
37663 (grub_reiserfs_iterate_dir): Likewise.
37664 (grub_reiserfs_open): Likewise.
37665 (grub_reiserfs_read): Likewise.
37666 (grub_reiserfs_get_journal): New function.
37667 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37668 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37669 using grub_reiserfs_get_journal.
37670 (grub_reiserfs_close): Release memory used by journal.
37671
37672 * fs/affs.c (grub_affs_read_block): Change block type to
37673 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37674
37675 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37676
37677 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37678
37679 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37680
37681 * fs/udf.c (grub_udf_read_block): Change block type to
37682 grub_disk_addr_t. Use type cast to avoid warning.
37683
37684 * fs/xfs.c (grub_xfs_read_block): Likewise.
37685
37686 2008-05-16 Christian Franke <franke@computer.org>
37687
37688 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37689 to ensure that break with ESC will always work.
37690 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37691 Remove ESC from keyboard queue.
37692
37693 2008-05-16 Christian Franke <franke@computer.org>
37694
37695 * util/biosdisk.c: [__CYGWIN__] Add includes.
37696 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37697 (get_os_disk): Move variable declarations to OS specific
37698 parts to avoid warning.
37699 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37700 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37701 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37702 Cygwin.
37703 * util/getroot.c: [__CYGWIN__] Add includes.
37704 (strip_extra_slashes): Fix "/" case.
37705 [__CYGWIN__] (get_win32_path): New function.
37706 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37707 [__CYGWIN__] (find_root_device): Disable.
37708 [__CYGWIN__] (get_bootsec_serial): New function.
37709 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37710 [__linux__] (grub_guess_root_device): Add early returns to simplify
37711 structure.
37712 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37713 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37714 check for Linux only.
37715
37716 2008-05-15 Bean <bean123ch@gmail.com>
37717
37718 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37719 keyboard hang problem in apple's intel mac.
37720
37721 2008-05-09 Robert Millan <rmh@aybabtu.com>
37722
37723 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37724 devices.
37725 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37726 (make_device_map): Likewise.
37727 Reported by Aurelien Jarno <aurel32@debian.org>
37728
37729 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
37730
37731 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37732 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37733 (make_device_map): Output entries for xvd type disks.
37734
37735 2008-05-07 Robert Millan <rmh@aybabtu.com>
37736
37737 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37738 devices.
37739 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37740 (make_device_map): Likewise.
37741 Reported by Roland Dreier <rdreier@cisco.com>
37742
37743 2008-05-07 Robert Millan <rmh@aybabtu.com>
37744
37745 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37746 grub_strstr() call. Correct a few mistakes in failure path handling.
37747
37748 2008-05-06 Robert Millan <rmh@aybabtu.com>
37749
37750 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37751 Do not print a trailing slash (therefore, the root directory is an
37752 empty string).
37753 (convert_system_path_to_grub_path): Do not remove trailing slash
37754 from make_system_path_relative_to_its_root() output.
37755
37756 * util/i386/pc/grub-install.in: Add trailing slash to output from
37757 make_system_path_relative_to_its_root().
37758
37759 2008-05-06 Robert Millan <rmh@aybabtu.com>
37760
37761 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37762 ensures that output lines aren't intermangled with those sent to
37763 stderr (via grub_util_info()).
37764 * util/grub-probe.c (grub_refresh): Likewise.
37765 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37766
37767 2008-05-05 Christian Franke <franke@computer.org>
37768
37769 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37770 Add Cygwin device names.
37771 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37772 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37773 (check_device): Return error instead of success on empty name.
37774 (make_device_map): Move label inside linux specific code to
37775 prevent compiler warning.
37776
37777 2008-04-30 Robert Millan <rmh@aybabtu.com>
37778
37779 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37780 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37781 first boot option.
37782 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37783
37784 2008-04-29 Robert Millan <rmh@aybabtu.com>
37785
37786 * docs/grub.cfg: New file (example GRUB configuration).
37787
37788 2008-04-26 Robert Millan <rmh@aybabtu.com>
37789
37790 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37791 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37792 and `disk/ieee1275/nand.c'.
37793
37794 2008-04-25 Bean <bean123ch@gmail.com>
37795
37796 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37797 i386-linuxbios.
37798
37799 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37800 change the buffer size to 4096 for cdrom device.
37801
37802 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37803 and nand.mod.
37804 (_linux_mod_SOURCES): New variable.
37805 (_linux_mod_CFLAGS): Likewise.
37806 (_linux_mod_LDFLAGS): Likewise.
37807 (linux_mod_SOURCES): Likewise.
37808 (linux_mod_CFLAGS): Likewise.
37809 (linux_mod_LDFLAGS): Likewise.
37810 (nand_mod_SOURCES): Likewise.
37811 (nand_mod_CFLAGS): Likewise.
37812 (nand_mod_LDFLAGS): Likewise.
37813
37814 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37815 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37816 type property. (nand device in olpc don't have this property)
37817
37818 * include/grub/disk.h (grub_disk_dev_id): New macro
37819 GRUB_DISK_DEVICE_NAND_ID.
37820
37821 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37822 function prototype.
37823 (grub_rescue_cmd_initrd): Likewise.
37824
37825 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37826 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37827 ofw_cif_handler and ofw_idt, adjust padding number.
37828
37829 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37830 GRUB_MACHINE_IEEE1275 is defined.
37831
37832 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37833 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37834
37835 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37836 on nested function heap_init.
37837 (grub_upper_mem): New variable for i386-ieee1275.
37838 (grub_get_extended_memory): New function for i386-ieee1275.
37839 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37840
37841 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37842 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37843 property.
37844
37845 * loader/i386/ieee1275/linux.c: New file.
37846
37847 * loader/i386/ieee1275/linux_normal.c: New file.
37848
37849 * disk/ieee1275/nand.c: New file.
37850
37851 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37852
37853 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37854 value.
37855 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37856
37857 2008-04-18 Robert Millan <rmh@aybabtu.com>
37858
37859 Restructures early code path on ieee1275 to unify grub_main() as
37860 the first C function that is executed in every platform.
37861
37862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37863 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37864 cmain().
37865 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37866 * kern/ieee1275/cmain.c (cmain): Rename to ...
37867 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37868 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37869 at the beginning.
37870
37871 2008-04-18 Robert Millan <rmh@aybabtu.com>
37872
37873 * util/update-grub.in: Fix syntax error when setting
37874 `GRUB_PRELOAD_MODULES'.
37875 Reported by Stephane Chazelas <stephane@artesyncp.com>
37876
37877 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37878
37879 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37880 section into account, newer toolchains generate unique build ids
37881 * configure.ac: remove the test for --build-id=none acceptance,
37882 we want build ids to be preserved
37883 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37884 far from other sections don't cause the raw binary images grow
37885 size
37886
37887 2008-04-15 Robert Millan <rmh@aybabtu.com>
37888
37889 * disk/lvm.c: Update copyright year.
37890 * kern/misc.c: Likewise.
37891
37892 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37893
37894 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
37895 there is no memory left for physical volume name.
37896
37897 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37898
37899 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37900 volume name mapping to support bigger than 9 character names properly.
37901
37902 2008-04-13 Robert Millan <rmh@aybabtu.com>
37903
37904 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37905 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37906
37907 2008-04-13 Christian Franke <franke@computer.org>
37908
37909 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37910 to create a floppy emulation boot CD when non emulation mode
37911 does not work.
37912 Enable Joliet CD filesystem extension.
37913
37914 2008-04-13 Robert Millan <rmh@aybabtu.com>
37915
37916 * kern/misc.c (grub_strncat): Fix off-by-one error.
37917 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37918
37919 * kern/env.c (grub_env_context_close): Clear current context, not
37920 previous one.
37921 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37922
37923 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37924
37925 2008-04-13 Robert Millan <rmh@aybabtu.com>
37926
37927 Improve robustness when handling LVM.
37928
37929 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
37930 (and leave `*p' unmodified).
37931 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37932 through it.
37933 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37934 iterating through it.
37935 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37936 through it.
37937 (grub_lvm_scan_device): Check the return value (and fail gracefully
37938 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37939 Don't assume `vg->pvs != NULL' when iterating through it.
37940
37941 2008-04-13 Robert Millan <rmh@aybabtu.com>
37942
37943 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37944 * genmk.rb (partmap): New variable.
37945 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37946 (#{partmap}): New target rule.
37947 * genpartmaplist.sh: New file.
37948 * Makefile.in (pkglib_DATA): Add partmap.lst.
37949 (partmap.lst): New target rule.
37950 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37951 modules (including all partition maps), instead of preloading them.
37952
37953 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37954
37955 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37956 `linux-boot-prober' (if installed) to detect other operating
37957 systems which are installed on the computer and add them to
37958 the boot menu.
37959 * conf/common.rmk: Build and install 30_os-prober.
37960
37961 2008-04-12 Robert Millan <rmh@aybabtu.com>
37962
37963 * kern/powerpc/ieee1275/init.c: Move from here ...
37964 * kern/ieee1275/init.c: ... to here. Update all users.
37965
37966 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37967 * kern/ieee1275/cmain.c: ... to here. Update all users.
37968
37969 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37970 * kern/ieee1275/openfw.c: ... to here. Update all users.
37971
37972 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37973 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37974
37975 2008-04-10 Pavel Roskin <proski@gnu.org>
37976
37977 * configure.ac: Always use "_cv_" in cache variables for
37978 compatibility with Autoconf 2.62.
37979
37980 2008-04-07 Robert Millan <rmh@aybabtu.com>
37981
37982 Revert grub/machine/init.h addition by Pavel (since it breaks on
37983 i386-ieee1275 and others):
37984 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37985 * util/powerpc/ieee1275/misc.c: Likewise.
37986
37987 2008-04-07 Robert Millan <rmh@aybabtu.com>
37988
37989 * util/grub-probe.c (probe): Improve error message.
37990
37991 2008-04-07 Robert Millan <rmh@aybabtu.com>
37992
37993 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37994 (this prevents the presence of a bogus entry from ruining the whole
37995 thing).
37996
37997 2008-04-06 Pavel Roskin <proski@gnu.org>
37998
37999 * util/biosdisk.c: Include grub/util/biosdisk.h.
38000 * util/grub-fstest.c (execute_command): Make static.
38001 * util/grub-mkdevicemap.c (check_device): Likewise.
38002 * util/i386/pc/misc.c: Include grub/machine/init.h.
38003 * util/powerpc/ieee1275/misc.c: Likewise.
38004 * util/lvm.c: Include grub/util/lvm.h.
38005 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38006 grub/cache.h.
38007 * util/raid.c: Include grub/util/raid.h.
38008 (grub_util_getdiskname): Make static.
38009
38010 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38011 grub_hostfs_fini(), as they are called from grub_init_all() and
38012 grub_fini_all() respectively. This fixes an infinite loop in
38013 grub-fstest due to double registration of hostfs.
38014 Reported by Christian Franke <Christian.Franke@t-online.de>
38015
38016 2008-04-05 Pavel Roskin <proski@gnu.org>
38017
38018 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38019 all 8 functions. Otherwise, probe function 0 only.
38020
38021 2008-04-04 Pavel Roskin <proski@gnu.org>
38022
38023 * commands/lspci.c (grub_lspci_iter): Print the bus number
38024 correctly.
38025
38026 * commands/lspci.c (grub_pci_classes): Fix typos.
38027 (grub_lspci_iter): Don't print func twice. Print vendor ID
38028 before device ID, as it's normally done.
38029
38030 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38031 Fix signedness warnings.
38032 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38033 Likewise.
38034 * util/ieee1275/get_disk_name.c: Include config.h so that
38035 _GNU_SOURCE is defined and getline() is declared. Mark an
38036 unused argument as such. Fix a signedness warning.
38037
38038 2008-04-02 Pavel Roskin <proski@gnu.org>
38039
38040 * genkernsyms.sh.in: Use more robust assignments for CC and
38041 srcdir. Quote srcdir.
38042 * gensymlist.sh.in: Likewise. Assert at the compile time that
38043 the symbol table is not empty.
38044
38045 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38046 * fs/cpio.c (grub_cpio_read): Likewise.
38047
38048 2008-04-01 Pavel Roskin <proski@gnu.org>
38049
38050 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38051 * disk/host.c (grub_host_open): Likewise.
38052 * disk/loopback.c (grub_loopback_open): Likewise.
38053 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38054 disk->id as in disk/host.c, not a multi-character constant.
38055
38056 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38057 later is obsolete, potentially dangerous and sets a bad example.
38058 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38059 * util/misc.c (grub_util_get_image_size): Likewise.
38060
38061 * disk/loopback.c (options): Improve help for "--partitions".
38062
38063 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38064 options to align them with the short options, e.g. "echo -e".
38065
38066 2008-03-31 Bean <bean123ch@gmail.com>
38067
38068 * video/reader/png.c (grub_png_data): New member is_16bit and
38069 image_data.
38070 (grub_png_decode_image_header): Detect 16 bit png image.
38071 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38072 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38073 (grub_video_reader_png): Release memory occupied by image_data.
38074
38075 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38076 4096 bytes.
38077 (grub_nfs_mount): Skip the test for sector per cluster.
38078
38079 * include/grub/ntfs.h (MAX_SPC): Removed.
38080
38081 2008-03-31 Bean <bean123ch@gmail.com>
38082
38083 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38084 (grub_probe_SOURCES): Add fs/afs.c.
38085 (grub_fstest_SOURCES): Likewise.
38086 (afs_mod_SOURCES): New variable.
38087 (afs_mod_CFLAGS): Likewise.
38088 (afs_mod_LDFLAGS): Likewise.
38089
38090 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38091 (grub_emu_SOURCES): Likewise.
38092
38093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38094
38095 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38096
38097 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38098
38099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38100
38101 * fs/afs.c: New file.
38102
38103 2008-03-30 Pavel Roskin <proski@gnu.org>
38104
38105 * disk/host.c: Include grub/misc.h to fix a warning.
38106 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38107 warnings about implicit declarations.
38108
38109 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38110 variable.
38111 * include/grub/i386/loader.h: Change declaration of
38112 grub_linux_boot() to match what grub_loader_set() expects.
38113 * util/getroot.c (grub_guess_root_device): Return const char* to
38114 fix a warning.
38115 * util/grub-probe.c (probe): Fix a warning about uninitialized
38116 abstraction_name variable.
38117 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38118 second argument as unused to fix a warning.
38119
38120 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38121 missing grub_error() call.
38122
38123 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38124 2.60 and newer uses it to define datadir.
38125
38126 * commands/sleep.c: Fix warning about implicit declaration.
38127 * disk/memdisk.c: Likewise.
38128 * loader/aout.c: Likewise.
38129 * loader/i386/bsd_normal.c: Likewise.
38130 * util/grub-probe.c: Likewise.
38131
38132 * commands/i386/cpuid.c (has_longmode): Make static.
38133 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38134 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38135
38136 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38137 GDT. This is more robust, as %ds can change.
38138 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38139 calling real_to_prot().
38140 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38141
38142 2008-03-28 Pavel Roskin <proski@gnu.org>
38143
38144 * kern/i386/pc/startup.S: Assert that uncompressed functions
38145 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38146 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38147 code, as they push parts of the code (error handlers) beyond
38148 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38149 code as correctness and size.
38150
38151 2008-03-28 Pavel Roskin <proski@gnu.org>
38152
38153 * kern/i386/pc/startup.S
38154 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38155 data block address to the real mode, keep offset minimal. This
38156 works around a bug in AWARD BIOS on old Athlon systems, which
38157 makes CD detection hang.
38158
38159 2008-03-26 Pavel Roskin <proski@gnu.org>
38160
38161 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38162 const.
38163 * include/grub/normal.h: Add grub_parse_color_name_pair()
38164 declaration.
38165
38166 2008-03-24 Bean <bean123ch@gmail.com>
38167
38168 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38169 (cd_count): Removed.
38170 (cd_drive): New variable.
38171 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38172 (grub_biosdisk_call_hook): Likewise.
38173 (grub_biosdisk_iterate): Change cdrom detection method.
38174 (grub_biosdisk_open): Replace cd_start with cd_drive.
38175 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38176 detect cdrom device.
38177
38178 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38179 Removed.
38180 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38181 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38182 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38183 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38184 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38185 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38186 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38187 (grub_biosdisk_cdrp): New structure.
38188 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38189
38190 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38191
38192 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38193 device.
38194
38195 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38196 New function.
38197
38198 2008-03-20 Robert Millan <rmh@aybabtu.com>
38199
38200 Remove 2 TiB limit in ata.mod.
38201 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38202 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38203 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38204 grub_uint64_t instead of grub_uint32_t.
38205
38206 2008-03-05 Bean <bean123ch@gmail.com>
38207
38208 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38209 (grub_multiboot): Set boot device.
38210
38211 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38212
38213 2008-03-02 Bean <bean123ch@gmail.com>
38214
38215 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38216 symlink_buffer.
38217
38218 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38219
38220 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38221 texinfo.tex.
38222
38223 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38224 modified.
38225
38226 * docs/fdl.texi: New file.
38227
38228 * docs/mdate-sh: New file. Copied from gnulib.
38229 * docs/texinfo.tex: Likewise.
38230
38231 * config.guess: Updated from gnulib.
38232 * install-sh: Likewise.
38233
38234 2008-02-28 Robert Millan <rmh@aybabtu.com>
38235
38236 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38237 (aout_mod_SOURCES): New variable.
38238 (aout_mod_CFLAGS): Likewise.
38239 (aout_mod_LDFLAGS): Likewise.
38240
38241 * conf/i386-ieee1275.rmk: Likewise.
38242
38243 2008-02-28 Robert Millan <rmh@aybabtu.com>
38244
38245 * util/update-grub.in: Reorganise terminal validity check. Accept
38246 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38247 Based on suggestion by Franklin PIAT.
38248
38249 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38250
38251 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38252 function.
38253 * util/getroot.c (grub_util_check_block_device): New function that
38254 returns the given argument if it is a block device and returns NULL else.
38255 * util/grub-probe.c (argument_is_device): New variable.
38256 (probe): Promote device_name from a variable to an argument. Receive
38257 device_name from grub_util_check_block_device() if path is NULL and from
38258 grub_guess_root_device() else. Do not free() device_name anymore.
38259 (options): Introduce new parameter '-d, --device'.
38260 (main): Add description of the new parameter to the help screen.
38261 Rename path variable to argument. Set argument_is_device if the '-d'
38262 option is given. Pass argument to probe() depending on
38263 argument_is_device.
38264
38265 2008-02-24 Bean <bean123ch@gmail.com>
38266
38267 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38268 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38269 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38270 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38271 (GRUB_ISO9660_VOLDESC_END): Likewise.
38272 (grub_iso9660_primary_voldesc): New member escape.
38273 (grub_iso9660_data): New member joliet.
38274 (grub_iso9660_convert_string): New function.
38275 (grub_iso9660_mount): Detect joliet extension.
38276 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38277 (grub_iso9660_iso9660_label): Likewise.
38278
38279 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38280 (grub_setup_SOURCES): Add fs/udf.c.
38281 (grub_fstest_SOURCES): Likewise.
38282 (udf_mod_SOURCES): New variable.
38283 (udf_mod_CFLAGS): Likewise.
38284 (udf_mod_LDFLAGS): Likewise.
38285
38286 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38287 (grub_emu_SOURCES): Likewise.
38288
38289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38290
38291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38292
38293 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38294
38295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38296
38297 * fs/udf.c: New file.
38298
38299 2008-02-24 Robert Millan <rmh@aybabtu.com>
38300
38301 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38302 (normal/lexer.c_DEPENDENCIES): New variables.
38303 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38304 (normal/lexer.c_DEPENDENCIES): Likewise.
38305 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38306 (normal/lexer.c_DEPENDENCIES): Likewise.
38307 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38308 (normal/lexer.c_DEPENDENCIES): Likewise.
38309 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38310 (normal/lexer.c_DEPENDENCIES): Likewise.
38311 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38312 (normal/lexer.c_DEPENDENCIES): Likewise.
38313
38314 2008-02-23 Robert Millan <rmh@aybabtu.com>
38315
38316 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38317 since they were intended to be in hex. This didn't break previously
38318 because of a bug in gpt_partition_map_iterate() (see below).
38319
38320 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38321 when checking the validity of GPT header.
38322 Remove `partno', since it always provides the same information as `i'.
38323
38324 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38325
38326 * include/grub/efi/time.h: Fix a wrong comment.
38327
38328 2008-02-19 Pavel Roskin <proski@gnu.org>
38329
38330 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38331 message.
38332
38333 2008-02-19 Bean <bean123ch@gmail.com>
38334
38335 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38336 (aout_mod_SOURCES): New variable.
38337 (aout_mod_CFLAGS): Likewise.
38338 (aout_mod_LDFLAGS): Likewise.
38339 (_bsd_mod_SOURCES): New variable.
38340 (_bsd_mod_CFLAGS): Likewise.
38341 (_bsd_mod_LDFLAGS): Likewise.
38342 (bsd_mod_SOURCES): New variable.
38343 (bsd_mod_CFLAGS): Likewise.
38344 (bsd_mod_LDFLAGS): Likewise.
38345
38346 * include/grub/aout.h: New file.
38347
38348 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38349
38350 * include/grub/i386/bsd.h: New file.
38351
38352 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38353 to make it public.
38354
38355 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38356 function is called, so that it's possible to change it inside the hook.
38357 (grub_elf64_load): Likewise.
38358 (grub_elf_file): Don't close the file if elf header is not found.
38359 (grub_elf_close): Close the file if grub_elf_file fails (The new
38360 grub_elf_file won't close it).
38361 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38362 (grub_elf64_size): Likewise.
38363
38364 * kern/i386/loader.S (grub_unix_real_boot): New function.
38365
38366 * loader/aout.c: New file.
38367
38368 * loader/i386/bsd.c: New file.
38369
38370 * loader/i386/bsd_normal.c: New file.
38371
38372 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38373
38374 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
38375 can test other formats.
38376
38377 2008-02-19 Robert Millan <rmh@aybabtu.com>
38378
38379 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38380 (grub_gpt_partition_type_empty): Redefine with macro from
38381 `<grub/gpt_partition.h>'.
38382 (gpt_partition_map_iterate): Adjust partition type comparison.
38383
38384 Export `entry' as partmap-specific `part.data' struct.
38385 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38386
38387 * include/grub/gpt_partition.h (grub_gpt_header)
38388 (grub_gpt_partentry): ... to here (new file).
38389
38390 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38391
38392 (grub_gpt_partition_type_bios_boot): New const variable, defined
38393 with macro from `<grub/gpt_partition.h>'.
38394
38395 (setup): Replace `first_start' with `embed_region', which keeps
38396 track of the embed region (and is partmap-agnostic).
38397
38398 Replace find_first_partition_start() with find_usable_region(),
38399 which finds a usable region for embedding using partmap-specific
38400 knowledge (supports PC/MSDOS and GPT).
38401
38402 Fix all assumptions that the embed region start at sector 1, using
38403 `embed_region.start' from now on. Similarly, use `embed_region.end'
38404 rather than `first_start' to calculate available size.
38405
38406 In grub_util_info() message, replace "into after the MBR" with an
38407 indication of the specific sector our embed region starts at.
38408
38409 2008-02-19 Robert Millan <rmh@aybabtu.com>
38410
38411 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38412 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38413 `commands/reboot.c'.
38414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38415 (halt_mod_SOURCES): Likewise.
38416 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38417 (halt_mod_SOURCES): Likewise.
38418
38419 2008-02-17 Christian Franke <franke@computer.org>
38420
38421 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38422
38423 2008-02-17 Robert Millan <rmh@aybabtu.com>
38424
38425 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38426 set `first_start' to 0 for non-PC/MSDOS partition maps.
38427
38428 2008-02-16 Robert Millan <rmh@aybabtu.com>
38429
38430 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38431 do not assume partition map is PC/MSDOS before performing checks that
38432 are specific to that layout.
38433
38434 2008-02-13 Robert Millan <rmh@aybabtu.com>
38435
38436 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38437 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38438 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38439
38440 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38441
38442 * configure.ac: Only a cosmetic change on the handling of
38443 -fno-stack-protector.
38444
38445 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
38446
38447 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38448 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38449 reboot.c.
38450 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38451 (halt_mod_SOURCES): New variable.
38452 (halt_mod_CFLAGS): Likewise.
38453 (halt_mod_LDFLAGS): Likewise.
38454 (reboot_mod_SOURCES): Likewise.
38455 (reboot_mod_CFLAGS): Likewise.
38456 (reboot_mod_LDFLAGS): Likewise.
38457
38458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
38459 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
38460 reboot.c.
38461 (halt_mod_SOURCES): Likewise.
38462 (reboot_mod_SOURCES): Likewise.
38463
38464 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
38465 commands/i386/pc/reboot.c by commands/reboot.c.
38466 (reboot_mod_SOURCES): Likewise.
38467
38468 * commands/i386/pc/reboot.c: merge this file ...
38469
38470 * commands/ieee1275/reboot.c: ... and this file ...
38471
38472 * commands/reboot.c: ... to this file.
38473 Add some precompiler directive to include the correct header for
38474 each machine.
38475
38476 * commands/ieee1275/halt.c: move this file ...
38477
38478 * commands/halt.c: ... to here.
38479 Add some precompiler directive to include the correct header for
38480 each machine.
38481
38482 * include/grub/efi/efi.h (grub_reboot): New function declaration.
38483 (grub_halt): Likewise.
38484
38485 * kern/efi/efi.c (grub_reboot): New function.
38486 (grub_halt): Likewise.
38487
38488 2008-02-12 Robert Millan <rmh@aybabtu.com>
38489
38490 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
38491 /dev (like it is done for /dev/mapper). This doesn't provide support
38492 for EVMS, but at least it is now easy to identify the problem when it
38493 arises.
38494
38495 2008-02-11 Robert Millan <rmh@aybabtu.com>
38496
38497 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
38498 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
38499 comparing it with -1, not 0.
38500
38501 2008-02-10 Robert Millan <rmh@aybabtu.com>
38502
38503 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
38504 `disk/lvm.c'.
38505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38506 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
38507
38508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
38509 `disk/lvm.c' to the end of the list.
38510 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38511 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38512
38513 2008-02-10 Robert Millan <rmh@aybabtu.com>
38514
38515 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
38516 grub_print_error() instead. This will let user know why we're entering
38517 rescue mode.
38518 Based on suggestions from Sam Morris.
38519
38520 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
38521
38522 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
38523 on remaining N args, instead of "--" arg N times.
38524
38525 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
38526
38527 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
38528 (fill_with_default_glyph): Changed to use unknown_glyph for fill
38529 pattern for unknown glyphs.
38530
38531 2008-02-09 Robert Millan <rmh@aybabtu.com>
38532
38533 * configure.ac: Probe for `help2man'.
38534 * Makefile.in (builddir): New variable.
38535 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
38536 or otherwise add a few flags/options to it.
38537 (install-local): For every executable utility or script that is
38538 installed, invoke $(HELP2MAN) to install a manpage based on --help
38539 output.
38540
38541 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
38542 that it doesn't prevent --help from working in build tree.
38543
38544 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
38545 with `bug-grub@gnu.org'.
38546 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
38547 * util/update-grub.in (usage): New function.
38548 Implement proper argument check, with support for --help and --version
38549 (as well as existing -y).
38550
38551 2008-02-09 Christian Franke <franke@computer.org>
38552
38553 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
38554 avoid overwriting previous output.
38555 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38556
38557 2008-02-09 Robert Millan <rmh@aybabtu.com>
38558
38559 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38560 drawing the menu.
38561
38562 2008-02-09 Robert Millan <rmh@aybabtu.com>
38563
38564 * commands/sleep.c: New file.
38565 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
38566 (sleep_mod_SOURCES): New variable.
38567 (sleep_mod_CFLAGS): Likewise.
38568 (sleep_mod_LDFLAGS): Likewise.
38569
38570 2008-02-09 Robert Millan <rmh@aybabtu.com>
38571
38572 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
38573 situations in which we can deduce the RAID size and the superblock
38574 doesn't match it.
38575
38576 2008-02-09 Robert Millan <rmh@aybabtu.com>
38577
38578 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
38579 and return a grub_diskmemberlist_t composed of LVM physical volumes.
38580 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
38581
38582 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
38583 and return a grub_diskmemberlist_t composed of physical array members.
38584 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
38585
38586 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
38587 prototype.
38588 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
38589 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
38590 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
38591
38592 * util/grub-probe.c (probe): Move partmap probing code from here ...
38593 (probe_partmap): ... to here.
38594 (probe): Use probe_partmap() once for the disk we're probing, and
38595 additionally, when such disk contains a memberlist() struct member,
38596 once for each disk that is contained in the structure returned by
38597 memberlist().
38598
38599 2008-02-09 Robert Millan <rmh@aybabtu.com>
38600
38601 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
38602 environment variable to 'all' in order to obtain debug output from
38603 non-util/ code.
38604 * util/i386/pc/grub-setup.c (main): Likewise.
38605
38606 2008-02-08 Robert Millan <rmh@aybabtu.com>
38607
38608 * disk/raid.c (grub_raid_scan_device): Check for
38609 `array->device[sb.this_disk.number]' rather than for
38610 `array->device[sb.this_disk.number]->name', since the latter is not
38611 guaranteed to be accessible.
38612
38613 2008-02-08 Robert Millan <rmh@aybabtu.com>
38614
38615 * disk/raid.c: Update copyright.
38616 * fs/cpio.c: Likewise.
38617 * include/grub/raid.h: Likewise.
38618 * loader/i386/pc/multiboot.c: Likewise.
38619 * util/hostfs.c: Likewise.
38620
38621 2008-02-08 Robert Millan <rmh@aybabtu.com>
38622
38623 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38624 to a grub_disk_t array.
38625 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38626 `device[x]'.
38627 (grub_raid_scan_device): Replace `device[x].name' accesses with
38628 `device[x]->name'. Simplify initialization of `array->device[x]'.
38629
38630 2008-02-08 Robert Millan <rmh@aybabtu.com>
38631
38632 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38633 grub_dprintf() calls.
38634 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38635 error message.
38636
38637 2008-02-07 Christian Franke <franke@computer.org>
38638
38639 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38640 instead of fseek and ftell to support large files.
38641 (grub_hostfs_read): Likewise.
38642
38643 2008-02-07 Robert Millan <rmh@aybabtu.com>
38644
38645 Patch from Jeroen Dekkers.
38646 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
38647 failure, since successfully reading all array members might not be
38648 required.
38649
38650 2008-02-06 Robert Millan <rmh@aybabtu.com>
38651
38652 * util/grub-probe.c (probe): Simplify partmap probing (with the
38653 assumption that the first word up to the underscore equals to
38654 the module name).
38655
38656 2008-02-06 Christian Franke <franke@computer.org>
38657
38658 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38659 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38660 last block of a cpio or tar stream.
38661 Check for "TRAILER!!!" instead of any empty data
38662 block to detect last block of a cpio stream.
38663 (grub_cpio_dir): Fix constness of variable np.
38664 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38665 cpio or tar trailer is detected. This fixes a crash
38666 on open of a non existing file.
38667
38668 2008-02-05 Bean <bean123ch@gmail.com>
38669
38670 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38671 address of entry.
38672 (grub_multiboot_load_elf64): Likewise.
38673 (grub_multiboot): Initialize mbi structure.
38674
38675 * util/grub-fstest.c: Don't include unused header file script.h.
38676
38677 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
38678 of file.
38679 (grub_fstest_SOURCES): Likewise.
38680
38681 2008-02-05 Robert Millan <rmh@aybabtu.com>
38682
38683 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38684 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38685 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38686 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38687
38688 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38689 (translation_table): Replace hardcoded values with macros
38690 provided by `<grub/term.h>'.
38691
38692 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38693 (keyboard_map): Correct/add a few values, with macros provided
38694 by `<grub/term.h>'.
38695 (keyboard_map_shift): Zero values that don't differ from their
38696 `keyboard_map' equivalents.
38697 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38698 Discard the second scan code that is always sent by Caps lock.
38699 Only use `keyboard_map_shift' when it provides a non-zero value,
38700 otherwise fallback to `keyboard_map'.
38701
38702 2008-02-04 Bean <bean123ch@gmail.com>
38703
38704 * Makefile.in (enable_grub_fstest): New variable.
38705
38706 * conf/common.rmk (grub_fstest_init.lst): New rule.
38707 (grub_fstest_init.h): Likewise.
38708 (grub_fstest_init.c): Likewise.
38709 (util/grub-fstest.c_DEPENDENCIES): New variable.
38710 (grub_fstest_SOURCES): Likewise.
38711
38712 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38713
38714 * util/grub-fstest.c: New file.
38715
38716 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38717
38718 Make grub-setup handle a separate root device.
38719
38720 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38721 so that the root device can be compared with the destination
38722 device.
38723 When embedding the core image, if the root and destination devices
38724 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38725 0xFF.
38726 When not embedding, set ROOT_DRIVE to 0xFF.
38727
38728 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38729
38730 Add support for having a grub directory in a different drive. This
38731 is still only the data handling part.
38732
38733 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38734 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38735 (grub_root_drive): New variable.
38736
38737 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38738 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38739 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38740 as it was.
38741
38742 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38743
38744 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38745 macro.
38746 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38747
38748 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38749 is bogus, because PXE booting does not specify any drive
38750 correctly.
38751
38752 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38753 am not sure if this is really correct.
38754
38755 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38756 is always identical to the boot drive when booting from a CD.
38757
38758 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38759 longer.
38760 (root_drive): New variable.
38761 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38762 (setup_sectors): Push %dx right after popping it, because %dh will
38763 be modified later.
38764 (copy_buffer): Restore %dx.
38765
38766 2008-02-03 Robert Millan <rmh@aybabtu.com>
38767
38768 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38769 use `cdboot.img' for cdrom images.
38770
38771 2008-02-03 Robert Millan <rmh@aybabtu.com>
38772
38773 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38774 only setup gfxterm when `font' command has succeeded.
38775
38776 2008-02-03 Robert Millan <rmh@aybabtu.com>
38777
38778 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38779 (grub_rescue_cmd_multiboot_loader)
38780 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38781
38782 2008-02-03 Pavel Roskin <proski@gnu.org>
38783
38784 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
38785 %edx and %esi from stack only after grub_gate_a20() is called.
38786 grub_gate_a20() clobbers %edx.
38787
38788 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38789
38790 * configure.ac (AC_INIT): Bumped to 1.96.
38791
38792 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38793 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38794 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38795 video/readers/png.c.
38796
38797 2008-02-03 Bean <bean123ch@gmail.com>
38798
38799 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38800 (cdboot_img_SOURCES): New variable.
38801 (cdboot_img_ASFLAGS): New variable.
38802 (cdboot_img_LDFLAGS): New variable.
38803
38804 * boot/i386/pc/cdboot.S: New file.
38805
38806 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38807 (cd_count): Likewise.
38808 (grub_biosdisk_get_drive): Add support for cd device.
38809 (grub_biosdisk_call_hook): Likewise.
38810 (grub_biosdisk_iterate): Likewise.
38811 (grub_biosdisk_open): Likewise.
38812 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38813 (grub_biosdisk_rw): Support reading from cd device.
38814 (GRUB_MOD_INIT): Iterate cd devices.
38815
38816 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38817 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38818 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38819
38820 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38821
38822 2008-02-02 Robert Millan <rmh@aybabtu.com>
38823
38824 * commands/read.c: New file.
38825 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38826 (read_mod_SOURCES): New variable.
38827 (read_mod_CFLAGS): Likewise.
38828 (read_mod_LDFLAGS): Likewise.
38829
38830 2008-02-02 Robert Millan <rmh@aybabtu.com>
38831
38832 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38833 determining whether menu has to be displayed.
38834
38835 2008-02-02 Marco Gerards <marco@gnu.org>
38836
38837 * bus/pci.c: New file.
38838
38839 * include/grub/pci.h: Likewise.
38840
38841 * include/grub/i386/pc/pci.h: Likewise.
38842
38843 * commands/lspci.c: Likewise.
38844
38845 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38846 `lspci.mod'.
38847 (pci_mod_SOURCES): New variable.
38848 (pci_mod_CFLAGS): Likewise.
38849 (pci_mod_LDFLAGS): Likewise.
38850 (lspci_mod_SOURCES): Likewise.
38851 (lspci_mod_CFLAGS): Likewise.
38852 (lspci_mod_LDFLAGS): Likewise.
38853
38854 2008-02-02 Bean <bean123ch@gmail.com>
38855
38856 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38857 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38858
38859 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38860 (grub_xfs_btree_node): New structure.
38861 (grub_xfs_btree_root): New structure.
38862 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38863 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38864 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38865 (GRUB_XFS_EXTENT_SIZE): Likewise.
38866 (grub_xfs_read_block): Support btree format type.
38867 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38868 Use directory block as basic unit.
38869
38870 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38871
38872 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38873 __attribute__ ((__regparm__ (1))).
38874
38875 2008-02-01 Robert Millan <rmh@aybabtu.com>
38876
38877 Correct a mistake in previous commit.
38878
38879 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38880 top.
38881 (normal/command.c_DEPENDENCIES): New variable.
38882
38883 2008-02-01 Robert Millan <rmh@aybabtu.com>
38884
38885 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38886 top.
38887 (normal/command.c_DEPENDENCIES): New variable.
38888 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38889 * conf/i386-ieee1275.rmk: Likewise.
38890 * conf/i386-linuxbios.rmk: Likewise.
38891 * conf/i386-pc.rmk: Likewise.
38892 * conf/sparc64-ieee1275.rmk: Likewise.
38893 * conf/powerpc-ieee1275.rmk: Likewise.
38894 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38895
38896 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38897
38898 2008-02-01 Robert Millan <rmh@aybabtu.com>
38899
38900 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38901 call at beginning of function.
38902
38903 2008-01-31 Pavel Roskin <proski@gnu.org>
38904
38905 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
38906 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38907 (grub_mkrescue_SOURCES): Likewise.
38908 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38909
38910 2008-01-30 Robert Millan <rmh@aybabtu.com>
38911
38912 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38913 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38914 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38915 (grub_probe_SOURCES): ... to here.
38916
38917 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38918 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38919 * conf/i386-ieee1275.rmk: Likewise.
38920 * conf/i386-linuxbios.rmk: Likewise.
38921 * conf/powerpc-ieee1275.rmk: Likewise.
38922
38923 2008-01-30 Tristan Gingold <gingold@free.fr>
38924
38925 * kern/rescue.c: Silently accept empty lines.
38926
38927 2008-01-29 Bean <bean123ch@gmail.com>
38928
38929 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38930 (real_code_2): Code cleanup and change comment style.
38931 (move_memory): Avoid using 32-bit address mode.
38932
38933 2008-01-29 Bean <bean123ch@gmail.com>
38934
38935 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38936 (png_mod_SOURCES): New variable.
38937 (png_mod_CFLAGS): Likewise.
38938 (png_mod_LDFLAGS): Likewise.
38939
38940 * video/readers/png.c: New file.
38941
38942 2008-01-28 Robert Millan <rmh@aybabtu.com>
38943
38944 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38945 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38946 `ifndef GRUB_MOD_GAP' hack.
38947 * util/elf/grub-mkimage.c (add_segments): Likewise.
38948
38949 2008-01-27 Robert Millan <rmh@aybabtu.com>
38950
38951 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38952 `GRUB_MOD_GAP' for platforms in which it's not defined.
38953 * util/elf/grub-mkimage.c (add_segments): Likewise.
38954
38955 2008-01-27 Robert Millan <rmh@aybabtu.com>
38956
38957 Get grub-emu to build again (including parallel builds).
38958
38959 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38960 Split into ...
38961 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38962 (normal/execute.c_DEPENDENCIES): ... this, ...
38963 (grub-emu_DEPENDENCIES): ... and this.
38964
38965 * conf/i386-efi.rmk: Likewise.
38966 * conf/i386-linuxbios.rmk: Likewise.
38967 * conf/i386-ieee1275.rmk: Likewise.
38968 * conf/powerpc-ieee1275.rmk: Likewise.
38969 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38970
38971 2008-01-27 Robert Millan <rmh@aybabtu.com>
38972
38973 * NEWS: Add a few items.
38974
38975 2008-01-27 Robert Millan <rmh@aybabtu.com>
38976
38977 Fix parallel builds with grub-emu. Based on earlier commit for
38978 grub-probe and grub-setup.
38979
38980 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38981 (util/grub-emu.c_DEPENDENCIES): ... this.
38982 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38983 (util/grub-emu.c_DEPENDENCIES): ... this.
38984 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38985 (util/grub-emu.c_DEPENDENCIES): ... this.
38986 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38987 (util/grub-emu.c_DEPENDENCIES): ... this.
38988 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38989 (util/grub-emu.c_DEPENDENCIES): ... this.
38990
38991 2008-01-27 Pavel Roskin <proski@gnu.org>
38992
38993 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38994 to create a gap between _end and the modules added to the image
38995 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38996 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38997 * util/elf/grub-mkimage.c (add_segments): Likewise.
38998
38999 2008-01-26 Pavel Roskin <proski@gnu.org>
39000
39001 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39002 just return an error.
39003
39004 2008-01-26 Bean <bean123ch@gmail.com>
39005
39006 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39007 (grub_reiserfs_get_item): Save offset of the next item.
39008 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39009
39010 2008-01-25 Robert Millan <rmh@aybabtu.com>
39011
39012 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39013 make all filesystem sources appear together (possibly fixing omissions
39014 while at it).
39015 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39016 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39017 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39019
39020 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39021 add `kern/file.c'.
39022 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39023 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39024 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39025 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39026
39027 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39028 (probe): Add a sanity check to make sure of our ability to read
39029 requested files when probing for filesystem type.
39030
39031 * genmk.rb: Update copyright year (2007).
39032
39033 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39034 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39035 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39036 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39037 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39038 : Remove function prototypes.
39039
39040 2008-01-25 Robert Millan <rmh@aybabtu.com>
39041
39042 Revert my previous commits (based on wrong assumption of how grub_errno
39043 works).
39044
39045 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
39046 * kern/file.c (grub_file_open): Likewise.
39047
39048 2008-01-24 Pavel Roskin <proski@gnu.org>
39049
39050 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39051 that hang if GRUB tries to setup colors.
39052 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39053 colors for firmwares that don't support it.
39054 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39055 Recognize Open Hack'Ware, set flags to work around its
39056 limitations.
39057
39058 2008-01-24 Robert Millan <rmh@aybabtu.com>
39059
39060 * kern/file.c (grub_file_open): Do not account previous failures of
39061 unrelated functions when grub_errno is checked for.
39062 Reported by Oleg Strikov.
39063
39064 2008-01-24 Bean <bean123ch@gmail.com>
39065
39066 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39067 (grub_ufs_sblock): New member volume name.
39068 (grub_ufs_find_file): Fix string copy bug.
39069 (grub_ufs_label): Implement this function properly.
39070
39071 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39072 (grub_hfs_iterate_records): Use the correct file number for extents
39073 and catalog file. Fix problem in next index calculation.
39074 (grub_hfs_find_node): Replace recursive function call with loop.
39075 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39076
39077 2008-01-23 Robert Millan <rmh@aybabtu.com>
39078
39079 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39080 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39081 (grub_multiboot2_real_boot): New function prototype.
39082
39083 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39084 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39085
39086 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39087 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39088
39089 2008-01-23 Robert Millan <rmh@aybabtu.com>
39090
39091 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39092 #ifdef'ed out grub_printf().
39093
39094 2008-01-23 Robert Millan <rmh@aybabtu.com>
39095
39096 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39097 grub_dprintf calls, since they make "debug=all" mode unusable.
39098 (grub_console_checkkey): Likewise.
39099
39100 2008-01-23 Robert Millan <rmh@aybabtu.com>
39101
39102 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39103 `term/i386/pc/at_keyboard.c'.
39104 (pkglib_MODULES): Add `serial.mod'.
39105 (serial_mod_SOURCES): New variable.
39106 (serial_mod_CFLAGS): Likewise.
39107 (serial_mod_LDFLAGS): Likewise.
39108
39109 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39110 `<grub/powerpc/ieee1275/console.h>'.
39111 (grub_keyboard_controller_init): New function prototype.
39112 (grub_console_checkkey): Likewise.
39113 (grub_console_getkey): Likewise.
39114
39115 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39116 keyboard on i386.
39117
39118 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39119 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39120
39121 2008-01-23 Robert Millan <rmh@aybabtu.com>
39122
39123 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39124 present, "(memdisk)/boot/grub" becomes the default prefix.
39125
39126 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39127 a memdisk tarball with all the modules. Add --overlay=DIR option that
39128 allows users to overlay additional files into the image.
39129
39130 2008-01-23 Robert Millan <rmh@aybabtu.com>
39131
39132 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39133 and `machine/memory.h'.
39134 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39135 (_multiboot_mod_SOURCES): New variable.
39136 (_multiboot_mod_CFLAGS): Likewise.
39137 (_multiboot_mod_LDFLAGS): Likewise.
39138 (multiboot_mod_SOURCES): Likewise.
39139 (multiboot_mod_CFLAGS): Likewise.
39140 (multiboot_mod_LDFLAGS): Likewise.
39141
39142 * include/grub/i386/ieee1275/loader.h: New file.
39143
39144 * include/grub/i386/ieee1275/machine.h: Likewise.
39145
39146 * include/grub/i386/ieee1275/memory.h: Likewise.
39147
39148 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39149 variable declaration.
39150 (grub_os_area_size): Likewise.
39151
39152 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39153 (grub_lower_mem, grub_upper_mem): New variables.
39154 (grub_stop_floppy): New function (just to make
39155 grub_multiboot2_real_boot() happy).
39156
39157 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39158 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39159 (grub_stop): New function.
39160 Include `"../realmode.S"' and `"../loader.S"'.
39161
39162 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39163 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39164
39165 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39166 rely on grub_multiboot2_real_boot() for final boot.
39167
39168 2008-01-22 Robert Millan <rmh@aybabtu.com>
39169
39170 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39171 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39172 device that doesn't look like an SD card.
39173 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39174 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39175 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39176 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39177 found.
39178
39179 2008-01-22 Robert Millan <rmh@aybabtu.com>
39180
39181 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39182 avoid claiming over our own code.
39183
39184 2008-01-22 Bean <bean123ch@gmail.com>
39185
39186 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39187 (jpeg_mod_SOURCES): New variable.
39188 (jpeg_mod_CFLAGS): Likewise.
39189 (jpeg_mod_LDFLAGS): Likewise.
39190
39191 * video/readers/jpeg.c : New file.
39192
39193 2008-01-22 Bean <bean123ch@gmail.com>
39194
39195 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39196 there are no more items.
39197
39198 2008-01-21 Robert Millan <rmh@aybabtu.com>
39199
39200 * kern/mm.c (grub_mm_init_region): Improve debug message.
39201
39202 2008-01-21 Robert Millan <rmh@aybabtu.com>
39203
39204 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39205 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39206 address.
39207 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39208 a C macro.
39209 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39210 Indicates start of upper memory.
39211 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39212 (generate_image): Abort when image size is big enough to corrupt
39213 upper memory.
39214
39215 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39216 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39217 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39218 instead of hardcoding 0xA0000.
39219 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39220 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39221 instead of hardcoding 0xA0000.
39222
39223 2008-01-21 Robert Millan <rmh@aybabtu.com>
39224
39225 * disk/memdisk.c (memdisk_size): New variable.
39226 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39227 `memdisk_size'.
39228 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39229 image to dynamic memory.
39230 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39231 `memdisk_size'. Free memdisk block.
39232
39233 2008-01-21 Robert Millan <rmh@aybabtu.com>
39234
39235 Fix detection of very small filesystems (like tar).
39236
39237 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39238 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39239 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39240 a problem with this disk).
39241
39242 2008-01-21 Robert Millan <rmh@aybabtu.com>
39243
39244 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39245 on grub_biosdisk_rw_standard() error.
39246
39247 2008-01-21 Robert Millan <rmh@aybabtu.com>
39248
39249 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39250 recent changes.
39251 * kern/elf.c: Likewise.
39252 * kern/ieee1275/ieee1275.c: Likewise.
39253 * kern/powerpc/ieee1275/openfw.c: Likewise.
39254 * term/ieee1275/ofconsole.c: Likewise.
39255
39256 2008-01-21 Robert Millan <rmh@aybabtu.com>
39257
39258 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39259
39260 * include/grub/kernel.h (grub_arch_memdisk_addr)
39261 (grub_arch_memdisk_size): Moved from here ...
39262
39263 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39264 (grub_arch_memdisk_size): ... to here.
39265
39266 2008-01-21 Robert Millan <rmh@aybabtu.com>
39267
39268 Mostly based on bugfix from Bean.
39269
39270 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39271 attribute with hook() parameter.
39272 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39273 declaration.
39274 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39275 attribute with hook() parameter.
39276 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39277 declaration.
39278
39279 2008-01-21 Robert Millan <rmh@aybabtu.com>
39280
39281 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39282 (pkglib_MODULES): Add `memdisk.mod'.
39283 (memdisk_mod_SOURCES): New variable.
39284 (memdisk_mod_CFLAGS): Likewise.
39285 (memdisk_mod_LDFLAGS): Likewise.
39286
39287 * disk/memdisk.c: New file.
39288
39289 * include/grub/disk.h (grub_disk_dev_id): Add
39290 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39291
39292 * include/grub/i386/pc/kernel.h
39293 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39294 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39295 (grub_kernel_image_size): New variable declaration.
39296 (grub_total_module_size): Likewise.
39297 (grub_memdisk_image_size): Likewise.
39298
39299 * include/grub/i386/pc/memory.h
39300 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39301
39302 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39303 (grub_arch_memdisk_addr): New variable declaration.
39304 (grub_arch_memdisk_size): Likewise.
39305
39306 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39307 (grub_arch_memdisk_size): Likewise.
39308
39309 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39310 (codestart): Replace hardcoded `0x100000' with
39311 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39312
39313 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39314 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39315 not NULL, append the contents of the file it refers to, at the end of
39316 the compressed kernel image. Initialize `grub_memdisk_image_size'
39317 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39318 (options): Add "memdisk"|'m' option.
39319 (main): Parse --memdisk|-m option, and pass user-provided path as
39320 parameter to generate_image().
39321
39322 2008-01-20 Robert Millan <rmh@aybabtu.com>
39323
39324 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39325 grub_dprintf() calls from here ...
39326 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39327
39328 2008-01-20 Robert Millan <rmh@aybabtu.com>
39329
39330 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39331
39332 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39333 declaration.
39334 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39335 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39336 `GRUB_IEEE1275_FLAG_REAL_MODE'.
39337 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
39338 property).
39339 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39340 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39341
39342 2008-01-19 Robert Millan <rmh@aybabtu.com>
39343
39344 Get rid of confusing function (superseded by
39345 `grub_ieee1275_get_integer_property')
39346 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39347 prototype.
39348 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39349 function.
39350 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39351 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
39352 in native endianness from grub_ieee1275_get_integer_property().
39353
39354 2008-01-19 Robert Millan <rmh@aybabtu.com>
39355
39356 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39357 command after "shut-down", since implementations differ on which
39358 the command for halt is.
39359
39360 2008-01-19 Robert Millan <rmh@aybabtu.com>
39361
39362 * include/grub/i386/linuxbios/console.h: Add header protection.
39363 (grub_keyboard_controller_init): New function prototype.
39364 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39365 (KEYBOARD_COMMAND_READ): Likewise.
39366 (KEYBOARD_COMMAND_WRITE): Likewise.
39367 (KEYBOARD_SCANCODE_SET1): Likewise.
39368 (grub_keyboard_controller_write): New function.
39369 (grub_keyboard_controller_read): Likewise.
39370 (grub_keyboard_controller_init): Likewise.
39371
39372 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39373 (grub_console_init): On coreboot/LinuxBIOS, call
39374 grub_keyboard_controller_init().
39375
39376 2008-01-19 Robert Millan <rmh@aybabtu.com>
39377
39378 PowerPC changes provided by Pavel Roskin.
39379
39380 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39381 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39382 don't rely on cmain() doing it.
39383 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39384 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39385
39386 2008-01-16 Robert Millan <rmh@aybabtu.com>
39387
39388 * include/grub/i386/linuxbios/memory.h
39389 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39390 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39391 receive `table_header' as argument. Instead, probe for it in the
39392 known memory ranges where it can be present.
39393 (grub_available_iterate): Do not pass a fixed `table_header' address
39394 to grub_linuxbios_table_iterate().
39395
39396 2008-01-15 Robert Millan <rmh@aybabtu.com>
39397
39398 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39399 * conf/i386-ieee1275.rmk: New file.
39400 * include/grub/i386/ieee1275/console.h: Likewise.
39401 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39402 * include/grub/i386/ieee1275/kernel.h: Likewise.
39403 * include/grub/i386/ieee1275/time.h: Likewise.
39404 * kern/i386/ieee1275/init.c: Likewise.
39405 * kern/i386/ieee1275/startup.S: Likewise.
39406
39407 2008-01-15 Robert Millan <rmh@aybabtu.com>
39408
39409 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39410 when pointers are 32-bit (but still do set it to one when they are
39411 64-bit).
39412
39413 2008-01-15 Robert Millan <rmh@aybabtu.com>
39414
39415 * include/grub/ieee1275/ieee1275.h
39416 (grub_ieee1275_get_integer_property): New function prototype.
39417
39418 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39419 (grub_ieee1275_get_integer_property): New function. Wraps around
39420 grub_ieee1275_get_property() to handle endianness.
39421
39422 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39423 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
39424 where appropriate.
39425 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39426 (grub_map): Likewise.
39427 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39428
39429 2008-01-15 Bean <bean123ch@gmail.com>
39430
39431 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39432 (grub_script_execute_cmdline): Reset grub_errno.
39433
39434 * normal/main.c (read_config_file): Reset grub_errno.
39435
39436 * normal/parse.y (script_init): New.
39437 (script): Move function and menuentry here.
39438 (delimiter): New.
39439 (command): Add delimiter at the end of command.
39440 (commands): Adjust to match the new command.
39441 (commandblock): Remove grub_script_lexer_record_start.
39442 (menuentry): Add grub_script_lexer_record_start, use the new commands.
39443 (if): Use the new commands.
39444
39445 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39446
39447 2008-01-15 Robert Millan <rmh@aybabtu.com>
39448
39449 * normal/menu.c (run_menu): Move timeout message from here ...
39450 (print_timeout): ... to here.
39451 (run_menu): Use print_timeout() once during initial draw to print
39452 the whole message, and again in every clock tick to update only
39453 the number of seconds.
39454
39455 2008-01-15 Robert Millan <rmh@aybabtu.com>
39456
39457 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
39458 actual size of `available' from grub_ieee1275_get_property(), and
39459 restrict parsing to that bound.
39460
39461 2008-01-15 Christian Franke <franke@computer.org>
39462
39463 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
39464 (argp_program_version): Remove variable.
39465 (argp_program_bug_address): Likewise.
39466 (options): Convert from struct argp_option to struct option.
39467 (struct arguments): Remove.
39468 (parse_opt): Remove.
39469 (usage): New function.
39470 (main): Replace struct args members by simple variables.
39471 Replace argp_parse() by getopt_long().
39472 Add switch to evaluate options.
39473 Add missing "(...)" around root_dev in prefix string.
39474
39475 2008-01-14 Robert Millan <rmh@aybabtu.com>
39476
39477 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
39478 for grub_ieee1275_exit(), in order to improve portability.
39479
39480 2008-01-14 Robert Millan <rmh@aybabtu.com>
39481
39482 * util/grub.d/10_linux.in (prefix): Define.
39483 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
39484
39485 2008-01-13 Pavel Roskin <proski@gnu.org>
39486
39487 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
39488 grub_errno if no errors have been detected.
39489
39490 2008-01-12 Robert Millan <rmh@aybabtu.com>
39491
39492 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
39493 (grub_util_get_dev_abstraction): New function prototype.
39494
39495 * util/getroot.c: Include `<grub/util/getroot.h>'
39496 (grub_util_get_grub_dev): Move detection of abstraction type to ...
39497 (grub_util_get_dev_abstraction): ... here (new function).
39498
39499 * util/grub-probe.c: Convert PRINT_* to an enum. Add
39500 `PRINT_ABSTRACTION'.
39501 (probe): Probe for abstraction type when requested.
39502 (main): Understand `--target=abstraction'.
39503
39504 * util/i386/efi/grub-install.in: Add abstraction module to core
39505 image when it is found to be necessary.
39506 * util/i386/pc/grub-install.in: Likewise.
39507 * util/powerpc/ieee1275/grub-install.in: Likewise.
39508
39509 * util/update-grub_lib.in (font_path): Return system path without
39510 converting to GRUB path.
39511 * util/update-grub.in: Convert system path returned by font_path()
39512 to a GRUB path. Use `grub-probe -t abstraction' to determine what
39513 abstraction module is needed for loading fonts (if any). Export
39514 that as `GRUB_PRELOAD_MODULES'.
39515 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
39516 insmod commands).
39517
39518 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
39519
39520 Remove some unused code from reiserfs.
39521
39522 * fs/reiserfs.c (struct grub_reiserfs_key)
39523 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
39524 (struct grub_reiserfs_node_body): Removed.
39525 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39526 Likewise.
39527 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39528 Likewise.
39529 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39530 Likewise.
39531 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39532 Likewise.
39533 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39534 Likewise.
39535 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
39536 Likewise.
39537 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39538 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39539 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39540
39541 2008-01-10 Robert Millan <rmh@aybabtu.com>
39542
39543 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
39544 Determines if a file is garbage left by packaging systems, etc.
39545 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
39546 for processing /etc/grub.d scripts.
39547 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
39548 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
39549 as a condition for processing Linux images.
39550
39551 2008-01-10 Pavel Roskin <proski@gnu.org>
39552
39553 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
39554 to compile reiserfs.c on PowerPC.
39555
39556 2008-01-10 Robert Millan <rmh@aybabtu.com>
39557
39558 * kern/device.c (grub_device_iterate): Do not abort device iteration
39559 when one of the devices cannot be opened.
39560 * kern/disk.c (grub_disk_open): Do not account previous failures of
39561 unrelated functions when grub_errno is checked for.
39562
39563 2008-01-08 Robert Millan <rmh@aybabtu.com>
39564
39565 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
39566 `! grub_linux_is_bzimage', change order of address comparison to make
39567 it more intuitive, and improve "too big zImage" error message.
39568
39569 2008-01-08 Robert Millan <rmh@aybabtu.com>
39570
39571 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
39572 `$(update-grub_DATA)'.
39573 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
39574 targets.
39575
39576 2008-01-07 Robert Millan <rmh@aybabtu.com>
39577
39578 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
39579 which instruction is modified by grub-setup during installation
39580 (since it wasn't obvious by only looking at this file).
39581
39582 2008-01-07 Robert Millan <rmh@aybabtu.com>
39583
39584 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
39585 listing actual TODO items.
39586
39587 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
39590 correctly.
39591 (grub_reiserfs_get_key_offset): Likewise.
39592 (grub_reiserfs_set_key_offset): Likewise.
39593 (grub_reiserfs_set_key_type): Likewise.
39594 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
39595
39596 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
39597 better to remove the bitfield version completely.
39598
39599 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39600
39601 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
39602 allocated from the heap, due to the fshelp implementation.
39603 (grub_reiserfs_dir): Free NODE, due to the same reason.
39604
39605 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39606
39607 Mostly from Vincent Pelletier:
39608
39609 * fs/reiserfs.c: New file.
39610
39611 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
39612 (reiserfs_mod_SOURCES): New variable.
39613 (reiserfs_mod_CFLAGS): Likewise.
39614 (reiserfs_mod_LDFLAGS): Likewise.
39615
39616 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39617 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39618 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39619 normal/color.c.
39620
39621 2008-01-06 Robert Millan <rmh@aybabtu.com>
39622
39623 * normal/color.c: Remove `<grub/env.h>'.
39624
39625 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39626
39627 * include/grub/normal.h: Include <grub/env.h>.
39628
39629 2008-01-05 Robert Millan <rmh@aybabtu.com>
39630
39631 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39632 usage example with `(hd0,1)'.
39633 Reported by Samuel Thibault.
39634
39635 2008-01-05 Robert Millan <rmh@aybabtu.com>
39636
39637 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39638 (grub_linux_boot_zimage): Rename to ...
39639 (grub_linux_boot): ... this.
39640 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39641 (grub_linux_boot_zimage): Conditionalize zImage copy.
39642
39643 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39644 (grub_linux_boot_bzimage): Remove prototype.
39645 (grub_linux_boot_zimage): Rename to ...
39646 (grub_linux_boot): ... this.
39647
39648 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39649 (grub_linux_boot): Remove function.
39650
39651 2008-01-05 Robert Millan <rmh@aybabtu.com>
39652
39653 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39654 (grub_env_write_color_highlight): Likewise.
39655 (grub_wait_after_message): Likewise.
39656
39657 * normal/color.c: New file.
39658
39659 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39660 (normal_mod_DEPENDENCIES): Likewise.
39661
39662 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39663 (normal_mod_DEPENDENCIES): Likewise.
39664
39665 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39666 (normal_mod_DEPENDENCIES): Likewise.
39667
39668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39669 (normal_mod_DEPENDENCIES): Likewise.
39670
39671 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39672 for waiting after a message is printed.
39673 * normal/main.c (read_config_file): Likewise.
39674 (grub_normal_init): Register grub_env_write_color_normal() and
39675 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39676 `color_highlight' variables as global.
39677
39678 * normal/menu.c (grub_wait_after_message): New function.
39679 (grub_color_menu_normal): New variable. Replaces ...
39680 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39681 (grub_color_menu_highlight): New variable. Replaces ...
39682 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39683 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39684 `GRUB_TERM_COLOR_STANDARD'.
39685 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39686 `normal_code' and `highlight_code' to `old_color_normal' and
39687 `old_color_highlight', respectively.
39688 (grub_menu_init_page): Update colors when drawing the menu, based on
39689 `menu_color_normal' and `menu_color_highlight' variables.
39690 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39691 a message is printed.
39692
39693 2008-01-05 Robert Millan <rmh@aybabtu.com>
39694
39695 * kern/env.c (grub_env_context_open): Propagate hooks for global
39696 variables to new context.
39697
39698 * kern/main.c (grub_set_root_dev): Export `root' variable.
39699
39700 2008-01-05 Robert Millan <rmh@aybabtu.com>
39701
39702 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
39703 discs unconditionally, since udev and others have options to provide
39704 them.
39705
39706 2008-01-05 Robert Millan <rmh@aybabtu.com>
39707
39708 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39709
39710 2008-01-04 Christian Franke <franke@computer.org>
39711
39712 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39713 of eisa_mmap.
39714
39715 2008-01-03 Pavel Roskin <proski@gnu.org>
39716
39717 * kern/i386/linuxbios/init.c: Put "void" to all function
39718 declarations with no arguments.
39719 * kern/powerpc/ieee1275/init.c: Likewise.
39720 * term/i386/pc/at_keyboard.c: Likewise.
39721 * term/i386/pc/vga_text.c: Likewise.
39722 * util/grub-mkdevicemap.c: Likewise.
39723
39724 2008-01-02 Robert Millan <rmh@aybabtu.com>
39725
39726 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39727 message when loaded image is out of bounds.
39728 (grub_multiboot_load_elf64): Likewise.
39729
39730 2008-01-02 Pavel Roskin <proski@gnu.org>
39731
39732 * util/grub.d/10_linux.in: Try version without ".old" when
39733 looking for initrd. It's better to use initrd from the newer
39734 kernel of the same version than no initrd at all.
39735
39736 2008-01-01 Robert Millan <rmh@aybabtu.com>
39737
39738 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39739
39740 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39741
39742 * include/grub/video.h: Added grub_video_unmap_color and
39743 grub_video_get_active_render_target.
39744 (grub_video_adapter): Added unmap_color and get_active_render_target.
39745
39746 * video/video.c: Added grub_video_unmap_color and
39747 grub_video_get_active_render_target.
39748 (grub_video_get_info): Changed method to accept NULL pointer as an
39749 argument to allow detection of active video adapter.
39750
39751 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39752 grub_video_vbe_unmap_color_int.
39753 Added grub_video_vbe_unmap_color and
39754 grub_video_vbe_get_active_render_target.
39755 (grub_video_vbe_adapter): Added unmap_color and
39756 get_active_render_target.
39757
39758 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
39759 with grub_video_vbe_unmap_color_int.
39760
39761 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39762 (DEFAULT_NORMAL_COLOR): Likewise.
39763 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39764 (DEFAULT_FG_COLOR): Removed.
39765 (DEFAULT_BG_COLOR): Likewise.
39766 (DEFAULT_CURSOR_COLOR): Changed value.
39767 (grub_virtual_screen): Added standard_color_setting,
39768 normal_color_setting, highlight_color_setting and term_color.
39769 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39770 (bitmap_width): Added.
39771 (bitmap_height): Likewise.
39772 (bitmap): Likewise.
39773 (set_term_color): Likewise.
39774 (grub_virtual_screen_setup): Changed to use new terminal coloring
39775 settings.
39776 (grub_gfxterm_init): Added init for bitmap.
39777 (grub_gfxterm_fini): Added destroy for bitmap.
39778 (redraw_screen_rect): Updated to use background bitmap and new
39779 terminal coloring.
39780 (scroll_up): Added optimization for case when there is no bitmap.
39781 (grub_gfxterm_cls): Fixed to use correct background color.
39782 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39783 coloring.
39784 (grub_virtual_screen_setcolor): Likewise.
39785 (grub_virtual_screen_getcolor): Added.
39786 (grub_gfxterm_background_image_cmd): Likewise.
39787 (grub_video_term): Added setcolor and getcolor.
39788 (MOD_INIT): Added registration of background_image command.
39789 (MOD_TERM): Added unregistration for background_image command.
39790
39791 2007-12-30 Pavel Roskin <proski@gnu.org>
39792
39793 * loader/multiboot_loader.c: Fix multiboot command
39794 unregistration. Fix all typos in the word "multiboot".
39795
39796 2007-12-29 Pavel Roskin <proski@gnu.org>
39797
39798 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39799 support for initrd names used in Fedora.
39800
39801 2007-12-26 Bean <bean123ch@gmail.com>
39802
39803 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39804 (cpio_mod_SOURCES): New variable.
39805 (cpio_mod_CFLAGS): Likewise.
39806 (cpio_mod_LDFLAGS): Likewise.
39807
39808 * fs/cpio.c: New file.
39809
39810 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39811
39812 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39813
39814 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39815
39816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39817
39818 2007-12-25 Robert Millan <rmh@aybabtu.com>
39819
39820 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39821 (grub_getcolor): New function.
39822
39823 * kern/term.c (grub_getcolor): New function.
39824 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39825 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39826 (print_entry): Set normal and highlight colors to
39827 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39828 respectively, before printing and restore them to old
39829 values afterwards.
39830 (grub_menu_init_page): Likewise. Fill an additional colored space
39831 that would otherwise be left blank.
39832
39833 * term/efi/console.c (grub_console_getcolor): New function.
39834 (struct grub_console_term.getcolor): New variable.
39835 * term/i386/pc/console.c (grub_console_getcolor): New function.
39836 (struct grub_console_term.getcolor): New variable.
39837 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39838 (struct grub_console_term.getcolor): New variable.
39839
39840 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39841 (struct grub_console_term.setcolor): Remove variable.
39842 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39843 (struct grub_console_term.setcolor): Remove variable.
39844 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39845 (struct grub_console_term.setcolor): Remove variable.
39846 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39847 (struct grub_console_term.setcolor): Remove variable.
39848
39849 2007-12-25 Robert Millan <rmh@aybabtu.com>
39850
39851 * configure.ac: Search for possible unifont.hex locations, and
39852 define UNIFONT_HEX if found.
39853
39854 * Makefile.in (UNIFONT_HEX): Define variable.
39855 (DATA): Rename to ...
39856 (PKGLIB): ... this. Update all users.
39857 (PKGDATA): New variable.
39858 (pkgdata_IMAGES): Rename to ...
39859 (pkglib_IMAGES): ... this. Update all users.
39860 (pkgdata_MODULES): Rename to ...
39861 (pkglib_MODULES): ... this. Update all users.
39862 (pkgdata_PROGRAMS): Rename to ...
39863 (pkglib_PROGRAMS): ... this. Update all users.
39864 (pkgdata_DATA): Rename to ...
39865 (pkglib_DATA): ... this. Update all users.
39866 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39867 (unicode.pff, ascii.pff): New rules.
39868 (all-local): Add `$(PKGDATA)' dependency.
39869 (install-local): Process `$(PKGDATA)'.
39870
39871 * util/update-grub_lib.in (font_path): Search for *.pff files in
39872 a few more locations, including `${pkgdata}'.
39873
39874 2007-12-23 Robert Millan <rmh@aybabtu.com>
39875
39876 Patch from Bean <bean123ch@gmail.com>:
39877 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39878 `size'.
39879
39880 2007-12-21 Bean <bean123ch@gmail.com>
39881
39882 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39883 (ntfscomp_mod_SOURCES): New variable.
39884 (ntfscomp_mod_CFLAGS): Likewise.
39885 (ntfscomp_mod_LDFLAGS): Likewise.
39886
39887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39888 (grub_probe_SOURCES): Likewise.
39889 (grub_emu_SOURCES): Likewise.
39890
39891 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39892 (grub_emu_SOURCES): Likewise.
39893
39894 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39895 (grub_emu_SOURCES): Likewise.
39896
39897 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39898 (grub_emu_SOURCES): Likewise.
39899
39900 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39901 (read_run_list): Renamed to grub_ntfs_read_run_list.
39902 (decomp_nextvcn): Moved to ntfscomp.c.
39903 (decomp_getch): Likewise.
39904 (decomp_get16): Likewise.
39905 (decomp_block): Likewise.
39906 (read_block): Likewise.
39907 (read_data): Partially moved to ntfscomp.c.
39908 (fixup): Change unsigned to grub_uint16_t.
39909 (read_mft): Change unsigned long to grub_uint32_t.
39910 (read_attr): Likewise.
39911 (read_data): Likewise.
39912 (read_run_data): Likewise.
39913 (read_run_list): Likewise.
39914 (read_mft): Likewise.
39915
39916 * fs/ntfscomp.c: New file.
39917
39918 * include/grub/ntfs.h: New file.
39919
39920 2007-12-16 Robert Millan <rmh@aybabtu.com>
39921
39922 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39923 IDE disk check, since Linux is known to support 20 IDE disks.
39924 Reported by Colin Watson.
39925
39926 2007-12-15 Bean <bean123ch@gmail.com>
39927
39928 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39929 (lnxboot_img_SOURCES): New variable.
39930 (lnxboot_img_ASFLAGS): Likewise.
39931 (lnxboot_img_LDFLAGS): Likewise.
39932
39933 * boot/i386/pc/lnxboot.S: New file.
39934
39935 2007-11-24 Pavel Roskin <proski@gnu.org>
39936
39937 * configure.ac: Test if '--build-id=none' is supported by the
39938 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39939 objcopy to generate incorrect binary files (binutils
39940 2.17.50.0.18-1 as shipped by Fedora 8).
39941 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39942 linking, so that build ID doesn't break the test.
39943
39944 2007-11-24 Pavel Roskin <proski@gnu.org>
39945
39946 * include/grub/i386/time.h: use "void" in the argument list
39947 of grub_cpu_idle().
39948 * include/grub/powerpc/time.h: Likewise.
39949 * include/grub/sparc64/time.h: Likewise.
39950
39951 2007-11-18 Christian Franke <franke@computer.org>
39952
39953 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39954 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39955 This fixes the problem that function keys did not work in grub-emu.
39956
39957 2007-11-18 Christian Franke <franke@computer.org>
39958
39959 * disk/host.c (grub_host_open): Remove attribute unused from
39960 name parameter. Add check for "host". This fixes the problem
39961 that grub-emu does not find partitions.
39962
39963 2007-11-18 Christian Franke <franke@computer.org>
39964
39965 * util/hostfs.c (is_dir): New function.
39966 (grub_hostfs_dir): Handle missing dirent.d_type case.
39967 (grub_hostfs_read): Add missing fseek().
39968 (grub_hostfs_label): Clear label pointer. This fixes a crash
39969 of grub-emu on "ls (host)".
39970
39971 2007-11-18 Christian Franke <franke@computer.org>
39972
39973 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39974 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39975 to 64 bit boundary by default.
39976
39977 2007-11-18 Bean <bean123ch@gmail.com>
39978
39979 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39980 (hexdump_mod_SOURCES): New variable.
39981 (hexdump_mod_CFLAGS): Likewise.
39982 (hexdump_mod_LDFLAGS): Likewise.
39983
39984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39985
39986 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39987
39988 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39989
39990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39991
39992 * include/grub/hexdump.h: New file.
39993
39994 * commands/hexdump.c: New file.
39995
39996 2007-11-10 Robert Millan <rmh@aybabtu.com>
39997
39998 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39999 in grub_outb() calls.
40000 (beep_on): Likewise.
40001
40002 2007-11-10 Christian Franke <franke@computer.org>
40003
40004 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40005 (grub_menu_run): Likewise.
40006
40007 2007-11-10 Robert Millan <rmh@aybabtu.com>
40008
40009 * include/grub/i386/efi/machine.h: New file.
40010 * include/grub/i386/linuxbios/machine.h: Likewise.
40011 * include/grub/i386/pc/machine.h: Likewise.
40012 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40013 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40014
40015 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40016 (serial_hw_io_addr): New variable.
40017 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40018 instead of `(unsigned short *) 0x400'.
40019
40020 2007-11-10 Bean <bean123ch@gmail.com>
40021
40022 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40023
40024 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40025
40026 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40027 (vga_mod_SOURCES): Added.
40028 (vga_mod_CFLAGS): Likewise.
40029 (vga_mod_LDFLAGS): Likewise.
40030
40031 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40032 grub_outb() calls.
40033 (set_map_mask): Likewise.
40034 (set_read_map): Likewise.
40035 (set_read_address): Likewise.
40036 (vga_font): Removed variable.
40037 (get_vga_glyph): Removed function.
40038 (invalidate_char): Likewise.
40039 (write_char): Changed to use grub_font_get_glyph() for font
40040 information.
40041 (grub_vga_putchar): Likewise.
40042 (grub_vga_getcharwidth): Likewise.
40043
40044 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40045
40046 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40047 flags.
40048 (pxeboot_img_LDFLAGS): Likewise.
40049 (diskboot_img_LDFLAGS): Likewise.
40050 (kernel_img_LDFLAGS): Likewise.
40051
40052 2007-11-06 Robert Millan <rmh@aybabtu.com>
40053
40054 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40055 in grub_outb() calls.
40056 (serial_hw_init): Likewise.
40057
40058 2007-11-05 Robert Millan <rmh@aybabtu.com>
40059
40060 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40061 spaces. Skip non-regular files.
40062
40063 2007-11-05 Robert Millan <rmh@aybabtu.com>
40064
40065 * kern/disk.c (grub_disk_firmware_fini)
40066 (grub_disk_firmware_is_tainted): New variables.
40067
40068 * include/grub/disk.h (grub_disk_firmware_fini)
40069 (grub_disk_firmware_is_tainted): Likewise.
40070
40071 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40072 (grub_disk_biosdisk_fini): ... to here.
40073 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40074 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40075 is set. Register grub_disk_biosdisk_fini() in
40076 `grub_disk_firmware_fini'.
40077
40078 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40079 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40080 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40081 to finish existing firmware disk interface.
40082
40083 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40084 (ata_mod_SOURCES): New variable.
40085 (ata_mod_CFLAGS): Likewise.
40086 (ata_mod_LDFLAGS): Likewise.
40087
40088 2007-11-05 Robert Millan <rmh@aybabtu.com>
40089
40090 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40091 (grub_ata_wait): Reimplement using grub_millisleep().
40092
40093 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40094 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40095
40096 2007-11-03 Marco Gerards <marco@gnu.org>
40097
40098 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40099 (CRTC_ADDR_PORT): New macro.
40100 (CRTC_DATA_PORT): Likewise.
40101 (CRTC_CURSOR): Likewise.
40102 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40103 (CRTC_CURSOR_ADDR_LOW): Likewise.
40104 (update_cursor): New function.
40105 (grub_console_real_putchar): Call `update_cursor'.
40106 (grub_console_gotoxy): Likewise.
40107 (grub_console_cls): Set the default color when clearing the
40108 screen.
40109 (grub_console_setcursor): Implemented.
40110
40111 2007-11-03 Marco Gerards <marco@gnu.org>
40112
40113 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40114 become activate.
40115 (grub_ata_pio_write): Likewise.
40116
40117 (grub_atapi_identify): Wait after issuing an ATA command.
40118 (grub_atapi_packet): Likewise.
40119 (grub_ata_identify): Likewise.
40120 (grub_ata_readwrite): Likewise.
40121
40122 2007-11-03 Marco Gerards <marco@gnu.org>
40123
40124 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40125 (grub_ata_pio_write): Likewise.
40126 (grub_ata_readwrite): Use `grub_error', instead of
40127 returning `grub_errno'.
40128
40129 2007-11-03 Marco Gerards <marco@gnu.org>
40130
40131 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40132 grub_ata_pio_write once for every single sector, instead of for
40133 multiple sectors.
40134
40135 2007-10-31 Robert Millan <rmh@aybabtu.com>
40136
40137 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40138
40139 * conf/i386-linuxbios.rmk: New file.
40140
40141 * kern/i386/pc/hardware.c: Likewise.
40142 * term/i386/pc/at_keyboard.c: Likewise.
40143 * term/i386/pc/vga_text.c: Likewise.
40144
40145 * include/grub/i386/linuxbios/boot.h: Likewise.
40146 * include/grub/i386/linuxbios/console.h: Likewise.
40147 * include/grub/i386/linuxbios/init.h: Likewise.
40148 * include/grub/i386/linuxbios/kernel.h: Likewise.
40149 * include/grub/i386/linuxbios/loader.h: Likewise.
40150 * include/grub/i386/linuxbios/memory.h: Likewise.
40151 * include/grub/i386/linuxbios/serial.h: Likewise.
40152 * include/grub/i386/linuxbios/time.h: Likewise.
40153
40154 * kern/i386/linuxbios/init.c: Likewise.
40155 * kern/i386/linuxbios/startup.S: Likewise.
40156 * kern/i386/linuxbios/table.c: Likewise.
40157
40158 2007-10-31 Marco Gerards <marco@gnu.org>
40159
40160 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40161 (ata_mod_SOURCES): New variable.
40162 (ata_mod_CFLAGS): Likewise.
40163 (ata_mod_LDFLAGS): Likewise.
40164
40165 * disk/ata.c: New file.
40166
40167 * include/grub/disk.h (grub_disk_dev_id): Add
40168 `GRUB_DISK_DEV_ATA_ID'.
40169
40170 2007-10-31 Robert Millan <rmh@aybabtu.com>
40171
40172 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40173 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40174
40175 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40176 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40177
40178 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40179 `<grub/types.h>'.
40180
40181 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40182
40183 2007-10-27 Robert Millan <rmh@aybabtu.com>
40184
40185 * include/grub/types.h (ULONG_MAX): Define macro.
40186
40187 2007-10-22 Robert Millan <rmh@aybabtu.com>
40188
40189 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40190 `"../realmode.S"'.
40191 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40192
40193 2007-10-22 Robert Millan <rmh@aybabtu.com>
40194
40195 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40196 (pkgdata_MODULES): Add `biosdisk.mod'.
40197 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40198 variables.
40199
40200 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40201 (grub_biosdisk_init): Replace with ...
40202 (GRUB_MOD_INIT(biosdisk)): ... this.
40203 (grub_biosdisk_fini): Replace with ...
40204 (GRUB_MOD_FINI(biosdisk)): ... this.
40205
40206 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40207 (grub_machine_init): Remove call to grub_biosdisk_init().
40208 (grub_machine_fini): Remove call to grub_machine_fini().
40209
40210 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40211
40212 2007-10-22 Robert Millan <rmh@aybabtu.com>
40213
40214 * include/grub/time.h: New file.
40215 * include/grub/i386/time.h: Likewise.
40216 * include/grub/powerpc/time.h: Likewise.
40217 * include/grub/sparc64/time.h: Likewise.
40218
40219 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40220 instances to ...
40221 (KERNEL_MACHINE_TIME_HEADER): ... this.
40222 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40223 instances to ...
40224 (KERNEL_MACHINE_TIME_HEADER): ... this.
40225 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40226 instances to ...
40227 (KERNEL_MACHINE_TIME_HEADER): ... this.
40228
40229 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40230 (grub_millisleep): New function.
40231 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40232 (grub_millisleep): New function.
40233 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40234 Remove `grub/machine/time.h' include.
40235 (grub_millisleep): New function.
40236 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40237 Remove `grub/machine/time.h' include.
40238 (grub_millisleep): New function.
40239
40240 * include/grub/misc.h (grub_div_roundup): New function.
40241
40242 * kern/misc.c: Include `<grub/time.h>'.
40243 (grub_millisleep_generic): New function.
40244
40245 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40246 Add `time.h'.
40247 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40248 Add `time.h'.
40249 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40250 `machine/time.h'. Add `time.h'.
40251 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40252
40253 2007-10-21 Robert Millan <rmh@aybabtu.com>
40254
40255 * include/grub/misc.h (grub_max): New function.
40256
40257 2007-10-21 Robert Millan <rmh@aybabtu.com>
40258
40259 * util/misc.c (grub_util_info): Call fflush() before returning.
40260
40261 2007-10-20 Robert Millan <rmh@aybabtu.com>
40262
40263 * genmk.rb (Image): Copy `extra_flags' from here ...
40264 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40265
40266 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40267 to `argc' and `args' arguments.
40268
40269 2007-10-17 Robert Millan <rmh@aybabtu.com>
40270
40271 * kern/i386/loader.S: New file.
40272
40273 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40274 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40275 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40276 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40277 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40278 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40279 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40280 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40281 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40282 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40283 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40284 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40285 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40286 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40287
40288 * kern/i386/realmode.S: New file.
40289
40290 * kern/i386/pc/startup.S (protstack): Moved from here ...
40291 * kern/i386/realmode.S (protstack)... to here.
40292 * kern/i386/pc/startup.S (gdt): Moved from here ...
40293 * kern/i386/realmode.S (gdt)... to here.
40294 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40295 * kern/i386/realmode.S (prot_to_real)... to here.
40296
40297 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40298 `kern/i386/realmode.S'.
40299
40300 2007-10-17 Robert Millan <rmh@aybabtu.com>
40301
40302 * include/grub/i386/loader.h: New file.
40303
40304 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40305 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40306 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40307 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40308 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40309 * include/grub/i386/loader.h (grub_linux_prot_size)
40310 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40311 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40312 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40313 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40314
40315 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40316
40317 2007-10-15 Robert Millan <rmh@aybabtu.com>
40318
40319 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40320 filesystem when dev->disk is unset.
40321 Do probe for filesystem even when dev->disk->has_partitions is set.
40322 In case a filesystem is found, always report it.
40323 In case it isn't, if dev->disk->has_partitions is set, report that
40324 a partition table was found instead of reporting that no filesystem
40325 could be identified.
40326
40327 2007-10-12 Robert Millan <rmh@aybabtu.com>
40328
40329 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40330 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40331
40332 * include/grub/types.h (grub_host_to_target16): New macro.
40333 (grub_host_to_target32): Likewise.
40334 (grub_host_to_target64): Likewise.
40335 (grub_target_to_host16): Likewise.
40336 (grub_target_to_host32): Likewise.
40337 (grub_target_to_host64): Likewise.
40338
40339 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40340 Renamed from to ...
40341 (GRUB_MOD_ALIGN): ...this. Update all users.
40342
40343 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40344 grub_host_to_target32.
40345 Replace grub_be_to_cpu32 with grub_target_to_host32.
40346 (load_modules): Likewise.
40347 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40348 Replace grub_be_to_cpu32 with grub_target_to_host32.
40349 Replace grub_cpu_to_be16 with grub_host_to_target16.
40350 Replace grub_cpu_to_be32 grub_host_to_target32.
40351
40352 2007-10-12 Robert Millan <rmh@aybabtu.com>
40353
40354 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40355 * util/elf/grub-mkimage.c: ... here.
40356
40357 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40358 `util/powerpc/ieee1275/grub-mkimage.c'.
40359
40360 2007-10-07 Robert Millan <rmh@aybabtu.com>
40361
40362 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40363 and make it easier to figure out.
40364 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40365 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40366 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40367 leave us with less than HEAP_MIN_SIZE total heap.
40368 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
40369
40370 2007-10-03 Robert Millan <rmh@aybabtu.com>
40371
40372 * include/grub/i386/io.h: New file.
40373 * commands/i386/pc/play.c (inb): Removed.
40374 (outb): Removed.
40375 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40376 with grub_outb().
40377 * term/i386/pc/serial.c (inb): Removed.
40378 (outb): Removed.
40379 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40380 with grub_outb().
40381 * term/i386/pc/vga.c (inb): Removed.
40382 (outb): Removed.
40383 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40384 with grub_outb().
40385
40386 2007-10-02 Robert Millan <rmh@aybabtu.com>
40387
40388 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40390 Reported by Marcin Kurek.
40391
40392 2007-09-07 Robert Millan <rmh@aybabtu.com>
40393
40394 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40395 SmartFirmware version updates (as released by Sven Luther), and avoid
40396 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40397 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40398 known broken.
40399
40400 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40401
40402 From Hitoshi Ozeki:
40403 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40404 when merging two regions.
40405
40406 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40407
40408 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40409 * normal/completion.c (grub_normal_do_completion): Likewise.
40410 Reported by Hitoshi Ozeki.
40411
40412 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40413
40414 Do not use devices at boot in chainloading.
40415
40416 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40417 (boot_part_addr): Likewise.
40418 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40419 with BOOT_DRIVE and BOOT_PART_ADDR.
40420 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40421 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40422
40423 2007-08-29 Robert Millan <rmh@aybabtu.com>
40424
40425 Patch from Simon Peter <dn.tlp@gmx.net>:
40426 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40427 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40428 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40429 util/i386/pc/grub-setup.c_DEPENDENCIES.
40430 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40431 util/grub-probe.c_DEPENDENCIES.
40432 * conf/powerpc-ieee1275.rmk: Likewise.
40433
40434 2007-08-28 Robert Millan <rmh@aybabtu.com>
40435
40436 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40437 to tell grub-mkdevicemap how to name devices.
40438 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40439 feature).
40440
40441 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40442 util/i386/get_disk_name.c.
40443 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40444 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40445 util/ieee1275/get_disk_name.c.
40446
40447 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40448
40449 * DISTLIST: Add util/i386/get_disk_name.c and
40450 util/ieee1275/get_disk_name.c.
40451
40452 * util/grub-mkdevicemap.c: Replace device naming logic with
40453 grub_util_get_disk_name() calls.
40454
40455 2007-08-20 Robert Millan <rmh@aybabtu.com>
40456
40457 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
40458 (so that it works for both plural and singular quantities).
40459
40460 2007-08-05 Robert Millan <rmh@aybabtu.com>
40461
40462 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
40463 so that [xz] isn't taken into account when determining order.
40464
40465 2007-08-02 Marco Gerards <marco@gnu.org>
40466
40467 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
40468 `include/multiboot2.h', `include/grub/elfload.h',
40469 `include/multiboot.h', `include/grub/multiboot.h',
40470 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
40471 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
40472 `kern/elf.c', `loader/multiboot_loader.c',
40473 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
40474 `loader/i386/pc/multiboot2.c',
40475 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
40476 `util/i386/pc/grub-mkrescue.in'. Remove
40477 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
40478 `include/grub/i386/pc/util/biosdisk.h' and
40479 `include/grub/powerpc/ieee1275/multiboot.h'.
40480
40481 2007-08-02 Bean <bean123ch@gmail.com>
40482
40483 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
40484 (ntfs_mod_SOURCES): New variable.
40485 (ntfs_mod_CFLAGS): Likewise.
40486 (ntfs_mod_LDFLAGS): Likewise.
40487
40488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
40489 (grub_probe_SOURCES): Likewise.
40490 (grub_emu_SOURCES): Likewise.
40491
40492 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40493 (grub_emu_SOURCES): Likewise.
40494
40495 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40496 (grub_emu_SOURCES): Likewise.
40497
40498 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
40499
40500 * fs/ntfs.c: New file.
40501
40502 2007-08-02 Bean <bean123ch@gmail.com>
40503
40504 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
40505
40506 * file.h (grub_file): Likewise.
40507
40508 * fshelp.h (grub_fshelp_read_file): Likewise.
40509
40510 * util/i386/pc/grub-setup.c (setup): Likewise.
40511 (save_first_sector): Likewise.
40512 (save_blocklists): Likewise.
40513
40514 * fs/affs.c (grub_affs_read_file): Likewise.
40515
40516 * fs/ext2.c (grub_ext2_read_file): Likewise.
40517
40518 * fs/fat.c (grub_fat_read_data): Likewise.
40519
40520 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
40521
40522 * fs/hfs.c (grub_hfs_read_file): Likewise.
40523
40524 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40525
40526 * fs/jfs.c (grub_jfs_read_file): Likewise.
40527
40528 * fs/minix.c (grub_minix_read_file): Likewise.
40529
40530 * fs/sfs.c (grub_sfs_read_file): Likewise.
40531
40532 * fs/ufs.c (grub_ufs_read_file): Likewise.
40533
40534 * fs/xfs.c (grub_xfs_read_file): Likewise.
40535
40536 * command/blocklist.c (read_blocklist): Likewise.
40537 (print_blocklist): Likewise.
40538
40539 2007-08-02 Marco Gerards <marco@gnu.org>
40540
40541 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
40542 `util/hostfs.c'.
40543
40544 * disk/host.c: New file.
40545
40546 * util/hostfs.c: Likewise.
40547
40548 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
40549 return `GRUB_ERR_BAD_FS'.
40550 * fs/sfs.c (grub_sfs_mount): Likewise.
40551 * fs/xfs.c (grub_xfs_mount): Likewise.
40552
40553 * include/grub/disk.h (enum grub_disk_dev_id): Add
40554 `GRUB_DISK_DEVICE_HOST_ID'.
40555
40556 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40557
40558 2007-07-24 Jerone Young <jerone@gmail.com>
40559
40560 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
40561 modules for compilation.
40562 * conf/powerpc-ieee1275.rmk: Likewise.
40563
40564 * include/multiboot.h: Move multiboot definitions to one file. Rename
40565 many definitions to not get grub specific.
40566 * include/multiboot2.h: Create header with multiboot 2 definitions.
40567 * include/grub/multiboot.h: Header for grub specific function
40568 prototypes and definitions.
40569 * include/grub/multiboot2.h: Likewise.
40570 * include/grub/multiboot_loader.h: Likewise.
40571 * include/grub/i386/pc/multiboot.h: Removed.
40572 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
40573
40574 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
40575 and 2 to allow for one multiboot and module commands.
40576 * loader/multiboot2.c: Add multiboot2 functionality.
40577 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
40578 and definition names.
40579 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
40580 2 functions.
40581 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
40582 ieee1275 specific multiboot2 code.
40583
40584 * kern/i386/pc/startup.S: Change headers and definition names for
40585 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
40586
40587 2007-07-22 Robert Millan <rmh@aybabtu.com>
40588
40589 * geninitheader.sh: Process file specified in first parameter rather
40590 than hardcoding grub_modules_init.lst.
40591 * geninit.sh: Likewise. Also, construct header name dynamically rather
40592 than hardcoding grub_modules_init.h.
40593
40594 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
40595 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
40596 grub_probe_init.[ch] and grub_setup_init.[ch].
40597
40598 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
40599 grub_modules_init.h with grub_emu_init.h.
40600 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
40601 grub_probe_init.[ch] files.
40602 * conf/i386-efi.rmk: Likewise.
40603 * conf/i386-pc.rmk: Likewise.
40604 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
40605 grub_setup_init.[ch] files.
40606
40607 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
40608 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
40609 to initialize modules rather than a list of hardcoded functions.
40610 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
40611 grub_init_all() to initialize modules rather than a list of hardcoded
40612 functions.
40613
40614 2007-07-22 Robert Millan <rmh@aybabtu.com>
40615
40616 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40617 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40618
40619 2007-07-22 Robert Millan <rmh@aybabtu.com>
40620
40621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40622 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40623 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40624 flag when running on SmartFirmware.
40625 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40626 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40627 was set.
40628
40629 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40630 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40631 rather than decreasing it.
40632
40633 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40634 there's not enough space to do it, fail in the same way as when it
40635 can't be done because there are no partitions.
40636
40637 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40638 when nvsetenv failed.
40639
40640 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40641
40642 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40643 because this rule is automatically generated.
40644 (grub-mkrescue): Removed for the same reason as above.
40645
40646 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40647
40648 Migrate to GNU General Public License Version 3.
40649
40650 * COPYING: Replaced with the plain text version of GPLv3.
40651
40652 * config.guess: Updated from gnulib.
40653 * config.sub: Likewise.
40654
40655 * geninit.sh: Output a GPLv3 copyright notice.
40656 * geninitheader.sh: Likewise.
40657 * genmodsrc.sh: Likewise.
40658 * gensymlist.sh.in: Likewise.
40659
40660 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40661 * boot/i386/pc/diskboot.S: Likewise.
40662 * boot/i386/pc/pxeboot.S: Likewise.
40663 * commands/blocklist.c: Likewise.
40664 * commands/boot.c: Likewise.
40665 * commands/cat.c: Likewise.
40666 * commands/cmp.c: Likewise.
40667 * commands/configfile.c: Likewise.
40668 * commands/echo.c: Likewise.
40669 * commands/help.c: Likewise.
40670 * commands/ls.c: Likewise.
40671 * commands/search.c: Likewise.
40672 * commands/terminal.c: Likewise.
40673 * commands/test.c: Likewise.
40674 * commands/videotest.c: Likewise.
40675 * commands/i386/cpuid.c: Likewise.
40676 * commands/i386/pc/halt.c: Likewise.
40677 * commands/i386/pc/play.c: Likewise.
40678 * commands/i386/pc/reboot.c: Likewise.
40679 * commands/i386/pc/vbeinfo.c: Likewise.
40680 * commands/i386/pc/vbetest.c: Likewise.
40681 * commands/ieee1275/halt.c: Likewise.
40682 * commands/ieee1275/reboot.c: Likewise.
40683 * commands/ieee1275/suspend.c: Likewise.
40684 * disk/loopback.c: Likewise.
40685 * disk/lvm.c: Likewise.
40686 * disk/raid.c: Likewise.
40687 * disk/efi/efidisk.c: Likewise.
40688 * disk/i386/pc/biosdisk.c: Likewise.
40689 * disk/ieee1275/ofdisk.c: Likewise.
40690 * font/manager.c: Likewise.
40691 * fs/affs.c: Likewise.
40692 * fs/ext2.c: Likewise.
40693 * fs/fat.c: Likewise.
40694 * fs/fshelp.c: Likewise.
40695 * fs/hfs.c: Likewise.
40696 * fs/hfsplus.c: Likewise.
40697 * fs/iso9660.c: Likewise.
40698 * fs/jfs.c: Likewise.
40699 * fs/minix.c: Likewise.
40700 * fs/sfs.c: Likewise.
40701 * fs/ufs.c: Likewise.
40702 * fs/xfs.c: Likewise.
40703 * hello/hello.c: Likewise.
40704 * include/grub/acorn_filecore.h: Likewise.
40705 * include/grub/arg.h: Likewise.
40706 * include/grub/bitmap.h: Likewise.
40707 * include/grub/boot.h: Likewise.
40708 * include/grub/cache.h: Likewise.
40709 * include/grub/device.h: Likewise.
40710 * include/grub/disk.h: Likewise.
40711 * include/grub/dl.h: Likewise.
40712 * include/grub/elfload.h: Likewise.
40713 * include/grub/env.h: Likewise.
40714 * include/grub/err.h: Likewise.
40715 * include/grub/file.h: Likewise.
40716 * include/grub/font.h: Likewise.
40717 * include/grub/fs.h: Likewise.
40718 * include/grub/fshelp.h: Likewise.
40719 * include/grub/gzio.h: Likewise.
40720 * include/grub/hfs.h: Likewise.
40721 * include/grub/kernel.h: Likewise.
40722 * include/grub/loader.h: Likewise.
40723 * include/grub/lvm.h: Likewise.
40724 * include/grub/misc.h: Likewise.
40725 * include/grub/mm.h: Likewise.
40726 * include/grub/net.h: Likewise.
40727 * include/grub/normal.h: Likewise.
40728 * include/grub/parser.h: Likewise.
40729 * include/grub/partition.h: Likewise.
40730 * include/grub/pc_partition.h: Likewise.
40731 * include/grub/raid.h: Likewise.
40732 * include/grub/rescue.h: Likewise.
40733 * include/grub/script.h: Likewise.
40734 * include/grub/setjmp.h: Likewise.
40735 * include/grub/symbol.h: Likewise.
40736 * include/grub/term.h: Likewise.
40737 * include/grub/terminfo.h: Likewise.
40738 * include/grub/tparm.h: Likewise.
40739 * include/grub/types.h: Likewise.
40740 * include/grub/video.h: Likewise.
40741 * include/grub/efi/api.h: Likewise.
40742 * include/grub/efi/chainloader.h: Likewise.
40743 * include/grub/efi/console.h: Likewise.
40744 * include/grub/efi/console_control.h: Likewise.
40745 * include/grub/efi/disk.h: Likewise.
40746 * include/grub/efi/efi.h: Likewise.
40747 * include/grub/efi/pe32.h: Likewise.
40748 * include/grub/efi/time.h: Likewise.
40749 * include/grub/i386/linux.h: Likewise.
40750 * include/grub/i386/setjmp.h: Likewise.
40751 * include/grub/i386/types.h: Likewise.
40752 * include/grub/i386/efi/kernel.h: Likewise.
40753 * include/grub/i386/efi/loader.h: Likewise.
40754 * include/grub/i386/efi/time.h: Likewise.
40755 * include/grub/i386/pc/biosdisk.h: Likewise.
40756 * include/grub/i386/pc/boot.h: Likewise.
40757 * include/grub/i386/pc/chainloader.h: Likewise.
40758 * include/grub/i386/pc/console.h: Likewise.
40759 * include/grub/i386/pc/init.h: Likewise.
40760 * include/grub/i386/pc/kernel.h: Likewise.
40761 * include/grub/i386/pc/loader.h: Likewise.
40762 * include/grub/i386/pc/memory.h: Likewise.
40763 * include/grub/i386/pc/multiboot.h: Likewise.
40764 * include/grub/i386/pc/serial.h: Likewise.
40765 * include/grub/i386/pc/time.h: Likewise.
40766 * include/grub/i386/pc/vbe.h: Likewise.
40767 * include/grub/i386/pc/vbeblit.h: Likewise.
40768 * include/grub/i386/pc/vbefill.h: Likewise.
40769 * include/grub/i386/pc/vbeutil.h: Likewise.
40770 * include/grub/i386/pc/vga.h: Likewise.
40771 * include/grub/ieee1275/ieee1275.h: Likewise.
40772 * include/grub/ieee1275/ofdisk.h: Likewise.
40773 * include/grub/powerpc/libgcc.h: Likewise.
40774 * include/grub/powerpc/setjmp.h: Likewise.
40775 * include/grub/powerpc/types.h: Likewise.
40776 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40777 * include/grub/powerpc/ieee1275/console.h: Likewise.
40778 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40779 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40780 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40781 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40782 * include/grub/powerpc/ieee1275/time.h: Likewise.
40783 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40784 * include/grub/sparc64/libgcc.h: Likewise.
40785 * include/grub/sparc64/setjmp.h: Likewise.
40786 * include/grub/sparc64/types.h: Likewise.
40787 * include/grub/sparc64/ieee1275/console.h: Likewise.
40788 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40789 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40790 * include/grub/sparc64/ieee1275/time.h: Likewise.
40791 * include/grub/util/biosdisk.h: Likewise.
40792 * include/grub/util/getroot.h: Likewise.
40793 * include/grub/util/lvm.h: Likewise.
40794 * include/grub/util/misc.h: Likewise.
40795 * include/grub/util/raid.h: Likewise.
40796 * include/grub/util/resolve.h: Likewise.
40797 * io/gzio.c: Likewise.
40798 * kern/device.c: Likewise.
40799 * kern/disk.c: Likewise.
40800 * kern/dl.c: Likewise.
40801 * kern/elf.c: Likewise.
40802 * kern/env.c: Likewise.
40803 * kern/err.c: Likewise.
40804 * kern/file.c: Likewise.
40805 * kern/fs.c: Likewise.
40806 * kern/loader.c: Likewise.
40807 * kern/main.c: Likewise.
40808 * kern/misc.c: Likewise.
40809 * kern/mm.c: Likewise.
40810 * kern/parser.c: Likewise.
40811 * kern/partition.c: Likewise.
40812 * kern/rescue.c: Likewise.
40813 * kern/term.c: Likewise.
40814 * kern/efi/efi.c: Likewise.
40815 * kern/efi/init.c: Likewise.
40816 * kern/efi/mm.c: Likewise.
40817 * kern/i386/dl.c: Likewise.
40818 * kern/i386/efi/init.c: Likewise.
40819 * kern/i386/efi/startup.S: Likewise.
40820 * kern/i386/pc/init.c: Likewise.
40821 * kern/i386/pc/lzo1x.S: Likewise.
40822 * kern/i386/pc/startup.S: Likewise.
40823 * kern/ieee1275/ieee1275.c: Likewise.
40824 * kern/powerpc/cache.S: Likewise.
40825 * kern/powerpc/dl.c: Likewise.
40826 * kern/powerpc/ieee1275/cmain.c: Likewise.
40827 * kern/powerpc/ieee1275/crt0.S: Likewise.
40828 * kern/powerpc/ieee1275/init.c: Likewise.
40829 * kern/powerpc/ieee1275/openfw.c: Likewise.
40830 * kern/sparc64/cache.S: Likewise.
40831 * kern/sparc64/dl.c: Likewise.
40832 * kern/sparc64/ieee1275/init.c: Likewise.
40833 * kern/sparc64/ieee1275/openfw.c: Likewise.
40834 * loader/efi/chainloader.c: Likewise.
40835 * loader/efi/chainloader_normal.c: Likewise.
40836 * loader/i386/efi/linux.c: Likewise.
40837 * loader/i386/efi/linux_normal.c: Likewise.
40838 * loader/i386/pc/chainloader.c: Likewise.
40839 * loader/i386/pc/chainloader_normal.c: Likewise.
40840 * loader/i386/pc/linux.c: Likewise.
40841 * loader/i386/pc/linux_normal.c: Likewise.
40842 * loader/i386/pc/multiboot.c: Likewise.
40843 * loader/i386/pc/multiboot_normal.c: Likewise.
40844 * loader/powerpc/ieee1275/linux.c: Likewise.
40845 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40846 * normal/arg.c: Likewise.
40847 * normal/cmdline.c: Likewise.
40848 * normal/command.c: Likewise.
40849 * normal/completion.c: Likewise.
40850 * normal/execute.c: Likewise.
40851 * normal/function.c: Likewise.
40852 * normal/lexer.c: Likewise.
40853 * normal/main.c: Likewise.
40854 * normal/menu.c: Likewise.
40855 * normal/menu_entry.c: Likewise.
40856 * normal/misc.c: Likewise.
40857 * normal/parser.y: Likewise.
40858 * normal/script.c: Likewise.
40859 * normal/i386/setjmp.S: Likewise.
40860 * normal/powerpc/setjmp.S: Likewise.
40861 * normal/sparc64/setjmp.S: Likewise.
40862 * partmap/acorn.c: Likewise.
40863 * partmap/amiga.c: Likewise.
40864 * partmap/apple.c: Likewise.
40865 * partmap/gpt.c: Likewise.
40866 * partmap/pc.c: Likewise.
40867 * partmap/sun.c: Likewise.
40868 * term/gfxterm.c: Likewise.
40869 * term/terminfo.c: Likewise.
40870 * term/efi/console.c: Likewise.
40871 * term/i386/pc/console.c: Likewise.
40872 * term/i386/pc/serial.c: Likewise.
40873 * term/i386/pc/vesafb.c: Likewise.
40874 * term/i386/pc/vga.c: Likewise.
40875 * term/ieee1275/ofconsole.c: Likewise.
40876 * util/biosdisk.c: Likewise.
40877 * util/console.c: Likewise.
40878 * util/genmoddep.c: Likewise.
40879 * util/getroot.c: Likewise.
40880 * util/grub-emu.c: Likewise.
40881 * util/grub-mkdevicemap.c: Likewise.
40882 * util/grub-probe.c: Likewise.
40883 * util/lvm.c: Likewise.
40884 * util/misc.c: Likewise.
40885 * util/raid.c: Likewise.
40886 * util/resolve.c: Likewise.
40887 * util/update-grub.in: Likewise.
40888 * util/update-grub_lib.in: Likewise.
40889 * util/grub.d/00_header.in: Likewise.
40890 * util/grub.d/10_hurd.in: Likewise.
40891 * util/grub.d/10_linux.in: Likewise.
40892 * util/i386/efi/grub-install.in: Likewise.
40893 * util/i386/efi/grub-mkimage.c: Likewise.
40894 * util/i386/pc/grub-install.in: Likewise.
40895 * util/i386/pc/grub-mkimage.c: Likewise.
40896 * util/i386/pc/grub-mkrescue.in: Likewise.
40897 * util/i386/pc/grub-setup.c: Likewise.
40898 * util/i386/pc/misc.c: Likewise.
40899 * util/powerpc/ieee1275/grub-install.in: Likewise.
40900 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40901 * util/powerpc/ieee1275/misc.c: Likewise.
40902 * video/bitmap.c: Likewise.
40903 * video/video.c: Likewise.
40904 * video/i386/pc/vbe.c: Likewise.
40905 * video/i386/pc/vbeblit.c: Likewise.
40906 * video/i386/pc/vbefill.c: Likewise.
40907 * video/i386/pc/vbeutil.c: Likewise.
40908 * video/readers/tga.c: Likewise.
40909
40910 2007-07-02 Robert Millan <rmh@aybabtu.com>
40911
40912 * conf/i386-efi.rmk: Replace obsolete reference to
40913 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40914 with util/getroot.c.
40915 * conf/powerpc-ieee1275.rmk: Likewise.
40916 * conf/sparc64-ieee1275.rmk: Likewise.
40917
40918 * util/grub-emu.c (main): Fix unchecked pointer handling.
40919
40920 2007-07-02 Robert Millan <rmh@aybabtu.com>
40921
40922 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40923 invocation to fail, in order to support partition-less media.
40924
40925 * util/i386/pc/grub-install.in: Likewise.
40926
40927 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40928 which fs or partmap modules are needed (akin to its sister scripts).
40929
40930 Also use grub-probe to get rid of unportable /proc/mounts check.
40931
40932 Print the same informational message that the other scripts do, before
40933 exiting.
40934
40935 2007-06-23 Robert Millan <rmh@aybabtu.com>
40936
40937 * util/update-grub_lib.in (font_path): New function. Determine whether
40938 a font file can be found and, if so, echo the GRUB path to it.
40939
40940 * util/update-grub.in: Handle multiple terminals depending on user
40941 input, platform availability and font file presence. Propagate
40942 variables of our findings to /etc/grub.d/ children.
40943
40944 * util/grub.d/00_header.in: Handle multiple terminals, based on
40945 environment setup by update-grub.
40946
40947 2007-06-23 Robert Millan <rmh@aybabtu.com>
40948
40949 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
40950
40951 2007-06-21 Robert Millan <rmh@aybabtu.com>
40952
40953 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40954 indicate end of data section in kernel image.
40955 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40956 GRUB_KERNEL_MACHINE_DATA_END.
40957
40958 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40959 space for it.
40960 * kern/i386/efi/startup.S: Likewise.
40961
40962 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40963 during image generation. Implement --prefix option to override this
40964 patch.
40965 * util/i386/efi/grub-mkimage.c: Likewise.
40966
40967 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40968 code to make path relative to its root into a separate function.
40969
40970 * util/i386/pc/grub-install.in: Use newly provided
40971 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40972 pass the result to grub-install --prefix.
40973
40974 2007-06-13 Robert Millan <rmh@aybabtu.com>
40975
40976 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40977 DEFAULT_DEVICE_MAP.
40978 * util/grub-emu.c: Use above definitions from misc.h instead of
40979 defining them.
40980 * util/grub-mkdevicemap.c: Likewise.
40981 * util/i386/pc/grub-setup.c: Likewise.
40982 * util/grub-probe.c: Likewise.
40983 (probe): Abort with grub_util_error() when either
40984 grub_guess_root_device or grub_util_get_grub_dev fails.
40985
40986 2007-06-12 Robert Millan <rmh@aybabtu.com>
40987
40988 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40989 "pager" assignment.
40990 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40991 "pcdata".
40992 * util/grub-probe.c (probe): Likewise for "drive_name".
40993
40994 2007-06-11 Robert Millan <rmh@aybabtu.com>
40995
40996 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40997 not just the cdrom one.
40998
40999 2007-06-11 Robert Millan <rmh@aybabtu.com>
41000
41001 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41002 Add --pkglibdir=DIR option to override pkglibdir.
41003 Mention --image-type=TYPE in help output.
41004 Fix --grub-mkimage (it was a no-op).
41005 Abort gracefully when no parameter is given.
41006
41007 2007-06-11 Robert Millan <rmh@aybabtu.com>
41008
41009 * util/i386/pc/grub-mkrescue.in: New file.
41010 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41011 * Makefile.in: Handle bin_SCRIPTS.
41012
41013 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41014
41015 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41016 list of video modes.
41017
41018 2007-06-06 Robert Millan <rmh@aybabtu.com>
41019
41020 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41021 file doesn't exist, or if it is in a filesystem grub can't read.
41022
41023 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41024 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41025 header comment to fit in 80 columns when the variables are resolved.
41026
41027 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41028 could be identified by update-grub. Remove redundant check for
41029 unifont.pff existence (since convert_system_path_to_grub_path now
41030 handles that).
41031
41032 2007-06-04 Robert Millan <rmh@aybabtu.com>
41033
41034 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41035
41036 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41037
41038 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41039
41040 2007-06-04 Robert Millan <rmh@aybabtu.com>
41041
41042 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41043
41044 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41045 grub_apple_partition_map_fini.
41046
41047 * util/biosdisk.c
41048 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41049 to access >2 TiB disks).
41050
41051 Print disk->total_sectors with %llu instead of %lu, since this
41052 variable is always 64-bit (prevents wrong disk size from being displayed
41053 on either >2 TiB disk or big-endian CPU).
41054
41055 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41056 into a generic case that supports all (sane) partition maps.
41057
41058 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41059 breaks big-endian.
41060
41061 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41062 and grub_apple_partition_map_fini() after that.
41063
41064 2007-06-01 Robert Millan <rmh@aybabtu.com>
41065
41066 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41067
41068 * util/grub.d/00_header.in: Only enable gfxterm when
41069 convert_system_path_to_grub_path() succeeds.
41070
41071 2007-05-20 Robert Millan <rmh@aybabtu.com>
41072
41073 * util/update-grub_lib.in: New file.
41074 * DISTLIST: Add update-grub_lib.in.
41075 * conf/common.rmk: Generate update-grub_lib and install it in
41076 $(lib_DATA).
41077 * Makefile.in: Add install routine for $(lib_DATA).
41078
41079 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41080 function provided by update-grub_lib to support arbitrary paths of
41081 unifont.pff.
41082 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41083 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41084
41085 2007-05-19 Robert Millan <rmh@aybabtu.com>
41086
41087 * commands/i386/cpuid.c: New module.
41088 * DISTLIST: Add it.
41089 * conf/i386-efi.rmk: Enable cpuid.mod.
41090 * conf/i386-pc.rmk: Likewise.
41091
41092 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41093
41094 * kern/disk.c (grub_disk_read): Check return value of
41095 grub_realloc().
41096
41097 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41098
41099 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41100 arrays.
41101 * disk/raid.c (grub_raid_open): Likewise.
41102
41103 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41104
41105 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41106 stack instead of on the heap.
41107
41108 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41109 before doing a read on it.
41110
41111 * configure.ac: Only use -fno-stack-protector for the target
41112 environment.
41113
41114 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41115
41116 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41117 __attribute_ ((unused)) to mode_type argument.
41118
41119 * util/getroot.c (grub_guess_root_device): Fix #endif.
41120
41121 * kern/misc.c (memcmp): Fix prototype.
41122
41123 * include/grub/partition.h [GRUB_UTIL]
41124 (grub_gpt_partition_map_init): Add prototype.
41125 (grub_gpt_partition_map_fini): Likewise.
41126
41127 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41128 at the right place.
41129
41130 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41131 (grub_fat_read_data): Likewise.
41132 (grub_fat_find_dir): Likewise.
41133
41134 * font/manager.c (find_glyph): Make table a const.
41135 (grub_font_get_glyph): Remove bitmap from if statement.
41136
41137 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41138
41139 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41140 code, first search for device in /dev/mapper, then in /dev.
41141 (grub_util_get_grub_dev): New function.
41142 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41143 prototype.
41144 * util/grub-probe.c (probe): Remove check for RAID, call
41145 grub_util_get_grub_dev() instead of
41146 grub_util_biosdisk_get_grub_dev().
41147 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41148 grub_util_biosdisk_get_grub_dev().
41149 * util/i386/pc/grub-setup.c (main): Likewise.
41150
41151 2007-05-16 Robert Millan <rmh@aybabtu.com>
41152
41153 * DISTLIST: Update for the latest changes.
41154 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41155 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41156 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41157 grub/util/biosdisk.h.
41158 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41159 grub/util/biosdisk.h.
41160
41161 2007-05-16 Robert Millan <rmh@aybabtu.com>
41162
41163 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41164
41165 2007-05-16 Robert Millan <rmh@aybabtu.com>
41166
41167 * util/i386/efi/grub-install.in: New.
41168 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41169 newly added grub-install.
41170 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41171 include.
41172 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41173 grub/util/biosdisk.h.
41174 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41175 grub/util/biosdisk.h.
41176
41177 2007-05-16 Robert Millan <rmh@aybabtu.com>
41178
41179 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41180 * include/grub/util/biosdisk.h: ... here.
41181 * util/i386/pc/biosdisk.c: Moved to ...
41182 * util/biosdisk.c: ... here.
41183 * util/i386/pc/getroot.c: Moved to ...
41184 * util/getroot.c: ... here.
41185 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41186 * util/grub-mkdevicemap.c: ... here.
41187 * util/i386/pc/grub-probe.c: Moved to ...
41188 * util/grub-probe.c: ... here.
41189
41190 2007-05-15 Robert Millan <rmh@aybabtu.com>
41191
41192 * util/update-grub.in: Remove duplicated line in grub.cfg header
41193 message.
41194
41195 2007-05-13 Robert Millan <rmh@aybabtu.com>
41196
41197 * util/update-grub.in: Fix a few assumptions about the devices holding
41198 /, /boot and /boot/grub being the same.
41199 * util/grub.d/00_header.in: Likewise.
41200 * util/grub.d/10_hurd.in: Likewise.
41201 * util/grub.d/10_linux.in: Likewise.
41202
41203 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41204 patterns. Use that to define the `.old' suffix as older than `'.
41205
41206 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41207
41208 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41209 the grub.cfg header message.
41210
41211 2007-05-11 Robert Millan <rmh@aybabtu.com>
41212
41213 * util/update-grub.in: Create device.map if it doesn't already exist,
41214 before attempting to run grub-probe.
41215 Check for grub-probe and grub-mkdevicemap with the same code
41216 grub-install is using.
41217 Remove test mode.
41218
41219 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41220
41221 * Makefile.in: Add the datarootdir autoconf variable.
41222
41223 2007-05-09 Robert Millan <rmh@aybabtu.com>
41224
41225 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
41226 fail gracefully if dev->disk->partition == NULL.
41227
41228 2007-05-07 Robert Millan <rmh@aybabtu.com>
41229
41230 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41231 determine partition map module.
41232 * util/i386/pc/grub-install.in: Use this feature to decide which
41233 partition module to load, instead of hardcoding pc and gpt.
41234
41235 2007-05-07 Robert Millan <rmh@aybabtu.com>
41236
41237 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41238 source directory differs from build directory.
41239
41240 2007-05-05 Robert Millan <rmh@aybabtu.com>
41241
41242 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41243 initialisation.
41244
41245 2007-05-05 Robert Millan <rmh@aybabtu.com>
41246
41247 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41248
41249 2007-05-05 Robert Millan <rmh@aybabtu.com>
41250
41251 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41252 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41253
41254 2007-05-05 Robert Millan <rmh@aybabtu.com>
41255
41256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41257 (grub_probe_SOURCES): Likewise.
41258 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41259 GPT and initialize dos_part and bsd_part accordingly.
41260 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41261 install_bsd_part.
41262 (main): Activate gpt module for use during partition identification,
41263 and deactivate it afterwards.
41264 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41265 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41266 partition identification, and deactivate it afterwards.
41267
41268 2007-05-05 Robert Millan <rmh@aybabtu.com>
41269
41270 * term/i386/pc/console.c (grub_console_fini): Call
41271 grub_term_set_current() before grub_term_unregister().
41272
41273 2007-05-04 Robert Millan <rmh@aybabtu.com>
41274
41275 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41276 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41277 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41278 and update-grub_DATA.
41279 * conf/common.rmk: Build and install update-grub components.
41280 * conf/common.mk: Regenerate.
41281 * util/update-grub.in: New. Core of update-grub.
41282 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41283 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41284 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41285 * util/grub.d/README: New. Document grub.d directory layout.
41286
41287 2007-05-01 Robert Millan <rmh@aybabtu.com>
41288
41289 * util/grub-emu.c: Move initialization functions
41290 grub_util_biosdisk_init() and grub_init_all() before
41291 grub_util_biosdisk_get_grub_dev(), which relies on them.
41292
41293 2007-04-19 Robert Millan <rmh@aybabtu.com>
41294
41295 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41296 it is used later.
41297
41298 2007-04-18 Jerone Young <jerone@gmail.com>
41299
41300 * kernel/elf.c: Add missing parenthesis for conditional statement
41301 stanza.
41302
41303 2007-04-10 Jerone Young <jerone@gmail.com>
41304
41305 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41306 continue on and look for device node with real device name.
41307
41308 2007-04-10 Jerone Young <jerone@gmail.com>
41309
41310 * configure.ac: Add argument for autoconf to use transformation
41311 ability.
41312 * Makefile.in: Add autoconf package transformation code.
41313 * util/i386/pc/grub-install.in: Likewise.
41314 * util/powerpc/ieee1275/grub-install.in: Likewise.
41315
41316 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41317
41318 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41319 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41320 (EXT2_REVISION): Likewise.
41321 (EXT2_INODE_SIZE): Likewise.
41322 (struct grub_ext2_block_group): Added a missing member
41323 "used_dirs".
41324 (grub_ext2_read_inode): Divide by the inode size in a superblock
41325 instead of 128 to obtain INODES_PER_BLOCK.
41326 Use the macro EXT2_INODE_SIZE instead of directly using
41327 SBLOCK->INODE_SIZE.
41328
41329 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41330
41331 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41332 superblock instead of the structure size to compute an
41333 offset. This fixes the problem that GRUB could not read a
41334 filesystem when inode size is different from 128-byte.
41335
41336 2007-03-05 Marco Gerards <marco@gnu.org>
41337
41338 * normal/main.c (read_config_file): When "menu" is not set, create
41339 an initial context.
41340
41341 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41342
41343 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41344 (HEAP_LIMIT): New macro.
41345 (grub_claim_heap): Claim memory up to `heaplimit'.
41346
41347 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41348
41349 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41350 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41351 (_start): Likewise.
41352 (grub_arch_modules_addr): Return address after `_end'.
41353 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41354 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41355 (add_segments): Calculate `_end' from phdr size and location.
41356 (ALIGN_UP): Moved to ...
41357 * include/grub/misc.h: here.
41358 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41359 New macro.
41360 (GRUB_IEEE1275_MODULE_BASE): Removed.
41361
41362 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41363
41364 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41365 loop boundary.
41366
41367 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41368
41369 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41370 All users updated.
41371 (grub_elf64_load_hook_t): Likewise.
41372 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41373 debug output.
41374
41375 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41376
41377 * kern/mm.c: Update copyright.
41378 (grub_mm_debug): Correct syntax error.
41379 (grub_mm_dump_free): New function.
41380 (grub_debug_free): Call `grub_free'.
41381 * include/grub/mm.h: Update copyright.
41382 (grub_mm_dump_free): Add declaration.
41383
41384 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41385
41386 * include/grub/ieee1275/ieee1275.h: Update copyright.
41387 * kern/powerpc/ieee1275/init.c: Likewise.
41388 * kern/powerpc/ieee1275/openfw.c: Likewise.
41389
41390 * loader/powerpc/ieee1275/linux.c: Likewise.
41391 * include/grub/elfload.h: Likewise.
41392 * kern/elf.c: Likewise.
41393 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41394 callers.
41395 (grub_elf64_load): Likewise.
41396 (grub_elf32_load_segment): Move to a nested function.
41397 (grub_elf64_load_segment): Likewise.
41398
41399 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41400
41401 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41402 prototype.
41403 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41404 (grub_heap_len): Likewise.
41405 (HEAP_SIZE): New macro.
41406 (grub_claim_heap): New function.
41407 (grub_machine_init): Don't claim heap directly. Call
41408 `grub_claim_heap'.
41409 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41410 (grub_available_iterate): New function.
41411
41412 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41413
41414 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41415 * configure.ac: Use it for testing the HOST and TARGET compilers.
41416
41417 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41418
41419 * Makefile.in (enable_grub_emu): New variable.
41420 * configure.ac (--enable-grub-emu): New option.
41421 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41422 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41423 * conf/i386-pc.rmk: Likewise.
41424 * conf/powerpc-ieee1275.rmk: Likewise.
41425 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41426
41427 2006-12-12 Marco Gerards <marco@gnu.org>
41428
41429 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41430
41431 * kern/env.c (grub_env_unset): Don't free the member `value' when
41432 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41433 pointer.
41434
41435 * normal/main.c (current_menu): Removed.
41436 (free_menu): Unset the `menu' environment variable.
41437 (grub_normal_menu_addentry): Make use of the environment variable
41438 `menu', instead of using the global `current_menu'. Allocate
41439 memory for the sourcecode of this entry.
41440 (read_config_file): New argument `nested', changed all callers.
41441 Only in the case of a new context, initialize a new menu. Set the
41442 `menu' environment variable.
41443 (grub_normal_execute): Don't set and unset the environment
41444 variable `menu' here anymore. Only free the menu when leaving the
41445 context.
41446
41447 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41448 leak.
41449
41450 2006-12-11 Marco Gerards <marco@gnu.org>
41451
41452 * normal/menu_entry.c (run): Fix off by one bug so the last line
41453 is executed. Move the loader check to outside the loop.
41454
41455 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
41456
41457 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
41458
41459 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
41460
41461 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
41462 the number of sectors. Reported by Andrey Shuvikov
41463 <mr_hyro@yahoo.com>.
41464
41465 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
41466
41467 * kern/disk.c (grub_disk_read): When there is a read error, always
41468 try to read only the necessary data.
41469
41470 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
41471 disk/raid.c.
41472 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
41473 prototype.
41474 [GRUB_UTIL] (grub_raid_fini): Likewise.
41475 [GRUB_UTIL] (grub_lvm_init): Likewise.
41476 [GRUB_UTIL] (grub_lvm_fini): Likewise.
41477 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
41478 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
41479 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
41480 and grub_raid_fini().
41481
41482 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41483
41484 * include/grub/types.h (__unused): Rename to UNUSED.
41485 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
41486 (grub_elf64_size): Likewise.
41487
41488 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41489
41490 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
41491 grub_error_push and grub_error_pop in the error-handling path.
41492 (grub_elf32_load_segment): Only call grub_file_read with non-zero
41493 length.
41494
41495 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41496
41497 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
41498 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41500 (kernel_elf_SOURCES): Likewise.
41501 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
41502 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
41503 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41504 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41505 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
41506 (elf_mod_SOURCES): New variable.
41507 (elf_mod_CFLAGS): Likewise.
41508 (elf_mod_LDFLAGS): Likewise.
41509 * include/grub/types.h (__unused): New macro.
41510 * include/grub/elfload.h: New file.
41511 * kern/elf.c: Likewise.
41512 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
41513 (ELF32_LOADMASK): New macro.
41514 (ELF64_LOADMASK): Likewise.
41515 (vmlinux): Removed.
41516 (grub_linux_load32): New function.
41517 (grub_linux_load64): Likewise.
41518 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
41519 Use grub_elf_t instead of grub_file_t.
41520
41521 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
41522
41523 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
41524 `catch_result' to struct set_color_args.
41525
41526 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41527
41528 * normal/menu.c: Include grub/script.h.
41529 * normal/menu_entry.c: Likewise.
41530 * include/grub/normal.h: Do not include grub/script.h.
41531
41532 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41533
41534 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
41535
41536 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41537
41538 * kern/disk.c (grub_disk_open): Print debug messages when opening a
41539 disk.
41540 (grub_disk_close): Print debug messages when closing a disk.
41541 (grub_disk_read): Print debug messages when disk read fails.
41542 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
41543 filesystem type.
41544 * kern/partition.c: Include misc.h.
41545 (grub_partition_iterate): Print debug messages when detecting
41546 partition type.
41547
41548 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41549
41550 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
41551 is negative.
41552 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
41553
41554 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
41555
41556 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41557 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41558
41559 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41560
41561 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41562 instead of sizeof(lv). Patch by Michael Guntsche.
41563
41564 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
41565
41566 * disk/lvm.c: Rename VGS to VG_LIST.
41567 (grub_lvm_iterate): Change VGS->LV to VG-LV.
41568 (grub_lvm_open): Likewise.
41569 Thanks to Michael Guntsche for finding this bug.
41570
41571 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41572
41573 * configure.ac (AC_INIT): Bumped to 1.95.
41574
41575 2006-10-14 Robert Millan <rmh@aybabtu.com>
41576
41577 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
41578 with "/dev/.static/dev/md".
41579
41580 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41581
41582 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
41583 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
41584 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
41585 DRIVE_NAME are always freed.
41586
41587 * util/i386/pc/biosdisk.c (make_device_name): Add one into
41588 DOS_PART, as a DOS partition is counted from one instead of zero
41589 now. Reported by Robert Millan.
41590
41591 2006-10-14 Robert Millan <rmh@aybabtu.com>
41592
41593 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
41594 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
41595 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
41596 string returned by grub_guess_root_device.
41597 * util/i386/pc/grub-setup.c: Likewise.
41598 * util/i386/pc/grub-probefs.c: Likewise.
41599
41600 * util/i386/pc/grub-probefs.c: Rename to ...
41601 * util/i386/pc/grub-probe.c: ... this.
41602 * DISTLIST: Remove grub-probefs, add grub-probe.
41603 * conf/i386-efi.rmk: Likewise.
41604 * conf/i386-pc.rmk: Likewise.
41605 * util/i386/pc/grub-install.in: Likewise.
41606
41607 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
41608 choose which information we want to print.
41609
41610 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41611
41612 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
41613 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
41614 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41615 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41616 video/readers/tga.c and video/i386/pc/vbeutil.c.
41617
41618 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41619
41620 Added support for RAID and LVM.
41621
41622 * disk/lvm.c: New file.
41623 * disk/raid.c: Likewise.
41624 * include/grub/lvm.h: Likewise.
41625 * include/grub/raid.h: Likewise.
41626 * include/grub/util/lvm.h: Likewise.
41627 * include/grub/util/raid.h: Likewise.
41628 * util/lvm.c: Likewise.
41629 * util/raid.c: Likewise.
41630
41631 * include/grub/disk.h (grub_disk_dev_id): Add
41632 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41633 (grub_disk_get_size): New prototype.
41634 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41635 returns a partition.
41636 (grub_disk_get_size): New function.
41637
41638 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41639 verbatim if grub_install_dos_part is -2.
41640
41641 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41642 and LVM devices.
41643
41644 * util/i386/pc/grub-setup.c (setup): New argument
41645 MUST_EMBED. Force embedding of GRUB when the argument is
41646 true. Close FILE before returning.
41647 (main): Add support for RAID and LVM.
41648
41649 * conf/common.rmk: Add RAID and LVM modules.
41650 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41651 util/lvm.c.
41652 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41653
41654 * kern/misc.c (grub_strstr): New function.
41655 * include/grub/misc.h (grub_strstr): New prototype.
41656
41657 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41658
41659 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41660
41661 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41662
41663 * kern/misc.c (grub_strtoull): Guess the base only if not
41664 specified.
41665
41666 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41667
41668 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41669 PowerMac support.
41670
41671 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41672
41673 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41674
41675 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41676 Remove `flags' argument. All callers changed.
41677 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41678 (IEEE1275_IHANDLE_INVALID): New variable.
41679 (IEEE1275_CELL_INVALID): New variable.
41680 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41681 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41682 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41683 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41684 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41685 codes from Open Firmware. All callers updated.
41686 (grub_ieee1275_next_property): Directly return Open Firmware return
41687 code.
41688 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41689 Standardize error checking from `grub_ieee1275_get_property'.
41690 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41691 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41692
41693 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41694
41695 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41696 `instance_to_package_args' to `instance_to_path_args'.
41697
41698 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41699 `grub_ieee1275_chosen'.
41700
41701 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41702 `grub_ieee1275_interpret'.
41703
41704 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41705
41706 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41707
41708 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41709
41710 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41711 (__cmpdi): Likewise.
41712
41713 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41714 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41715 `grub_ssize_t'.
41716
41717 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
41718
41719 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41720 to type `grub_ssize_t'.
41721 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41722
41723 2006-09-22 Marco Gerards <marco@gnu.org>
41724
41725 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41726 newlines.
41727
41728 2006-09-22 Marco Gerards <marco@gnu.org>
41729
41730 * commands/echo.c: New file.
41731
41732 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41733
41734 * conf/common.rmk (echo_mod_SOURCES): New variable.
41735 (echo_mod_CFLAGS): Likewise.
41736 (echo_mod_LDFLAGS): Likewise.
41737
41738 2006-09-22 Marco Gerards <marco@gnu.org>
41739
41740 * normal/main.c (get_line): Malloc memory instead of using
41741 preallocated memory. Removed the arguments `cmdline' and
41742 `max_len'. Updated all callers.
41743
41744 2006-09-22 Marco Gerards <marco@gnu.org>
41745
41746 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41747 (normal_mod_DEPENDENCIES): Likewise.
41748
41749 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41750 (normal_mod_DEPENDENCIES): Likewise.
41751
41752 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41753
41754 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
41755
41756 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41757 programs.
41758 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41759 (normal_mod_DEPENDENCIES): Likewise.
41760 * conf/i386-pc.mk: Regenerate.
41761 * conf/i386-efi.mk: Likewise
41762 * conf/common.mk: Likewise.
41763 * conf/powerpc-ieee1275.mk: Likewise.
41764 * conf/sparc64-ieee1275.mk: Likewise.
41765
41766 2006-09-22 Robert Millan <rmh@aybabtu.com>
41767
41768 Sync with i386 version.
41769 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41770 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41771
41772 2006-09-21 Robert Millan <rmh@aybabtu.com>
41773
41774 Import from GRUB Legacy (lib/device.c):
41775 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41776 (init_device_map) [__linux__]: Add support for I2O devices.
41777
41778 2006-09-14 Marco Gerards <marco@gnu.org>
41779
41780 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41781 `-melf_i386'.
41782
41783 2006-09-14 Robert Millan <rmh@aybabtu.com>
41784
41785 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41786 /boot/grub/*.lst.
41787
41788 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
41789
41790 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41791 before adding it to device.map.
41792
41793 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
41794
41795 * genmk.rb: Let GCC generate dependencies the first time it
41796 compiles a file; using the -MD option.
41797 * conf/common.mk: Regenerate.
41798 * conf/i386-pc.mk: Likewise.
41799 * conf/i386-efi.mk: Likewise.
41800 * conf/powerpc-ieee1275.mk: Likewise.
41801 * conf/sparc64-ieee1275.mk: Likewise.
41802
41803 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41804
41805 Move the prototypes of grub_setjmp and grub_longjmp to
41806 cpu/setjmp.h, so that each architecture may specify different
41807 attributes.
41808
41809 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41810 (grub_longjmp): Likewise.
41811 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41812 (grub_longjmp): Likewise.
41813 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41814 (grub_longjmp): Likewise.
41815
41816 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41817 [!GRUB_UTIL] (grub_longjmp): Removed.
41818
41819 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41820
41821 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41822 "color!" method does not return any value.
41823
41824 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41825
41826 * include/grub/bitmap.h: New file.
41827
41828 * include/grub/i386/pc/vbeutil.h: Likewise.
41829
41830 * video/bitmap.c: Likewise.
41831
41832 * video/readers/tga.c: Likewise.
41833
41834 * video/i386/pc/vbeutil.c: Likewise.
41835
41836 * commands/videotest.c: Code cleanup and updated to reflect to new
41837 video API.
41838
41839 * term/gfxterm.c: Likewise.
41840
41841 * video/video.c: Likewise.
41842
41843 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41844 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41845 (bitmap_mod_SOURCES): New entry.
41846 (bitmap_mod_CFLAGS): Likewise.
41847 (bitmap_mod_LDFLAGS): Likewise.
41848 (tga_mod_SOURCES): Likewise.
41849 (tga_mod_CFLAGS): Likewise.
41850 (tga_mod_LDFLAGS): Likewise.
41851
41852 * include/grub/video.h (grub_video_blit_operators): New enum type.
41853 (grub_video_render_target): Changed as forward declaration and moved
41854 actual definition to be video driver specific.
41855 (grub_video_adapter.blit_bitmap): Added blitting operator.
41856 (grub_video_adapter.blit_render_target): Likewise.
41857 (grub_video_blit_bitmap): Likewise.
41858 (grub_video_blit_render_target): Likewise.
41859
41860 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41861 driver specific render target definition.
41862 (grub_video_vbe_map_rgba): Added driver internal helper.
41863 (grub_video_vbe_unmap_color): Updated to use
41864 grub_video_i386_vbeblit_info.
41865 (grub_video_vbe_get_video_ptr): Likewise.
41866
41867 * include/grub/i386/pc/vbeblit.h
41868 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41869 grub_video_i386_vbeblit_info.
41870 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41871 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41872 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41873 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41874 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41875 (grub_video_i386_vbeblit_index_index): Likewise.
41876 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41877 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41878 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41879 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41880 operator.
41881 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41882 operator.
41883
41884 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41885 include/grub/i386/pc/vbeblit.h.
41886
41887 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41888 Updated to use grub_video_i386_vbeblit_info.
41889 (grub_video_i386_vbefill_R8G8B8): Likewise.
41890 (grub_video_i386_vbefill_index): Likewise.
41891 (grub_video_i386_vbefill): Added generic filler.
41892
41893 * video/i386/pc/vbefill.c: Updated to reflect changes on
41894 include/grub/i386/pc/vbefill.h.
41895
41896 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41897 grub_video_i386_vbeblit_info.
41898 (grub_video_vbe_unmap_color): Likewise.
41899 (grub_video_vbe_blit_glyph): Likewise.
41900 (grub_video_vbe_scroll): Likewise.
41901 (grub_video_vbe_draw_pixel): Removed function.
41902 (grub_video_vbe_get_pixel): Likewise.
41903 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41904 updated code to use it.
41905 (common_blitter): Added common blitter for render target and bitmap.
41906 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41907 (grub_video_vbe_blit_render_target): Likewise.
41908
41909 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
41910
41911 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41912 is in text mode if there is no console control protocol instance
41913 available.
41914
41915 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41916
41917 * include/grub/video.h: Code cleanup.
41918
41919 * include/grub/i386/pc/vbe.h: Likewise.
41920
41921 * video/i386/pc/vbe.c: Likewise.
41922
41923 * video/i386/pc/vbeblit.c: Likewise.
41924
41925 * video/i386/pc/vbefill.c: Likewise.
41926
41927 * video/video.c: Likewise. Also added more comments.
41928
41929 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41930
41931 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41932 (struct grub_biosdisk_dap): Likewise.
41933
41934 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41935 linkage settings for all functions.
41936
41937 2006-07-12 Marco Gerards <marco@gnu.org>
41938
41939 * configure.ac (--enable-mm-debug): Fix typo.
41940
41941 * genkernsyms.sh.in: Use proper quoting for `CC'.
41942
41943 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41944
41945 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41946 (normal_mod_ASFLAGS): Remove "-m32".
41947
41948 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41949
41950 * util/misc.c: Include config.h.
41951 [!HAVE_MEMALIGN]: Do not include malloc.h.
41952 (grub_memalign): Use posix_memalign, if present. Then, use
41953 memalign, if present. Otherwise, emit an error.
41954
41955 * util/grub-emu.c: Do not include malloc.h.
41956
41957 * include/grub/util/misc.h: Include unistd.h. This is required for
41958 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41959 D. Eades III <hde@foobar-qux.org>.
41960
41961 * configure.ac (AC_GNU_SOURCE): Added.
41962 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41963 type.
41964
41965 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41966
41967 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41968 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41969
41970 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41971
41972 * include/grub/types.h (grub_host_addr_t): Rename to
41973 grub_target_addr_t.
41974 (grub_host_off_t): Rename to grub_target_off_t.
41975 (grub_host_size_t): Rename to grub_target_size_t.
41976 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41977 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41978
41979 * include/grub/kernel.h (struct grub_module_header): Change type
41980 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41981 (grub_module_info): Likewise.
41982
41983 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41984
41985 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41986 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41987 Velazquez <jesus.velazquez@gmail.com>.
41988
41989 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41990
41991 Count partitions from 1 instead of 0 in the string representation
41992 of partitions. Still use 0-based internally.
41993
41994 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41995 (sun_partition_map_iterate): Use grub_partition_t instead of
41996 struct grub_partition *. Cast DESC->START_CYLINDER to
41997 grub_uint64_t after converting the endian.
41998 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41999 (sun_partition_map_get_name): Add 1 to P->INDEX.
42000
42001 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42002 PCDATA->DOS_PART.
42003 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42004
42005 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42006 zero instead of one.
42007 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42008 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42009
42010 * partmap/apple.c (apple_partition_map_iterate): Change the type
42011 of POS to unsigned.
42012 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42013 (apple_partition_map_get_name): Add 1 into P->INDEX.
42014
42015 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42016 of POS to unsigned.
42017 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42018 calculate the offset of a partition.
42019 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42020 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42021
42022 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42023 SECTOR to grub_disk_addr_t.
42024 (acorn_partition_map_iterate): Likewise.
42025 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42026 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42027 top.
42028 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42029
42030 * kern/i386/pc/init.c (make_install_device): Add 1 into
42031 GRUB_INSTALL_DOS_PART.
42032
42033 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42034 conditional.
42035
42036 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42037
42038 Clean up the code to support 64-bit addressing in disks and
42039 files. This change is not enough for filesystems yet.
42040
42041 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42042 type of "start" to grub_uint64_t.
42043 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42044 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42045 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42046 convert addresses.
42047
42048 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42049 to grub_disk_addr_t.
42050
42051 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42052 string.
42053
42054 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42055
42056 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42057 to char *.
42058
42059 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42060
42061 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42062
42063 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42064
42065 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42066 to grub_off_t, to detect an error from grub_file_seek.
42067 (grub_multiboot_load_elf32): Likewise.
42068
42069 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42070 maximum unsigned long value when an overflow is detected.
42071 (grub_strtoull): New function.
42072 (grub_divmod64): Likewise.
42073 (grub_lltoa): use grub_divmod64.
42074
42075 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42076 grub_disk_addr_t.
42077 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42078 the pointer to next character. Use grub_strtoull instead of
42079 grub_strtoul.
42080 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42081 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42082 respectively.
42083
42084 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
42085 return value is signed.
42086 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42087 test if OFFSET is less than zero, as OFFSET is unsigned now.
42088
42089 * kern/disk.c (struct grub_disk_cache): Change the type of
42090 "sector" to grub_disk_addr_t.
42091 (grub_disk_cache_get_index): Change the type of SECTOR to
42092 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42093 unsigned after shifting.
42094 (grub_disk_cache_invalidate): Change the type of SECTOR to
42095 grub_disk_addr_t.
42096 (grub_disk_cache_unlock): Likewise.
42097 (grub_disk_cache_store): Likewise.
42098 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42099 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42100 grub_disk_addr_t and grub_uint64_t, respectively.
42101 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42102 body, as the value of OFFSET is tweaked by
42103 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42104 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42105 respectively.
42106 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42107 body, as the value of OFFSET is tweaked by
42108 grub_disk_check_range. Change the types of LEN and N to
42109 grub_size_t.
42110
42111 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42112 and "saved_offset" to grub_off_t.
42113 (test_header): Cast BUF to char *.
42114 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42115 to char *.
42116 (grub_gzio_read): Change the types of OFFSET and SIZE to
42117 grub_off_t and grub_size_t, respectively.
42118
42119 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42120 Removed.
42121 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42122 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42123 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42124 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42125 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42126
42127 * include/grub/types.h (grub_off_t): Unconditionally set to
42128 grub_uint64_t.
42129 (grub_disk_addr_t): Changed to grub_uint64_t.
42130
42131 * include/grub/partition.h (struct grub_partition): Change the
42132 types of "start", "len" and "offset" to grub_disk_addr_t,
42133 grub_uint64_t and grub_disk_addr_t, respectively.
42134 (grub_partition_get_start): Return grub_disk_addr_t.
42135 (grub_partition_get_len): Return grub_uint64_t.
42136
42137 * include/grub/misc.h (grub_strtoull): New prototype.
42138 (grub_divmod64): Likewise.
42139
42140 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42141 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42142 grub_off_t, respectively.
42143 All callers and references changed.
42144
42145 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42146 grub_size_t in "read".
42147 All callers and references changed.
42148
42149 * include/grub/file.h (struct grub_file): Change the types of
42150 "offset" and "size" to grub_off_t and grub_off_t,
42151 respectively. Change the type of SECTOR to grub_disk_addr_t in
42152 "read_hook".
42153 (grub_file_read): Change the type of LEN to grub_size_t.
42154 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42155 grub_off_t.
42156 (grub_file_size): Return grub_off_t.
42157 (grub_file_tell): Likewise.
42158 All callers and references changed.
42159
42160 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42161 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42162 "write".
42163 (struct grub_disk): Change the type of "total_sectors" to
42164 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
42165 "read_hook".
42166 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42167 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42168 (grub_disk_write): Likewise.
42169 All callers and references changed.
42170
42171 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42172 char * for grub_strncmp to silence gcc.
42173 (grub_iso9660_mount): Likewise.
42174 (grub_iso9660_mount): Likewise.
42175 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42176 return statement.
42177 (grub_iso9660_iterate_dir): Likewise.
42178 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42179
42180 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42181 LEN to grub_disk_addr_t and grub_size_t, respectively.
42182
42183 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42184
42185 * fs/jfs.c (grub_jfs_read_file): Likewise.
42186
42187 * fs/minix.c (grub_jfs_read_file): Likewise.
42188
42189 * fs/sfs.c (grub_jfs_read_file): Likewise.
42190
42191 * fs/ufs.c (grub_jfs_read_file): Likewise.
42192
42193 * fs/xfs.c (grub_jfs_read_file): Likewise.
42194
42195 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42196 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42197 respectively.
42198
42199 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42200 BLKNR to -1 instead of returning GRUB_ERRNO.
42201 (grub_ext2_read_file): Change the types of SECTOR and
42202 LEN to grub_disk_addr_t and grub_size_t, respectively.
42203
42204 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42205 LEN to grub_disk_addr_t and grub_size_t, respectively.
42206
42207 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42208 grub_file_read.
42209
42210 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42211 string. Do not cast SECTOR explicitly.
42212
42213 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42214 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42215 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42216 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42217 over 2TB and LBA mode is not supported, raise an error.
42218 (get_safe_sectors): New function.
42219 (grub_biosdisk_read): Use get_safe_sectors.
42220 (grub_biosdisk_write): Likewise.
42221
42222 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42223 (grub_efidisk_write): Likewise.
42224
42225 * disk/loopback.c (delete_loopback): Cosmetic changes.
42226 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42227 correctly.
42228 (grub_loopback_open): Likewise.
42229 (grub_loopback_read): Likewise. Also, change the type of POS to
42230 grub_off_t, and fix the usage of grub_memset.
42231
42232 * commands/i386/pc/play.c: Include grub/machine/time.h.
42233
42234 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42235 print FILE->SIZE.
42236
42237 * commands/configfile.c: Include grub/env.h.
42238
42239 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42240 GRUB_ERRNO directly instead. Change the type of POS to
42241 grub_off_t. Follow the coding standard.
42242
42243 * commands/blocklist.c: Include grub/partition.h.
42244 (grub_cmd_blocklist): Return an error if the underlying device is
42245 not a disk. Take the starting sector of a partition into account,
42246 if a partition is used.
42247
42248 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42249 a length field.
42250 (lba_mode): Support 64-bit addresses.
42251 (chs_mode): Likewise.
42252 (copy_buffer): Adapted to the new offsets of a length field and a
42253 segment field.
42254 (blocklist_default_start): Allocate 64-bit space.
42255
42256 * boot/i386/pc/boot.S (force_lba): Removed.
42257 (boot_drive): Moved to under KERNEL_SECTOR.
42258 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
42259 space.
42260 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42261 is useless.
42262 (lba_mode): Refactored to support a 64-bit address. More size
42263 optimization.
42264 (setup_sectors): Likewise.
42265
42266 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42267
42268 * DISTLIST: Added include/grub/i386/linux.h. Removed
42269 include/grub/i386/pc/linux.h
42270
42271 * configure.ac (AC_INIT): Bumped to 1.94.
42272
42273 * config.guess: Updated from gnulib.
42274 * config.sub: Likewise.
42275 * install-sh: Likewise.
42276 * mkinstalldirs: Likewise.
42277
42278 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42279
42280 * conf/common.rmk (grub_modules_init.lst): Depended on
42281 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42282 MODSRCFILES.
42283
42284 * genmk.rb (PModule::rule): Reverted the previous change.
42285
42286 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42287
42288 * conf/common.rmk (grub_modules_init.lst): Depends on
42289 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42290 that the target does not exist before producing.
42291 (grub_modules_init.h): Remove the target before generating.
42292 (grub_emu_init.c): Likewise.
42293
42294 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42295
42296 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42297
42298 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42299 for the target-specific tests. Make sure that we also have the
42300 up-to-date target variables for those tests.
42301
42302 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42303
42304 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42305 (PModule::rule): Likewise.
42306
42307 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42308
42309 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42310 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42311 target-specific flags should be prefixed.
42312 (PModule::rule): Likewise.
42313
42314 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42315
42316 * configure.ac (CMP): Check if cmp is available explicitly.
42317
42318 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42319
42320 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42321 (target_cpu): New variable.
42322 (pkglibdir): Use target_cpu instead of host_cpu.
42323
42324 * util/i386/pc/grub-install.in (host_cpu): Removed.
42325 (target_cpu): New variable.
42326 (pkglibdir): Use target_cpu instead of host_cpu.
42327
42328 * util/genmoddep.c: Removed.
42329
42330 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42331 instead of GRUB_HOST_SIZEOF_VOID_P.
42332 * kern/dl.c: Likewise.
42333
42334 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42335 ...
42336 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42337 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42338 (GRUB_TARGET_SIZEOF_LONG): ... this.
42339 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42340 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42341 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42342 to ...
42343 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42344 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42345 (GRUB_TARGET_SIZEOF_LONG): ... this.
42346 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42347 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42348 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42349 to ...
42350 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42351 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42352 (GRUB_TARGET_SIZEOF_LONG): ... this.
42353 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42354 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42355
42356 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42357 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42358 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42359 instead of GRUB_HOST_SIZEOF_LONG.
42360 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42361 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42362 GRUB_CPU_WORDS_BIGENDIAN.
42363 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42364 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42365 grub_host_ssize_t.
42366
42367 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42368 (genmoddep_SOURCES): Likewise.
42369 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42370 (genmoddep_SOURCES): Likewise.
42371 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42372 (genmoddep_SOURCES): Likewise.
42373 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42374 Likewise.
42375 (genmoddep_SOURCES): Likewise.
42376
42377 * genmoddep.awk: New file.
42378
42379 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42380 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42381 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42382 (PModule::rule): Likewise.
42383 (Program::rule): Likewise.
42384 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42385 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42386 respectively.
42387
42388 * configure.ac: Rewritten intensively to use host and target
42389 instead of build and host, respectively.
42390
42391 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42392 (host_cpu): Removed.
42393 (target_cpu): New variable.
42394 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42395 (BUILD_CC): Removed.
42396 (BUILD_CFLAGS): Likewise.
42397 (BUILD_CPPFLAGS): Likewise.
42398 (TARGET_CC): New variable.
42399 (TARGET_CFLAGS): Likewise.
42400 (TARGET_CPPFLAGS): Likewise.
42401 (TARGET_LDFLAGS): Likewise.
42402 (AWK): Likewise.
42403 (include): Use target_cpu instead of host_cpu.
42404 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
42405
42406 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42407
42408 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42409
42410 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42411 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42412 field 'false' to 'exec_on_false'.
42413 (grub_script_create_cmdif): Renamed argument names to reflect above
42414 changes.
42415
42416 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42417
42418 * normal/script.c (grub_script_create_cmdif): Likewise.
42419
42420 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42421
42422 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42423 top.
42424 (grub_hfsplus_btree_recptr): Likewise.
42425 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42426 FILEBLOCK both to pass a block number and store next block
42427 number.
42428 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42429 overflow file correctly. Specify errors appropriately, because
42430 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42431 grub_hfsplus_btree_recptr to get the pointer to a found key.
42432 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42433 is found.
42434
42435 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42436 linux.mod.
42437 (_linux_mod_SOURCES): New variable.
42438 (_linux_mod_CFLAGS): Likewise.
42439 (_linux_mod_LDFLAGS): Likewise.
42440 (linux_mod_SOURCES): Likewise.
42441 (linux_mod_CFLAGS): Likewise.
42442 (linux_mod_LDFLAGS): Likewise.
42443
42444 * DISTLIST: Added loader/i386/efi/linux.c,
42445 loader/i386/efi/linux_normal.c and
42446 include/grub/i386/efi/loader.h.
42447
42448 * loader/i386/efi/linux.c: New file.
42449 * loader/i386/efi/linux_normal.c: Likewise.
42450 * include/grub/i386/efi/loader.h: Likewise.
42451
42452 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
42453
42454 * commands/blocklist.c: New file.
42455
42456 * DISTLIST: Added commands/blocklist.c.
42457
42458 * term/efi/console.c (grub_console_highlight_color): Use a lighter
42459 color for the background, and a darker color for the foreground.
42460 (grub_console_checkkey): Return READ_KEY.
42461 (grub_console_cls): Set the background to
42462 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
42463
42464 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
42465
42466 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
42467 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
42468
42469 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
42470 prototype.
42471
42472 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
42473 BG. The spec is wrong again.
42474
42475 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
42476 prototype.
42477 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
42478
42479 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42480 commands/blocklist.c.
42481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42482
42483 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
42484 (blocklist_mod_SOURCES): New variable.
42485 (blocklist_mod_CFLAGS): Likewise.
42486 (blocklist_mod_LDFLAGS): Likewise.
42487
42488 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
42489
42490 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
42491 duplication.
42492 (lba_mode): Use %eax more intensively to reduce the code size.
42493
42494 2006-05-20 Marco Gerards <marco@gnu.org>
42495
42496 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
42497
42498 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
42499 for `menuentry'.
42500 (script): Accept leading newlines.
42501 (newlines): New rule to describe 0 or more newlines.
42502 (commands): Accept `command' with trailing newline. Fixed the
42503 order in which arguments were passed to `grub_script_add_cmd'.
42504 Accept commands separated by newlines.
42505 (function): Changed to accept newlines.
42506 (menuentry) Rewritten.
42507
42508 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
42509 front of the list, instead of to the end.
42510
42511 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
42512
42513 * util/i386/pc/grub-install.in (bindir): New variable.
42514 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
42515 Shaver <lbgwjl@gmail.com>.
42516
42517 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
42518
42519 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
42520 grub/machine/linux.h
42521 * loader/i386/pc/linux.c: Likewise.
42522
42523 * include/grub/i386/pc/linux.h: Moved to ...
42524 * include/grub/i386/linux.h: ... here.
42525
42526 * include/grub/i386/linux.h (struct linux_kernel_params): New
42527 struct.
42528
42529 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
42530
42531 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
42532 checking.
42533 (grub_video_vbe_blit_glyph): Likewise.
42534 (grub_video_vbe_blit_bitmap): Likewise.
42535 (grub_video_vbe_blit_render_target): Likewise.
42536
42537 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
42538
42539 * configure.ac (--with-platform): Properly quote the square
42540 brackets.
42541
42542 2006-05-08 Marco Gerards <marco@gnu.org>
42543
42544 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
42545 this...
42546 (kernel_elf_HEADERS): ...to this. Updated all users.
42547 (grubof_symlist.c): Renamed from this...
42548 (kernel_elf_symlist.c): ...to this. Updated all users.
42549 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42550 (grubof_SOURCES): Renamed from this...
42551 (kernel_elf_SOURCES): ...to this.
42552 (grubof_HEADERS): Renamed from this...
42553 (kernel_elf_HEADERS): ...to this.
42554 (grubof_CFLAGS): Renamed from this...
42555 (kernel_elf_CFLAGS): ...to this.
42556 (grubof_ASFLAGS): Renamed from this...
42557 (kernel_elf_ASFLAGS): ...to this.
42558 (grubof_LDFLAGS): Renamed from this...
42559 (kernel_elf_LDFLAGS): ...to this.
42560
42561 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42562 this...
42563 (kernel_elf_HEADERS): ...to this. Updated all users.
42564 (grubof_symlist.c): Renamed from this...
42565 (kernel_elf_symlist.c): ...to this. Updated all users.
42566 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42567 (grubof_SOURCES): Renamed from this...
42568 (kernel_elf_SOURCES): ...to this.
42569 (grubof_HEADERS): Renamed from this...
42570 (kernel_elf_HEADERS): ...to this.
42571 (grubof_CFLAGS): Renamed from this...
42572 (kernel_elf_CFLAGS): ...to this.
42573 (grubof_ASFLAGS): Renamed from this...
42574 (kernel_elf_ASFLAGS): ...to this.
42575 (grubof_LDFLAGS): Renamed from this...
42576 (kernel_elf_LDFLAGS): ...to this.
42577
42578 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
42579 `kernel.elf' instead of `grubof'.
42580
42581 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
42582
42583 Add --with-platform to configure. Use pkglibdir instead of
42584 pkgdatadir. This is reported by Roger Leigh.
42585
42586 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
42587 (host_vendor): Likewise.
42588 (host_os): Likewise.
42589 (pkgdatadir): Likewise.
42590 (platform): New variable.
42591 (pkglibdir): Likewise.
42592 Use PKGLIBDIR instead of PKGDATADIR.
42593
42594 * util/i386/pc/grub-install.in (datadir): Removed.
42595 (host_vendor): Likewise.
42596 (host_os): Likewise.
42597 (pkgdatadir): Likewise.
42598 (platform): New variable.
42599 (pkglibdir): Likewise.
42600 Use PKGLIBDIR instead of PKGDATADIR.
42601
42602 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
42603 instead of GRUB_DATADIR.
42604 (main): Likewise.
42605 * util/i386/pc/grub-mkimage.c (usage): Likewise.
42606 (main): Likewise.
42607 * util/i386/efi/grub-mkimage.c (usage): Likewise.
42608 (main): Likewise.
42609
42610 * configure.ac (--with-platform): New option.
42611 Use PLATFORM instead of HOST_VENDOR to specify a platform.
42612
42613 * Makefile.in: Include a makefile based on PLATFORM instead of
42614 HOST_VENDOR.
42615 (pkgdatadir): Not appended by the machine type.
42616 (pkglibdir): Appended by the machine type.
42617 (host_vendor): Removed.
42618 (platform): New variable.
42619 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42620 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42621 (uninstall): Likewise.
42622
42623 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42624
42625 Use the environment context in the menu. Remove the commands
42626 "default" and "timeout", and use variables instead.
42627
42628 * normal/menu.c: Include grub/env.h.
42629 (print_entry): Cast TITLE to silence gcc.
42630 (get_timeout): New function.
42631 (set_timeout): Likewise.
42632 (get_entry_number): Likewise.
42633 (run_menu): Use a default entry, a fallback entry and a timeout
42634 in the environment variables "default", "fallback" and
42635 "timeout". Also, tweak the default entry if it is not within the
42636 current menu entries.
42637 (grub_menu_run): Use a fallback entry in the environment variable
42638 "fallback".
42639
42640 * normal/main.c (read_config_file): Do not initialize
42641 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42642 NEWMENU->TIMEOUT.
42643 (grub_normal_execute): Use a data slot to store the menu.
42644
42645 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42646 fallback_entry and timeout.
42647 (struct grub_menu_list): Removed.
42648 (grub_menu_list_t): Likewise.
42649 (struct grub_context): Likewise.
42650 (grub_context_t): Likewise.
42651 (grub_context_get): Likewise.
42652 (grub_context_get_current_menu): Likewise.
42653 (grub_context_push_menu): Likewise.
42654 (grub_context_pop_menu): Likewise.
42655 (grub_default_init): Likewise.
42656 (grub_default_fini): Likewise.
42657 (grub_timeout_init): Likewise.
42658 (grub_timeout_fini): Likewise.
42659
42660 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42661 and timeout.mod.
42662 (normal_mod_SOURCES): Removed normal/context.c.
42663
42664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42665 commands/default.c, commands/timeout.c and normal/context.c.
42666 (normal_mod_SOURCES): Removed normal/context.c.
42667
42668 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42669 commands/timeout.c and normal/context.c.
42670 (normal_mod_SOURCES): Removed normal/context.c.
42671
42672 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42673 commands/default.c, commands/timeout.c and normal/context.c.
42674 (normal_mod_SOURCES): Removed normal/context.c.
42675
42676 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42677 timeout.mod.
42678 (default_mod_SOURCES): Removed.
42679 (default_mod_CFLAGS): Likewise.
42680 (default_mod_LDFLAGS): Likewise.
42681 (timeout_mod_SOURCES): Removed.
42682 (timeout_mod_CFLAGS): Likewise.
42683 (timeout_mod_LDFLAGS): Likewise.
42684
42685 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42686 normal/context.c.
42687
42688 * commands/default.c: Removed.
42689 * commands/timeout.c: Likewise.
42690 * normal/context.c: Likewise.
42691
42692 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42693
42694 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42695
42696 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42697
42698 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42699 "next" to "prev" for readability.
42700 (struct grub_env_sorted_var): New struct.
42701 (grub_env_context): Renamed to ...
42702 (initial_context): ... this.
42703 (grub_env_var_context): Renamed to ...
42704 (current_context): ... this.
42705 (grub_env_find): Look only at CURRENT_CONTEXT.
42706 (grub_env_context_open): Rewritten to copy exported variables from
42707 previous context.
42708 (grub_env_context_close): Rewritten according to the new
42709 scheme. Also, add an assertion to prevent the initial context from
42710 removed.
42711 (grub_env_insert): Removed the code for the sorted list.
42712 (grub_env_remove): Likewise.
42713 (grub_env_export): Simply mark the variable with
42714 GRUB_ENV_VAR_GLOBAL.
42715 (grub_env_set): A cosmetic change for naming consistency.
42716 (grub_env_get): Likewise.
42717 (grub_env_unset): Likewise.
42718 (grub_env_iterate): Rewritten to sort variables within this
42719 function.
42720 (grub_register_variable_hook): Fixed for naming consistency. Call
42721 grub_env_find again, only if NAME is not found at the first time.
42722 (mangle_data_slot_name): New function.
42723 (grub_env_set_data_slot): Likewise.
42724 (grub_env_get_data_slot): Likewise.
42725 (grub_env_unset_data_slot): Likewise.
42726
42727 * include/grub/env.h (grub_env_var_type): New enum.
42728 (GRUB_ENV_VAR_LOCAL): New constant.
42729 (GRUB_ENV_VAR_GLOBAL): Likewise.
42730 (GRUB_ENV_VAR_DATA): Likewise.
42731 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42732 "type".
42733 (grub_env_set): Replace VAR with NAME for consistency.
42734 (grub_register_variable_hook): Likewise.
42735 (grub_env_export): Specify the name of the argument.
42736 (grub_env_set_data_slot): New prototype.
42737 (grub_env_get_data_slot): Likewise.
42738 (grub_env_unset_data_slot): Likewise.
42739
42740 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42741
42742 Extend the loader so that GRUB can accept a loader which comes
42743 back to GRUB when a loaded image exits. Also, this change adds
42744 support for a chainloader on EFI.
42745
42746 * term/efi/console.c: Include grub/misc.h.
42747 (grub_console_checkkey): Display a scan code on the top for
42748 debugging. This will be removed once the EFI port gets stable.
42749 Correct the scan code mapping.
42750
42751 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42752 allocate memory from larger regions, in order to reduce the number
42753 of allocated regions. Otherwise, the MacOSX loader panics.
42754 (filter_memory_map): Avoid less than 1MB for compatibility with
42755 other loaders.
42756 (add_memory_regions): Allocate from the tail of a region, if
42757 possible, to avoid allocating a region near to 1MB, for the MacOSX
42758 loader.
42759
42760 * kern/efi/init.c (grub_efi_set_prefix): Specify
42761 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42762
42763 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42764 argument IMAGE_HANDLE and specify it to get a loaded image.
42765 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42766 grub_efi_get_loaded_image.
42767 (grub_efi_get_filename): Divide the length by the size of
42768 grub_efi_char16_t.
42769 (grub_efi_get_device_path): New function.
42770 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42771 the length by the size of grub_efi_char16_t for a file path device
42772 path node.
42773
42774 * kern/loader.c (grub_loader_noreturn): New variable.
42775 (grub_loader_set): Accept a new argument NORETURN. Set
42776 GRUB_LOADER_NORETURN to NORETURN.
42777 All callers changed.
42778 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42779 grub_machine_fini.
42780
42781 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42782 prototype.
42783 (grub_efi_get_loaded_image): Take an argument to specify an image
42784 handle.
42785
42786 * include/grub/loader.h (grub_loader_set): Added one more argument
42787 NORETURN.
42788
42789 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42790 instead of grub_efi_open_protocol.
42791 (grub_efidisk_get_device_name): Likewise.
42792 (grub_efidisk_close): Print a newline.
42793 (grub_efidisk_get_device_handle): Fixed to use
42794 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42795 GRUB_EFI_DEVICE_PATH_TYPE.
42796
42797 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42798 * kern/efi/efi.c (device_path_guid): ... here.
42799
42800 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42801 chain.mod.
42802 (kernel_mod_HEADERS): Added efi/disk.h.
42803 (_chain_mod_SOURCES): New variable.
42804 (_chain_mod_CFLAGS): Likewise.
42805 (_chain_mod_LDFLAGS): Likewise.
42806 (chain_mod_SOURCES): Likewise.
42807 (chain_mod_CFLAGS): Likewise.
42808 (chain_mod_LDFLAGS): Likewise.
42809
42810 * DISTLIST: Added include/grub/efi/chainloader.h,
42811 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42812
42813 * include/grub/efi/chainloader.h: New file.
42814 * loader/efi/chainloader.c: Likewise.
42815 * loader/efi/chainloader_normal.c: Likewise.
42816
42817 2006-04-30 Marco Gerards <marco@gnu.org>
42818
42819 * commands/configfile.c (grub_cmd_source): New function.
42820 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42821 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42822
42823 2006-04-30 Marco Gerards <marco@gnu.org>
42824
42825 * normal/execute.c (grub_script_execute_cmd): Change the return
42826 type to `grub_err_t'. Correctly return the error.
42827 (grub_script_execute_cmdline): In case a command line is not a
42828 command or a function, try to interpret it as an assignment.
42829
42830 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42831
42832 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42833 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42834 skip a node whose name is obviously invalid as UTF-16,
42835 i.e. contains a NUL character. Stop the iteration when the last
42836 directory entry is found. Instead of using the return value of
42837 grub_hfsplus_btree_iterate_node, store the value in RET and use
42838 it, because the iterator can be stopped by the last directory
42839 entry.
42840
42841 2006-04-30 Marco Gerards <marco@gnu.org>
42842
42843 * include/grub/env.h (grub_env_export): New prototype. Reported
42844 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42845
42846 2006-04-30 Marco Gerards <marco@gnu.org>
42847
42848 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42849 size of the extents in a catalog file record.
42850
42851 2006-04-29 Marco Gerards <marco@gnu.org>
42852
42853 * commands/configfile.c (grub_cmd_configfile): Execute the
42854 configfile within its own context.
42855
42856 * include/grub/env.h (grub_env_context_open): New prototype.
42857 (grub_env_context_close): Likewise.
42858
42859 * kern/env.c (grub_env): Removed.
42860 (grub_env_sorted): Likewise.
42861 (grub_env_context): New variable.
42862 (grub_env_var_context): Likewise.
42863 (grub_env_find): Search both the active context and the global
42864 context.
42865 (grub_env_context_open): New function.
42866 (grub_env_context_close): Likewise.
42867 (grub_env_insert): Likewise.
42868 (grub_env_remove): Likewise.
42869 (grub_env_export): Likewise.
42870 (grub_env_set): Changed to use helper functions to avoid code
42871 duplication.
42872 (grub_env_iterate): Rewritten so both the current context and the
42873 global context are being used.
42874
42875 * normal/command.c (export_command): New function.
42876 (grub_command_init): Register the `export' function.
42877
42878 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42879
42880 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42881 explicitly to suppress gcc's warnings.
42882 * fs/fat.c (grub_fat_find_dir): Likewise.
42883 (grub_fat_label): Likewise.
42884 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42885 (grub_xfs_mount): Likewise.
42886 (grub_xfs_label): Likewise.
42887 * fs/affs.c (grub_affs_mount): Likewise.
42888 (grub_affs_label): Likewise.
42889 (grub_affs_iterate_dir): Likewise.
42890 * fs/sfs.c (grub_sfs_mount): Likewise.
42891 (grub_sfs_iterate_dir): Likewise.
42892 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42893 * fs/hfs.c (grub_hfs_mount): Likewise.
42894 (grub_hfs_cmp_catkeys): Likewise.
42895 (grub_hfs_find_dir): Likewise.
42896 (grub_hfs_dir): Likewise.
42897 (grub_hfs_label): Likewise.
42898 * fs/jfs.c (grub_jfs_mount): Likewise.
42899 (grub_jfs_opendir): Likewise.
42900 (grub_jfs_getent): Likewise.
42901 (grub_jfs_lookup_symlink): Likewise.
42902 (grub_jfs_label): Likewise.
42903 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42904 (grub_hfsplus_iterate_dir): Likewise.
42905 (grub_hfsplus_btree_iterate_node): Made static.
42906
42907 * util/grub-emu.c (prefix): New variable.
42908 (grub_machine_set_prefix): New function.
42909 (main): Do not set the environment variable "prefix" here. Only
42910 set PREFIX, which is used later by grub_machine_set_prefix.
42911
42912 * include/grub/video.h: Do not include grub/symbol.h.
42913 (grub_video_register): Not exported. This symbol is not defined in
42914 the kernel.
42915 (grub_video_unregister): Likewise.
42916 (grub_video_iterate): Likewise.
42917 (grub_video_setup): Likewise.
42918 (grub_video_restore): Likewise.
42919 (grub_video_get_info): Likewise.
42920 (grub_video_get_blit_format): Likewise.
42921 (grub_video_set_palette): Likewise.
42922 (grub_video_get_palette): Likewise.
42923 (grub_video_set_viewport): Likewise.
42924 (grub_video_get_viewport): Likewise.
42925 (grub_video_map_color): Likewise.
42926 (grub_video_map_rgb): Likewise.
42927 (grub_video_map_rgba): Likewise.
42928 (grub_video_fill_rect): Likewise.
42929 (grub_video_blit_glyph): Likewise.
42930 (grub_video_blit_bitmap): Likewise.
42931 (grub_video_blit_render_target): Likewise.
42932 (grub_video_scroll): Likewise.
42933 (grub_video_swap_buffers): Likewise.
42934 (grub_video_create_render_target): Likewise.
42935 (grub_video_delete_render_target): Likewise.
42936 (grub_video_set_active_render_target): Likewise.
42937
42938 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42939 Undefined.
42940 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42941
42942 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42943 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42944 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42945 instead of $(srcdir)/genkernsyms.sh.
42946
42947 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42948 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42949 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42950 instead of $(srcdir)/genkernsyms.sh.
42951
42952 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42953 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42954 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42955 instead of $(srcdir)/genkernsyms.sh.
42956
42957 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42958 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42959 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42960 instead of $(srcdir)/genkernsyms.sh.
42961
42962 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42963 genkernsyms.sh.
42964
42965 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42966 genkernsyms.sh.
42967 (gensymlist.sh): New target.
42968 (genkernsyms.sh): Likewise.
42969
42970 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42971 genkernsyms.sh.in and gensymlist.sh.in.
42972
42973 * genkernsyms.sh: Removed.
42974 * gensymlist.sh: Likewise.
42975
42976 * genkernsyms.sh.in: New file.
42977 * gensymlist.sh.in: Likewise.
42978
42979 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42980
42981 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42982 clobber "prefix", since we may have already set it manually.
42983
42984 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42985
42986 * kern/misc.c (abort): New alias for grub_abort.
42987
42988 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42989
42990 A new machine-specific function "grub_machine_set_prefix" is
42991 defined. This is called after loading modules, so that a prefix
42992 initialization can use modules. Also, this change adds an
42993 intensive debugging feature for the memory manager via the
42994 configure option "--enable-mm-debug".
42995
42996 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42997 PART.LEN.
42998
42999 * kern/sparc64/ieee1275/init.c (abort): Removed.
43000 (grub_stop): Likewise.
43001 (grub_exit): New function.
43002 (grub_set_prefix): Renamed to ...
43003 (grub_machine_set_prefix): ... this.
43004 (grub_machine_init): Do not call grub_set_prefix.
43005
43006 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43007 (grub_machine_set_prefix): ... this.
43008 (grub_machine_init): Do not call grub_set_prefix.
43009
43010 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43011 (grub_machine_init): Do not set the prefix here.
43012
43013 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43014
43015 * kern/efi/init.c: Include grub/mm.h.
43016 (grub_efi_set_prefix): New function.
43017
43018 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43019 (grub_efi_get_filename): New function.
43020 (grub_print_device_path): Renamed to ...
43021 (grub_efi_print_device_path): ... this.
43022
43023 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43024 [MM_DEBUG] (grub_realloc): Likewise.
43025 [MM_DEBUG] (grub_free): Likewise.
43026 [MM_DEBUG] (grub_memalign): Likewise.
43027 [MM_DEBUG] (grub_mm_debug): New variable.
43028 [MM_DEBUG] (grub_debug_malloc): New function.
43029 [MM_DEBUG] (grub_debug_free): New function.
43030 [MM_DEBUG] (grub_debug_realloc): New function.
43031 [MM_DEBUG] (grub_debug_memalign): New function.
43032
43033 * kern/misc.c (grub_abort): Print a newline to distinguish
43034 the message.
43035
43036 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43037 grub_set_root_dev after loading modules. This is necessary when
43038 setting a prefix depends on modules.
43039
43040 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43041 (grub_efi_print_device_path): ... this.
43042 (grub_efi_get_filename): New prototype.
43043 (grub_efi_set_prefix): Likewise.
43044
43045 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43046 and grub/disk.h.
43047 (grub_efidisk_get_device_handle): New prototype.
43048 (grub_efidisk_get_device_name): Likewise.
43049
43050 * include/grub/mm.h: Include config.h.
43051 (MM_DEBUG): Removed.
43052 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43053 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43054 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43055 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43056 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43057 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43058 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43059 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43060 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43061
43062 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43063
43064 * disk/efi/efidisk.c: Include grub/partition.h.
43065 (iterate_child_devices): New function.
43066 (add_device): First, compare only last device path nodes, so that
43067 devices are sorted by the types.
43068 (grub_efidisk_get_device_handle): New function.
43069 (grub_efidisk_get_device_name): Likewise.
43070
43071 * configure.ac (--enable-mm-debug): New option to enable the
43072 memory manager debugging feature. This makes the binary much
43073 bigger, so is disabled by default.
43074
43075 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43076
43077 Use grub_abort instead of grub_stop, and grub_exit must be
43078 define in each architecture now. Also, this change adds support
43079 for EFI disks.
43080
43081 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43082 (grub_getkey): New function.
43083 (grub_term_get_current): Likewise.
43084
43085 * util/i386/pc/grub-setup.c: Include grub/term.h.
43086 (grub_getkey): New function.
43087 (grub_term_get_current): Likewise.
43088
43089 * util/misc.c (grub_stop): Renamed to ...
43090 (grub_exit): ... this.
43091
43092 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43093 (grub_exit): ... this.
43094 (grub_machine_init): Use grub_abort instead of abort.
43095 (grub_stop): Removed.
43096
43097 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43098 abort.
43099
43100 * kern/i386/pc/startup.S (grub_exit): New function.
43101 (cold_reboot): New label.
43102
43103 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43104 (grub_efi_init): Call grub_efidisk_init.
43105 (grub_efi_fini): Call grub_efidisk_fini.
43106
43107 * kern/efi/efi.c: Include grub/mm.h.
43108 (grub_efi_console_control_guid): Renamed to ...
43109 (console_control_guid): ... this.
43110 (grub_efi_loaded_image_guid): Renamed to ...
43111 (loaded_image_guid): ... this.
43112 (grub_efi_locate_handle): New function.
43113 (grub_efi_open_protocol): Likewise.
43114 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43115 GRUB_EFI_CONSOLE_CONTROL_GUID.
43116 (grub_efi_exit): Removed.
43117 (grub_stop): Likewise.
43118 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43119 (grub_exit): New function.
43120 (grub_print_device_path): Likewise.
43121
43122 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43123 (grub_enter_rescue_mode): Register "exit".
43124
43125 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43126 (grub_abort): New function.
43127
43128 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43129
43130 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43131
43132 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43133
43134 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43135 (grub_print_device_path): New prototype.
43136 (grub_efi_locate_handle): Likewise.
43137 (grub_efi_open_protocol): Likewise.
43138
43139 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43140 * disk/efi/efidisk.c: Likewise.
43141
43142 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43143
43144 * include/grub/efi/console_control.h
43145 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43146
43147 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43148 last 8 bytes as an array.
43149 (GRUB_EFI_DISK_IO_GUID): New macro.
43150 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43151 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43152 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43153 grub_uint8_t.
43154 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43155 (struct grub_efi_device_path): Rename the member "sub_type" to
43156 "subtype".
43157 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43158 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43159 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43160 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43161 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43162 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43163 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43164 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43165 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43166 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43167 (struct grub_efi_pci_device_path): New structure.
43168 (grub_efi_pci_device_path_t): New type.
43169 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43170 (struct grub_efi_pccard_device_path): New structure.
43171 (grub_efi_pccard_device_path_t): New type.
43172 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43173 (struct grub_efi_memory_mapped_device_path): New structure.
43174 (grub_efi_memory_mapped_device_path_t): New type.
43175 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43176 (struct grub_efi_vendor_device_path): New structure.
43177 (grub_efi_vendor_device_path_t): New type.
43178 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43179 (struct grub_efi_controller_device_path): New structure.
43180 (grub_efi_controller_device_path_t): New type.
43181 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43182 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43183 (struct grub_efi_acpi_device_path): New structure.
43184 (grub_efi_acpi_device_path_t): New type.
43185 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43186 (struct grub_efi_expanded_acpi_device_path): New structure.
43187 (grub_efi_expanded_acpi_device_path_t): New type.
43188 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43189 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43190 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43191 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43192 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43193 (struct grub_efi_atapi_device_path): New structure.
43194 (grub_efi_atapi_device_path_t): New type.
43195 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43196 (struct grub_efi_fibre_channel_device_path): New structure.
43197 (grub_efi_fibre_channel_device_path_t): New type.
43198 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43199 (struct grub_efi_1394_device_path): New structure.
43200 (grub_efi_1394_device_path_t): New type.
43201 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43202 (struct grub_efi_usb_device_path): New structure.
43203 (grub_efi_usb_device_path_t): New type.
43204 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43205 (struct grub_efi_usb_class_device_path): New structure.
43206 (grub_efi_usb_class_device_path_t): New type.
43207 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43208 (struct grub_efi_i2o_device_path): New structure.
43209 (grub_efi_i2o_device_path_t): New type.
43210 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43211 (struct grub_efi_mac_address_device_path): New structure.
43212 (grub_efi_mac_address_device_path_t): New type.
43213 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43214 (struct grub_efi_ipv4_device_path): New structure.
43215 (grub_efi_ipv4_device_path_t): New type.
43216 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43217 (struct grub_efi_ipv6_device_path): New structure.
43218 (grub_efi_ipv6_device_path_t): New type.
43219 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43220 (struct grub_efi_infiniband_device_path): New structure.
43221 (grub_efi_infiniband_device_path_t): New type.
43222 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43223 (struct grub_efi_uart_device_path): New structure.
43224 (grub_efi_uart_device_path_t): New type.
43225 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43226 (struct grub_efi_vendor_messaging_device_path): New structure.
43227 (grub_efi_vendor_messaging_device_path_t): New type.
43228 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43229 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43230 (struct grub_efi_hard_drive_device_path): New structure.
43231 (grub_efi_hard_drive_device_path_t): New type.
43232 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43233 (struct grub_efi_cdrom_device_path): New structure.
43234 (grub_efi_cdrom_device_path_t): New type.
43235 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43236 (struct grub_efi_vendor_media_device_path): New structure.
43237 (grub_efi_vendor_media_device_path_t): New type.
43238 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43239 (struct grub_efi_file_path_device_path): New structure.
43240 (grub_efi_file_path_device_path_t): New type.
43241 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43242 (struct grub_efi_protocol_device_path): New structure.
43243 (grub_efi_protocol_device_path_t): New type.
43244 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43245 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43246 (struct grub_efi_bios_device_path): New structure.
43247 (grub_efi_bios_device_path_t): New type.
43248 (struct grub_efi_disk_io): New structure.
43249 (grub_efi_disk_io_t): New type.
43250 (struct grub_efi_block_io_media): New structure.
43251 (grub_efi_block_io_media_t): New type.
43252 (struct grub_efi_block_io): New structure.
43253 (grub_efi_block_io_t): New type.
43254
43255 * include/grub/misc.h (grub_stop): Removed.
43256 (grub_exit): New prototype.
43257 (grub_abort): Likewise.
43258
43259 * include/grub/disk.h (enum grub_disk_dev_id): Added
43260 GRUB_DISK_DEVICE_EFIDISK_ID.
43261
43262 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43263 disk/efi/efidisk.c.
43264 (kernel_syms.lst): Remove the target if an error occurs.
43265
43266 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43267
43268 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43269 as it was simply too buggy.
43270
43271 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43272
43273 * kern/misc.c (grub_lltoa): New function.
43274 (grub_vsprintf): Added support for the long long suffix,
43275 i.e. "ll".
43276
43277 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43278
43279 * Makefile.in (LDFLAGS): Add variable.
43280 (LD): Remove variable.
43281 * configure.ac: Add -m32 to LDFLAGS.
43282 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43283 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43284 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43285 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43286 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43287 variables.
43288 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43289 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43290 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43291
43292 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43293
43294 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43295 length for unknown glyph.
43296
43297 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43298
43299 Add support for pre-loaded modules into the EFI port.
43300
43301 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43302 completely. Accept one more argument DIR. The caller has changed.
43303
43304 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43305
43306 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43307 (grub_efi_loaded_image_guid): New variable.
43308 (grub_efi_get_loaded_image): New function.
43309 (grub_arch_modules_addr): Likewise.
43310
43311 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43312 prototype.
43313
43314 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43315 (struct grub_efi_loaded_image): New structure.
43316 (grub_efi_loaded_image_t): New type.
43317
43318 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43319
43320 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43321 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43322 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43323
43324 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43325
43326 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43327
43328 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43329
43330 * DISTLIST: Added include/grub/efi/console.h,
43331 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43332 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43333
43334 * include/grub/efi/console.h: New file.
43335 * include/grub/efi/time.h: Likewise.
43336 * include/grub/i386/efi/kernel.h: Likewise.
43337 * kern/efi/init.c: Likewise.
43338 * kern/efi/mm.c: Likewise.
43339 * term/efi/console.c: Likewise.
43340
43341 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43342 (grub_stop): Removed.
43343 (grub_get_rtc): Likewise.
43344 (grub_machine_init): Simply call grub_efi_init.
43345 (grub_machine_fini): Call grub_efi_fini.
43346
43347 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43348 (grub_efi_output_string): Removed.
43349 (grub_efi_stall): New function.
43350 (grub_stop): Likewise.
43351 (grub_get_rtc): Likewise.
43352
43353 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43354 (grub_efi_stall): New prototype.
43355 (grub_efi_allocate_pages): Likewise.
43356 (grub_efi_free_pages): Likewise.
43357 (grub_efi_get_memory_map): Likewise.
43358 (grub_efi_mm_init): Likewise.
43359 (grub_efi_mm_fini): Likewise.
43360 (grub_efi_init): Likewise.
43361 (grub_efi_fini): Likewise.
43362
43363 * include/grub/i386/efi/time.h: Do not include
43364 grub/symbol.h. Include grub/efi/time.h.
43365 (GRUB_TICKS_PER_SECOND): Removed.
43366 (grub_get_rtc): Likewise.
43367
43368 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43369 Added padding. The EFI spec is buggy.
43370 (GRUB_EFI_BLACK): New macro.
43371 (GRUB_EFI_BLUE): Likewise.
43372 (GRUB_EFI_GREEN): Likewise.
43373 (GRUB_EFI_CYAN): Likewise.
43374 (GRUB_EFI_RED): Likewise.
43375 (GRUB_EFI_MAGENTA): Likewise.
43376 (GRUB_EFI_BROWN): Likewise.
43377 (GRUB_EFI_LIGHTGRAY): Likewise.
43378 (GRUB_EFI_BRIGHT): Likewise.
43379 (GRUB_EFI_DARKGRAY): Likewise.
43380 (GRUB_EFI_LIGHTBLUE): Likewise.
43381 (GRUB_EFI_LIGHTGREEN): Likewise.
43382 (GRUB_EFI_LIGHTCYAN): Likewise.
43383 (GRUB_EFI_LIGHTRED): Likewise.
43384 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43385 (GRUB_EFI_YELLOW): Likewise.
43386 (GRUB_EFI_WHITE): Likewise.
43387 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43388 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43389 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43390 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43391 (GRUB_EFI_BACKGROUND_RED): Likewise.
43392 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43393 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43394 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43395 (GRUB_EFI_TEXT_ATTR): Likewise.
43396
43397 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43398 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43399 (kernel_mod_HEADERS): Added efi/time.h.
43400
43401 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43402
43403 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43404 include/grub/efi/api.h, include/grub/efi/console_control.h,
43405 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43406 include/grub/i386/efi/time.h, kern/efi/efi.c,
43407 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43408 and util/i386/efi/grub-mkimage.c.
43409
43410 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43411
43412 * genmk.rb (PModule#rule): Do not export symbols if
43413 #{prefix}_EXPORTS is set to "no".
43414
43415 * conf/i386-efi.mk: New file.
43416 * conf/i386-efi.rmk: Likewise.
43417 * include/grub/efi/api.h: Likewise.
43418 * include/grub/efi/console_control.h: Likewise.
43419 * include/grub/efi/efi.h: Likewise.
43420 * include/grub/efi/pe32.h: Likewise.
43421 * include/grub/i386/efi/time.h: Likewise.
43422 * kern/efi/efi.c: Likewise.
43423 * kern/i386/efi/init.c: Likewise.
43424 * kern/i386/efi/startup.S: Likewise.
43425 * util/i386/efi/grub-mkimage.c: Likewise.
43426
43427 2006-04-17 Marco Gerards <marco@gnu.org>
43428
43429 * include/grub/script.h: Include <grub/parser.h> and
43430 "grub_script.tab.h".
43431 (struct grub_lexer_param): New struct.
43432 (struct grub_parser_param): Likewise.
43433 (grub_script_create_arglist): Pass the state in an argument.
43434 (grub_script_add_arglist): Likewise.
43435 (grub_script_create_cmdline): Likewise.
43436 (grub_script_create_cmdblock): Likewise.
43437 (grub_script_create_cmdif): Likewise.
43438 (grub_script_create_cmdmenu): Likewise.
43439 (grub_script_add_cmd): Likewise.
43440 (grub_script_arg_add): Likewise.
43441 (grub_script_lexer_ref): Likewise.
43442 (grub_script_lexer_deref): Likewise.
43443 (grub_script_lexer_record_start): Likewise.
43444 (grub_script_lexer_record_stop): Likewise.
43445 (grub_script_mem_record): Likewise.
43446 (grub_script_mem_record_stop): Likewise.
43447 (grub_script_malloc): Likewise.
43448 (grub_script_yylex): Likewise.
43449 (grub_script_yyparse): Likewise.
43450 (grub_script_yyerror): Likewise.
43451 (grub_script_yylex): Likewise.
43452 (grub_script_lexer_init): Return the state.
43453
43454 * normal/lexer.c (grub_script_lexer_state): Removed variable.
43455 (grub_script_lexer_done): Likewise.
43456 (grub_script_lexer_getline): Likewise.
43457 (grub_script_lexer_refs): Likewise.
43458 (script): Likewise.
43459 (newscript): Likewise.
43460 (record): Likewise.
43461 (recording): Likewise.
43462 (recordpos): Likewise.
43463 (recordlen): Likewise.
43464 (grub_script_lexer_init): Return the state instead of setting
43465 global variables.
43466 (grub_script_lexer_ref): Use the newly added argument for state
43467 instead of globals.
43468 (grub_script_lexer_deref): Likewise.
43469 (grub_script_lexer_record_start): Likewise.
43470 (grub_script_lexer_record_stop): Likewise.
43471 (recordchar): Likewise.
43472 (nextchar): Likewise.
43473 (grub_script_yylex2): Likewise.
43474 (grub_script_yylex): Likewise.
43475 (grub_script_yyerror): Likewise.
43476
43477 * normal/parser.y (func_mem): Removed variable.
43478 (menu_entry): Likewise.
43479 (err): Likewise.
43480 (%lex-param): New parser option.
43481 (%parse-param): Likewise.
43482 (script): Always return the AST.
43483 (argument): Pass the state around.
43484 (arguments): Likewise.
43485 (grubcmd): Likewise.
43486 (commands): Likewise.
43487 (function): Likewise.
43488 (menuentry): Likewise.
43489 (if_statement): Likewise.
43490 (if): Likewise.
43491
43492 * normal/script.c (grub_script_memused): Removed variable.
43493 (grub_script_parsed): Likewise.
43494 (grub_script_malloc): Added a state argument. Use that instead of
43495 global variables.
43496 (grub_script_mem_record): Likewise.
43497 (grub_script_mem_record_stop): Likewise.
43498 (grub_script_arg_add): Likewise.
43499 (grub_script_add_arglist): Likewise.
43500 (grub_script_create_cmdline): Likewise.
43501 (grub_script_create_cmdif): Likewise.
43502 (grub_script_create_cmdmenu): Likewise.
43503 (grub_script_add_cmd): Likewise.
43504 (grub_script_parse): Setup the state before calling the parser.
43505
43506 2006-04-16 Marco Gerards <marco@gnu.org>
43507
43508 * normal/command.c (grub_command_init): Remove the title command.
43509
43510 * normal/lexer.c (grub_script_yylex): Renamed from this...
43511 (grub_script_yylex2): ... to this.
43512 (grub_script_yylex): New function. Temporary
43513 introduced to filter some tokens.
43514 (grub_script_yyerror): Print a newline.
43515
43516 * normal/main.c (read_config_file): Output information about the
43517 lines that contain errors. Wait for a key after all lines have
43518 been processed. Don't return an empty menu.
43519
43520 * normal/parser.y (func_mem): Don't initialize.
43521 (menu_entry): Likewise.
43522 (err): New variable.
43523 (script): Don't return anything when an error was encountered.
43524 (ws, returns): Removed rules.
43525 (argument): Disabled concatenated variable support.
43526 (arguments): Remove explicit separators.
43527 (grubcmd): Likewise.
43528 (function): Likewise.
43529 (menuentry): Likewise.
43530 (if): Likewise.
43531 (commands): Likewise. Add error handling.
43532
43533 * normal/script.c (grub_script_create_cmdline): If
43534 `grub_script_parsed' is 0, assume the parser encountered an error.
43535
43536 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
43537
43538 * configure.ac: Add support for EFI. Fix the typo
43539 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
43540
43541 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43542
43543 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
43544 foreign multibyte characters should be shown correctly.
43545
43546 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43547
43548 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
43549 calculation.
43550 (read_config_file): Made it to close file before returning.
43551
43552 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
43553
43554 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
43555 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43556 video/i386/pc/vbefill.c.
43557
43558 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43559 video/i386/pc/vbefill.c.
43560
43561 * include/grub/video.h (grub_video_blit_format): New enum.
43562 (grub_video_mode_info): Added new member blit_format.
43563 (grub_video_get_blit_format): New function prototype.
43564
43565 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
43566 function prototype.
43567 (grub_video_vbe_map_rgb): Likewise.
43568 (grub_video_vbe_unmap_color): Likewise.
43569
43570 * include/grub/i386/pc/vbeblit.h: New file.
43571
43572 * include/grub/i386/pc/vbefill.h: New file.
43573
43574 * video/video.c (grub_video_get_blit_format): New function.
43575 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
43576 (grub_video_vbe_map_rgb): Likewise.
43577 (grub_video_vbe_unmap_color): Likewise.
43578
43579 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
43580 optimized fills.
43581 (grub_video_vbe_blit_render_target): Changed to use more optimized
43582 blits.
43583 (grub_video_vbe_setup): Added detection for optimized settings.
43584 (grub_video_vbe_create_render_target): Likewise.
43585
43586 * video/i386/pc/vbeblit.c: New file.
43587
43588 * video/i386/pc/vbefill.c: New file.
43589
43590 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
43591
43592 * font/manager.c (grub_font_get_glyph): Removed font fixup from
43593 here...
43594
43595 * util/unifont2pff.rb: ... and moved it to here. Improved argument
43596 parsing to support both hex and dec ranges. If filename was missing
43597 show usage information.
43598
43599 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
43600
43601 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
43602 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
43603
43604 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
43605 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
43606 (video_mod_SOURCES): Added.
43607 (video_mod_CFLAGS): Likewise.
43608 (video_mod_LDFLAGS): Likewise.
43609 (gfxterm_mod_SOURCES): Likewise.
43610 (gfxterm_mod_CFLAGS): Likewise.
43611 (gfxterm_mod_LDFLAGS): Likewise.
43612 (videotest_mod_SOURCES): Likewise.
43613 (videotest_mod_CFLAGS): Likewise.
43614 (videotest_mod_LDFLAGS): Likewise.
43615 (vesafb_mod_SOURCES): Removed.
43616 (vesafb_mod_CFLAGS): Likewise.
43617 (vesafb_mod_LDFLAGS): Likewise.
43618 (vga_mod_SOURCES): Likewise.
43619 (vga_mod_CFLAGS): Likewise.
43620 (vga_mod_LDFLAGS): Likewise.
43621
43622 * commands/videotest.c: New file.
43623
43624 * font/manager.c (fill_with_default_glyph): Modified to use
43625 grub_font_glyph.
43626 (grub_font_get_glyph): Likewise.
43627 (fontmanager): Renamed from this...
43628 (font_manager): ... to this.
43629
43630 * include/grub/font.h (grub_font_glyph): Added new structure.
43631 (grub_font_get_glyph): Modified to use grub_font_glyph.
43632
43633 * include/grub/misc.h (grub_abs): Added as inline function.
43634
43635 * include/grub/video.h: New file.
43636
43637 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43638 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43639 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43640 (grub_vbe_get_controller_info): Renamed from this...
43641 (grub_vbe_bios_get_controller_info): ... to this.
43642 (grub_vbe_get_mode_info): Renamed from this...
43643 (grub_vbe_bios_get_mode_info): ... to this.
43644 (grub_vbe_set_mode): Renamed from this...
43645 (grub_vbe_bios_set_mode): ... to this.
43646 (grub_vbe_get_mode): Renamed from this...
43647 (grub_vbe_bios_get_mode): ... to this.
43648 (grub_vbe_set_memory_window): Renamed from this...
43649 (grub_vbe_bios_set_memory_window): ... to this.
43650 (grub_vbe_get_memory_window): Renamed from this...
43651 (grub_vbe_bios_get_memory_window): ... to this.
43652 (grub_vbe_set_scanline_length): Renamed from this...
43653 (grub_vbe_set_scanline_length): ... to this.
43654 (grub_vbe_get_scanline_length): Renamed from this...
43655 (grub_vbe_bios_get_scanline_length): ... to this.
43656 (grub_vbe_set_display_start): Renamed from this...
43657 (grub_vbe_bios_set_display_start): ... to this.
43658 (grub_vbe_get_display_start): Renamed from this...
43659 (grub_vbe_bios_get_display_start): ... to this.
43660 (grub_vbe_set_palette_data): Renamed from this...
43661 (grub_vbe_bios_set_palette_data): ... to this.
43662 (grub_vbe_set_pixel_rgb): Removed.
43663 (grub_vbe_set_pixel_index): Likewise.
43664
43665 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43666 from this...
43667 (grub_vbe_bios_get_controller_info): ... to this.
43668 (grub_vbe_get_mode_info): Renamed from this...
43669 (grub_vbe_bios_get_mode_info): ... to this.
43670 (grub_vbe_set_mode): Renamed from this...
43671 (grub_vbe_bios_set_mode): ... to this.
43672 (grub_vbe_get_mode): Renamed from this...
43673 (grub_vbe_bios_get_mode): ... to this.
43674 (grub_vbe_set_memory_window): Renamed from this...
43675 (grub_vbe_bios_set_memory_window): ... to this.
43676 (grub_vbe_get_memory_window): Renamed from this...
43677 (grub_vbe_bios_get_memory_window): ... to this.
43678 (grub_vbe_set_scanline_length): Renamed from this...
43679 (grub_vbe_set_scanline_length): ... to this.
43680 (grub_vbe_get_scanline_length): Renamed from this...
43681 (grub_vbe_bios_get_scanline_length): ... to this.
43682 (grub_vbe_set_display_start): Renamed from this...
43683 (grub_vbe_bios_set_display_start): ... to this.
43684 (grub_vbe_get_display_start): Renamed from this...
43685 (grub_vbe_bios_get_display_start): ... to this.
43686 (grub_vbe_set_palette_data): Renamed from this...
43687 (grub_vbe_bios_set_palette_data): ... to this.
43688 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43689 getting corrupted after calling it. Added more pushes and pops.
43690 (grub_vbe_bios_set_mode): Likewise.
43691 (grub_vbe_bios_get_mode): Likewise.
43692 (grub_vbe_bios_get_memory_window): Likewise.
43693 (grub_vbe_bios_set_scanline_length): Likewise.
43694 (grub_vbe_bios_get_scanline_length): Likewise.
43695 (grub_vbe_bios_get_display_start): Likewise.
43696 (grub_vbe_bios_set_palette_data): Likewise.
43697
43698 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43699 (cl_insert): Likewise.
43700 (cl_delete): Likewise.
43701
43702 * term/gfxterm.c: New file.
43703
43704 * term/i386/pc/vesafb.c: Removed file.
43705
43706 * video/video.c: New file.
43707
43708 * video/i386/pc/vbe.c (real2pm): Added new function.
43709 (grub_video_vbe_draw_pixel): Likewise.
43710 (grub_video_vbe_get_video_ptr): Likewise.
43711 (grub_video_vbe_get_pixel): Likewise
43712 (grub_video_vbe_init): Likewise.
43713 (grub_video_vbe_fini): Likewise.
43714 (grub_video_vbe_setup): Likewise.
43715 (grub_video_vbe_get_info): Likewise.
43716 (grub_video_vbe_set_palette): Likewise.
43717 (grub_video_vbe_get_palette): Likewise.
43718 (grub_video_vbe_set_viewport): Likewise.
43719 (grub_video_vbe_get_viewport): Likewise.
43720 (grub_video_vbe_map_color): Likewise.
43721 (grub_video_vbe_map_rgb): Likewise.
43722 (grub_video_vbe_map_rgba): Likewise.
43723 (grub_video_vbe_unmap_color): Likewise.
43724 (grub_video_vbe_fill_rect): Likewise.
43725 (grub_video_vbe_blit_glyph): Likewise.
43726 (grub_video_vbe_blit_bitmap): Likewise.
43727 (grub_video_vbe_blit_render_target): Likewise.
43728 (grub_video_vbe_scroll): Likewise.
43729 (grub_video_vbe_swap_buffers): Likewise.
43730 (grub_video_vbe_create_render_target): Likewise.
43731 (grub_video_vbe_delete_render_target): Likewise.
43732 (grub_video_vbe_set_active_render_target): Likewise.
43733 (grub_vbe_set_pixel_rgb): Remove function.
43734 (grub_vbe_set_pixel_index): Likewise.
43735 (index_color_mode): Remove static variable.
43736 (active_mode): Likewise.
43737 (framebuffer): Likewise.
43738 (bytes_per_scan_line): Likewise.
43739 (grub_video_vbe_adapter): Added new static variable.
43740 (framebuffer): Likewise.
43741 (render_target): Likewise.
43742 (initial_mode): Likewise.
43743 (mode_in_use): Likewise.
43744 (mode_list): Likewise.
43745
43746 2006-03-10 Marco Gerards <marco@gnu.org>
43747
43748 * configure.ac (AC_INIT): Bumped to 1.93.
43749
43750 * DISTLIST: Added `include/grub/hfs.h'.
43751
43752 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43753
43754 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43755 18H, which might help the BIOS falling back to next boot media.
43756
43757 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43758
43759 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43760 Poe Chen <poe.poechen@gmail.com>.
43761
43762 2006-01-17 Marco Gerards <marco@gnu.org>
43763
43764 * include/grub/normal.h: Include <grub/script.h>.
43765 (grub_command_list): Removed struct.
43766 (grub_command_list_t): Removed type.
43767 (grub_menu_entry): Remove members `num' and `command_list'. Add
43768 members `commands' and `sourcecode'.
43769 * include/grub/script.h: Add inclusion guards.
43770 (grub_script_cmd_menuentry): New struct.
43771 (grub_script_execute_menuentry): New prototype.
43772 (grub_script_lexer_record_start): Likewise.
43773 (grub_script_lexer_record_stop): Likewise.
43774 * normal/execute.c (grub_script_execute_menuentry): New function.
43775 * normal/lexer.c (record, recording, recordpos, recordlen): New
43776 variables.
43777 (grub_script_lexer_record_start): New function.
43778 (grub_script_lexer_record_stop): Likewise.
43779 (recordchar): Likewise.
43780 (nextchar): Likewise.
43781 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43782 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43783 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43784 (current_menu): New variable.
43785 (free_menu): Mainly rewritten.
43786 (grub_normal_menu_addentry): New function.
43787 (read_config_file): Rewritten.
43788 * normal/menu.c (run_menu_entry): Mainly rewritten.
43789 * normal/menu_entry.c (make_screen): Rewritten the code to insert
43790 the menu entry.
43791 (run): Mainly rewritten.
43792 * normal/parser.y (menu_entry): New variable.
43793 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43794 (menuentry): New rule.
43795 (command): Add `menuentry'.
43796 (if_statement): Allow additional returns before `fi'.
43797 * normal/script.c (grub_script_create_cmdmenu): New function.
43798
43799 2006-01-03 Marco Gerards <marco@gnu.org>
43800
43801 * INSTALL: GNU Bison is required.
43802 * configure.ac: Rewritten the test to detect Bison.
43803 * Makefile.in (YACC): New variable. Reported by Xun Sun
43804 <xun.sun.cn@gmail.com>.
43805
43806 2006-01-03 Marco Gerards <marco@gnu.org>
43807
43808 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43809 the HFS+ filesystem to filesystem blocks.
43810 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43811 GCC warning is silenced.
43812
43813 2006-01-03 Marco Gerards <marco@gnu.org>
43814
43815 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43816 read from disk from big endian to host byte order.
43817
43818 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43819
43820 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43821 documentation.
43822 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43823 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43824 embedded HFS+ filesystem.
43825 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43826 (grub_hfs_sblock): Move from here...
43827 * include/grub/hfs.h: To here... New file.
43828 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43829 documentation.
43830 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43831 New macros.
43832 (grub_hfsplus_volheader): Change type of member `magic' to
43833 `grub_uint16_t'.
43834 (grub_hfsplus_data): Add new member `embedded_offset'.
43835 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43836 returned block.
43837 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43838 Calculate the offset.
43839
43840 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43841
43842 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43843 Removed.
43844 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43845
43846 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43847
43848 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43849 ENV->NAME is NULL after allocating ENV->VALUE.
43850
43851 2005-12-25 Marco Gerards <marco@gnu.org>
43852
43853 * kern/env.c (grub_env_set): Rewritten the error handling code.
43854
43855 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43856
43857 * geninit.sh: Made more robust, and more portable.
43858
43859 2005-12-25 Marco Gerards <marco@gnu.org>
43860
43861 Add support for Apple HFS+ filesystems.
43862
43863 * fs/hfsplus.c: New file.
43864
43865 * DISTLIST: Added `fs/hfsplus.c'.
43866
43867 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43868 (hfsplus_mod_SOURCES): New variable.
43869 (hfsplus_mod_CFLAGS): Likewise.
43870 (hfsplus_mod_LDFLAGS): Likewise.
43871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43872 (grub_setup_SOURCES): Likewise.
43873 (grub_mkdevicemap_SOURCES): Likewise.
43874 (grub_emu_SOURCES): Likewise.
43875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43876
43877 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43878
43879 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43880
43881 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43882
43883 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43884 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43885 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43886 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43887 normal/lexer.c, normal/parser.y, normal/script.c, and
43888 partmap/gpt.c.
43889 Removed kern/sparc64/cache.c.
43890
43891 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43892 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43893 grub_emu_init.c.
43894
43895 * configure.ac (AC_INIT): Bumped to 1.92.
43896
43897 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43898
43899 * kern/err.c (grub_error_push): Added new function to support error
43900 stacks.
43901 (grub_error_pop): Likewise.
43902 (grub_error_stack_items): New local variable to support error stacks.
43903 (grub_error_stack_pos): Likewise.
43904 (grub_error_stack_assert): Likewise.
43905 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43906 stack depth.
43907 (grub_print_error): Added support to print errors from error stack.
43908
43909 * include/grub/err.h (grub_error_push): Added function prototype.
43910 (grub_error_pop): Likewise.
43911
43912 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43913
43914 * configure.ac: Accept `powerpc64' as host_cpu.
43915 (amd64): Rename to `biarch32'.
43916
43917 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43918 non-cacheline-aligned addresses.
43919
43920 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43921 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43922 if `size' is non-zero.
43923
43924 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
43925
43926 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43927 and `cd' to make sure the filename is not prefixed with a
43928 directory name.
43929 (pkgdata_MODULES): Add `gpt.mod'.
43930 (gpt_mod_SOURCES): New variable.
43931 (gpt_mod_CFLAGS): Likewise.
43932 (gpt_mod_LDFLAGS): Likewise.
43933
43934 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43935
43936 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43937 New macro.
43938
43939 * partmap/gpt.c: New file.
43940
43941 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43942 GPT partition map is detected.
43943
43944 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43945
43946 * commands/i386/pc/play.c: New file.
43947 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43948 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43949 macros.
43950
43951 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
43952
43953 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43954 ((unused))' to silence gcc warning.
43955
43956 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43957
43958 * configure.ac: Correct `AC_PROG_YACC' test.
43959
43960 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43961
43962 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43963 check before installing files.
43964
43965 2005-11-22 Mike Small <smallm@panix.com>
43966
43967 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43968 number regex so multidigit numbers are recognized correctly.
43969
43970 2005-11-22 Mike Small <smallm@panix.com>
43971
43972 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43973 debugging message before attempting to claim memory.
43974 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43975 multiple addresses in case of failure.
43976
43977 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43978
43979 * term/tparm.c (get_space): Remove empty `if' statement.
43980
43981 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43982
43983 * kern/parser.c (check_varstate): Rename `state' to 's'.
43984
43985 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43986
43987 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43988 variable definitions to the beginning of each function. Sort stack
43989 variables by size.
43990 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43991 `buf' argument to `char *'.
43992
43993 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43994
43995 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43996 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43997 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43998 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43999 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44000 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44001 configfile.mod, search.mod, gzio.mod and test.mod.
44002 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44003 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44004 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44005 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44006 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44007 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44008 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44009 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44010 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44011 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44012 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44013 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44014 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44015 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44016 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44017 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44018 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44019 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44020 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44021 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44022 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44023 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44024 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44025
44026 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44027 `grep --include'.
44028 (pkgdata_MODULES): Add test.mod.
44029
44030 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44031
44032 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44033 appending to variables with "+=".
44034 (PModule): Use full pathname to generate *.lst filenames.
44035
44036 * Makefile.in: Fixed list rules moved from genmk.rb.
44037 (.DELETE_ON_ERROR): New special target.
44038 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44039
44040 * conf/i386-pc.rmk: Include conf/common.mk.
44041 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
44042 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
44043 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44044 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44045 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44046 configfile.mod, search.mod, gzio.mod and test.mod.
44047 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44048 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44049 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44050 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44051 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44052 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44053 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44054 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44055 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44056 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44057 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44058 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44059 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44060 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44061 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44062 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44063 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44064 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44065 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44066 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44067 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44068 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44069 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44070 here...
44071 * conf/common.rmk: ... to here. New file.
44072
44073 * conf/common.mk: New file.
44074
44075 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44076
44077 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44078 (grub_script.tab.c): ... here.
44079
44080 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44081 (grub_script.tab.c): ... here.
44082
44083 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44084 (grub_script.tab.c): ... here.
44085
44086 * normal/command.c (grub_command_find): Fixed a memory leak of
44087 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44088
44089 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44090
44091 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44092 "@" which marks the start of a comment on ARM.
44093 (VARIABLE): Likewise.
44094
44095 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44096
44097 Add support for Linux/ADFS partition tables.
44098
44099 * partmap/acorn.c: New file.
44100
44101 * include/grub/acorn_filecore.h: Likewise.
44102
44103 * DISTLIST: Added `partmap/acorn.c' and
44104 `include/grub/acorn_filecore.h'.
44105
44106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44107 `partmap/acorn.c'.
44108 (pkgdata_MODULES): Add `acorn.mod'.
44109 (acorn_mod_SOURCES): New variable.
44110 (acorn_mod_CFLAGS): Likewise.
44111
44112 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44113 `partmap/acorn.c'.
44114 (pkgdata_MODULES): Add `acorn.mod'.
44115 (acorn_mod_SOURCES): New variable.
44116 (acorn_mod_CFLAGS): Likewise.
44117
44118 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44119 (pkgdata_MODULES): Add `acorn.mod'.
44120 (acorn_mod_SOURCES): New variable.
44121 (acorn_mod_CFLAGS): Likewise.
44122 (acorn_mod_LDFLAGS): Likewise.
44123
44124 * include/types.h (grub_disk_addr_t): New typedef.
44125
44126 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
44127
44128 * geninit.sh: New file.
44129
44130 * geninitheader.sh: Likewise.
44131
44132 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44133 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44134 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44135 * commands/configfile.c (grub_configfile_init)
44136 (grub_configfile_fini): Likewise.
44137 * commands/default.c (grub_default_init, grub_default_fini):
44138 Likewise.
44139 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44140 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44141 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44142 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44143 Likewise.
44144 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44145 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44146 Likewise.
44147 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
44148 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
44149 Likewise.
44150 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44151 Likewise.
44152 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
44153 Likewise.
44154 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44155 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44156 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44157 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44158 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44159 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44160 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44161 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44162 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44163 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44164 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44165 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44166 * partmap/amiga.c (grub_amiga_partition_map_init)
44167 (grub_amiga_partition_map_fini): Likewise.
44168 * partmap/apple.c (grub_apple_partition_map_init)
44169 (grub_apple_partition_map_fini): Likewise.
44170 * partmap/pc.c (grub_pc_partition_map_init)
44171 (grub_pc_partition_map_fini): Likewise.
44172 * partmap/sun.c (grub_sun_partition_map_init,
44173 grub_sun_partition_map_fini): Likewise.
44174 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44175 Likewise.
44176
44177 * util/grub-emu.c: Include <grub_modules_init.h>.
44178 (main): Don't initialize and de-initialize any modules directly,
44179 use `grub_init_all' and `grub_fini_all' instead.
44180
44181 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44182 `grub_vesafb_mod_init'.
44183 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44184 all users.
44185 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44186 `grub_vga_mod_init'. Updated all users.
44187 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
44188
44189 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44190 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44191 rules.
44192
44193 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44194 Generate a function to initialize the module in utilities.
44195 Updated all callers.
44196 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44197 initialize the module in utilities. Updated all callers.
44198
44199 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44200
44201 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44202 escape sequence and a literal ^L to clear the screen.
44203
44204 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44205 when returning from Open Firmware.
44206
44207 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44208
44209 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44210 (grub_ofconsole_height): Likewise.
44211 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44212 manually insert a '\n'.
44213 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44214 `grub_ofconsole_height'. Return early if these are already set.
44215
44216 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44217
44218 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44219 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44220 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44221 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44222 and `normal/script.c'.
44223 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44224 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44225 (test_mod_SOURCES): New variable.
44226 (test_mod_CFLAGS): Likewise.
44227 (test_mod_LDFLAGS): Likewise.
44228 (pkgdata_MODULES): Add `test.mod'.
44229 (grub_script.tab.c): New rule.
44230 (grub_script.tab.h): Likewise.
44231
44232 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
44233
44234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44235 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44236 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44237 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44238 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44239 (test_mod_SOURCES): New variable.
44240 (test_mod_CFLAGS): Likewise.
44241 (pkgdata_MODULES): Add `test.mod'.
44242 (grub_script.tab.c): New rule.
44243 (grub_script.tab.h): Likewise.
44244
44245 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
44246
44247 Add initial scripting support.
44248
44249 * commands/test.c: New file.
44250 * include/grub/script.h: Likewise.
44251 * normal/execute.c: Likewise.
44252 * normal/function.c: Likewise.
44253 * normal/lexer.c: Likewise.
44254 * normal/parser.y: Likewise.
44255 * normal/script.c: Likewise.
44256
44257 * configure.ac: Add `AC_PROG_YACC' test.
44258
44259 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44260 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44261 `normal/function.c' and `normal/script.c'.
44262 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44263 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44264 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44265 variables.
44266 (pkgdata_MODULES): Add `test.mod'.
44267 (grub_script.tab.c): New rule.
44268 (grub_script.tab.h): Likewise.
44269
44270 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44271
44272 * include/grub/normal.h (grub_test_init): New prototype.
44273 (grub_test_fini): Likewise.
44274
44275 * normal/command.c: Include <grub/script.h>.
44276 (grub_command_execute): Rewritten.
44277
44278 * util/grub-emu.c (main): Call `grub_test_init' and
44279 `grub_test_fini'.
44280
44281 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44282
44283 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44284 to 0.
44285 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44286 there are no pending characters.
44287
44288 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44289
44290 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44291 `grub_strndup' to drop device arguments. Replace unnecessary
44292 `grub_strndup' with `grub_strdup'.
44293
44294 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44295
44296 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44297 `debug' environment variable has been set.
44298
44299 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
44300
44301 * Makefile.in (install-local): Use $(DATA).
44302 (uninstall): Likewise.
44303 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44304 (sbin_UTILITIES): ... to here.
44305 (sbin_SCRIPTS): New variable.
44306 (grub_install_SOURCES): New variable.
44307 * util/powerpc/ieee1275/grub-install.in: New file.
44308 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44309 variable.
44310 (add_segments): Call `grub_util_get_path'.
44311
44312 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44313
44314 From Timothy Baldwin:
44315 * commands/ls.c (grub_ls_list_files): Close FILE with
44316 grub_file_close.
44317 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44318
44319 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
44320
44321 * include/grub/parser.h: New file.
44322
44323 * kern/parser.c: Likewise.
44324
44325 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44326 (grub_setup_SOURCES): Likewise.
44327 (grub_probefs_SOURCES): Likewise.
44328 (grub_emu_SOURCES): Likewise.
44329 (kernel_img_HEADERS): Add `parser.h'.
44330
44331 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44332 (grub_emu_SOURCES): Add `kern/parser.c'.
44333 (grubof_SOURCES): Likewise.
44334
44335 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44336 (grubof_SOURCES): Add `kern/parser.c'.
44337
44338 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44339
44340 * kern/misc.c (grub_split_cmdline): Removed function.
44341
44342 * kern/rescue.c: Include <grub/parser.h>.
44343 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44344 of `grub_split_cmdline'.
44345
44346 * normal/command.c: Include <grub/parser.h>.
44347 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44348 of `grub_split_cmdline'.
44349
44350 * normal/completion.c: Include <grub/parser.h>.
44351 (cmdline_state): New variable.
44352 (iterate_dir): End the filename with a quote depending on the
44353 command line state.
44354 (get_state): new function.
44355 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44356 split the arguments and determine the current argument. When the
44357 argument string is not quoted, escape all spaces.
44358
44359 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44360
44361 * normal/sparc64/setjmp.S: New file.
44362
44363 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44364
44365 * include/grub/sparc64/libgcc.h: New file.
44366 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44367 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44368 normal/sparc64/setjmp.c.
44369
44370 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44371
44372 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44373 * kern/sparc64/cache.S: New file.
44374 * kern/sparc64/cache.c: Removed.
44375 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44376 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44377 -mtune=ultrasparc.
44378 (COMMON_LDFLAGS): Add -melf64_sparc.
44379 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44380 (grubof_SOURCES): Use cache.S instead of cache.c.
44381 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44382 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44383 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44384 commented though.
44385 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44386 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44387 (linux_mod_CFLAGS): Commented out.
44388 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44389 out because module isn't built.
44390 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44391 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44392 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44393 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44394 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44395 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44396 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44397 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44398 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44399 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44400 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44401 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44402 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44403 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44404
44405 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44406
44407 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44408 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44409 longer, because HFS should not be used on PC.
44410
44411 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44412
44413 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44414 consistently within the loop.
44415
44416 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
44417
44418 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44419 directory can not be read.
44420
44421 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44422
44423 * configure.ac (AC_INIT): Increase the version number to 1.91.
44424
44425 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44426 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44427 term/i386/pc/serial.c.
44428
44429 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44430
44431 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44432 file size must be permitted.
44433
44434 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44435 between %ah and %al.
44436
44437 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44438
44439 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44440 grub_uint64_t.
44441 Call the hook with a NUL-terminated filename.
44442 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44443 grub_cpu_to_be32.
44444
44445 * kern/term.c (cursor_state): New variable.
44446 (grub_term_set_current): Reset the cursor state on a new
44447 terminal.
44448 (grub_setcursor): Rewritten to use CURSOR_STATE.
44449 (grub_getcursor): New function.
44450
44451 * include/grub/term.h (grub_getcursor): New prototype.
44452
44453 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
44454 integers on ARM. Reported by Timothy Baldwin
44455 <T.E.Baldwin99@members.leeds.ac.uk>.
44456
44457 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
44458
44459 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
44460 allocated.
44461 (grub_sfs_dir): Likewise.
44462
44463 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
44464
44465 Add support for the SFS filesystem.
44466
44467 * fs/sfs.c: New file.
44468
44469 * DISTLIST: Added `fs/sfs.c'.
44470
44471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
44472 (grub_probefs_SOURCES): Likewise.
44473 (grub_emu_SOURCES): Likewise.
44474 (pkgdata_MODULES): Add `sfs.mod'.
44475 (sfs_mod_SOURCES): New variable.
44476 (sfs_mod_CFLAGS): Likewise.
44477 (sfs_mod_LDFLAGS): Likewise.
44478
44479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
44480 (pkgdata_MODULES): Add `sfs.mod'.
44481 (sfs_mod_SOURCES): New variable.
44482 (sfs_mod_CFLAGS): Likewise.
44483
44484 * util/grub-emu.c (main): Call `grub_sfs_init' and
44485 `grub_sfs_fini'.
44486
44487 * include/grub/fs.h (grub_sfs_init): New prototype.
44488 (grub_sfs_fini): Likewise.
44489
44490 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
44491
44492 Add support for the AFFS filesystem.
44493
44494 * fs/affs.c: New file.
44495
44496 * DISTLIST: Added `fs/affs.c'.
44497
44498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
44499 (grub_probefs_SOURCES): Likewise.
44500 (grub_emu_SOURCES): Likewise.
44501 (pkgdata_MODULES): Add `affs.mod'.
44502 (affs_mod_SOURCES): New variable.
44503 (affs_mod_CFLAGS): Likewise.
44504 (affs_mod_LDFLAGS): Likewise.
44505
44506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
44507 (pkgdata_MODULES): Add `affs.mod'.
44508 (affs_mod_SOURCES): New variable.
44509 (affs_mod_CFLAGS): Likewise.
44510
44511 * util/grub-emu.c (main): Call `grub_affs_init' and
44512 `grub_affs_fini'.
44513
44514 * include/grub/fs.h (grub_affs_init): New prototype.
44515 (grub_affs_fini): Likewise.
44516
44517 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44518
44519 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
44520
44521 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44522
44523 * configure.ac: Accept `x86_64' as host_cpu. In that case add
44524 `-m32' to CFLAGS.
44525
44526 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
44527 linking.
44528
44529 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
44530 (COMMON_LDFLAGS): New variable.
44531 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
44532 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
44533 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
44534 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
44535 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
44536 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
44537 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
44538 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
44539 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
44540 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
44541 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44542 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44543 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
44544 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
44545 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
44546 variables.
44547 (normal_mod_ASFLAGS): Add `-m32'.
44548
44549 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
44550 (grub_host_size_t, grub_host_ssize_t): New types.
44551 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
44552 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
44553 `GRUB_HOST_SIZEOF_VOID_P'.
44554
44555 * include/grub/kernel.h (struct grub_module_header): Type of
44556 member offset changed to `grub_host_off_t'. Type of member size
44557 changed to `grub_host_size_t'.
44558 (struct grub_module_info): Type of member offset changed to
44559 `grub_host_off_t'. Type of member size changed to
44560 `grub_host_size_t'.
44561
44562 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44563
44564 Make GRUB's kernel compliant to Multiboot Specification.
44565
44566 * kern/i386/pc/startup.S (multiboot_header): New label.
44567 (multiboot_entry): Likewise.
44568 (multiboot_trampoline): Likewise.
44569
44570 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44571 Increased to 0x4A0.
44572
44573 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
44574 put parentheses after a question mark.
44575 [!GRUB_UTIL] (my_mod): New variable.
44576
44577 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
44578
44579 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
44580
44581 Adds support for the XFS filesystem. Btrees are not supported
44582 yet.
44583
44584 * fs/xfs.c: New file.
44585
44586 * DISTLIST: Added `fs/xfs.c'.
44587
44588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
44589 (grub_probefs_SOURCES): Likewise.
44590 (grub_emu_SOURCES): Likewise.
44591 (pkgdata_MODULES): Add `xfs.mod'.
44592 (xfs_mod_SOURCES): New variable.
44593 (xfs_mod_CFLAGS): Likewise.
44594
44595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
44596 (pkgdata_MODULES): Add `xfs.mod'.
44597 (xfs_mod_SOURCES): New variable.
44598 (xfs_mod_CFLAGS): Likewise.
44599
44600 * util/grub-emu.c (main): Call `grub_xfs_init' and
44601 `grub_xfs_fini'.
44602
44603 * include/grub/fs.h (grub_xfs_init): New prototype.
44604 (grub_xfs_fini): Likewise.
44605
44606
44607 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
44608
44609 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
44610 color modes, allow greater than 16 colors to be configured as
44611 a default palette.
44612
44613 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44614
44615 * normal/completion.c (complete_arguments): Add the qualifier
44616 const into OPTIONS.
44617
44618 From Omniflux <omniflux+lists@omniflux.com>:
44619 * include/grub/terminfo.h: New file.
44620 * include/grub/tparm.h: Likewise.
44621 * include/grub/i386/pc/serial.h: Likewise.
44622 * term/terminfo.c: Likewise.
44623 * term/tparm.c: Likewise.
44624 * term/i386/pc/serial.c: Likewise.
44625 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44626 serial.mod.
44627 (terminfo_mod_SOURCES): New variable.
44628 (terminfo_mod_CFLAGS): Likewise.
44629 (serial_mod_SOURCES): Likewise.
44630 (serial_mod_CFLAGS): Likewise.
44631
44632 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44633
44634 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44635 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44636 and kern/powerpc/ieee1275/cmain.c, respectively.
44637
44638 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44639 * kern/powerpc/ieee1275/crt0.S: ... here.
44640
44641 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44642 * kern/powerpc/ieee1275/cmain.c: ... here.
44643
44644 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44645 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44646 instead of boot/powerpc/ieee1275/crt0.S and
44647 boot/powerpc/ieee1275/cmain.c, respectively.
44648
44649 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44650 sectors. It was not used anyway.
44651
44652 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44653
44654 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44655 `unused parameter' warning.
44656
44657 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44658
44659 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44660 function.
44661 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44662 getcharwidth.
44663
44664 2005-08-28 Marco Gerards <metgerards@student.han.nl>
44665
44666 * include/grub/normal.h (enum grub_completion_type): Added
44667 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44668
44669 * normal/cmdline.c (print_completion): Handle
44670 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44671 * normal/menu_entry.c (store_completion): Likewise.
44672
44673 * normal/completion.c (complete_arguments): New function.
44674 (grub_normal_do_completion): Call `complete_arguments' when the
44675 current words start with a dash.
44676
44677 2005-08-27 Marco Gerards <metgerards@student.han.nl>
44678
44679 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44680 `gzio.mod' instead of `io.mod').
44681
44682 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44683
44684 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44685 (DISTDIRS): Added io and video.
44686 Rewrite the search routine to make an output consistently.
44687
44688 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44689 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44690 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44691 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44692 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44693 util/powerpc/ieee1275/misc.c.
44694
44695 * include/grub/gzio.h: New file.
44696 * io/gzio.c: Likewise.
44697
44698 * kern/file.c (grub_file_close): Call grub_device_close only if
44699 FILE->DEVICE is not NULL.
44700
44701 * include/grub/mm.h [!NULL] (NULL): New macro.
44702
44703 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44704
44705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44706 (pkgdata_MODULES): Added gzio.mod.
44707 (gzio_mod_SOURCES): New variable.
44708 (gzio_mod_CFLAGS): Likewise.
44709
44710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44711 (pkgdata_MODULES): Added gzio.mod.
44712 (gzio_mod_SOURCES): New variable.
44713 (gzio_mod_CFLAGS): Likewise.
44714
44715 * commands/cat.c: Include grub/gzio.h.
44716 (grub_cmd_cat): Use grub_gzfile_open instead of
44717 grub_file_open.
44718
44719 * commands/cmp.c: Include grub/gzio.h.
44720 (grub_cmd_cmp): Use grub_gzfile_open instead of
44721 grub_file_open.
44722
44723 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44724 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44725 grub_file_open.
44726 (grub_rescue_cmd_module): Likewise.
44727
44728 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44729
44730 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44731 kern/sparc64/ieee1275/init.c because it contains _start.
44732 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44733
44734 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44735
44736 * configure.ac: Add support for sparc64 host with ieee1275
44737 firmware.
44738 * configure: Generated from configure.ac.
44739 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44740 instead of int.
44741 (grub_ofdisk_read): Likewise.
44742 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44743 pointers as (void *) to remove a warning.
44744 (grub_ofdisk_close): Likewise.
44745 (grub_ofdisk_read): Likewise.
44746 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44747 returns, so make it return void to remove a warning.
44748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44749 Corresponding prototype change.
44750 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44751 values, and cast the pointers as (void *) to remove a warning.
44752 (grub_mm_dump): Likewise.
44753 * conf/sparc64-ieee1275.mk: New file.
44754 * conf/sparc64-ieee1275.rmk: Likewise.
44755 * include/grub/sparc64/setjmp.h: Likewise.
44756 * include/grub/sparc64/types.h: Likewise.
44757 * include/grub/sparc64/ieee1275/console.h: Likewise.
44758 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44759 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44760 * include/grub/sparc64/ieee1275/time.h: Likewise.
44761 * kern/sparc64/cache.c: Likewise.
44762 * kern/sparc64/dl.c: Likewise.
44763 * kern/sparc64/ieee1275/init.c: Likewise.
44764 * kern/sparc64/ieee1275/openfw.c: Likewise.
44765
44766 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44767
44768 * util/console.c (grub_ncurses_putchar): If C is greater than
44769 0x7f, set C to a question mark.
44770 (grub_ncurses_getcharwidth): New function.
44771 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44772 getcharwidth.
44773
44774 * normal/menu.c (print_entry): Made aware of Unicode. First,
44775 convert TITLE to UCS-4, and predict the cursor position by
44776 grub_getcharwidth.
44777
44778 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44779 const to SRC.
44780 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44781
44782 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44783
44784 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44785 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44786 grub_strcat.
44787
44788 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44789 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44790 grub_strcpy and grub_strlen. Take it into account that a space
44791 character is inserted as a delimiter.
44792
44793 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44794
44795 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
44796 invalid magic in the error.
44797
44798 * commands/search.c: New file.
44799
44800 * util/grub-emu.c (main): Call grub_search_init and
44801 grub_search_fini.
44802
44803 * kern/rescue.c (grub_rescue_print_disks): Removed.
44804 (grub_rescue_print_devices): New function.
44805 (grub_rescue_cmd_ls): Use grub_device_iterate with
44806 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44807 grub_rescue_print_disks.
44808
44809 * kern/partition.c (grub_partition_iterate): Return the result of
44810 PARTMAP->ITERATE instead of GRUB_ERRNO.
44811
44812 * kern/device.c: Include grub/partition.h.
44813 (grub_device_iterate): New function.
44814
44815 * include/grub/partition.h (grub_partition_iterate): Return int
44816 instead of grub_err_t.
44817
44818 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44819 prototype.
44820 [GRUB_UTIL] (grub_search_fini): Likewise.
44821
44822 * include/grub/device.h (grub_device_iterate): New prototype.
44823
44824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44825 commands/search.c.
44826 (pkgdata_MODULES): Added search.mod.
44827 (search_mod_SOURCES): New variable.
44828 (search_mod_CFLAGS): Likewise.
44829
44830 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44831 (pkgdata_MODULES): Added search.mod.
44832 (search_mod_SOURCES): New variable.
44833 (search_mod_CFLAGS): Likewise.
44834
44835 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44836 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44837 All callers changed.
44838
44839 * DISTLIST: Added commands/search.c.
44840
44841 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44842
44843 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44844 conversion.
44845 (grub_getcharwidth): New function.
44846
44847 * kern/misc.c (grub_utf8_to_ucs4): New function.
44848
44849 * include/grub/term.h (struct grub_term): Added a new member
44850 "getcharwidth".
44851 (grub_getcharwidth): New prototype.
44852
44853 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44854
44855 * term/i386/pc/console.c (map_char): New function. Segregated from
44856 grub_console_putchar.
44857 (grub_console_putchar): Use map_char.
44858 (grub_console_getcharwidth): New function.
44859 (grub_console_term): Specified grub_console_getcharwidth as
44860 getcharwidth.
44861
44862 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44863 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44864
44865 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44866 GRUB_ERRNO.
44867 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44868 on grub_strtoul completely.
44869 (write_char): Declare local variables in the beginning of the
44870 function.
44871 (grub_vesafb_getcharwidth): New function.
44872 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44873 getcharwidth.
44874
44875 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44876
44877 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44878 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44879 commands/i386/pc/vbetest.c.
44880
44881 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44882 call grub_vbe_get_controller_info again, because the returned
44883 information is volatile.
44884 (grub_vbe_set_video_mode): Mostly rewritten.
44885 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44886 grub_vbe_status_t correctly.
44887 (grub_vbe_get_video_mode_info): Likewise.
44888 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44889 several if statements.
44890
44891 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44892 * commands/i386/pc/vbeinfo.c: ... this.
44893
44894 * commands/i386/pc/vbe_test.c: Renamed to ...
44895 * commands/i386/pc/vbetest.c: ... this.
44896
44897 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44898 ...
44899 (grub_cmd_vbeinfo): ... this. Save video modes before
44900 iterating. Skip a video mode, if it is not available, not enough
44901 information is given or it is monochrome. Show the memory
44902 model. Leave the interpretation of MODEVAR to grub_strtoul
44903 completely.
44904 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44905 (GRUB_MOD_FINI): Likewise.
44906
44907 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44908 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44909 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44910 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44911 grub_strtoul completely.
44912 (real2pm): Removed.
44913 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44914 (GRUB_MOD_FINI): Likewise.
44915
44916 * normal/misc.c: Include grub/mm.h.
44917
44918 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44919 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44920 (vbe_list_modes_mod_SOURCES): Removed.
44921 (vbe_list_modes_mod_CFLAGS): Likewise.
44922 (vbe_test_mod_SOURCES): Likewise.
44923 (vbe_test_mod_CFLAGS): Likewise.
44924 (vbeinfo_mod_SOURCES): New variable.
44925 (vbeinfo_mod_CFLAGS): Likewise.
44926 (vbetest_mod_SOURCES): Likewise.
44927 (vbetest_mod_CFLAGS): Likewise.
44928
44929 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44930
44931 * normal/misc.c: New file.
44932
44933 * DISTLIST: Added normal/misc.c.
44934
44935 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44936 DISK to HOOK. Call HOOK with DISK.
44937 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44938 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44939 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44940
44941 * normal/menu_entry.c (struct screen): Added a new member
44942 "completion_shown".
44943 (completion_buffer): New global variable.
44944 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44945 (store_completion): New function.
44946 (complete): Likewise.
44947 (clear_completions): Likewise.
44948 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44949 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44950 a tab, call complete.
44951
44952 * normal/completion.c (disk_dev): Removed.
44953 (print_simple_completion): Likewise.
44954 (print_partition_completion): Likewise.
44955 (print_func): New global variable.
44956 (add_completion): Do not take the arguments WHAT or PRINT any
44957 longer. Added a new argument TYPE. Instead of printing directly,
44958 call PRINT_FUNC if not NULL.
44959 All callers changed.
44960 (complete_device): Use a local variable DEV instead of
44961 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44962 (grub_normal_do_completion): Take a new argument HOOK. Do not
44963 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44964 empty string, return NULL instead.
44965 All callers changed.
44966
44967 * normal/cmdline.c (print_completion): New function.
44968
44969 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44970 to HOOK.
44971 All callers changed.
44972
44973 * kern/disk.c (grub_print_partinfo): Removed.
44974
44975 * include/grub/partition.h (struct grub_partition_map): Add a new
44976 argument DISK into HOOK of ITERATE.
44977 (grub_partition_iterate): Add a new argument DISK to HOOK.
44978
44979 * include/grub/normal.h (enum grub_completion_type): New enum.
44980 (grub_completion_type_t): New type.
44981 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44982 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44983 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44984 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44985 (grub_normal_do_completion): Added a new argument HOOK.
44986 (grub_normal_print_device_info): New prototype.
44987
44988 * include/grub/disk.h (grub_print_partinfo): Removed.
44989
44990 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44991 (normal_mod_SOURCES): Likewise.
44992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44993 (normal_mod_SOURCES): Likewise.
44994
44995 * commands/ls.c (grub_ls_list_disks): Use
44996 grub_normal_print_device_info instead of grub_print_partinfo. Free
44997 PNAME.
44998 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44999 duplicating the code.
45000
45001 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45002
45003 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
45004 follow GCS more precisely.
45005 * commands/i386/pc/vbe_test.c: Likewise.
45006 * include/grub/i386/pc/vbe.h: Likewise.
45007 * term/i386/pc/vesafb.c: Likewise.
45008 * video/i386/pc/vbe.c: Likewise.
45009
45010 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45011
45012 * DISTLIST: Added term/i386/pc/vesafb.c
45013 DISTLIST: Added video/i386/pc/vbe.c
45014 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45015 DISTLIST: Added commands/i386/pc/vbe_test.c.
45016 * commands/i386/pc/vbe_list_modes.c: New file.
45017 * commands/i386/pc/vbe_test.c: Likewise.
45018 * term/i386/pc/vesafb.c: Likewise.
45019 * video/i386/pc/vbe.c: Likewise.
45020 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45021 (grub_vbe_probe) Added prototype.
45022 (grub_vbe_set_video_mode) Likewise.
45023 (grub_vbe_get_video_mode) Likewise.
45024 (grub_vbe_get_video_mode_info) Likewise.
45025 (grub_vbe_set_pixel_rgb) Likewise.
45026 (grub_vbe_set_pixel_index) Likewise.
45027 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45028 (pkgdata_MODULES): Added vesafb.mod.
45029 (pkgdata_MODULES): Added vbe_list_modes.mod.
45030 (pkgdata_MODULES): Added vbe_test.mod.
45031 (vbe_mod_SOURCES): Added.
45032 (vbe_mod_CFLAGS): Likewise.
45033 (vesafb_mod_SOURCES): Likewise.
45034 (vesafb_mod_CFLAGS): Likewise.
45035 (vbe_list_modes_mod_SOURCES): Likewise.
45036 (vbe_list_modes_mod_CFLAGS): Likewise.
45037 (vbe_test_mod_SOURCES): Likewise.
45038 (vbe_test_mod_CFLAGS): Likewise.
45039
45040 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45041
45042 * normal/command.c (grub_command_execute): If INTERACTIVE is
45043 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45044 CMDLINE. Disable the pager if INTERACTIVE is true.
45045 All callers are changed.
45046
45047 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45048 before reading a config file.
45049 * normal/main.c (read_config_file): Even if a command is not
45050 found, register it if it is within an entry.
45051
45052 * util/grub-emu.c: Include sys/types.h and unistd.h.
45053 (options): Added --hold.
45054 (struct arguments): Added a new member "hold".
45055 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45056 missing.
45057 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45058 cleared by a debugger, if it is not zero.
45059
45060 * include/grub/normal.h (grub_command_execute): Add an argument
45061 INTERACTIVE.
45062
45063 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45064
45065 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45066
45067 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45068
45069 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45070 program with another one, because the old one didn't detect a bug
45071 in gcc-3.4. Always use regparm 2, because the new test is still
45072 not enough for gcc-4.0. Someone must investigate a simple test
45073 case which detects a bug in gcc-4.0.
45074
45075 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45076
45077 * DISTLIST: Added normal/completion.c.
45078
45079 * normal/completion.c: New file.
45080
45081 * term/i386/pc/console.c (grub_console_getwh): New function.
45082 (grub_console_term): Assign grub_console_getwh to getwh.
45083
45084 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45085 function is defined in normal/completion.c as
45086 grub_normal_do_completion.
45087 (grub_cmdline_get): Use grub_normal_do_completion instead of
45088 grub_tab_complete.
45089
45090 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45091 returns non-zero, otherwise return 0.
45092 (grub_partition_iterate): First, probe the partition map. Then,
45093 call ITERATE only for this partition map.
45094
45095 * kern/misc.c (grub_strncmp): Rewritten.
45096
45097 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45098 returns non-zero. Otherwise return 0.
45099
45100 * include/grub/partition.h (grub_partition_map_iterate): Return
45101 int instead of void.
45102
45103 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45104
45105 * include/grub/misc.h (grub_strncmp): Change the type of N to
45106 grub_size_t.
45107
45108 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45109 of void.
45110
45111 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
45112 unsigned explicitly before comparing it with I.
45113
45114 * kern/main.c (grub_env_write_root): Add the attribute unused into
45115 VAR.
45116
45117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45118 normal/completion.c.
45119 (normal_mod_SOURCES): Likewise.
45120 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45121 (normal_mod_SOURCES): Likewise.
45122
45123 * normal/command.c (grub_iterate_commands): If ITERATE returns
45124 non-zero, return one immediately.
45125
45126 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45127
45128 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45129 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45130 descriptions.
45131 (grub_vbe_get_controller_info): New function.
45132 (grub_vbe_get_mode_info): Likewise.
45133 (grub_vbe_set_mode): Likewise.
45134 (grub_vbe_get_mode): Likewise.
45135 (grub_vbe_set_memory_window): Likewise.
45136 (grub_vbe_get_memory_window): Likewise.
45137 (grub_vbe_set_scanline_length): Likewise.
45138 (grub_vbe_get_scanline_length): Likewise.
45139 (grub_vbe_set_display_start): Likewise.
45140 (grub_vbe_get_display_start): Likewise.
45141 (grub_vbe_set_palette_data): Likewise.
45142 * include/grub/i386/pc/vbe.h: New file.
45143
45144 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45145
45146 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45147 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45148 * DISTLIST: Likewise.
45149 * kern/ieee1275/of.c: Moved to ...
45150 * kern/ieee1275/ieee1275.c: ... here.
45151
45152 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45153
45154 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45155 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45156 Pass 0 as `end' parameter to grub_strtoul().
45157
45158 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45159
45160 * include/grub/powerpc/ieee1275/console.h: Do not include
45161 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45162 ifdef.
45163 (grub_console_cur_color): Remove i386-specific prototype.
45164 (grub_console_real_putchar): Likewise.
45165 (grub_console_checkkey): Likewise.
45166 (grub_console_getkey): Likewise.
45167 (grub_console_getxy): Likewise.
45168 (grub_console_gotoxy): Likewise.
45169 (grub_console_cls): Likewise.
45170 (grub_console_setcursor): Likewise.
45171 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45172 Include <grub/machine/console.h>.
45173 * term/ieee1275/ofconsole.c: Likewise.
45174
45175 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45176
45177 * Makefile.in (LIBLZO): New variable.
45178
45179 * configure.ac: Check for LZO version 2.
45180
45181 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45182 lzo/lzo1x.h instead of lzo1x.h.
45183
45184 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45185 of -llzo.
45186
45187 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45188 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45189
45190 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45191 copying the data from PARTITION to P.
45192
45193 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45194
45195 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45196 negative, unload the module.
45197
45198 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45199 map is "pc_partition_map" but not "pc".
45200 (usage): Fix the description. The options are --boot-image and
45201 --core-image but not --boot-file or --core-file.
45202 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45203 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45204 DEFAULT_DIRECTORY.
45205
45206 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45207 --core-file. Specify INSTALL_DEVICE as an argument.
45208
45209 * util/console.c: Include config.h.
45210 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45211 [HAVE_NCURSES_H]: Include ncurses.h.
45212 [HAVE_CURSES_H]: Include curses.h.
45213 [!A_NORMAL] (A_NORMAL): Defined as zero.
45214 [!A_STANDOUT] (A_STANDOUT): Likewise.
45215
45216 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45217 -lncurses.
45218 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45219
45220 * configure.ac: Check for curses libraries and headers.
45221
45222 * Makefile.in (LIBCURSES): New variable.
45223
45224 * genmk.rb (Script::rule): Set the executable bits.
45225
45226 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45227 name of the PC partition map is "pc_partition_map" but not "pc".
45228
45229 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45230
45231 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45232 (modules): Likewise.
45233 (usage): Added descriptions for --modules and --grub-probefs.
45234 Handle --modules and --grub-probefs. Save the arguments in MODULES
45235 and GRUB_PROBEFS, respectively.
45236 Auto-detect a filesystem module against GRUBDIR. If the result is
45237 empty and modules are not specified explicitly, abort the
45238 installation. Add the result to MODULES.
45239
45240 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45241 disk/powerpc/ieee1275/ofdisk.c,
45242 include/grub/powerpc/ieee1275/init.h and
45243 term/powerpc/ieee1275/ofconsole.c.
45244 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45245 term/ieee1275/ofconsole.c.
45246
45247 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45248
45249 * COPYING: Upgraded to the latest version. Only the address of the
45250 FSF office has changed.
45251
45252 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45253
45254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45255 kern/ieee1275.c with kern/ieee1275/of.c.
45256
45257 * kern/ieee1275.c: Moved to ...
45258 * kern/ieee1275/of.c: ... here.
45259
45260 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45261
45262 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
45263 readability.
45264
45265 * config.guess: Updated to the latest version from gnulib.
45266 * config.sub: Likewise.
45267 * install.sh: Likewise.
45268 * mkinstalldirs: Likewise.
45269
45270 * include/grub/console.h: Removed. This file is arch-specific. Do
45271 not put this in include/grub.
45272
45273 * include/grub/i386/pc/console.h: Resurrected.
45274
45275 * util/console.c: Include grub/machine/console.h instead of
45276 grub/console.h.
45277 * util/grub-emu.c: Likewise.
45278
45279 2005-08-04 Marco Gerards <metgerards@student.han.nl>
45280
45281 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45282 hardcoded value.
45283
45284 From Vincent Pelletier <subdino2004@yahoo.fr>
45285 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45286 Redefined to use grub_getwh.
45287 (grub_term): New member named getwh.
45288 (grub_getwh): New prototype.
45289 * kern/term.c (grub_getwh): New function.
45290 * term/i386/pc/console.c (grub_console_getwh): New function.
45291 (grub_console_term): New member `getwh'.
45292 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45293 (grub_vga_term): New member `getwh'.
45294 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
45295 grub_ssize_t.
45296 (grub_ofconsole_getw): New function.
45297 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45298 (grub_ofconsole_term): New field named getwh and new initial
45299 value.
45300
45301 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45302
45303 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45304 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45305 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45306 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45307 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45308 of <grub/machine/ieee1275.h>.
45309 * commands/ieee1275/reboot.c: Likewise.
45310 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45311 * kern/ieee1275.c: ... to here. All users updated. Change all
45312 parameter structs to use new type `grub_ieee1275_cell_t'.
45313 * term/powerpc/ieee1275/ofconsole.c: Move ...
45314 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45315 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45316 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45317 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45318 to return int.
45319 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45320 Remove unused prototypes. All users updated.
45321 * include/grub/powerpc/ieee1275/console.h: Removed.
45322 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45323 `grub_ieee1275_cell_t'.
45324 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45325 Cast comparisons with -1 to the correct type.
45326 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45327 type to match `grub_ieee1275_entry_fn'.
45328
45329 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45330
45331 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45332
45333 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45334 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45335 partmap/sun.c.
45336 (grub_probefs_SOURCES): New variable.
45337
45338 * util/i386/pc/grub-probefs.c: New file.
45339
45340 * util/i386/pc/grub-setup.c (main): Call
45341 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45342 grub_hfs_init and grub_jfs_init to initialize the system. Call
45343 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45344 grub_pc_partition_map_fini to finish the system.
45345
45346 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45347
45348 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45349 function.
45350 (grub_multiboot_load_elf32): Likewise.
45351 (grub_multiboot_is_elf64): Likewise.
45352 (grub_multiboot_load_elf64): Likewise.
45353 (grub_multiboot_load_elf): Likewise.
45354 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45355 an ELF32 or ELF64 file.
45356 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45357
45358 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45359 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45360 NULL before calling FS->LABEL.
45361 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45362 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45363 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45364 before calling FS->LABEL.
45365
45366 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45367
45368 * util/i386/pc/grub-install.in (datadir): New variable.
45369 (libdir): Removed.
45370 (pkgdatadir): New variable.
45371 (pkglibdir): Removed.
45372
45373 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45374
45375 * DISTLIST: Added util/i386/pc/grub-install.in.
45376
45377 * util/i386/pc/grub-install.in: New file.
45378
45379 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45380 (grub_install_SOURCES): Likewise.
45381
45382 * genmk.rb: Added support for scripts.
45383 (Script): New class.
45384 (scripts): New variable.
45385
45386 * Makefile.in (install-local): Install sbin_SCRIPTS by
45387 INSTALL_SCRIPT.
45388 (uninstall): Remove sbin_SCRIPTS.
45389
45390 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45391 device, try to get a GRUB device by
45392 grub_util_biosdisk_get_grub_dev.
45393 Free DEST_DEV.
45394
45395 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45396 description for --device-map.
45397
45398 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45399
45400 Change the semantics of variable hooks. They now return strings
45401 instead of error values.
45402
45403 * util/i386/pc/grub-setup.c: Include grub/env.h.
45404 (setup): Use grub_device_set_root instead of grub_env_set.
45405
45406 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45407 grub_env_get instead of grub_device_set_root and
45408 grub_device_get_root, respectively.
45409
45410 * kern/main.c (grub_env_write_root): New function.
45411 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45412 grub_env_set instead of grub_device_set_root.
45413
45414 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45415 many variables.
45416 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45417 rather than calling ENV->WRITE_HOOK afterwards.
45418 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45419 passing a pointer of a pointer.
45420 (grub_register_variable_hook): Change the types of "read_hook" and
45421 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45422 respectively.
45423 Allocate the default empty string on the heap, because this string
45424 may be freed later.
45425
45426 * kern/device.c: Include grub/env.h.
45427 (grub_device_set_root): Removed.
45428 (grub_device_get_root): Likewise.
45429 (grub_device_open): Use grub_env_get instead of
45430 grub_device_get_root.
45431
45432 * include/grub/env.h (grub_env_read_hook_t): New type.
45433 (grub_env_write_hook_t): Likewise.
45434 (grub_env_var): Change the types of "read_hook" and "write_hook"
45435 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45436 (grub_register_variable_hook): Likewise.
45437
45438 * include/grub/device.h (grub_device_set_root): Removed.
45439 (grub_device_set_root): Likewise.
45440
45441 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45442 make sure that DIRNAME terminates with '/', so that
45443 grub_fat_find_dir will fail if PATH is not a directory.
45444
45445 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45446 from DIRNAME.
45447 Use the qualifier auto for print_files and print_files_long.
45448 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45449 as a regular file.
45450 Put a newline only if there is no error.
45451 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45452 used.
45453
45454 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45455
45456 * kern/partition.c (grub_partition_probe): Initialize PART to
45457 NULL. Otherwise, when no partition map is registered, this returns
45458 a garbage.
45459
45460 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
45461
45462 * partmap/apple.c (apple_partition_map_iterate): Check if POS
45463 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
45464 valid.
45465
45466 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
45467
45468 * commands/ls.c (grub_ls_list_disks): Print the filesystem
45469 information on each device, if it does not have partitions. Print
45470 "Device" instead of "Disk", because this function is not specific
45471 to disk devices.
45472
45473 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
45474 static to ensure that it is put on the memory rather than a
45475 register.
45476
45477 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45478
45479 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
45480 (grub_cat_init): Likewise.
45481 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
45482 (options): Likewise.
45483 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
45484 (grub_configfile_init): Likewise.
45485 * font/manager.c (GRUB_MOD_INIT): Likewise.
45486 * commands/help.c (GRUB_MOD_INIT): Likewise.
45487 (grub_help_init): Likewise.
45488 * normal/command.c (grub_command_init): Likewise.
45489 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
45490 * disk/loopback.c (grub_loop_init): Likewise.
45491 (GRUB_MOD_INIT): Likewise.
45492 * commands/ls.c (grub_ls_init): Likewise.
45493 (GRUB_MOD_INIT): Likewise.
45494 (options): Likewise.
45495 * commands/boot.c (grub_boot_init): Likewise.
45496 (GRUB_MOD_INIT): Likewise.
45497 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
45498 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
45499 (GRUB_MOD_INIT): Likewise.
45500 * commands/cmp.c (grub_cmp_init): Likewise.
45501 (GRUB_MOD_INIT): Likewise.
45502
45503 * normal/arg.c: Use <> instead of "" to include header files.
45504 (SHORT_ARG_HELP): New macro.
45505 (SHORT_ARG_USAGE): Likewise.
45506 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
45507 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
45508 descriptions.
45509 (find_short): Check if C is 'h' or 'u' explicitly.
45510 (grub_arg_show_help): Use space characters instead of tabs. Treat
45511 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
45512 are shown with --help and --usage only if they are not used for
45513 the command itself.
45514 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
45515 'h' and 'u'.
45516
45517 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
45518 const into "longarg". Change the type of "shortarg" to int.
45519
45520 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45521
45522 * boot/i386/pc/boot.S (boot_drive_check): New label.
45523
45524 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
45525 macro.
45526
45527 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
45528 which do not pass a boot drive correctly. Copied from GRUB Legacy.
45529
45530 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45531
45532 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
45533 When turning off Gate A20, skip the check and return immediately,
45534 because this is not fatal usually.
45535
45536 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45537
45538 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
45539 be 0x7C00 instead of 0x8000.
45540
45541 * boot/i386/pc/pxeboot.S: Rewritten.
45542
45543 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
45544 EXT_C.
45545 (gate_a20_check_state): Read a byte from 0x108000. Invert the
45546 result.
45547
45548 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
45549
45550 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
45551 robustness. This routine now supports a BIOS call and System
45552 Control Port A to modify the gate A20.
45553
45554 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45555 Increased to 0x440.
45556
45557 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45558
45559 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45560 device path and resulting ihandle.
45561 (grub_ofdisk_close): dprintf the ihandle being closed.
45562 (grub_ofdisk_read): dprintf function parameters.
45563 * kern/mm.c (grub_mm_init_region): Likewise.
45564 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
45565 (grub_linux_boot): dprintf the Linux entry point, initrd address and
45566 size, and boot arguments.
45567 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
45568 before loading into memory.
45569 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
45570 before loading into memory.
45571
45572 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
45573
45574 * kern/mm.c: Added much documentation.
45575 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
45576 8, set to 5 instead of 8.
45577
45578 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45579
45580 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
45581
45582 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
45583 (grub_mkdevicemap_SOURCES): New variable.
45584
45585 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
45586 lib/device.c of GRUB Legacy.
45587
45588 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45589
45590 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
45591 instead of PATH is NULL.
45592
45593 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
45594
45595 * commands/cmp.c (BUFFER_SIZE): New macro.
45596 (grub_cmd_cmp): Close the right file at the right time. Compare
45597 only data just read. Don't report files of different size as
45598 identical. Dynamically allocate buffers. Move variable
45599 declarations at the beginning of function.
45600
45601 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
45602
45603 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
45604 reverse.
45605
45606 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
45607
45608 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
45609 when backspace is pressed at beginning of line.
45610
45611 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
45612
45613 * DISTLIST: Added genfslist.sh.
45614
45615 * normal/main.c (fs_module_list): New variable.
45616 (autoload_fs_module): New function.
45617 (read_fs_list): Likewise.
45618 (grub_normal_execute): Call read_fs_list.
45619
45620 * kern/fs.c (grub_fs_autoload_hook): New variable.
45621 (grub_fs_probe): Added support for auto-loading.
45622
45623 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45624 (grub_fs_module_list_t): New type.
45625
45626 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45627 (grub_fs_autoload_hook): New prototype.
45628
45629 * genfslist.sh: New file.
45630
45631 * genmk.rb: Added a rule to generate a filesystem list.
45632
45633 2005-06-30 Marco Gerards <metgerards@student.han.nl>
45634
45635 * configure.ac: Fix the test for cross-compiling.
45636
45637 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45638 define GRUB_UTIL anymore.
45639
45640 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45641 so this function works on other systems than just big endian.
45642 (load_modules): Likewise.
45643 (add_segments): Likewise.
45644
45645 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45646
45647 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45648 contains `l' modifier, get a long from va_arg().
45649
45650 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45651
45652 * kern/mm.c (grub_free): If the next free block which is being
45653 merged is the first free block, set the first block to the block
45654 being freed.
45655 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45656
45657 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45658
45659 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45660 `grub_ieee1275_chosen'.
45661
45662 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45663
45664 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45665 (grub_ieee1275_chosen): New variable.
45666 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45667 `chosen'.
45668 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45669 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45670 Rename first argument to `phandle' for consistency.
45671 (grub_ieee1275_get_property_length): Likewise.
45672 (grub_ieee1275_next_property): Likewise. Change type of first argument
45673 to grub_ieee1275_phandle_t.
45674 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45675 Move export next to declaration.
45676 (grub_ieee1275_chosen): New variable.
45677 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45678 Correct cosmetic typo.
45679 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45680 `grub_ieee1275_chosen'.
45681 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45682 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45683 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45684 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45685 `grub_ieee1275_chosen'.
45686
45687 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45688
45689 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45690 /chosen/bootargs.
45691 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45692 /chosen/bootargs as "variable=value" pairs.
45693
45694 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45695
45696 * include/grub/misc.h (grub_dprintf): New macro.
45697 (grub_real_dprintf): New prototype.
45698 (grub_strword): Likewise.
45699 (grub_iswordseparator): Likewise.
45700 * kern/misc.c (grub_real_dprintf): New function.
45701 (grub_strword): Likewise.
45702 (grub_iswordseparator): Likewise.
45703
45704 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45705
45706 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45707 (roundup): Remove macro.
45708 (grub_ieee1275_flags): Make static.
45709 (grub_ieee1275_realmode): Remove.
45710 (grub_ieee1275_test_flag): New function.
45711 (grub_ieee1275_set_flag): Likewise.
45712 (find_options): Rename to `grub_ieee1275_find_options'; update
45713 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45714 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45715 (cmain): New prototype.
45716 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45717 `grub_ieee1275_flags' directly.
45718 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45719 machine/biosdisk.h.
45720 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45721 Don't include grub/machine/init.h.
45722 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45723 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45724 Remove prototype.
45725 (grub_ieee1275_realmode): Likewise.
45726 (grub_ieee1275_flag): New enum.
45727 (grub_ieee1275_test_flag): New prototype.
45728 (grub_ieee1275_set_flag): New prototype.
45729 * include/grub/powerpc/ieee1275/init.h: Remove file.
45730 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45731 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45732 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45733 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45734 comment.
45735 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45736 `grub_ieee1275_test_flag'.
45737 (grub_ieee1275_encode_devname): Likewise.
45738
45739 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45740
45741 * include/grub/powerpc/ieee1275/ieee1275.h
45742 (grub_ieee1275_encode_devname): New prototype.
45743 (grub_ieee1275_get_filename): Likewise.
45744 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45745 function.
45746 (grub_set_prefix): Likewise.
45747 (grub_machine_init): Call grub_set_prefix.
45748 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45749 (grub_parse_type): New enum.
45750 (grub_ieee1275_get_devargs): New function.
45751 (grub_ieee1275_get_devname): Likewise.
45752 (grub_ieee1275_parse_args): Likewise.
45753 (grub_ieee1275_get_filename): Likewise.
45754 (grub_ieee1275_encode_devname): Likewise.
45755
45756 2005-03-30 Marco Gerards <metgerards@student.han.nl>
45757
45758 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45759 `grub_loader_unset'.
45760
45761 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45762
45763 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45764 instead of grub_ieee1275_interpret.
45765 (grub_halt_init): New function.
45766 (grub_halt_fini): Likewise.
45767 (GRUB_MOD_INIT): Correct message grammar.
45768 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45769 instead of grub_ieee1275_interpret.
45770 (grub_reboot_init): New function.
45771 (grub_reboot_fini): Likewise.
45772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45773 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45774 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45775 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45776 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45777 function.
45778 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45779 Add prototype.
45780 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45781 prototype.
45782 (grub_halt): Likewise.
45783 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45784 (cmain): Remove __attribute__((unused)).
45785 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45786 (grub_heap_len): Likewise.
45787 (grub_machine_fini): New function.
45788 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45789 (grub_halt): Likewise.
45790 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45791 function.
45792 * util/powerpc/ieee1275/misc.c: New file.
45793
45794 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45795
45796 * DISTLIST: New file.
45797 * gendistlist.sh: Likewise.
45798
45799 * Makefile.in (COMMON_DISTFILES): Removed.
45800 (BOOT_DISTFILES): Likewise.
45801 (CONF_DISTFILES): Likewise.
45802 (DISK_DISTFILES): Likewise.
45803 (FS_DISTFILES): Likewise.
45804 (INCLUDE_DISTFILES): Likewise.
45805 (KERN_DISTFILES): Likewise.
45806 (LOADER_DISTFILES): Likewise.
45807 (TERM_DISTFILES): Likewise.
45808 (UTIL_DISTFILES): Likewise.
45809 (DISTFILES): Likewise.
45810 (uninstall): Uninstall files in $(pkgdata_DATA).
45811 (DISTLIST): New target.
45812 (distdir): Use the contents of the file DISTLIST to get a list of
45813 distributed files.
45814
45815 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45816
45817 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45818 descriptor. This is ported from GRUB Legacy.
45819
45820 * gencmdlist.sh: Added an extra semicolon to make it work with
45821 old sed versions. Reported by Robert Bihlmeyer
45822 <robbe@orcus.priv.at>.
45823
45824 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
45825
45826 Automatic loading of commands is supported.
45827
45828 * normal/main.c (read_command_list): New function.
45829 (grub_normal_execute): Call read_command_list.
45830
45831 * normal/command.c (grub_register_command): Return zero or CMD.
45832 Allocate CMD->NAME from the heap.
45833 Initialize CMD->MODULE_NAME to zero.
45834 Find the same name as well. If the same command is found and it is
45835 a dummy command, overwrite members. If it is not a dummy command,
45836 return zero.
45837 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45838 (grub_command_find): If a dummy command is found, load a module
45839 and retry to find a command only once.
45840
45841 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45842 make sure that each command is loaded.
45843
45844 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45845 macro.
45846 (struct grub_command): Remove const from the member `name'.
45847 Add a new member `module_name'.
45848 (grub_register_command): Return grub_command_t.
45849
45850 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45851 sure that each command is loaded.
45852
45853 * genmk.rb (PModule::rule): Specify a module name without the
45854 suffix ".mod" to gencmdlist.sh.
45855
45856 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45857
45858 * gencmdlist.sh: New file.
45859
45860 * genmk.rb (PModule::rule): Generate a rule for a command list.
45861 Clean command.lst.
45862 Generate command.lst from $(COMMANDFILES).
45863
45864 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45865 (DATA): Added $(pkgdata_DATA).
45866 (install-local): Install files in $(pkgdata_DATA).
45867
45868 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45869
45870 * term/i386/pc/vga.c (debug_command): Removed.
45871 (GRUB_MOD_INIT): Do not register the command "debug".
45872
45873 From Hollis Blanchard:
45874 * commands/configfile.c: New file.
45875 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45876 commands/configfile.c.
45877 (pkgdata_MODULES): Added configfile.mod.
45878 (configfile_mod_SOURCES): New variable.
45879 (configfile_mod_CFLAGS): Likewise.
45880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45881 commands/configfile.c.
45882 (pkgdata_MODULES): Added configfile.mod.
45883 (configfile_mod_SOURCES): New variable.
45884 (configfile_mod_CFLAGS): Likewise.
45885 * util/grub-emu.c (main): Call grub_configfile_init and
45886 grub_configfile_fini.
45887 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45888 prototype.
45889 [GRUB_UTIL] (grub_configfile_fini): Likewise.
45890
45891 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45892
45893 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45894 address.
45895
45896 * commands/help.c (grub_cmd_help): Do not print newlines after
45897 the last command in print_command_help.
45898
45899 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45900
45901 * commands/default.h: New file.
45902 * commands/timeout.h: Likewise.
45903 * normal/context.c: Likewise.
45904
45905 * util/misc.c: Do not include sys/times.h.
45906 Include sys/time.h and grub/machine/time.h.
45907 (grub_get_rtc): Rewritten with gettimeofday.
45908
45909 * util/grub-emu.c (main): Call grub_default_init and
45910 grub_timeout_init before grub_normal_init, and call
45911 grub_timeout_fini and grub_default_fini after grub_main.
45912
45913 * util/console.c (grub_ncurses_checkkey): Return the read
45914 character or -1.
45915
45916 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45917 timeouts.
45918
45919 * normal/main.c (read_config_file): Push MENU. If this fails,
45920 print an error and wait for a user input.
45921 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45922 If a menu is empty or an error occurs, pop MENU.
45923 (grub_normal_execute): Pop and free MENU after grub_menu_run
45924 returns.
45925
45926 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45927
45928 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45929 include time.h.
45930 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45931 without GRUB_UTIL.
45932 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45933 time.h.
45934 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45935 without GRUB_UTIL.
45936
45937 * include/grub/normal.h (struct grub_menu_list): New struct.
45938 (grub_menu_list_t): New type.
45939 (struct grub_context): New struct.
45940 (grub_context_t): New type.
45941 (grub_register_command): Got rid of EXPORT_FUNC.
45942 (grub_unregister_command): Likewise.
45943 (grub_context_get): New prototype.
45944 (grub_context_get_current_menu): Likewise.
45945 (grub_context_push_menu): Likewise.
45946 (grub_context_pop_menu): Likewise.
45947 [GRUB_UTIL] (grub_default_init): Likewise.
45948 [GRUB_UTIL] (grub_default_fini): Likewise.
45949 [GRUB_UTIL] (grub_timeout_init): Likewise.
45950 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45951
45952 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45953 commands/timeout.c and normal/context.c.
45954 (pkgdata_MODULES): Added default.mod and timeout.mod.
45955 (normal_mod_SOURCES): Added normal/context.c.
45956 (default_mod_SOURCES): New variable.
45957 (default_mod_CFLAGS): Likewise.
45958 (timeout_mod_SOURCES): Likewise.
45959 (timeout_mod_CFLAGS): Likewise.
45960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45961 conf/i386-pc.rmk.
45962 (pkgdata_MODULES): Added default.mod and timeout.mod.
45963 (normal_mod_SOURCES): Added normal/context.c.
45964 (default_mod_SOURCES): New variable.
45965 (default_mod_CFLAGS): Likewise.
45966 (timeout_mod_SOURCES): Likewise.
45967 (timeout_mod_CFLAGS): Likewise.
45968
45969 * Makefile.in (all-local): Added $(MKFILES).
45970
45971 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45972
45973 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45974 (grub_emu_SOURCES): Likewise.
45975 (pkgdata_MODULES): Add `sun.mod'.
45976 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45978 `partmap/sun.c'.
45979 (pkgdata_MODULES): Add `sun.mod'.
45980 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45981 * include/grub/partition.h (grub_sun_partition_map_init): New
45982 prototype.
45983 (grub_sun_partition_map_fini): Likewise.
45984 * partmap/sun.c: New file.
45985 * util/grub-emu.c (main): Initialize and de-initialize the sun
45986 partitionmap support.
45987
45988 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45989
45990 This implements an Emacs-like menu entry editor.
45991
45992 * normal/menu_entry.c: New file.
45993
45994 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45995 characters to ASCII.
45996 (saved_char): New variable.
45997 (grub_ncurses_checkkey): Rewritten completely.
45998 (grub_ncurses_getkey): Likewise.
45999 (grub_ncurses_init): Call raw instead of cbreak.
46000
46001 * normal/menu.c (print_entry): Do not put a space.
46002 (init_page): Renamed to ...
46003 (grub_menu_init_page): ... this. All callers changed.
46004 (edit_menu_entry): Removed.
46005 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46006
46007 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46008
46009 * kern/misc.c (grub_vprintf): Call grub_refresh.
46010
46011 * normal/menu.c (DISP_LEFT): Renamed to ...
46012 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46013 * normal/menu.c (DISP_UP): Renamed to ...
46014 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46015 * normal/menu.c (DISP_RIGHT): Renamed to ...
46016 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46017 * normal/menu.c (DISP_DOWN): Renamed to ...
46018 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46019 * normal/menu.c (DISP_HLINE): Renamed to ...
46020 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46021 * normal/menu.c (DISP_VLINE): Renamed to ...
46022 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46023 * normal/menu.c (DISP_UL): Renamed to ...
46024 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46025 * normal/menu.c (DISP_UR): Renamed to ...
46026 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46027 * normal/menu.c (DISP_LL): Renamed to ...
46028 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46029 * normal/menu.c (DISP_LR): Renamed to ...
46030 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46031 * normal/menu.c (TERM_WIDTH): Renamed to ...
46032 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46033 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46034 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46035 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46036 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46037 * normal/menu.c (TERM_MARGIN): Renamed to ...
46038 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46039 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46040 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46041 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46042 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46043 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46044 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46045 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46046 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46047 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46048 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46049 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46050 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46051 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46052 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46053 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46054 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46055 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46056 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46057 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46058 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46059 All callers changed.
46060
46061 * include/grub/normal.h: New prototype.
46062
46063 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46064 normal/menu_entry.c.
46065 (normal_mod_SOURCES): Likewise.
46066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46067 (normal_mod_SOURCES): Likewise.
46068
46069 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46070
46071 * include/grub/normal.h (grub_halt_init): New prototype.
46072 (grub_halt_fini): Likewise.
46073 (grub_reboot_init): Likewise.
46074 (grub_reboot_fini): Likewise.
46075
46076 * util/grub-emu.c: Include signal.h.
46077 (main_env): New global variable.
46078 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46079 catch C-c.
46080 (grub_machine_fini): New function.
46081 (main): Call grub_halt_init and grub_reboot_init before
46082 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46083 Call setjmp with MAIN_ENV to go back afterwards.
46084 Call grub_machine_fini right before return.
46085
46086 * include/grub/util/misc.h: Include setjmp.h.
46087 (main_env): New prototype.
46088
46089 * include/grub/kernel.h (grub_machine_fini): New prototype.
46090 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46091 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46092
46093 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46094 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46095 * term/i386/pc/console.c (grub_console_fini): Likewise.
46096
46097 * util/i386/pc/misc.c: New file.
46098
46099 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46100 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46101 commands/i386/pc/reboot.c.
46102
46103 2005-02-14 Guillem Jover <guillem@hadrons.org>
46104
46105 * include/grub/dl.h (grub_dl_check_header): New prototype.
46106 (grub_arch_dl_check_header): Change return type to grub_err_t,
46107 remove size parameter and export function. Update all callers.
46108 * kern/dl.c (grub_dl_check_header): New function.
46109 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46110 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46111 are inside the core.
46112 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46113 independent ELF header checks.
46114 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46115 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46116 `grub_dl_check_header' instead of explicit checks. Check for the
46117 ELF type.
46118 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46119 `grub_dl_check_header' instead of explicit checks. Remove arch
46120 specific ELF header checks.
46121
46122 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46123 argument SIZE.
46124
46125 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46126
46127 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46128 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46129
46130 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46131
46132 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
46133 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
46134 (part_map_iterate): Clear `grub_errno' and return 0 if
46135 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
46136 * partmap/amiga.c (amiga_partition_map_iterate): Return
46137 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46138 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46139
46140 2005-02-01 Guillem Jover <guillem@hadrons.org>
46141
46142 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46143 help info.
46144
46145 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46146
46147 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46148 Removed prototype.
46149 (grub_rescue_cmd_linux): New prototype.
46150 (grub_rescue_cmd_initrd): Likewise.
46151 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46152 `bi_rec'.
46153 (grub_linux_release_mem): Release the memory for the initrd.
46154 (grub_load_linux): Renamed from this...
46155 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46156 Changed `entry' not to be static. Loop over memory regions to
46157 find another one when the default fails.
46158 (grub_rescue_cmd_initrd): New function.
46159 (grub_linux_init): Remove function.
46160 (grub_linux_fini): Likewise.
46161 (GRUB_MOD_INIT): Register `initrd'.
46162 (GRUB_MOD_FINI): Unregister `initrd'.
46163 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46164 Function removed.
46165 (grub_linux_normal_fini): Likewise.
46166 (GRUB_MOD_INIT): Register `initrd'.
46167 (GRUB_MOD_FINI): Unregister `initrd'.
46168
46169 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46170
46171 * commands/help.c: New file.
46172 * normal/arg.c (show_help): Renamed to...
46173 (grub_arg_show_help): ... this.
46174 * commands/i386/pc/halt.c: New file.
46175 * commands/i386/pc/reboot.c: Likewise.
46176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46177 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46178 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46179 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46180 variables.
46181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46182 `commands/help.c'.
46183 (pkgdata_MODULES): Add `help.mod'.
46184 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46185 * grub/i386/pc/init.h (grub_reboot): New prototype.
46186 (grub_halt): Likewise.
46187 * include/grub/normal.h (grub_arg_show_help): New prototype.
46188 (grub_help_init): Likewise.
46189 (grub_help_fini): Likewise.
46190 * util/grub-emu.c (main): Initialize and deinitialize the help
46191 command.
46192
46193 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46194
46195 * normal/command.c (grub_command_init): Fixed the description of
46196 the `set' and `unset' commands.
46197
46198 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46199
46200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46201 function.
46202 * commands/ieee1275/halt.c: New file.
46203 * commands/ieee1275/reboot.c: Likewise.
46204 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46205 `__attribute__ ((unused))'. Some GCS related fixed.
46206 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46207 (grub_suspend_fini): Likewise.
46208 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46209 and `halt.mod'.
46210 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46211 (halt_mod_CFLAGS): New variables.
46212 * include/grub/powerpc/ieee1275/ieee1275.h
46213 (grub_ieee1275_interpret): New prototype.
46214
46215 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46216
46217 * include/grub/misc.h (memmove): New prototype.
46218 (memcpy): Likewise.
46219
46220 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46221
46222 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46223 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46224
46225 2005-01-22 Marco Gerards <metgerards@student.han.nl>
46226
46227 * kern/misc.c (grub_strndup): Function rewritten.
46228
46229 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46230
46231 * normal/menu.c (TERM_WIDTH): Macro redefined.
46232 (TERM_TOP_BORDER_Y): Likewise.
46233 (draw_border): Replaced while-loop by a for-loop. Make the number
46234 of lines consistent with the number of lines displayed in
46235 print_entries. Added a margin below the rectangle.
46236 (print_entry): Make the entry fit in the rectangle.
46237 (print_entries): Display the scroll arrows next to the right
46238 border.
46239
46240 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46241
46242 * fs/minix.c (grub_minix_find_file): Reserve more space for
46243 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46244 `grub_strncpy' to copy `path' into it.
46245
46246 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46247
46248 Add the loopback device, a device via which files can be accessed
46249 as devices.
46250
46251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46252 (pkgdata_MODULES): Add loopback.mod.
46253 (loopback_mod_SOURCES): New variable.
46254 (loopback_mod_CFLAGS): Likewise.
46255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46256 `disk/loopback.c'.
46257 (pkgdata_MODULES): Add loopback.mod.
46258 (loopback_mod_SOURCES): New variable.
46259 (loopback_mod_CFLAGS): Likewise.
46260 * disk/loopback.c: new file.
46261 * include/grub/normal.h (grub_loop_init): New prototype.
46262 (grub_loop_fini): New prototype.
46263 * util/grub-emu.c (main): Initialize and de-initialize loopback
46264 support.
46265 * include/grub/disk.h (grub_disk_dev_id): Add
46266 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46267
46268 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46269
46270 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46271 function.
46272 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46273 (suspend_mod_SOURCES): New variable.
46274 (suspend_mod_CFLAGS): Likewise.
46275 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46276 New prototype.
46277 * commands/ieee1275/suspend.c: New file.
46278
46279 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46280
46281 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
46282 ((unused))' to `__attribute__ ((used))'.
46283 (GRUB_MOD_FINI): Likewise.
46284 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46285 * genmk.rb (PModule): Assign space to common symbols when linking
46286 modules.
46287
46288 2005-01-20 Marco Gerards <metgerards@student.han.nl>
46289
46290 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46291 `unsigned' arguments to `grub_size_t'.
46292 (grub_malloc): Likewise.
46293 (grub_realloc): Likewise.
46294 (grub_memalign): Likewise.
46295 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46296 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46297 * util/misc.c (grub_malloc): Likewise.
46298 (grub_realloc): Likewise.
46299 * kern/mm.c (get_header_from_pointer): Change the casts to
46300 `unsigned' into a cast to `grub_size_t'.
46301
46302 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46303 point to `currnode' when `currnode' is changed.
46304
46305 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46306 Schottelius <nico-linux@schottelius.org>.
46307
46308 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46309
46310 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46311 (note_path): Remove variable.
46312 (GRUB_IEEE1275_NOTE_NAME): New macro.
46313 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46314 (grub_ieee1275_note_hdr): New structure.
46315 (grub_ieee1275_note_desc): Likewise.
46316 (grub_ieee1275_note): Likewise.
46317 (load_note): Remove `dir' argument. All callers updated. Remove
46318 `note_img' and `path'. Do not load a file from `note_path'.
46319 Initialize a struct grub_ieee1275_note and write that to `out'.
46320 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46321
46322 2005-01-05 Marco Gerards <metgerards@student.han.nl>
46323
46324 * util/misc.c (grub_util_read_image): Revert last change. It
46325 called `grub_util_read_at', which seeks from the beginning of the
46326 file.
46327
46328 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46329
46330 * TODO: Add note about endianness in grub-mkimage.
46331 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46332 section.
46333 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46334 (grub_mkimage_SOURCES): New target.
46335 * include/grub/kernel.h (grub_start_addr): Remove variable.
46336 (grub_end_addr): Likewise.
46337 (grub_total_module_size): Likewise.
46338 (grub_kernel_image_size): Likewise.
46339 (GRUB_MODULE_MAGIC): New constant.
46340 (grub_module_info): New structure.
46341 (grub_arch_modules_addr): New prototype.
46342 (grub_get_end_addr): Remove prototype.
46343 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46344 * include/grub/powerpc/ieee1275/kernel.h: New file.
46345 * include/grub/util/misc.h (grub_util_get_fp_size): New
46346 prototype.
46347 (grub_util_read_at): Likewise.
46348 (grub_util_write_image_at): Likewise.
46349 * kern/main.c (grub_get_end_addr): Remove function.
46350 (grub_load_modules): Call grub_arch_modules_addr instead of using
46351 grub_end_addr. Look for a grub_module_info struct in memory. Use
46352 the grub_module_info fields instead of calling grub_get_end_addr
46353 as loop conditions. Move grub_add_unused_region code here.
46354 (grub_add_unused_region): Remove function.
46355 * kern/i386/pc/init.c: Include grub/cache.h.
46356 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46357 one call to add_mem_region.
46358 (grub_arch_modules_addr): New function.
46359 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46360 (grub_total_module_size): Likewise.
46361 Include grub/machine/kernel.h.
46362 (grub_arch_modules_addr): New function.
46363 * util/grub-emu.c (grub_end_addr): Remove variable.
46364 (grub_total_module_size): Likewise.
46365 (grub_arch_modules_addr): New function.
46366 * util/misc.c: Include unistd.h.
46367 (grub_util_get_fp_size): New function.
46368 (grub_util_read_at): Likewise.
46369 (grub_util_write_image_at): Likewise.
46370 (grub_util_read_image): Call grub_util_read_at.
46371 (grub_util_write_image): Call grub_util_write_image_at.
46372 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46373 additional memory in kernel_img for a struct grub_module_info.
46374 Fill in that grub_module_info.
46375 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46376
46377 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46378
46379 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46380 New function.
46381 * include/grub/powerpc/ieee1275/ieee1275.h
46382 (grub_ieee1275_milliseconds): New prototype.
46383 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46384 Change to 1000.
46385 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46386 grub_ieee1275_milliseconds.
46387
46388 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46389
46390 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46391 variable.
46392 (find_options): New function.
46393 (cmain): Call find_options.
46394 * include/grub/powerpc/ieee1275/ieee1275.h
46395 (grub_ieee1275_realmode): New extern variable.
46396 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46397 grub_map if grub_ieee1275_realmode is false.
46398
46399 2004-12-29 Marco Gerards <metgerards@student.han.nl>
46400
46401 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46402 lines are inserted and make it work like readline. Reported by
46403 Vincent Pelletier <subdino2004@yahoo.fr>.
46404
46405 2004-12-28 Marco Gerards <metgerards@student.han.nl>
46406
46407 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46408
46409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46410 `kern/powerpc/cache.S'.
46411
46412 2004-12-27 Marco Gerards <metgerards@student.han.nl>
46413
46414 * genmk.rb: Handle the `Program' class in the main loop. Written
46415 by Johan Rydberg <jrydberg@gnu.org>.
46416 (Program): New class.
46417 (programs): New variable.
46418 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46419 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46420 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46421 (help_arch): Function removed.
46422 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46423 `powerpc/libgcc.h' and `loader.h'.
46424 (pkgdata_PROGRAMS): New variable.
46425 (sbin_UTILITIES): Variable removed.
46426 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46427 (grubof_SOURCES): Variable re-defined so it only includes the
46428 core functionality.
46429 (grubof_CFLAGS): Remove `-DGRUBOF'.
46430 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46431 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46432 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46433 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46434 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46435 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46436 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46437 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46438 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46439 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46440 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46441 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46442 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46443 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46444 (pc_mod_CFLAGS): New variables.
46445 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46446 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46447 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46448 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46449 Moved from here...
46450 * include/grub/i386/pc/init.h (grub_os_area_addr)
46451 (rub_os_area_size): ... to here.
46452 * include/grub/powerpc/ieee1275/ieee1275.h
46453 (grub_ieee1275_entry_fn): Export symbol.
46454 * include/grub/powerpc/ieee1275/init.h: New file.
46455 * include/grub/powerpc/libgcc.h: Likewise.
46456 * include/grub/cache.h: Likewise.
46457 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
46458 <hollis@penguinppc.org>.
46459 * kern/dl.c: Include <grub/cache.h>.
46460 (grub_dl_flush_cache): New function.
46461 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
46462 for this module.
46463 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
46464 (grub_console_init): Removed prototypes.
46465 (grub_machine_init): Don't initialize the modules anymore.
46466 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
46467 static.
46468 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
46469 Macro undef removed.
46470 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
46471 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
46472 relocation `R_PPC_REL32'. Return an error when the relocation is
46473 unknown.
46474 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
46475 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
46476 * util/misc.c (grub_arch_sync_caches): Likewise.
46477
46478 2004-12-19 Marco Gerards <metgerards@student.han.nl>
46479
46480 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
46481 `symlist.c', add `grubof_symlist.c'.
46482 (symlist.c): Variable removed.
46483 (grubof_HEADERS): Variable added.
46484 (grubof_symlist.c): New target.
46485 (kernel_syms.lst): Use `grubof_HEADERS' instead of
46486 `kernel_img_HEADERS'.
46487 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
46488 * kern/powerpc/dl.c: New file.
46489 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
46490 Function removed.
46491 (grub_arch_dl_relocate_symbols): Likewise.
46492 (grub_register_exported_symbols): Likewise.
46493
46494 2004-12-13 Marco Gerards <metgerards@student.han.nl>
46495
46496 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
46497 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
46498 to fail instead. Reported by Vincent Pelletier
46499 <subdino2004@yahoo.fr>.
46500
46501 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
46502 it is not allocated. Reported by Vincent Pelletier
46503 <subdino2004@yahoo.fr>.
46504
46505 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
46506 output so the output looks better.
46507
46508 2004-12-04 Marco Gerards <metgerards@student.han.nl>
46509
46510 Modulize the partition map support and add support for the amiga
46511 partition map.
46512
46513 * commands/ls.c: Include <grub/partition.h> instead of
46514 <grub/machine/partition.h>.
46515 * kern/disk.c: Likewise.
46516 * kern/rescue.c: Likewise.
46517 * loader/i386/pc/chainloader.c: Likewise.
46518 * normal/cmdline.c: Likewise.
46519 * kern/powerpc/ieee1275/init.c: Likewise.
46520 (grub_machine_init): Call `grub_pc_partition_map_init',
46521 `grub_amiga_partition_map_init' and
46522 `grub_apple_partition_map_init'.
46523 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
46524 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
46525 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
46526 `partition.h' and `pc_partition.h'.
46527 (grub_setup_SOURCES): Remove
46528 `disk/i386/pc/partition.c'. Add `kern/partition.c',
46529 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46530 (grub_emu_SOURCES): Likewise.
46531 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
46532 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
46533 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
46534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46535 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
46536 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46537 (grubof_SOURCES): Likewise.
46538 * disk/i386/pc/partition.c: File removed.
46539 * disk/powerpc/ieee1275/partition.c: Likewise.
46540 * include/grub/powerpc/ieee1275/partition.h: Likewise.
46541 * include/grub/i386/pc/partition.h: Likewise.
46542 * kern/partition.c: New file.
46543 * partmap/amiga.c: Likewise.
46544 * partmap/apple.c: Likewise.
46545 * partmap/pc.c: Likewise.
46546 * include/grub/partition.h: Likewise..
46547 * include/grub/pc_partition.h: Likewise.
46548 * util/grub-emu.c: Include <grub/partition.h> instead of
46549 <grub/machine/partition.h>.
46550 (main): Call `grub_pc_partition_map_init',
46551 `grub_amiga_partition_map_init' and
46552 `grub_apple_partition_map_init' and deinitialize afterwards.
46553 * util/i386/pc/biosdisk.c: Include `#include
46554 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46555 `<grub/machine/partition.h>'.
46556 * util/i386/pc/grub-setup.c: Likewise.
46557 * util/i386/pc/biosdisk.c: Likewise.
46558 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46559 partition information in case of a PC partition.
46560 * util/i386/pc/grub-setup.c: Include `#include
46561 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46562 `<grub/machine/partition.h>'.
46563 (setup): Only access the PC specific partition information in case
46564 of a PC partition.
46565
46566 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
46567
46568 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
46569 (grub_longjmp): Likewise.
46570 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
46571 20.
46572 * normal/powerpc/setjmp.S: New file.
46573 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46574 `normal/powerpc/setjmp.S'.
46575 (grubof_CFLAGS): Add `-DGRUBOF'.
46576 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
46577 [GRUB_UTIL && !GRUBOF].
46578
46579 2004-11-16 Marco Gerards <metgerards@student.han.nl>
46580
46581 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
46582 property named `name'. Correctly handle the error returned by
46583 `grub_ieee1275_finddevice' if a device can not be opened.
46584
46585 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
46586
46587 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
46588 `actual' for negativity.
46589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46590 kern/fshelp.c.
46591
46592 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46593
46594 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
46595 (PAGE_OFFSET): New macro.
46596 (CRTC_ADDR_PORT): Likewise.
46597 (CRTC_DATA_PORT): Likewise.
46598 (START_ADDR_HIGH_REGISTER): Likewise.
46599 (START_ADDR_LOW_REGISTER): Likewise.
46600 (GRAPHICS_ADDR_PORT): Likewise.
46601 (GRAPHICS_DATA_PORT): Likewise.
46602 (READ_MAP_REGISTER): Likewise.
46603 (INPUT_STATUS1_REGISTER): Likewise.
46604 (INPUT_STATUS1_VERTR_BIT): Likewise.
46605 (page): New variable.
46606 (wait_vretrace): New function.
46607 (set_read_map): Likewise.
46608 (set_start_address): Likewise.
46609 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
46610 the right page.
46611 (check_vga_mem): Take the page into account.
46612 (write_char): Likewise.
46613 (write_cursor): Likewise.
46614 (scroll_up): Likewise. Copy the page to the page that is not
46615 shown and switch between both pages.
46616 (grub_vga_putchar): Fix off by one error.
46617 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46618 account.
46619
46620 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46621
46622 Add support for iso9660 (including rockridge).
46623
46624 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46625 (iso9660_mod_SOURCES): New variable.
46626 (iso9660_mod_CFLAGS): Likewise.
46627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46628 * include/grub/fs.h (grub_iso9660_init): New prototype.
46629 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46630 * fs/iso9660.c: New file.
46631
46632 * include/grub/misc.h (grub_strncat): New prototype.
46633 * kern/misc.c (grub_strncat): New function.
46634
46635 * fs/hfs.c (grub_hfs_mount): Translate the error
46636 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46637 * fs/jfs.c (grub_jfs_mount): Likewise.
46638 * fs/ufs.c (grub_ufs_mount): Likewise.
46639
46640 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46641
46642 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46643 which initialized BAT registers.
46644 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46645 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46646 Move from here...
46647 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46648 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46649 ... to here.
46650 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46651 (grub_mapclaim): Likewise.
46652 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46653 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46654 hand.
46655
46656 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46657
46658 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46659 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46660 -ffreestanding and -msoft-float.
46661
46662 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46663
46664 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46665 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46666 set in grub_ieee1275_flags.
46667
46668 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46669
46670 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46671 prototype.
46672 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46673 grub_console_init first.
46674 Change the memory range used for grub_ieee1275_claim and
46675 grub_mm_init_region.
46676 Print an error message if the claim fails.
46677 Include <grub/misc.h>.
46678
46679 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46680
46681 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46682 Call grub_children_iterate for device nodes of type `scsi',
46683 `ide', or `ata'.
46684 (grub_ofdisk_open): Remove manual device alias resolution.
46685 Fix memory leak when device cannot be opened.
46686 * include/grub/powerpc/ieee1275/ieee1275.h
46687 (grub_children_iterate): New prototype.
46688 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46689 New function.
46690 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46691 Return -1 if args.size was -1.
46692
46693 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46694
46695 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46696 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46697 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46698 Open Firmware's memory for it; claim memory from _start to _end.
46699 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46700 (_end): New extern.
46701 (_start): Zero BSS from __bss_start to _end.
46702 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46703 New extern.
46704 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46705
46706 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46707
46708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46709 -1 if args.base was -1.
46710
46711 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46712
46713 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46714 escape sequence instead of a literal ^L. Also call
46715 grub_ofconsole_gotoxy.
46716
46717 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46718
46719 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46720 void * arguments to grub_addr_t. All callers updated. Also make
46721 the `result' argument optional.
46722 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46723 All callers updated.
46724
46725 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46726
46727 * commands/ls.c (grub_ls_list_files): Use the string following the
46728 initial ')', if present, as the filesystem path.
46729 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46730
46731 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46732
46733 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46734
46735 Make the source code of the menu interface more readable.
46736
46737 * normal/menu.c: Include grub/mm.h.
46738 (TERM_WIDTH): New macro.
46739 (TERM_HEIGHT): Likewise.
46740 (TERM_INFO_HEIGHT): Likewise.
46741 (TERM_MARGIN): Likewise.
46742 (TERM_SCROLL_WIDTH): Likewise.
46743 (TERM_TOP_BORDER_Y): Likewise.
46744 (TERM_LEFT_BORDER_X): Likewise.
46745 (TERM_BORDER_WIDTH): Likewise.
46746 (TERM_MESSAGE_HEIGHT): Likewise.
46747 (TERM_BORDER_HEIGHT): Likewise.
46748 (TERM_NUM_ENTRIES): Likewise.
46749 (TERM_FIRST_ENTRY_Y): Likewise.
46750 (TERM_ENTRY_WIDTH): Likewise.
46751 (TERM_CURSOR_X): Likewise.
46752 (draw_border): Use macros instead of magic numbers.
46753 (print_entry): Likewise.
46754 (print_entries): Likewise.
46755 (run_menu): Likewise. Also, handle the key 'e'.
46756 (run_menu_entry): Ignore empty command lines.
46757 (print_message): Added a new argument EDIT. If EDIT is true,
46758 print a different message.
46759 (init_page): Likewise.
46760 (edit_menu_entry): New function. Not implemented yet.
46761
46762 2004-09-17 Marco Gerards <metgerards@student.han.nl>
46763
46764 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46765 can be loaded from normal mode.
46766
46767 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46768 `multiboot.mod'.
46769 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46770 (multiboot_mod_CFLAGS): New variables.
46771 * loader/i386/pc/linux_normal.c: New file.
46772 * loader/i386/pc/multiboot_normal.c: Likewise.
46773
46774 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46775 attribute `unused'.
46776
46777 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46778 `fdiro' to read the mode information from instead of `diro'.
46779
46780 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46781 looking up a symlink.
46782
46783 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46784 macro.
46785 * normal/command.c (grub_command_execute): Don't parse the
46786 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46787 flags of the command.
46788
46789 * normal/menu.c (grub_menu_run): Fix typo.
46790
46791 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46792
46793 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46794
46795 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46796 `y + 1' instead of `y - 1'.
46797
46798 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
46799
46800 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46801
46802 From Hollis Blanchard <hollis@penguinppc.org>:
46803 * kern/misc.c (memmove): New alias for grub_memmove.
46804 (memcmp): New alias for grub_memcmp.
46805 (memset): New alias for grub_memset.
46806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46807 Change "int handle" to "grub_ieee1275_phandle_t handle".
46808 * include/grub/powerpc/ieee1275/ieee1275.h
46809 (grub_ieee1275_get_property): Likewise.
46810
46811 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46812
46813 Added normal mode command `chainloader' as module chain.mod, which
46814 depends on normal.mod and _chain.mod.
46815
46816 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46817 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46818 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46819 Deleted prototype.
46820 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46821 but arguments parsing moved to ...
46822 (grub_chainloader_cmd): ... here. New function.
46823 * include/grub/i386/pc/chainloader.h: New file.
46824 * loader/i386/pc/chainloader_normal.c: Likewise.
46825
46826 2004-09-11 Marco Gerards <metgerards@student.han.nl>
46827
46828 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46829 (grub_mkimage_LDFLAGS): Likewise.
46830 (grub_emu_SOURCES): Likewise.
46831 (kernel_img_HEADERS): Added fshelp.h.
46832 * fs/ext2.c: Include <grub/fshelp.h>.
46833 (FILETYPE_REG): New macro.
46834 (FILETYPE_INO_REG): Likewise.
46835 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46836 Changed all users.
46837 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46838 all users.
46839 (grub_fshelp_node): New struct.
46840 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46841 to a pointer.
46842 (grub_ext2_get_file_block): Removed function.
46843 (grub_ext2_read_block): New function.
46844 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46845 This function was written.
46846 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46847 (grub_ext2_find_file): Removed function.
46848 (grub_ext2_read_symlink): New function.
46849 (grub_ext2_iterate_dir): Likewise.
46850 (grub_ext2_open): Rewritten.
46851 (grub_ext2_dir): Rewritten.
46852 * include/grub/fshelp.h: New file.
46853 * fs/fshelp.c: Likewise.
46854
46855 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46856
46857 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46858 (print_message): Add a missing newline.
46859 (run_menu): Added timeout support.
46860 (run_menu_entry): New local function.
46861 (grub_menu_run): Added support for booting.
46862
46863 * kern/loader.c (grub_loader_is_loaded): New function.
46864
46865 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46866 (grub_get_rtc): Exported.
46867
46868 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46869 (grub_get_rtc): Exported.
46870
46871 * include/grub/normal.h (struct grub_command_list): Remove
46872 constant from the member `command'.
46873
46874 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46875
46876 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46877
46878 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46879
46880 2004-08-28 Marco Gerards <metgerards@student.han.nl>
46881
46882 Add support for the JFS filesystem.
46883
46884 * fs/jfs.c: New file.
46885 * include/grub/fs.h (grub_jfs_init): New prototype.
46886 (grub_jfs_fini): New prototype.
46887 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46888 (grub_emu_SOURCES): Likewise.
46889 (pkgdata_MODULES): Add jfs.mod.
46890 (jfs_mod_SOURCES): New variable.
46891 (jfs_mod_CFLAGS): Likewise.
46892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46893 (grubof_SOURCES): Likewise.
46894 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46895
46896 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46897 endian to the host endian.
46898 (grub_fat_utf16_to_utf8): Move function from there...
46899 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
46900 the endianness of the source string anymore.
46901 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46902
46903 2004-08-24 Marco Gerards <metgerards@student.han.nl>
46904
46905 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46906 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46907 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46908 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
46909
46910 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46911 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46912 for `node_found' and `it_dir'.
46913 (grub_hfs_dir): Add prototype for `dir_hook'.
46914
46915 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46916 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46917 and `indir32' to silence a gcc warning.
46918
46919 * include/grub/fs.h (grub_hfs_init): New prototype.
46920 (grub_hfs_fini): Likewise.
46921
46922
46923 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46924
46925 Each disk device has its own id now. This is useful to make use
46926 of multiple disk devices.
46927
46928 * include/grub/disk.h (grub_disk_dev_id): New enum.
46929 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46930 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46931
46932 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46933 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46934
46935 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46936 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46937
46938 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46939 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46940
46941 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46942 "id" which is used by the cache manager.
46943
46944 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46945 of just "GRUB".
46946
46947 2004-08-18 Marco Gerards <metgerards@student.han.nl>
46948
46949 * fs/hfs.c: New file.
46950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46951 (grub_emu_SOURCES): Likewise.
46952 (pkgdata_MODULES): Add hfs.mod.
46953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46954 (grubof_SOURCES): Likewise.
46955 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46956
46957 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46958 * kern/misc.c (grub_strncasecmp): Add function.
46959
46960 2004-08-14 Marco Gerards <metgerards@student.han.nl>
46961
46962 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46963 with parentheses.
46964
46965 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46966 (grub_ext2_dir): In case the directory entry type is unknown, read
46967 it from the inode.
46968
46969 2004-08-02 Peter Bruin <pjbruin@dds.nl>
46970
46971 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46972 grub_load_linux instead of grub_rescue_cmd_linux as second
46973 argument of grub_rescue_register_command.
46974
46975 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46976
46977 2004-07-27 Marco Gerards <metgerards@student.han.nl>
46978
46979 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46980 function.
46981 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46982 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46983 `loader/powerpc/ieee1275/linux.c',
46984 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46985 * include/grub/powerpc/ieee1275/ieee1275.h
46986 (grub_ieee1275_release): New prototype.
46987 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46988 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46989 normal, boot, linux and linux_normal.
46990 * loader/powerpc/ieee1275/linux.c: New file.
46991 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46992
46993 2004-07-12 Marco Gerards <metgerards@student.han.nl>
46994
46995 * normal/arg.c (grub_arg_parse): Correct error handling after
46996 reallocating the argumentlist (check if `argl' is not null instead
46997 of checking if `args' is not null).
46998 * kern/mm.c (grub_realloc): Return the same pointer when using the
46999 same region, instead of returning the header address.
47000
47001 2004-07-11 Marco Gerards <metgerards@student.han.nl>
47002
47003 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47004 one block instead of two when looking for the initial partition.
47005 (grub_partition_probe): Initialize the local variable `p' with 0.
47006 Use base 10 for the grub_strtoul call.
47007 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47008 need for one local variable.
47009 (grub_strtoul): Don't add the new value to `num', instead of that
47010 just assign it.
47011
47012 2004-07-11 Marco Gerards <metgerards@student.han.nl>
47013
47014 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47015 (pxeboot_img_SOURCES): New variable.
47016 (pxeboot_img_ASFLAGS): Likewise.
47017 (pxeboot_img_LDFLAGS): Likewise.
47018 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47019 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47020 <lode_leroy@hotmail.com>.
47021
47022 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47023
47024 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47025 there was no input.
47026
47027 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47028
47029 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47030 the history buffer logic.
47031
47032 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47033
47034 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47035 (FILETYPE_INO_SYMLINK): New macros.
47036 (grub_ext2_find_file): Check if the node is a directory using the
47037 inode stat information instead of using the filetype in the
47038 dirent. Exclude the first character of an absolute symlink.
47039 (grub_ext2_dir): Mask out the filetype part of the mode member of
47040 the inode.
47041
47042 2004-05-24 Marco Gerards <metgerards@student.han.nl>
47043
47044 Add support for UFS version 1 and 2. Add support for the minix
47045 filesystem version 1 and 2, both the variants with 14 and 30 long
47046 filenames.
47047
47048 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47049 fs/minix.c.
47050 (grub_emu_SOURCES): Likewise.
47051 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47052 (ufs_mod_SOURCES): New variable.
47053 (ufs_mod_CFLAGS): Likewise.
47054 (minix_mod_SOURCES): Likewise.
47055 (minix_mod_CFLAGS): Likewise.
47056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47057 fs/minix.c.
47058 (grubof_SOURCES): Likewise.
47059 * fs/ufs.c: New file.
47060 * fs/minix.c: New file.
47061 * include/grub/fs.h (grub_ufs_init): New prototype.
47062 (grub_ufs_fini): Likewise.
47063 (grub_minix_init): Likewise.
47064 (grub_minix_fini): Likewise.
47065 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47066 minix fs.
47067
47068 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47069
47070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47071 commands/ls.c, commands/terminal.c, commands/boot.c,
47072 commands/cmp.c and commands/cat.c.
47073 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47074
47075 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47076 "env.h"
47077
47078 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47079
47080 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47081 and grub_, respectively. Because the conversion is trivial and
47082 mechanical, I omit the details here. Please refer to the CVS
47083 if you need more information.
47084
47085 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47086
47087 * include/pupa: Renamed to ...
47088 * include/grub: ... this.
47089 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47090 * util/i386/pc/grub-mkimage.c: ... this.
47091 * util/i386/pc/pupa-setup.c: Renamed to ...
47092 * util/i386/pc/grub-setup.c: ... this.
47093 * util/pupa-emu.c: Renamed to ...
47094 * util/grub-emu.c: ... this.
47095
47096 2004-03-29 Marco Gerards <metgerards@student.han.nl>
47097
47098 Add support for the newworld apple macintosh (PPC). This has been
47099 tested on the powerbook 2000 only. It only adds support for
47100 generic ieee1275 functions, console and disk support. This should
47101 be easy to port to other architectures with support for Open
47102 Firmware.
47103
47104 * configure.ac: Accept the powerpc as host_cpu. In the case of
47105 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47106 specific tests are only executed while building for the i386.
47107 Inverse test for crosscompile.
47108 * genmk.rb (Utility): Allow assembler files.
47109 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47110 * conf/powerpc-ieee1275.rmk: New file.
47111 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47112 * disk/powerpc/ieee1275/partition.c: Likewise.
47113 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47114 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47115 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47116 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47117 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47118 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47119 * include/pupa/powerpc/ieee1275/loader.h
47120 * include/pupa/powerpc/setjmp.h: Likewise.
47121 * include/pupa/powerpc/types.h: Likewise.
47122 * kern/powerpc/ieee1275/init.c: Likewise.
47123 * kern/powerpc/ieee1275/openfw.c: Likewise.
47124 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47125
47126 These files were written by Johan Rydberg
47127 (jrydberg@night.trouble.net) and I only modified them slightly.
47128
47129 * boot/powerpc/ieee1275/cmain.c: New file.
47130 * boot/powerpc/ieee1275/crt0.S: Likewise.
47131 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47132 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47133
47134 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47135
47136 * Makefile.in: Update copyright.
47137 * genmodsrc.sh: Likewise.
47138 * gensymlist.sh: Likewise.
47139 * term/i386/pc/vga.c: Indent correctly.
47140
47141 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47142 bugreporting address.
47143 * util/i386/pc/pupa-setup.c (usage): Likewise,
47144 (main): Call pupa_ext2_init and pupa_ext2_fini.
47145
47146 * fs/fat.c (log2): Renamed to ...
47147 (fat_log2): ... this.
47148 All callers changed.
47149 * kern/misc.c (memcpy): Alias to pupa_memmove.
47150 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47151 lvalue cast.
47152 * util/console.c (pupa_ncurses_fini): Return 0.
47153
47154 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47155 Move fail label here.
47156 [__GNU__]: Don't warn when using stat.
47157 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47158 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47159 long int. Use strtol instead of strtoul.
47160
47161 2004-03-14 Marco Gerards <metgerards@student.han.nl>
47162
47163 * commands/boot.c: New file.
47164 * commands/cat.c: Likewise.
47165 * commands/cmp.c: Likewise.
47166 * commands/ls.c: Likewise.
47167 * commands/terminal.c: Likewise.
47168 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47169 (pupa_register_command): Changed interface to match the new
47170 argument parser.
47171 (pupa_command_execute): Changed (almost rewritten) so it uses
47172 pupa_split_command. Added support for setting variables using the
47173 syntax `foo=bar'.
47174 (rescue_command): Changed to work with the new argument parser.
47175 (terminal_command): Moved from here to commands/terminal.c.
47176 (set_command): New function.
47177 (unset_command): New function.
47178 (insmod_command): New function.
47179 (rmmod_command): New function.
47180 (lsmod_command): New function.
47181 (pupa_command_init): Don't initialize the command terminal
47182 anymore. Initialize the commands set, unset, insmod, rmmod and
47183 lsmod.
47184 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47185 (kernel_img_HEADERS): Add arg.h and env.h.
47186 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47187 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47188 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47189 normal/arg.c.
47190 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47191 terminal.mod.
47192 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47193 (boot_mod_SOURCES): New variable.
47194 (terminal_mod_SOURCES): Likewise.
47195 (ls_mod_SOURCES): Likewise.
47196 (cmp_mod_SOURCES): Likewise.
47197 (cat_mod_SOURCES): Likewise.
47198
47199 * normal/arg.c: New file.
47200 * kern/env.c: Likewise.
47201 * include/pupa/arg.h: Likewise.
47202 * include/pupa/env.h: Likewise.
47203 * font/manager.c (font_command): Changed to match argument parsing
47204 interface changes.
47205 (PUPA_MOD_INIT): Likewise.
47206 * hello/hello.c (pupa_cmd_hello): Likewise.
47207 (PUPA_MOD_INIT): Likewise.
47208 * include/pupa/disk.h: Include <pupa/device.h>.
47209 (pupa_print_partinfo): New prototype.
47210 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47211 (pupa_dl_get_prefix): Likewise.
47212 * include/pupa/misc.h: Include <pupa/err.h>.
47213 (pupa_isgraph): New prototype.
47214 (pupa_isdigit): Likewise.
47215 (pupa_split_cmdline): Likewise.
47216 * include/pupa/normal.h: Include <pupa/arg.h>.
47217 (pupa_command): Changed the prototype of the member `func' to
47218 match the argument parsing interface. Added member `options'.
47219 (pupa_register_command): Updated to match function.
47220 (pupa_arg_parse): New prototype.
47221 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47222 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47223 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47224 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47225 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47226 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47227 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47228 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47229 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47230 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47231 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47232 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47233 * kern/disk.c: Include <pupa/file.h>.
47234 (pupa_print_partinfo): New function.
47235 * kern/dl.c: Include <pupa/env.h>.
47236 (pupa_dl_dir): Variable removed.
47237 (pupa_dl_load): Use the environment variable `prefix' instead of
47238 the variable pupa_dl_dir.
47239 (pupa_dl_set_prefix): Function removed.
47240 (pupa_dl_get_prefix): Likewise.
47241 * kern/i386/pc/init.c: Include <pupa/env.h>.
47242 (pupa_machine_init): Use the environment variable `prefix' instead of
47243 using pupa_dl_set_prefix to set the prefix.
47244 * kern/main.c: Include <pupa/env.h>.
47245 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47246 using pupa_dl_get_prefix to get the prefix.
47247 * kern/misc.c: Include <pupa/env.h>.
47248 (pupa_isdigit): New function.
47249 (pupa_isgraph): Likewise.
47250 (pupa_ftoa): Likewise.
47251 (pupa_vsprintf): Added support for printing values of the type
47252 `double'. Make it possible to format variable output when using
47253 formatting like `%1.2%f'.
47254 (pupa_split_cmdline): New function.
47255 * kern/rescue.c: Include <pupa/env.h>.
47256 (next_word): Removed function.
47257 (pupa_rescue_cmd_prefix): Likewise.
47258 (pupa_rescue_cmd_set): New function.
47259 (pupa_rescue_cmd_unset): New function.
47260 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47261 split the command line instead of splitting it here. Added
47262 support for setting variables using the syntax `foo=bar'. Don't
47263 initialize the prefix command anymore. Initialized the set and
47264 unset commands.
47265 * normal/cmdline.c: Include <pupa/env.h>.
47266 (pupa_tab_complete): Added prototypes for print_simple_completion,
47267 print_partition_completion, add_completion, iterate_commands,
47268 iterate_dev, iterate_part and iterate_dir. Moved code to print
47269 partition information from here to kern/disk.c.
47270 (pupa_cmdline_run): Don't check if the function exists anymore.
47271 * normal/main.c: Include <pupa/env.h>.
47272 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47273 instead of using pupa_dl_get_prefix to get the prefix.
47274 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47275 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47276 warning.
47277 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47278 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47279 ((unused))' to silence a gcc warning.
47280 (pupa_vga_setcolor): Likewise.
47281 (debug_command): Changed to match argument parsing
47282 interface changes.
47283 * util/pupa-emu.c: Include <pupa/env.h>.
47284 (options): Added 0's for unused fields to silence a gcc warning.
47285 (argp): Likewise.
47286 (main): Use the environment variable `prefix' instead of using
47287 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47288 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47289 and terminal.
47290
47291 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47292 * util/misc.c: Include <malloc.h>.
47293 (pupa_malloc): Rewritten so errors are correctly reported.
47294 (pupa_realloc): Likewise.
47295 (pupa_memalign): Likewise.
47296 (pupa_mm_init_region): Declare unused variables with
47297 `__attribute__ ((unused))' to silence a gcc warning.
47298 * normal/i386/setjmp.S: Remove tab at the end of the file to
47299 silence a gcc warning.
47300 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47301 variables with `__attribute__ ((unused))' to silence a gcc
47302 warning.
47303 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47304 local variable i unsigned to silence a gcc warning.
47305
47306 * kern/term.c: Include <pupa/misc.h>.
47307 (pupa_more_lines): New variable.
47308 (pupa_more): Likewise.
47309 (pupa_putcode): When the pager is active pause at the end of every
47310 screen.
47311 (pupa_set_more): New function.
47312 * include/pupa/term.h (pupa_set_more): New prototype.
47313
47314
47315 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47316
47317 Now this project is GRUB 2 rather than PUPA. The location of
47318 the CVS repository was moved to GRUB's.
47319
47320 * configure.ac: Use bug-grub as the reporting address.
47321 Use GRUB instead of PUPA.
47322 Change the version number to 1.90.
47323
47324 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47325
47326 * genkernsyms.sh: Updated copyright information.
47327 * genmk.rb: Likewise.
47328 * genmodsrc.sh: Likewise.
47329 * gensymlist.sh: Likewise.
47330 * boot/i386/pc/boot.S: Likewise.
47331 * boot/i386/pc/diskboot.S: Likewise.
47332 * disk/i386/pc/biosdisk.c: Likewise.
47333 * disk/i386/pc/partition.c: Likewise.
47334 * font/manager.c: Likewise.
47335 * fs/ext2.c: Likewise.
47336 * fs/fat.c: Likewise.
47337 * include/pupa/boot.h: Likewise.
47338 * include/pupa/device.h: Likewise.
47339 * include/pupa/disk.h: Likewise.
47340 * include/pupa/dl.h: Likewise.
47341 * include/pupa/elf.h: Likewise.
47342 * include/pupa/err.h: Likewise.
47343 * include/pupa/file.h: Likewise.
47344 * include/pupa/font.h: Likewise.
47345 * include/pupa/fs.h: Likewise.
47346 * include/pupa/kernel.h: Likewise.
47347 * include/pupa/loader.h: Likewise.
47348 * include/pupa/misc.h: Likewise.
47349 * include/pupa/mm.h: Likewise.
47350 * include/pupa/net.h: Likewise.
47351 * include/pupa/normal.h: Likewise.
47352 * include/pupa/rescue.h: Likewise.
47353 * include/pupa/setjmp.h: Likewise.
47354 * include/pupa/symbol.h: Likewise.
47355 * include/pupa/term.h: Likewise.
47356 * include/pupa/types.h: Likewise.
47357 * include/pupa/i386/setjmp.h: Likewise.
47358 * include/pupa/i386/types.h: Likewise.
47359 * include/pupa/i386/pc/biosdisk.h: Likewise.
47360 * include/pupa/i386/pc/boot.h: Likewise.
47361 * include/pupa/i386/pc/console.h: Likewise.
47362 * include/pupa/i386/pc/init.h: Likewise.
47363 * include/pupa/i386/pc/kernel.h: Likewise.
47364 * include/pupa/i386/pc/linux.h: Likewise.
47365 * include/pupa/i386/pc/loader.h: Likewise.
47366 * include/pupa/i386/pc/memory.h: Likewise.
47367 * include/pupa/i386/pc/multiboot.h: Likewise.
47368 * include/pupa/i386/pc/partition.h: Likewise.
47369 * include/pupa/i386/pc/time.h: Likewise.
47370 * include/pupa/i386/pc/vga.h: Likewise.
47371 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47372 * include/pupa/util/getroot.h: Likewise.
47373 * include/pupa/util/misc.h: Likewise.
47374 * include/pupa/util/resolve.h: Likewise.
47375 * kern/device.c: Likewise.
47376 * kern/disk.c: Likewise.
47377 * kern/dl.c: Likewise.
47378 * kern/err.c: Likewise.
47379 * kern/file.c: Likewise.
47380 * kern/fs.c: Likewise.
47381 * kern/loader.c: Likewise.
47382 * kern/main.c: Likewise.
47383 * kern/misc.c: Likewise.
47384 * kern/mm.c: Likewise.
47385 * kern/rescue.c: Likewise.
47386 * kern/term.c: Likewise.
47387 * kern/i386/dl.c: Likewise.
47388 * kern/i386/pc/init.c: Likewise.
47389 * kern/i386/pc/lzo1x.S: Likewise.
47390 * kern/i386/pc/startup.S: Likewise.
47391 * loader/i386/pc/chainloader.c: Likewise.
47392 * loader/i386/pc/linux.c: Likewise.
47393 * loader/i386/pc/multiboot.c: Likewise.
47394 * normal/cmdline.c: Likewise.
47395 * normal/command.c: Likewise.
47396 * normal/main.c: Likewise.
47397 * normal/menu.c: Likewise.
47398 * normal/i386/setjmp.S: Likewise.
47399 * term/i386/pc/console.c: Likewise.
47400 * term/i386/pc/vga.c: Likewise.
47401 * util/console.c: Likewise.
47402 * util/genmoddep.c: Likewise.
47403 * util/misc.c: Likewise.
47404 * util/pupa-emu.c: Likewise.
47405 * util/resolve.c: Likewise.
47406 * util/unifont2pff.rb: Likewise.
47407 * util/i386/pc/biosdisk.c: Likewise.
47408 * util/i386/pc/getroot.c: Likewise.
47409 * util/i386/pc/pupa-mkimage.c: Likewise.
47410 * util/i386/pc/pupa-setup.c: Likewise.
47411
47412 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47413
47414 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47415 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47416 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47417 reading and reset it after reading.
47418 (pupa_ext2_close): Return PUPA_ERR_NONE.
47419
47420 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47421 Correct value.
47422 (struct linux_kernel_header): Add kernel_version and
47423 initrd_addr_max.
47424 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47425 pupa_file_read succeeds.
47426 (pupa_rescue_cmd_initrd): Implement.
47427
47428 2003-12-03 Marco Gerards <metgerards@student.han.nl>
47429
47430 * fs/ext2.c (pupa_ext2_label): New function.
47431 (pupa_ext2_fs): Added label.
47432 * fs/fat.c (pupa_fat_label): New function.
47433 (pupa_fat_fs): Added label.
47434 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47435
47436 * kern/misc.c (pupa_strndup): New function.
47437 * include/pupa/misc.h (pupa_strndup): New prototype.
47438
47439 * include/pupa/normal.h: Include <pupa/err.h>.
47440 (pupa_set_history): New prototype.
47441 (pupa_iterate_commands): New prototype.
47442 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47443 <pupa/disk.h>, <pupa/file.h>.
47444 (hist_size): New variable.
47445 (hist_lines): Likewise.
47446 (hist_end): Likewise.
47447 (hist_used): Likewise.
47448 (pupa_set_history): New function.
47449 (pupa_history_get): Likewise.
47450 (pupa_history_add): Likewise.
47451 (pupa_history_replace): Likewise.
47452 (pupa_tab_complete): Likewise.
47453 (pupa_cmdline_run): Added tab completion and history buffer. Tab
47454 completion shows partitionnames while completing partitions, this
47455 feature was suggested by Jeff Bailey.
47456 * normal/command.c (pupa_iterate_commands): New function.
47457 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
47458 (pupa_normal_init): Initialize history buffer.
47459 (PUPA_MOD_INIT): Likewise.
47460 (pupa_normal_fini): Free the history buffer.
47461 (PUPA_MOD_FINI): Likewise.
47462
47463 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
47464 key.
47465
47466 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
47467 * configure.ac [i386]: Check for regparam bug.
47468 (NESTED_FUNC_ATTR) [! i386]: Defined.
47469
47470 2003-11-17 Marco Gerards <metgerards@student.han.nl>
47471
47472 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
47473 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
47474 (pupa_emu_SOURCES): New variable.
47475 (pupa_emu_LDFLAGS): Likewise.
47476 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
47477 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
47478 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
47479 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47480 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
47481 (pupa_jmp_buf): New typedef.
47482 (pupa_setjmp) [PUPA_UTIL]: New macro.
47483 (pupa_longjmp) [PUPA_UTIL]: Likewise.
47484 * include/pupa/term.h (struct pupa_term): New member `refresh'.
47485 (pupa_refresh): New prototype.
47486 * include/pupa/util/getroot.h: New file.
47487 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
47488 it.
47489 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
47490 (pupa_rescue_cmd_cat): Likewise.
47491 (pupa_rescue_cmd_ls): Likewise.
47492 (pupa_rescue_cmd_testload): Likewise.
47493 (pupa_rescue_cmd_lsmod): Likewise.
47494 * normal/cmdline.c (pupa_cmdline_get): Likewise.
47495 * normal/menu.c (run_menu): Likewise.
47496 * kern/term.c (pupa_cls): Likewise.
47497 (pupa_refresh): New function.
47498 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
47499 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47500 * util/console.c: New file.
47501
47502 * util/i386/pc/getroot.c: New file.
47503 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
47504 (pupa_putchar): New function.
47505 (pupa_refresh): Likewise.
47506 (xgetcwd): Function moved to ...
47507 (strip_extra_slashes): Likewise.
47508 (get_prefix): Likewise.
47509 * util/i386/pc/getroot.c: ... here.
47510 (find_root_device): Function moved and renamed to...
47511 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
47512 Changed all callers.
47513 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
47514 and renamed to...
47515 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
47516 Changed all callers.
47517 * util/misc.c (pupa_memalign): New function.
47518 (pupa_mm_init_region): Likewise.
47519 (pupa_register_exported_symbols): Likewise.
47520 (pupa_putchar): Function removed.
47521 * util/pupa-emu.c: New file.
47522
47523 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
47524
47525 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
47526 (_multiboot_mod_SOURCES): New variable.
47527 (_multiboot_mod_CFLAGS): Likewise.
47528 * loader/i386/pc/multiboot.c: New file.
47529 * include/pupa/i386/pc/multiboot.h: Likewise.
47530 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
47531 (pupa_multiboot_real_boot): New function.
47532 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
47533 (pupa_multiboot_real_boot): New prototype.
47534 (pupa_rescue_cmd_multiboot): Likewise
47535 (pupa_rescue_cmd_module): Likewise.
47536
47537 * kern/loader.c (pupa_loader_set): Continue when
47538 pupa_loader_unload_func() fails.
47539 (pupa_loader_unset): New function.
47540 * include/pupa/loader.h (pupa_loader_unset): New prototype.
47541
47542 * kern/misc.c (pupa_stpcpy): New function.
47543 * include/pupa/misc.h (pupa_stpcpy): New prototype.
47544
47545 2003-11-12 Marco Gerards <metgerards@student.han.nl>
47546
47547 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
47548 for available extensions.
47549
47550 * include/pupa/i386/pc/time.h: New file.
47551 * kern/disk.c: Include <pupa/machine/time.h>.
47552 (PUPA_CACHE_TIMEOUT): New macro.
47553 (pupa_last_time): New variable.
47554 (pupa_disk_open): Flush the cache when there was a timeout.
47555 (pupa_disk_close): Reset the timer.
47556 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47557 pupa_currticks.
47558 * util/misc.c: Include <sys/times.h>
47559 (pupa_get_rtc): New function.
47560
47561 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47562
47563 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
47564 as blocks.
47565 (pupa_ext2_get_file_block): Use blocks member.
47566
47567 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
47568 first block. Return -1 instead of pupa_errno on error.
47569
47570 2003-10-27 Marco Gerards <metgerards@student.han.nl>
47571
47572 * README: In the pupa-mkimage example use _chain instead of chain
47573 and ext2 instead of fat.
47574 * TODO: Replace ext2fs with jfs as an example. Add an item for
47575 adding journal playback for ext2fs.
47576 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
47577 (pkgdata_MODULES): Added ext2.mod.
47578 (ext2_mod_SOURCES): New variable.
47579 (ext2_mod_CFLAGS): Likewise.
47580 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
47581 * include/pupa/misc.h (pupa_strncpy): New prototype.
47582 (pupa_strcat): Likewise.
47583 (pupa_strncmp): Likewise.
47584 * kern/misc.c (pupa_strcat): Enable function.
47585 (pupa_strncpy): New function.
47586 (pupa_strncmp): Likewise.
47587 * fs/ext2.c: New file.
47588
47589 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
47590 when the read failed before retrying.
47591 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
47592 (_FILE_OFFSET_BITS): Likewise.
47593 * configure.ac: Added AC_SYS_LARGEFILE.
47594
47595 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47596
47597 * genmk.rb (PModule#rule): Make sure to get only symbol names
47598 from the output of nm.
47599 Reported by Robert Millan <rmh.grub@aybabtu.com>.
47600
47601 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47602
47603 I forgot to check in these changes for a long time. This adds
47604 incomplete support for VGA console, and this is still very
47605 buggy. Also, a lot of consideration is required for I18N,
47606 UNICODE, and VGA font issues. Therefore, assume that this is
47607 such that "better than nothing".
47608
47609 * font/manager.c: New file.
47610 * include/pupa/font.h: Likewise.
47611 * include/pupa/i386/pc/vga.h: Likewise.
47612 * term/i386/pc/vga.c: Likewise.
47613 * util/unifont2pff.rb: Likewise.
47614
47615 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47616 (pkgdata_MODULES): Added vga.mod and font.mod.
47617 (vga_mod_SOURCES): New variables.
47618 (vga_mod_CFLAGS): Likewise.
47619 (font_mod_SOURCES): Likewise.
47620 (font_mod_CFLAGS): Likewise.
47621
47622 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47623
47624 * include/pupa/term.h: Include pupa/err.h.
47625 (struct pupa_term): Added init and fini.
47626 Changed the argument of putchar to pupa_uint32_t.
47627
47628 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47629 (pupa_console_real_putchar): New prototype.
47630 (pupa_console_putchar): Removed.
47631 (pupa_console_checkkey): Exported.
47632 (pupa_console_getkey): Likewise.
47633
47634 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47635 characters.
47636
47637 * kern/term.c (pupa_term_set_current): Rewritten.
47638 (pupa_putchar): Likewise.
47639 (pupa_putcode): New function.
47640
47641 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47642 (pupa_console_real_putchar): ... this.
47643 (pupa_vga_set_mode): New function.
47644 (pupa_vga_get_font): Likewise.
47645
47646 * normal/command.c: Include pupa/term.h.
47647 (terminal_command): New function.
47648 (pupa_command_init): Register the command "terminal".
47649
47650 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47651 (DISP_UP): Likewise.
47652 (DISP_RIGHT): Likewise.
47653 (DISP_DOWN): Likewise.
47654 (DISP_HLINE): Likewise.
47655 (DISP_VLINE): Likewise.
47656 (DISP_UL): Likewise.
47657 (DISP_UR): Likewise.
47658 (DISP_LL): Likewise.
47659 (DISP_LR): Likewise.
47660
47661 * term/i386/pc/console.c (pupa_console_putchar): New function.
47662
47663 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47664
47665 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47666 FIX. Reverse the path_list.
47667
47668 * include/pupa/normal.h: Export pupa_register_command and
47669 pupa_unregister_command.
47670
47671 * hello/hello.c (pupa_cmd_hello): New module.
47672 * conf/i386-pc.rmk: Added hello.mod.
47673
47674 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47675
47676 * kern/i386/pc/lzo1x.S: New file.
47677
47678 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47679 (compress_kernel): New variable.
47680 (generate_image): Heavily modified to support compressing a
47681 large part of the core image.
47682
47683 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47684 leak.
47685 (pupa_util_load_image): New function.
47686
47687 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47688 (pupa_compressed_size): New variable.
47689 (codestart): Enable Gate A20 here.
47690 Decompress the compressed part of the core image.
47691 Rearrange the code to put functions and variables which are
47692 required for initialization in the non-compressed part.
47693 Include lzo1x.S.
47694
47695 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47696 here.
47697
47698 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47699
47700 * include/pupa/i386/pc/kernel.h
47701 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47702 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47703 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47704 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47705 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47706
47707 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47708
47709 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47710 (Utility#rule): Likewise.
47711
47712 * configure.ac: Check if LZO is available.
47713
47714 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47715
47716 * include/pupa/normal.h: New file.
47717 * include/pupa/setjmp.h: Likewise.
47718 * include/pupa/i386/setjmp.h: Likewise.
47719 * normal/cmdline.c: Likewise.
47720 * normal/command.c: Likewise.
47721 * normal/main.c: Likewise.
47722 * normal/menu.c: Likewise.
47723 * normal/i386/setjmp.S: Likewise.
47724
47725 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47726 (pupa_rescue_cmd_initrd): Likewise.
47727
47728 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47729 Likewise.
47730
47731 * kern/i386/pc/startup.S (translation_table): New variable.
47732 (translate_keycode): New function.
47733 (pupa_console_getkey): Call translate_keycode.
47734
47735 * kern/rescue.c (attempt_normal_mode): New function.
47736 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47737 it failed, print a message.
47738
47739 * kern/mm.c (pupa_real_malloc): Print more information when a
47740 free magic is broken.
47741 (pupa_free): If the first free header is not free actually, set
47742 it to P.
47743
47744 * kern/main.c (pupa_load_normal_mode): Just load the module
47745 "normal".
47746 (pupa_main): Don't print the message
47747 "Entering into rescue mode..." here.
47748
47749 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47750 Declared.
47751 (pupa_rescue_cmd_initrd): Likewise.
47752 (pupa_rescue_cmd_initrd): Likewise.
47753
47754 * include/pupa/symbol.h (FUNCTION): Specify the type.
47755 (VARIABLE): Likewise.
47756
47757 * include/pupa/err.h (pupa_err_t): Added
47758 PUPA_ERR_UNKNOWN_COMMAND.
47759
47760 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47761 (pupa_dl_get_prefix): Likewise.
47762
47763 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47764 Added _chain.mod and _linux.mod instead of chain.mod and
47765 linux.mod.
47766 (chain_mod_SOURCES): Renamed to ...
47767 (_chain_mod_SOURCES): ... this.
47768 (chain_mod_CFLAGS): Renamed to ...
47769 (_chain_mod_CFLAGS): ... this.
47770 (linux_mod_SOURCES): Renamed to ...
47771 (_linux_mod_SOURCES): ... this.
47772 (linux_mod_CFLAGS): Renamed to ...
47773 (_linux_mod_CFLAGS): ... this.
47774 (normal_mod_SOURCES): New variable.
47775 (normal_mod_CFLAGS): Likewise.
47776 (normal_mod_ASFLAGS): Likewise.
47777
47778 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47779
47780 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47781 possible.
47782
47783 * kern/dl.c (pupa_dl_ref): Refer depending modules
47784 recursively.
47785 (pupa_dl_unref): Unrefer depending modules recursively.
47786 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47787 a module is unloaded before one depending on that module is
47788 unloaded.
47789 (pupa_dl_unload): Unload depending modules explicitly,
47790 if possible.
47791
47792 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47793
47794 * include/pupa/i386/pc/linux.h: New file.
47795 * loader/i386/pc/linux.c: Likewise.
47796
47797 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47798 Removed.
47799 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47800 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47801 of PUPA_CHAINLOADER_BOOT_SECTOR.
47802
47803 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47804 (pupa_linux_prot_size): New variable.
47805 (pupa_linux_tmp_addr): Likewise.
47806 (pupa_linux_real_addr): Likewise.
47807 (pupa_linux_boot_zimage): New function.
47808 (pupa_linux_boot_bzimage): Likewise.
47809
47810 * kern/i386/pc/init.c (struct mem_region): New structure.
47811 (MAX_REGIONS): New macro.
47812 (mem_regions): New variable.
47813 (num_regions): Likewise.
47814 (pupa_os_area_addr): Likewise.
47815 (pupa_os_area_size): Likewise.
47816 (pupa_lower_mem): Likewise.
47817 (pupa_upper_mem): Likewise.
47818 (add_mem_region): New function.
47819 (compact_mem_regions): Likewise.
47820 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47821 the size of the conventional memory and that of so-called upper
47822 memory (before the first memory hole).
47823 Instead of adding each found region to free memory, use
47824 add_mem_region and add them after removing overlaps.
47825 Also, add only 1/4 of the upper memory to free memory. The rest
47826 is used for loading OS images. Maybe this is ad hoc, but this
47827 makes it much easier to relocate OS images when booting.
47828
47829 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47830 (pupa_enter_rescue_mode): Don't register initrd and module.
47831
47832 * kern/mm.c: Include pupa/dl.h.
47833
47834 * kern/main.c: Include pupa/file.h and pupa/device.h.
47835
47836 * kern/loader.c (pupa_loader_load_module_func): Removed.
47837 (pupa_loader_load_module): Likewise.
47838
47839 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47840 ``.o''.
47841
47842 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47843 (pupa_linux_tmp_addr): Likewise.
47844 (pupa_linux_real_addr): Likewise.
47845 (pupa_linux_boot_zimage): Likewise.
47846 (pupa_linux_boot_bzimage): Likewise.
47847
47848 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47849 (pupa_upper_mem): Likewise.
47850 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47851 module is too dangerous.
47852
47853 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47854 (pupa_os_area_size): Likewise.
47855 (pupa_loader_set): Remove the first argument. Loader doesn't
47856 manage modules or initrd any longer.
47857 (pupa_loader_load_module): Removed.
47858
47859 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47860 (linux_mod_SOURCES): New variable.
47861 (linux_mod_CFLAGS): Likewise.
47862
47863 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47864
47865 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47866 the length of a blocklist correctly.
47867
47868 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47869 Use ioctl only if the OS file is a block device.
47870 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47871 not very useful for normal files.
47872
47873 * kern/main.c (pupa_set_root_dev): New function.
47874 (pupa_load_normal_mode): Likewise.
47875 (pupa_main): Call those above.
47876
47877 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47878 pupa_uint16_t.
47879
47880 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47881
47882 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47883
47884 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47885 (setup): Configure the installed partition information and the
47886 dl prefix.
47887
47888 * loader/i386/pc/chainloader.c (my_mod): New variable.
47889 (pupa_chainloader_unload): New function.
47890 (pupa_rescue_cmd_chainloader): Refer itself.
47891 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47892
47893 * kern/i386/pc/startup.S (install_partition): Removed.
47894 (version_string): Likewise.
47895 (config_file): Likewise.
47896 (pupa_install_dos_part): New variable.
47897 (pupa_install_bsd_part): Likewise.
47898 (pupa_prefix): Likewise.
47899 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47900
47901 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47902 and pupa/misc.h.
47903 (make_install_device): New function.
47904 (pupa_machine_init): Set the dl prefix.
47905
47906 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47907 (buf): Renamed to ...
47908 (linebuf): ... this.
47909 (pupa_rescue_cmd_prefix): New function.
47910 (pupa_rescue_cmd_insmod): Likewise.
47911 (pupa_rescue_cmd_rmmod): Likewise.
47912 (pupa_rescue_cmd_lsmod): Likewise.
47913 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47914 rmmod and lsmod.
47915
47916 * kern/mm.c (pupa_memalign): If failed even after invalidating
47917 disk caches, unload unneeded modules and retry.
47918
47919 * kern/misc.c (pupa_memmove): New function.
47920 (pupa_memcpy): Removed.
47921 (pupa_strcpy): New function.
47922 (pupa_itoa): Made static.
47923
47924 * kern/dl.c (pupa_dl_iterate): New function.
47925 (pupa_dl_ref): Likewise.
47926 (pupa_dl_unref): Likewise.
47927 (pupa_dl_unload): Return if succeeded or not.
47928 (pupa_dl_unload_unneeded): New function.
47929 (pupa_dl_unload_all): Likewise.
47930 (pupa_dl_init): Renamed to ...
47931 (pupa_dl_set_prefix): ... this.
47932 (pupa_dl_get_prefix): New function.
47933
47934 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47935 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47936 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47937 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47938 (pupa_install_dos_part): Declared.
47939 (pupa_install_bsd_part): Likewise.
47940 (pupa_prefix): Likewise.
47941 (pupa_boot_drive): Likewise.
47942
47943 * include/pupa/types.h: Fix a typo.
47944
47945 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47946 pupa_memmove.
47947 (pupa_memmove): Declared.
47948 (pupa_strcpy): Likewise.
47949
47950 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47951 pupa_mod_init takes one argument, its own module.
47952 (pupa_dl_unload_unneeded): Declared.
47953 (pupa_dl_unload_all): Likewise.
47954 (pupa_dl_ref): Likewise.
47955 (pupa_dl_unref): Likewise.
47956 (pupa_dl_iterate): Likewise.
47957 (pupa_dl_init): Renamed to ...
47958 (pupa_dl_set_prefix): ... this.
47959 (pupa_dl_get_prefix): Declared.
47960
47961 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
47962 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
47963 unloaded.
47964 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47965 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47966
47967 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47968 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47969
47970 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47971
47972 * util/i386/pc/pupa-setup.c (setup): Define the internal
47973 function find_first_partition_start at the top level, because GCC
47974 3.0.x cannot compile internal functions in deeper scopes
47975 correctly.
47976 (find_root_device): Use lstat instead of stat.
47977 Don't follow symbolic links.
47978 Fix the path-constructing code.
47979
47980 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47981 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47982 by a BLKGETSIZE ioctl first, because block devices don't fill
47983 the member st_mode of the structure stat on Linux.
47984 [__linux__] (linux_find_partition): Use a temporary buffer
47985 REAL_DEV for the working space. Copy it to DEV before returning.
47986 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47987 buffer cache consistent.
47988 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47989 strncmp. The previous value was merely wrong.
47990 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47991
47992 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47993 FAT size is 12. The previous value was merely wrong.
47994
47995 * kern/main.c (pupa_main): Don't split the starting message from
47996 newlines.
47997
47998 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47999 LF, because BIOS goes crazy about character attributes in this
48000 case.
48001
48002 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48003
48004 * include/i386/pc/util/biosdisk.h: New file.
48005 * util/i386/pc/biosdisk.c: Likewise.
48006 * util/i386/pc/pupa-setup.c: Likewise.
48007
48008 * Makefile.in (INCLUDE_DISTFILES): Added
48009 include/pupa/i386/pc/util/biosdisk.h.
48010 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48011 directory util/i386/pc.
48012 (install-local): Added a rule for sbin_UTILITIES.
48013 (uninstall): Likewise.
48014
48015 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48016
48017 * util/misc.c (xrealloc): New function.
48018 (pupa_malloc): Likewise.
48019 (pupa_free): Likewise.
48020 (pupa_realloc): Likewise.
48021 (pupa_stop): Likewise.
48022 (pupa_putchar): Likewise.
48023
48024 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48025
48026 * include/pupa/util/misc.h (xrealloc): Declared.
48027
48028 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48029 macro.
48030 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48031 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48032
48033 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48034 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48035
48036 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48037 way should be implemented.
48038 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48039
48040 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48041 the size of NAME for safety.
48042 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48043 0x88.
48044
48045 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48046 (pupa_setup_SOURCES): Likewise.
48047
48048 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48049
48050 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48053 bunch of pushl's from pusha, because this destroys the return
48054 value.
48055
48056 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48057
48058 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48059 This means that any missing prototypes could be fatal. Also, you
48060 must take care when writing assembly code. See the comments at
48061 the beginning of startup.S, for more details.
48062
48063 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48064 compilation mechanism.
48065 (pupa_chainloader_real_boot): Likewise.
48066 (pupa_biosdisk_rw_int13_extensions): Likewise.
48067 (pupa_biosdisk_rw_standard): Likewise.
48068 (pupa_biosdisk_check_int13_extensions): Likewise.
48069 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48070 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48071 (pupa_get_memsize): Likewise.
48072 (pupa_get_mmap_entry): Likewise.
48073 (pupa_console_putchar): Likewise.
48074 (pupa_console_setcursor): Likewise.
48075 (pupa_getrtsecs): Use pushl instead of push.
48076
48077 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48078 memory instead of the stack for a mmap entry, because some
48079 BIOSes may ignore the maximum size and overflow.
48080
48081 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48082
48083 * genmk.rb (PModule#rule): Compile automatically generated
48084 sources with module-specific CFLAGS as well as other sources.
48085
48086 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48087
48088 * configure.ac: Check ld.
48089 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48090 respectively, before checking endianness and sizes.
48091
48092 * Makefile.in (LD): New variable.
48093
48094 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48095
48096 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48097
48098 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48099
48100 * Changelog: New file.
48101