]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/normal/menu.c: Wait if there were errors shown at "boot"
[grub2.git] / ChangeLog
1 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
4 command.
5
6 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Replace the region at 0 from coreboot tables to available in BSD
9 memory map.
10
11 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
14 non-BIOS platforms.
15
16 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
19 platforms.
20
21 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24 handling of multi-device filesystems.
25
26 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
29 platforms.
30
31 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Add new 'proc' filesystem framework and put luks_script into it.
34
35 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
38 and qemu.
39
40 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
43
44 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Add ability to generate newc additions on runtime.
47
48 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
51 description.
52
53 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * po/POTFILES.in: Regenerate.
56
57 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/commands/verify.c (hashes): Add several hashes
60 from the spec.
61
62 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Slight improve in USB-related boot-time checkpoints.
65
66 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/commands/boottime.c: Fix copyright header.
69
70 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
71
72 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
73 coreboot tables content. Support for cbmemc.
74
75 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
76
77 Fix a conflict between ports structures with 2 controllers of
78 same kind.
79
80 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * include/grub/boottime.h: Add missing file.
83
84 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Initialize USB ports in parallel to speed-up boot.
87
88 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Fix USB devices not being detected when requested
91 due to delayed attach.
92
93 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Implement boot time analysis framework.
96
97 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
98
99 Remove get_endpoint_descriptor and change all functions needing
100 descriptor to just receive it as argument rather than endpoint
101 address.
102
103 2013-03-19 Aleš Nesrsta <starous@volny.cz>
104
105 Better estimate the maximum USB transfer size.
106
107 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Resend a packet if we got the wrong buffer in status.
110
111 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
114 multiplication rather than division.
115
116 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
119 than divisions.
120
121 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
124 operations to have intended shifts and not divisions.
125
126 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
129 intended shifts rather than division.
130
131 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
134 computation for some years before epoch. Avode confusing division
135 while on it.
136
137 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/video/i386/pc/vbe.c
140 (grub_video_vbe_print_adapter_specific_info): Replace division by
141 shifts.
142
143 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Adjust types in gdb module to have intended unsigned shifts rather than
146 signed divisions.
147
148 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
151 maximum size is 4G - 1 on hfs
152
153 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
156
157 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
160 function.
161
162 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
163
164 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
165 causing gcc error with gcc 4.7.1.
166
167 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
168
169 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
170 dereference null pointer. While the code is technically correct, gcc
171 may eliminate a null check if pointer is already dereferenced.
172
173 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
174
175 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
176 OOM check.
177 * grub-core/normal/term.c (read_terminal_list): Likewise.
178
179 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Lift up core size limits on some platforms. Fix potential memory
182 corruption with big core on small memory systems. Document remaining
183 limits.
184
185 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
188 gotoxy to 0,0.
189
190 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
191
192 Remove all trampoline support. Add -Wtrampolines when
193 present. Remove symbols used for trampolines to make
194 link fail if trampolines are present.
195
196 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
199 append out of its parent.
200
201 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
204 parent.
205
206 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
209 all vars to a macro. All users updated.
210
211 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/disk/ieee1275/nand.c: Fix compilation on
214 i386-ieee1275.
215
216 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
219
220 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
223
224 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
225
226 Move to more hookless approach in IEEE1275 devices handling.
227
228 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/kern/term.c (grub_term_normal_color),
231 (grub_term_highlight_color): Add back lost defaults.
232
233 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Make elfload not use hooks. Opt for flags and iterators instead.
236
237 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
240 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
241
242 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/script/execute.c (gettext_append): Remove nested functions.
245
246 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
249 hook pass-through parameter. All users updated and unnested.
250
251 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
254 out of its parent.
255
256 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/fs/hfs.c: Remove nested functions.
259
260 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
263 the context through.
264 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
265
266 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-editenv.c (list_variables): Move print_var out of its
269 parent.
270
271 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
274 function.
275
276 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/gentrigtables.c: Make tables const.
279
280 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Remove nested functions from videoinfo iterators.
283
284 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
287 for 64-bit platforms.
288
289 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
292 a FOR_CHILDREN macro.
293
294 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
297 platform from firmware path.
298
299 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Enable linux16 on non-BIOS systems for i.a. memtest.
302
303 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
304 correctly.
305 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
306
307 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
310 Fix end of table condition.
311
312 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
315 out of its parent.
316
317 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/fs/jfs.c: Remove nested functions.
320
321 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/fs/minix.c: Remove nested functions.
324
325 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/fs/iso9660.c: Remove nested functions.
328
329 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
332 of parent function.
333
334 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/grub-fstest.c: Remove nested functions.
337
338 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/loader/machoXX.c: Remove nested functions.
341
342 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
343
344 Remove nested functions from disk and file read hooks.
345
346 * include/grub/disk.h (grub_disk_read_hook_t): New type.
347 (struct grub_disk): Add read_hook_data member.
348 * include/grub/file.h (struct grub_file): Likewise.
349 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
350 argument.
351
352 Update all callers.
353
354 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
355
356 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
357 Fix off by one error in enumerating extended partitions.
358
359 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
360
361 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
362 memory leak if device name is not found.
363
364 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
365
366 * grub-core/normal/menu_entry.c (update_screen): remove
367 unused variable `off' which caused scroll down arrow to be always shown.
368
369 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
370
371 * grub-core/normal/menu_entry.c (insert_string): fix off by one
372 access to unallocated memory.
373
374 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
375
376 * Makefile.util.def: Add partmap/msdos.c to common library.
377 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
378 * grub-core/disk/ldm.c: Check for existence of
379 GRUB_PC_PARTITION_TYPE_LDM.
380
381 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
384 sizes and display sector size.
385
386 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
387
388 Implement new command cmosdump.
389
390 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
391
392 Support Openfirmware disks with non-512B sectors.
393
394 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
395 size of the disk.
396 * (grub_ofdisk_get_block_size): New function.
397 * (grub_ofdisk_prepare): Use the correct block size.
398 * (grub_ofdisk_read): Likewise.
399 * (grub_ofdisk_write): Likewise.
400 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
401 New proto.
402
403 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
406
407 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
410 on first error.
411
412 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
415 freeing it.
416
417 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
418
419 Implement USBDebug (full USB stack variant).
420
421 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
424 unless they have unexpected values.
425
426 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
429 grub_print_error.
430
431 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
434 zero-out of port structure.
435
436 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
439 of extended attributes.
440
441 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
442
443 * util/grub-install.in: change misleading comment about
444 device.map creation
445
446 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
449 when menu highlight color isn't set.
450
451 2013-01-27 C. Masloch <pushbx@38.de>
452
453 Improve FreeDOS direct loading support compatibility.
454
455 * include/grub/i386/relocator.h (grub_relocator16_state):
456 New member ebp.
457 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
458 variable.
459 (grub_relocator16_boot): Handle %ebp.
460 * grub-core/lib/i386/relocator16.S: Likewise.
461 * grub-core/loader/i386/pc/freedos.c:
462 Load BPB to pass kernel which partition to load from.
463 Check that kernel file is not too large.
464 Set register dl to BIOS unit number as well.
465
466 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
467
468 * util/grub-reboot.in (usage): Document the need for
469 GRUB_DEFAULT=saved.
470 * util/grub-set-default.in (usage): Likewise.
471 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
472
473 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
476 than defining WORDS_BIGENDIAN manually.
477
478 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
481 invariants.
482
483 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
484
485 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
486 nested.
487 (blit_comb: add_device_width): Likewise.
488
489 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
490
491 Remove nested functions from USB iterators.
492
493 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
494 (grub_usb_controller_iterate_hook_t): Likewise.
495 (grub_usb_iterate): Add hook_data argument.
496 (grub_usb_controller_iterate): Likewise.
497 (struct grub_usb_controller_dev.iterate): Likewise.
498
499 Update all implementations and callers.
500
501 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
504 margin when not needed.
505
506 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Make color variables global instead of it being per-terminal.
509
510 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
513 asterisk.
514
515 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
516
517 Fix powerpc and sparc64 build failures caused by un-nesting memory
518 map iterators.
519
520 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
521
522 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
523 parameter declarations.
524
525 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
528
529 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Improve spkmomdem reliability by adding a separator between bytes.
532
533 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
534
535 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
536 an Acer registration utility with several sightings in the wild.
537 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
538
539 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
540
541 Remove nested functions from filesystem directory iterators.
542
543 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
544 (struct grub_fs.dir): Add hook_data argument.
545
546 Update all implementations and callers.
547
548 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
549
550 * docs/grub.texi (Multi-boot manual config): Fix typo for
551 "recommended".
552
553 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
554
555 * util/grub-mkimage.c (main): Postpone freeing arguments.output
556 until after its use in generate_image.
557
558 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
559
560 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
561 initrd size to addr_min, since the initrd will be allocated after
562 this address.
563
564 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
565
566 * conf/Makefile.common: Fix autogen rules to pass definition
567 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
568
569 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
570
571 * include/grub/elf.h: Update ARM definitions based on binutils.
572
573 2013-01-20 Aleš Nesrsta <starous@volny.cz>
574
575 Split long USB transfers into short ones.
576
577 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
578
579 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
580 is interrupted by ESC.
581
582 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * util/grub-script-check.c (main): Uniform the error message.
585
586 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
587
588 Remove nested functions from ELF iterators.
589
590 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
591
592 Remove nested functions from device iterators.
593
594 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
595 (grub_arc_iterate_devs): Add hook_data argument.
596 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
597 (struct grub_ata_dev.iterate): Add hook_data argument.
598 * include/grub/device.h (grub_device_iterate_hook_t): New type.
599 (grub_device_iterate): Add hook_data argument.
600 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
601 (struct grub_disk_dev.iterate): Add hook_data argument.
602 (grub_disk_dev_iterate): Likewise.
603 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
604 Likewise.
605 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
606 Likewise.
607 * include/grub/partition.h (grub_partition_iterate_hook_t): New
608 type.
609 (struct grub_partition_map.iterate): Add hook_data argument.
610 (grub_partition_iterate): Likewise.
611 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
612 (struct grub_scsi_dev.iterate): Add hook_data argument.
613
614 Update all callers.
615
616 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
617
618 Fix typos for "developer" and "development".
619
620 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Add license header to spkmodem-recv.c.
623
624 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Rewrite spkmodem to use PIT for timing. Double the speed.
627
628 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Add new command pcidump.
631
632 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
633
634 New terminal outputs using serial: morse and spkmodem.
635
636 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
637
638 Improve bidi handling in entry editor.
639
640 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
643 argument to prevent name collision.
644
645 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
646
647 Remove nested functions from script reading and parsing.
648
649 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
650 getline_data argument, passed to getline.
651 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
652 getline_data argument, passed to grub_parser_split_cmdline.
653 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
654 lexerstate->getline_data to lexerstate->getline.
655 (grub_script_lexer_init): Add getline_data argument, saved in
656 lexerstate->getline_data.
657 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
658 argument, passed to grub_script_parse.
659 * grub-core/script/script.c (grub_script_parse): Add getline_data
660 argument, passed to grub_script_lexer_init.
661 * include/grub/parser.h (grub_parser_split_cmdline): Update
662 prototype. Update all callers to pass appropriate getline data.
663 (struct grub_parser.parse_line): Likewise.
664 (grub_rescue_parse_line): Likewise.
665 * include/grub/reader.h (grub_reader_getline_t): Add void *
666 argument.
667 * include/grub/script_sh.h (struct grub_lexer_param): Add
668 getline_data member.
669 (grub_script_parse): Update prototype. Update all callers to pass
670 appropriate getline data.
671 (grub_script_lexer_init): Likewise.
672 (grub_normal_parse_line): Likewise.
673
674 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
675 data argument.
676 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
677 static instead of nested. Rename to ...
678 (grub_parser_execute_getline): ... this.
679 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
680 data argument.
681 * grub-core/normal/main.c (read_config_file: getline): Make static
682 instead of nested. Rename to ...
683 (read_config_file_getline): ... this.
684 (grub_normal_read_line): Add unused data argument.
685 * grub-core/script/execute.c (grub_script_execute_sourcecode:
686 getline): Make static instead of nested. Rename to ...
687 (grub_script_execute_sourcecode_getline): ... this.
688 * util/grub-script-check.c (main: get_config_line): Make static
689 instead of nested.
690
691 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
692
693 Remove nested functions from memory map iterators.
694
695 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
696 argument, passed to hook.
697 * grub-core/kern/i386/coreboot/mmap.c
698 (grub_linuxbios_table_iterate): Likewise.
699 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
700 instead of nested.
701 (grub_machine_mmap_iterate): Add hook_data argument.
702 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
703 Add hook_data argument, passed to hook.
704 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
705 Likewise.
706 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
707 Likewise.
708 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
709 Likewise.
710 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
711 Likewise.
712 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
713 Likewise.
714 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
715 Likewise.
716 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
717 (grub_machine_mmap_iterate): Likewise.
718 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
719 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
720 prototype.
721 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
722 Remove NESTED_FUNC_ATTR from here and from all users.
723 (grub_mmap_iterate): Update prototype.
724 (grub_efi_mmap_iterate): Update prototype. Update all callers to
725 pass appropriate hook data.
726 (grub_machine_mmap_iterate): Likewise.
727
728 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
729 static instead of nested.
730 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
731 Rename to ...
732 (lsmmap_hook): ... this.
733 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
734 Likewise.
735 (grub_efiemu_mmap_fill: fill_hook): Likewise.
736 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
737 heap_init): Likewise.
738 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
739 Rename to ...
740 (mmap_iterate_hook): ... this.
741 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
742 Likewise.
743 * grub-core/lib/ieee1275/relocator.c
744 (grub_relocator_firmware_get_max_events: count): Likewise.
745 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
746 to ...
747 (grub_relocator_firmware_fill_events_iter): ... this.
748 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
749 hook): Likewise. Rename to ...
750 (grub_relocator_alloc_chunk_align_iter): ... this.
751 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
752 Rename to ...
753 (generate_e820_mmap_iter): ... this.
754 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
755 Rename to ...
756 (count_hook): ... this.
757 (grub_linux_boot: hook): Likewise. Rename to ...
758 (grub_linux_boot_mmap_find): ... this.
759 (grub_linux_boot: hook_fill): Likewise. Rename to ...
760 (grub_linux_boot_mmap_fill): ... this.
761 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
762 hook): Likewise. Rename to ...
763 (grub_fill_multiboot_mmap_iter): ... this.
764 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
765 hook): Likewise. Rename to ...
766 (count_hook): ... this.
767 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
768 hook): Likewise. Rename to ...
769 (grub_fill_multiboot_mmap_iter): ... this.
770 * grub-core/loader/powerpc/ieee1275/linux.c
771 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
772 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
773 Likewise. Rename to ...
774 (alloc_phys_choose): ... this.
775 (determine_phys_base: get_physbase): Likewise.
776 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
777 find_hook): Likewise.
778 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
779 (malloc_hook: count_hook): Likewise.
780 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
781 Likewise. Rename to ...
782 (lower_hook): ... this.
783 (grub_mmap_get_upper: hook): Likewise. Rename to ...
784 (upper_hook): ... this.
785 (grub_mmap_get_post64: hook): Likewise. Rename to ...
786 (post64_hook): ... this.
787 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
788 Likewise. Rename to ...
789 (lower_hook): ... this.
790 (grub_mmap_get_upper: hook): Likewise. Rename to ...
791 (upper_hook): ... this.
792 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
793 (grub_mmap_iterate: fill_hook): Likewise.
794 (fill_mask): Pass addr and mask within a single struct.
795 (grub_cmd_badram: hook): Make static instead of nested. Rename
796 to ...
797 (badram_iter): ... this.
798 (grub_cmd_cutmem: hook): Likewise. Rename to ...
799 (cutmem_iter): ... this.
800
801 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
804 delimit path in strings using quotes.
805 * util/getroot.c (grub_guess_root_devices): Likewise.
806 (grub_make_system_path_relative_to_its_root): Likewise.
807 * util/grub-probe.c (probe): Likewise.
808 * util/ieee1275/ofpath.c (find_obppath): Likewise.
809 (xrealpath): Likewise.
810
811 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Fix compilation with older compilers.
814
815 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
816 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
817 declarations.
818 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
819 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
820 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
821 identifier with b.
822 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
823 * include/grub/crypto.h: Add type defines.
824 * util/import_gcrypth.sed: Remove duplicate type defines.
825
826 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
827
828 New command list_trusted.
829
830 * grub-core/commands/verify.c (grub_cmd_list): New function.
831
832 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
833
834 * util/grub-mkimage.c (generate_image): Fix "size of public key"
835 info message.
836
837 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
838
839 Remove nested functions from PCI iterators.
840
841 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
842 passed to hook. Update all callers to pass appropriate hook data.
843 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
844 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
845 Remove NESTED_FUNC_ATTR from here and from all users.
846 (grub_pci_iterate): Update prototype.
847 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
848 instead of nested. Rename to ...
849 (grub_cs5536_find_iter): ... this.
850 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
851 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
852 Likewise.
853 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
854 Likewise.
855 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
856 Likewise.
857 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
858 Likewise.
859 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
860 * grub-core/video/radeon_fuloong2e.c
861 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
862 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
863 find_card): Likewise.
864 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
865 Likewise.
866
867 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/commands/verify.c: Mark messages for translating.
870
871 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
874 fatal.
875
876 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
879 fatal.
880
881 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * autogen.sh: Do not try to delete nonexistant files.
884 * util/import_gcrypth.sed: Add some missing header removals.
885
886 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
887
888 Clean up dangling references to grub-setup.
889 Fixes Ubuntu bug #1082045.
890
891 * docs/grub.texi (Images): Refer generally to grub-install rather
892 than directly to grub-setup.
893 (Installing GRUB using grub-install): Remove direct reference to
894 grub-setup.
895 (Device map) Likewise.
896 (Invoking grub-install): Likewise.
897 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
898 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
899 * util/grub-install.in (usage): Likewise.
900
901 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
902 Apply to grub-bios-setup and grub-sparc64-setup rather than to
903 grub-setup.
904 * configure.ac: Remove grub_setup output variable.
905
906 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
907 to grub-bios-setup.
908 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
909 grub-setup to grub-sparc64-setup.
910
911 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
912
913 Import gcrypt public-key cryptography and implement signature checking.
914
915 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/fs/ntfs.c: Ue more appropriate types.
918 * grub-core/fs/ntfscomp.c: Likewise.
919 * include/grub/ntfs.h: Likewise.
920
921 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
922
923 Support Apple FAT binaries on non-Apple platforms.
924
925 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
926 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
927 Likewise.
928 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
929 Apple FAT binaries.
930
931 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
934 sector devices.
935
936 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
937
938 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
939 explicitly zeroing elements.
940 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
941 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
942 of elements in a structure already allocated using grub_zalloc.
943 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
944
945 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
946
947 * docs/grub.texi (grub_cpu): New subsection.
948 (grub_platform): Likewise.
949
950 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
953
954 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
957 divisions.
958
959 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
962 * grub-core/fs/ntfscomp.c: Likewise.
963 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
964 (grub_ntfs_comp): Likewise.
965
966 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
969 Rename to ...
970 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
971 of groups_per_block. All users updated.
972
973 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
976 grub_error properly.
977 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
978 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
979
980 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
983 always in /boot/zfs.
984 Reported by: Yuta Satoh.
985
986 2013-01-03 Yuta Satoh <nigoro>
987
988 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
989 ${grub_probe}
990
991 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * configure.ac: Extend -Wno-trampolines to host.
994
995 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
998 entry->len = 0.
999
1000 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1001
1002 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1003 (Invoking grub-script-check): Likewise.
1004
1005 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1006
1007 * docs/grub.texi (Invoking grub-mount): New section.
1008 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1009
1010 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1011
1012 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1013 test failures, so that a failing unit test correctly causes 'make
1014 check' to fail.
1015
1016 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1017
1018 Fix failing printf test.
1019
1020 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1021 '$' in the correct order when collecting type information.
1022
1023 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1024
1025 * docs/grub.texi (configfile): Explain environment variable
1026 handling.
1027 (source): New section.
1028 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1029
1030 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
1031
1032 Remove several trivially-unnecessary uses of nested functions.
1033
1034 * grub-core/commands/i386/pc/sendkey.c
1035 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1036 instead of nested.
1037 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1038 Rename to ...
1039 (legacy_file_getline): ... this.
1040 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1041 Likewise.
1042 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1043 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1044 to ...
1045 (probe_dummy_iter): ... this.
1046 * grub-core/kern/i386/coreboot/mmap.c
1047 (grub_linuxbios_table_iterate: check_signature): Likewise.
1048 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1049 check_varstate): Likewise. Mark inline.
1050 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1051 an additional parameter.
1052 (find_long: fnd_long): Likewise. Pass two additional parameters.
1053 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1054 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1055 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1056 Likewise. Rename to ...
1057 (grub_cmos_find_port_iter): ... this.
1058 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1059 Rename to ...
1060 (find_rtc_iter): ... this.
1061
1062 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1063 function directly into the function body, since it is only called
1064 once.
1065
1066 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
1067
1068 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1069 __attribute__ ((unused)).
1070 * grub-core/video/bochs.c (find_card): Likewise.
1071 * grub-core/video/cirrus.c (find_card): Likewise.
1072 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1073 * grub-core/video/sis315pro.c (find_card): Likewise.
1074 * grub-core/video/sm712.c (find_card): Likewise.
1075
1076 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1077
1078 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1079 Fixes Savannah bug #37821.
1080
1081 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1082
1083 Apply program name transformations at build-time rather than at
1084 run-time. Fixes Debian bug #696465.
1085
1086 * acinclude.m4 (grub_TRANSFORM): New macro.
1087 * configure.ac: Create output variables with transformed names for
1088 most programs.
1089 * util/bash-completion.d/grub-completion.bash.in: Use
1090 pre-transformed variables for program names.
1091 * util/grub-install.in: Likewise.
1092 * util/grub-kbdcomp.in: Likewise.
1093 * util/grub-mkconfig.in: Likewise.
1094 * util/grub-mkconfig_lib.in: Likewise.
1095 * util/grub-mknetdir.in: Likewise.
1096 * util/grub-mkrescue.in: Likewise.
1097 * util/grub-mkstandalone.in: Likewise.
1098 * util/grub-reboot.in: Likewise.
1099 * util/grub-set-default.in: Likewise.
1100 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1101 * tests/util/grub-shell-tester.in: Remove unused assignment.
1102 * tests/util/grub-shell.in: Likewise.
1103 * util/grub.d/00_header.in: Likewise.
1104
1105 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1106
1107 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1108
1109 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1110 HAVE_RAW_DECL_GETS.
1111 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1112
1113 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1116 Reported by: Eriks Latosheks <foresterlv>.
1117
1118 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * docs/grub.texi (Network): Update instructions on generating netboot
1121 image.
1122
1123 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1126 around device name if necessarry.
1127
1128 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1129
1130 * util/grub-install.in: Follow the symbolic link parameter added
1131 to the file command.
1132
1133 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1134
1135 * util/grub-install.in: Remove stale TODO.
1136
1137 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1138
1139 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1140 dynamic allocation for the bootpath buffer.
1141
1142 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1143
1144 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1145 window too small.
1146
1147 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1150 argument rather than font name. All users updated.
1151 (grub_gfxterm_set_window): Likewise.
1152
1153 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1154
1155 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1156 from working.
1157
1158 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * util/getroot.c (convert_system_partition_to_system_disk): Support
1161 nbd disks.
1162
1163 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1166 infinite loop on corrupted FS.
1167
1168 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 Fix big-endian mtime.
1171
1172 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1173 together sec and usec.
1174 (grub_ufs_dir): Use correct byteswapping for UFS time.
1175
1176 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 Support big-endian UFS1.
1179
1180 * Makefile.util.def (libgrubmods): Add ufs_be.c
1181 * grub-core/Makefile.core.def (ufs1_be): New module.
1182 * grub-core/fs/ufs_be.c: New file.
1183 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1184 the file.
1185
1186 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1187
1188 * include/grub/types.h: Fix functionality unaffecting typo in
1189 GRUB_TARGET_WORDSIZE conditional macro.
1190
1191 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1192
1193 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1194
1195 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1196
1197 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1198 that /netbsd appears first (when it exists).
1199
1200 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
1201
1202 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1203 Fixes Savannah bug #37558.
1204
1205 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
1206
1207 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1208 description of extract_entries_configfile.
1209
1210 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
1211
1212 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1213 preferred_address.
1214 (grub_cmd_linux): Likewise.
1215 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1216 preferred_lifetime. Update all users.
1217
1218 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1219
1220 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1221 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1222
1223 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1224
1225 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1226 errors from grub-probe to /dev/null, not stdout.
1227
1228 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1231 sector 1.
1232
1233 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
1234
1235 * util/grub-install.in: Make the error message if $source_dir
1236 doesn't exist more useful.
1237
1238 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
1239
1240 Fix grub-emu build on FreeBSD.
1241
1242 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1243 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1244 headers on Linux.
1245 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1246 implementation is currently Linux-specific.
1247 * util/getroot.c (exec_pipe): Define only on Linux or when either
1248 libzfs or libnvpair is unavailable.
1249 (find_root_devices_from_poolname): Remove unused path variable.
1250
1251 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1252
1253 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1254 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1255 should fit before end == 63.
1256
1257 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1258
1259 * util/grub-setup.c (write_rootdev): Remove unused core_img
1260 parameter. Update all callers.
1261 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1262 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1263 GRUB_SETUP_BIOS.
1264
1265 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1268 (grub_add_tab): New function.
1269 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1270 * util/grub.d/10_illumos.in: Likewise.
1271 * util/grub.d/10_kfreebsd.in: Likewise.
1272 * util/grub.d/10_linux.in: Likewise.
1273 * util/grub.d/10_netbsd.in: Likewise.
1274 * util/grub.d/10_windows.in: Likewise.
1275 * util/grub.d/10_xnu.in: Likewise.
1276 * util/grub.d/20_linux_xen.in: Likewise.
1277 * util/grub.d/30_os-prober.in: Likewise.
1278
1279 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1282 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1283 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1284 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1285 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1286 ieee1275-nocursor.
1287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1288 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1289
1290 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1293 le-conversion.
1294 Reported by: BURETTE, Bernard.
1295
1296 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
1297
1298 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1299 from comment.
1300
1301 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
1302
1303 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1304 IEEE1275 machines. Fixes powerpc-emu compilation.
1305 * include/grub/terminfo.h: Likewise.
1306
1307 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1310 a const pointer.
1311 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1312 const pointer.
1313 (efiemu_set_variable): Make vendor_guid a const pointer.
1314
1315 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 Don't require grub-mkconfig_lib to generate manpages for programs.
1318
1319 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1320 dependencies, don't add grub-mkconfig_lib.
1321 (program): Pass empty adddeps.
1322 (script): Pass grub-mkconfig_lib as adddeps.
1323
1324 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1327 * util/getroot.c (grub_find_device): Likewise.
1328 (get_mdadm_uuid): Likewise.
1329 (grub_util_is_imsm): Likewise.
1330 (grub_util_pull_device): Likewise.
1331 * util/grub-probe.c (probe): Likewise.
1332
1333 2012-09-10 Benoit Gschwind <gschwind>
1334
1335 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1336 (devs): Add devpath_8.
1337
1338 2012-09-08 Peter Jones <pjones@redhat.com>
1339
1340 * grub-core/Makefile.core.def (efifwsetup): New module.
1341 * grub-core/commands/efi/efifwsetup.c: New file.
1342 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1343 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1344 New define.
1345 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1346
1347 2012-09-05 Jiri Slaby <jslaby@suse.cz>
1348
1349 * configure.ac: Add SuSe path.
1350
1351 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1352
1353 * NEWS: Fix typo.
1354
1355 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1356
1357 * util/import_gcry.py: Sort cipher_files, to make build system
1358 generation more deterministic.
1359
1360 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1363 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1364 (grub_set_datetime): Likewise.
1365
1366 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1369 warnings.
1370
1371 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1374
1375 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1378
1379 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1380
1381 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1382 required for checkouts from bzr, but it may be useful for users or
1383 distributors wishing to update translations against a tarball
1384 distribution, and it can be helpful for the tarball to be a superset
1385 of what's in bzr.
1386
1387 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1388
1389 * Makefile.am (EXTRA_DIST): Add
1390 grub-core/tests/boot/linux.init-mips.S,
1391 grub-core/tests/boot/linux.init-ppc.S, and
1392 grub-core/tests/boot/linux-ppc.cfg.
1393
1394 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1395
1396 * grub-core/mmap/mips/loongson: Remove empty directory.
1397
1398 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1399
1400 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
1401 gone.
1402
1403 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
1406 grub-sparc64-setup.
1407
1408 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1409
1410 * configure.ac: Strengthen the test for working -nostdinc -isystem.
1411
1412 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1413
1414 * po/POTFILES.in: Regenerated.
1415
1416 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1417
1418 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
1419 (NetBSD): New subsection.
1420
1421 2012-07-22 Ales Nesrsta <starous@volny.cz>
1422
1423 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
1424 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
1425
1426 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
1429 * util/grub.d/10_hurd.in: Add missing quoting.
1430 * util/grub.d/10_illumos.in: Likewise.
1431 * util/grub.d/10_kfreebsd.in: Likewise.
1432 * util/grub.d/10_linux.in: Likewise.
1433 * util/grub.d/20_linux_xen.in: Likewise.
1434
1435 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 New command `lsefi'.
1438
1439 * grub-core/Makefile.core.def (lsefi): New module.
1440 * grub-core/commands/efi/lsefi.c: New file.
1441 * include/grub/efi/api.h: Add more GUIDs.
1442
1443 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
1446 (grub_bsd_elf32_hook): Likewise.
1447 (grub_bsd_elf64_size_hook): Likewise.
1448 (grub_bsd_elf64_hook): Likewise.
1449 (grub_bsd_load_elf): Likewise.
1450
1451 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
1454 if hash function is unavailable.
1455 (dec_stream_header): Likewise.
1456
1457 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
1460 filter state.
1461
1462 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Fix coreboot compilation.
1465
1466 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
1467 (grub_vga_text_init_real): ... this.
1468 (grub_vga_text_fini): Rename to ...
1469 (grub_vga_text_fini_real): ... this.
1470
1471 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
1474
1475 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/lib/legacy_parse.c: Support clear and testload.
1478
1479 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
1482
1483 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/fs/ext2.c: Experimental support for 64-bit.
1486
1487 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/net/tftp.c (ack): Fix endianness problem.
1490 (tftp_receive): Likewise.
1491 Reported by: Michael Davidsaver.
1492
1493 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * gentpl.py: Make mans depend on grub-mkconfig_lib.
1496
1497 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
1500 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
1501 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
1502
1503 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
1506 efi_mmap_size.
1507 Reported by: Stuart Hayes.
1508
1509 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
1512
1513 * grub-core/Makefile.core.def (mda_text): New module.
1514 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
1515 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
1516 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
1517 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
1518 here.
1519 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
1520 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
1521 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
1522 here.
1523 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
1524 to ..
1525 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
1526 ... here
1527 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
1528 here.
1529 * grub-core/term/i386/vga_common.c: Removed.
1530 * include/grub/i386/vga_common.h: Likewise.
1531 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
1532 (grub_vga_cr_bw_read): Likewise.
1533 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
1534 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
1535 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
1536 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
1537 grub_vga_cr_read/grub_vga_cr_write.
1538 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
1539
1540 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * configure.ac: Bump version to 2.00.
1543 * grub-core/normal/main.c (features): Add feature_200_final.
1544
1545 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1546 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1547
1548 * NEWS: Fix unclarity and language mistakes.
1549
1550 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1553 additional size to 3 pages.
1554 Reported by: Stuart Hayes.
1555
1556 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * NEWS: Add 2.00 entry.
1559
1560 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1563 put explicit "/" for empty path.
1564 (wildcard_expand): Improve dprintf.
1565
1566 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1569 it's equal to currnode. This can happen with "" symlink.
1570
1571 2012-06-27 Yves Blusseau <blusseau@zetam.org>
1572
1573 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1574 echo shell command by printf command.
1575
1576 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1579 the value returned by firmware is the maximal position, not diumension.
1580 (grub_terminfo_output_state): Use a more sane fallback.
1581
1582 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1585
1586 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1589 frequency to 150 MHz.
1590
1591 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 Apple fixes.
1594
1595 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1596 __APPLE_
1597 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1598 definition.
1599 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1600
1601 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 Handle slash in HFS label.
1604
1605 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1606 (grub_hfs_dir): Tanslate slash.
1607 (grub_hfs_label): Don't translate slash.
1608
1609 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1612 network protocol listing since it introduces problematic dependency on
1613 net module.
1614
1615 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1618
1619 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Init video early on yeeloong to avoid being rebooted by watchdog.
1622
1623 * grub-core/Makefile.am (gensm712): New target.
1624 (sm712_start.S): Likewise.
1625 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1626 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1627 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1628 description.
1629 * include/grub/vga.h: Move registry definitions to...
1630 * include/grub/vgaregs.h: ... here.
1631
1632 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1635 signedness.
1636
1637 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1640 platforms with firmware disk drivers in the core.
1641
1642 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1645 informative verbose message.
1646 (read_lv): Handle 64-bit segment size.
1647
1648 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1651
1652 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1655 character but still remove trainling spaces.
1656 (grub_fat_label): Ignore archive flag.
1657
1658 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1661 cast between linux_kernel_header and linux_kernel_params.
1662
1663 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1666 type for size.
1667 (grub_raid6_recover_func_t): Likewise.
1668 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1669 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1670
1671 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1674
1675 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1676
1677 Fix overflow.
1678
1679 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1680 [__NetBSD__]: Add explicit cast before bitshift.
1681
1682 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * configure.ac: Bump to 2.00~rc1.
1685
1686 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1689 half of $a0.
1690
1691 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1692 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1693
1694 * docs/grub.texi: Fix search syntax.
1695 (Multi-boot manual config): Put msdos rather than GPT example.
1696 Grammar corrections.
1697
1698 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1701
1702 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1705
1706 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1709 message on double free. Put the value of magic in case of mismatch.
1710
1711 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 Speed-up video on yeeloong.
1714
1715 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1716 add cached_ptr.
1717 (grub_video_sm712_video_fini): Unmap cached_ptr.
1718 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1719 (grub_video_sm712_set_active_render_target): Removed.
1720 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1721 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1722 sync caches.
1723
1724 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 Avoid flushing the same line multiple times on loongson.
1727
1728 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1729 Step in 32 bytes and not 1 byte.
1730 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1731 Likewise.
1732
1733 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1736 subvolumes.
1737
1738 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 Implement flow control for http.
1741
1742 * grub-core/net/http.c (parse_line): Handle response 206.
1743 (http_receive): Stall if too many packets are in the queue.
1744 (http_establish): Fix range header.
1745 (http_seek): Fix double free.
1746 (http_close): Likewise.
1747 (http_packets_pulled): New function.
1748 (grub_http_protocol): Set http_seek
1749 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1750 (ack_real): Set window depending on i_stall.
1751 (grub_net_send_tcp_packet): Likewise.
1752 (grub_net_tcp_stall): New function.
1753 (grub_net_tcp_unstall): Likewise.
1754 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1755 (grub_net_tcp_unstall): Likewise.
1756
1757 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1760
1761 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1764
1765 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * tests/util/grub-shell.in: Fix a typo.
1768
1769 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 Implement flow control for tftp.
1772
1773 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1774 packets but stop only if stop condition is satisfied.
1775 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1776 `stall' instead of `eof' as stop condition.
1777 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1778 (http_err): Likewise.
1779 * grub-core/net/tftp.c (ack): Replace the first argument with data
1780 instead of socket.
1781 (tftp_receive): Stall if too many packets are in wait queue.
1782 (tftp_packets_pulled): New function.
1783 (grub_tftp_protocol): Set packets_pulled.
1784 * include/grub/net.h (grub_net_packets): New field count.
1785 (grub_net_put_packet): Increment count.
1786 (grub_net_remove_packet): Likewise.
1787 (grub_net_app_protocol): New field `packets_pulled'.
1788 (grub_net): New field `stall'.
1789
1790 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1793 sync part to handle them.
1794
1795 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1798 * grub-core/net/drivers/ieee1275/ofnet.c
1799 (grub_ieee1275_net_config_real): Likewise.
1800
1801 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1804 the direct route for server/gateway.
1805
1806 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1809 IP address to server name since we may not hame the DNS.
1810
1811 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1814 freeing random buffer on failure.
1815 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1816
1817 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1820
1821 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1824 reserved bytes.
1825 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1826 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1827 Handle malloc error correctly.
1828
1829 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1832 blocks.
1833
1834 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1837 increment.
1838
1839 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1842 none is explicitly specified.
1843
1844 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
1847 while reallocating.
1848
1849 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 Respect netmask from bootp/dhcp.
1852
1853 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
1854 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
1855 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
1856 into ...
1857 (grub_net_add_ipv4_local): ... this.
1858 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
1859 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
1860 (grub_net_add_ipv4_local): New proto.
1861
1862 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
1865 determining EFI memory map size.
1866
1867 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
1870
1871 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
1874 when looking for partition separator.
1875
1876 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1879 Escape commas.
1880
1881 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Restructure FAT driver to avoid hook in label reading as it hits a
1884 GCC bug.
1885
1886 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
1887 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
1888 (grub_fat_iterate_dir): Split into ...
1889 (grub_fat_iterate_init): ... this, ...
1890 (grub_fat_iterate_fini): ... this, ...
1891 (grub_fat_iterate_dir_next): ... and this. All users updated.
1892
1893 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1896 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
1897 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1898 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
1899 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
1900 New fields last_key and last_key_time.
1901 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
1902 extended key-esc into extended key-extended key.
1903
1904 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Avoid unnecessary memcpy of whole video buffer.
1907
1908 * grub-core/video/fb/video_fb.c (dirty): New struct.
1909 (framebuffer): Add members current_dirty and previous_dirty.
1910 (dirty): New function.
1911 (grub_video_fb_fill_rect): Update dirty.
1912 (common_blitter): Likewise.
1913 (grub_video_fb_scroll): Likewise.
1914 (doublebuf_blit_update_screen): Copy only dirty part.
1915 (doublebuf_pageflipping_update_screen): Likewise.
1916 (grub_video_fb_doublebuf_blit_init): Init dirty.
1917 (doublebuf_pageflipping_init): Likewise.
1918 (grub_video_fb_setup): Likewise.
1919
1920 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1923 poll rate.
1924
1925 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Fix wildcard regexp dot and other special characters handling.
1928 Reported by: Robert Mabee.
1929
1930 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1931 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1932 (split_path): Trigger expansion on '?'.
1933 (unescape): New function.
1934 (wildcard_expand): Unescape parts copied without globbing.
1935 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1936 (grub_script_arglist_to_argv): Don't unescape expansions.
1937
1938 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * include/grub/net.h (grub_net_card): New member txbufsize.
1941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1942 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1943 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1944 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1945 txbufsize.
1946 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1947 compatible property to check for macs. Set
1948 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1949 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1950 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1951 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1952 (send_card_buffer): Use txbuf.
1953 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1954 nested function out of the parent while on it.
1955
1956 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1959 presence check.
1960 (grub_ieee1275_net_config_real): Fix config pointer.
1961
1962 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1965 filename parsing to non-block devices.
1966
1967 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1970
1971 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1974 All users updated.
1975
1976 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1979 UUID search command even if hints probing failed.
1980
1981 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * po/POTFILES.in: Regenerated.
1984
1985 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Speed-up video on fuloong.
1988
1989 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1990 New function.
1991 (grub_pci_device_unmap_range): Handle non-cached address.
1992 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1993 add direct_ptr.
1994 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1995 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1996 (grub_video_sis315pro_set_active_render_target): Removed.
1997 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1998 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1999 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2000 sync caches.
2001 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2002 New proto.
2003
2004 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * docs/grub.texi (Multi-boot manual config): New section.
2007
2008 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Avoid slow read-back from VRAM.
2011
2012 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2013 Move from here ...
2014 * grub-core/video/fb/video_fb.c
2015 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2016 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2017 (front_target): Remove front_target. Add pages.
2018 (grub_video_fb_init): Skip setting front_pages.
2019 (grub_video_fb_fini): Likewise.
2020 (doublebuf_blit_update_screen): Use pages.
2021 (grub_video_fb_doublebuf_blit_init): Likewise.
2022 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2023 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2024 (grub_video_fb_setup): Prefer doublebuffing.
2025
2026 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2029 gzio.
2030
2031 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 Add loongson tests.
2034
2035 * tests/util/grub-shell.in: Handle loongson.
2036 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2037 drivers.
2038 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2039 Reboot instead of shutdown if REBOOT is defined.
2040
2041 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2044 sized ports since unlike on real hardware qemu supports only 32-bit
2045 regs.
2046
2047 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2050 * util/grub-mkrescue.in: Handle loongson.
2051
2052 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2055 Set is_part appropriately.
2056 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2057 names. Canonicalize partition without full disk.
2058
2059 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 Revert usb-quiesce since it's wrong.
2062
2063 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2064 (grub_ofdisk_init): Don't do quiesce.
2065
2066 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2069 PowerMac workaround to Xserves as well.
2070 Information supplied by: Benjamin Herrenschmidt.
2071
2072 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Don't assume that beginning address is also the entry point on ppc.
2075
2076 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2077 (grub_linux_boot): Use linux_entry.
2078 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2079 (grub_linux_load64): Likewise.
2080
2081 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2084
2085 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2088 needlessly lose the console.
2089
2090 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2093 space.
2094
2095 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2098 than current grub_get_rtc() not implemented when booted with
2099 coreboot without TSC.
2100
2101 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2102 Add machine/time.h to kernel headers on loongson.
2103 * grub-core/Makefile.core.def (kernel): Remove
2104 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2105 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2106 (grub_get_rtc): Likewise.
2107 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2108 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2109 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2110 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2111 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2112 rather than installing known non-working time source.
2113 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2114 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2115 * include/grub/time.h: Don't include machine/time.h.
2116 * include/grub/efi/time.h: Removed.
2117 * include/grub/i386/efi/time.h: Likewise.
2118 * include/grub/i386/ieee1275/time.h: Likewise.
2119 * include/grub/powerpc/ieee1275/time.h: Likewise.
2120 * include/grub/sparc64/ieee1275/time.h: Likewise.
2121 * include/grub/x86_64/efi/time.h: Likewise.
2122
2123 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Remove dot on i and j when combining with above diacritics.
2126
2127 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2128 value.
2129 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2130 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2131 with dotless variants when any combining above is present.
2132
2133 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2136 text and not binary.
2137
2138 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 Stop polling as soon as we have the packet we were waiting for.
2141
2142 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2143 All users updated.
2144 * grub-core/net/arp.c (have_pending): New var.
2145 (pending_req): Likewise.
2146 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2147 stop indicator.
2148 (grub_net_arp_receive): Set have_pending.
2149 * grub-core/net/dns.c (recv_data): New field stop.
2150 (recv_hook): Set stop.
2151 (grub_net_dns_lookup): Init stop and use as stop condition.
2152 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2153 condition.
2154 * grub-core/net/net.c (grub_net_poll_cards): New argument
2155 stop_condition. Stop when it goes true.
2156 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2157 indicator.
2158 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2159
2160 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 Keep TX and RX buffers on EFI rather than always allocate new ones.
2163
2164 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2165 card. All users updated.
2166 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2167 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2168 (get_card_packet): Likewise.
2169 (grub_efinet_findcards): Init new fields.
2170
2171 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2174 compilation error on sparc64.
2175
2176 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 Use ITC on IA64 rather than broken routine based on daytime.
2179
2180 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2181 ia64.
2182 (grub_get_rtc) [__ia64__]: Likewise.
2183 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2184 (get_itc): New function.
2185 (grub_rtc_get_time_ms): Likewise.
2186 (grub_machine_init): Calibrate ITC.
2187 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2188 Keep only on non-ia64. Don't export since it's broken and used only
2189 if TSC is unavailable.
2190
2191 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2194 even if it's used.
2195 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2196 Skip if parent is unused.
2197
2198 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2201
2202 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 Fix wildcard escaping.
2205
2206 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2207 * grub-core/script/execute.c (wildcard_escape): .. to here.
2208 Don't escape dot.
2209 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2210 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2211 Don't escape dot.
2212 * grub-core/script/execute.c (gettext_append): Always escape.
2213 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2214 * grub-core/script/yylex.l: Don't cut away the escaping.
2215 * tests/grub_script_echo1.in: Add tests with wildcard.
2216
2217 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2220 (ftdi_hw_configure): Likewise.
2221 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2222 define.
2223 (real_config): Handle 1.5 stop bits.
2224 (pl2303_hw_configure): Likewise.
2225
2226 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * Makefile.am: Add ppc linux bootcheck.
2229 * grub-core/tests/boot/linux-ppc.cfg: New file.
2230 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2231
2232 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * tests/grub_script_expansion.in: Skip network protocols.
2235
2236 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2239
2240 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2243 --rom-directory.
2244 Add -graft-points.
2245
2246 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 ESCC serial driver for conducting sautomated tests in qemu.
2249 Not tested on real hardware.
2250
2251 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2252 * grub-core/term/ieee1275/escc.c: New file.
2253 * grub-core/Makefile.core.def (escc): New module.
2254
2255 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2258 invalid on error.
2259 (serial_hw_fetch): Don't read invalid handle.
2260 (serial_hw_put): Don't write into invalid handle.
2261
2262 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Add a 1.5 stop bits value.
2265
2266 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2267 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2268 GRUB_SERIAL_STOP_BITS_1_5.
2269
2270 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2273 value rather than let it uninited.
2274
2275 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/commands/wildcard.c (+check_file): New function.
2278 (wildcard_expand): Don't expand to non-existing files, expand with
2279 suffix and not attempt to expand if not needed.
2280
2281 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2284 out of partitions containing other partitions.
2285
2286 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2289 on some qemu versions with GRUB.
2290
2291 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2292 define.
2293 (grub_openbsd_bootarg_pcibios): New struct.
2294 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2295 Add PCIINFO.
2296
2297 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * tests/util/grub-shell.in: Trim firmware output on EFI.
2300
2301 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2304 and coreboot since it's already in kernel.
2305
2306 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2309 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2310 to here. New return value start. All users updated.
2311 Recursively scan linear mappings.
2312 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2313 proto.
2314 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2315 Use grub_util_get_dm_node_linear_info.
2316 * util/getroot.c (convert_system_partition_to_system_disk): Use
2317 grub_util_info rather than grub_dprintf.
2318 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2319
2320 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2323
2324 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2325 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2326
2327 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * include/grub/types.h (grub_set_unaligned64): New function.
2330 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2331 (setup): Likewise.
2332
2333 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2336 (grub_ofdisk_fini): Quiesce USB devices.
2337
2338 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2341 caches.
2342
2343 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2346
2347 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/disk/pata.c (grub_pata_pio_read)
2350 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2351 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2352
2353 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Extend automated tests to qemu-mips.
2356
2357 * Makefile.am: reorganise tests and enable qemu-mips.
2358 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2359 * grub-core/tests/boot/linux.init-mips.S: New file.
2360 * tests/partmap_test.in: Handle ata0 disks.
2361 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2362 non-pc i386.
2363
2364 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2367 ia64.
2368 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2369 quotes while on it.
2370
2371 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2374 (grub_halt): Likewise.
2375 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2376
2377 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/term/serial.c (grub_serial_register)
2380 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2381 the behaviour in line with x86 platforms.
2382
2383 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
2386 (grub_ata_strncpy): Likewise.
2387 (grub_ata_identify): Add missing byteswaps.
2388
2389 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
2392 byte-swap.
2393 (screen_read_char): Likewise.
2394 (grub_vga_text_cls): Likewise.
2395
2396 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
2399 filenames.
2400 (make_file_path): Likewise.
2401
2402 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
2405 machines.
2406 Tested by: Paulo Flabiano Smorigo.
2407 Crucial information about API supplied by: Coleen <Last name unknown>.
2408 Reviewed by: Coleen <Last name unknown>.
2409
2410 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * util/grub-mkimage.c: Disable -Wcast-align.
2413
2414 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
2417 as they are fatal.
2418
2419 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
2422
2423 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-probe.c (escape_of_path): Fix double free.
2426
2427 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/commands/videoinfo.c (hook): Show pitch.
2430
2431 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * util/grub.d/20_linux_xen.in: Skip xen-syms.
2434
2435 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
2438 (probe): Add ieee1275 to OFW devices.
2439
2440 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
2443
2444 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 Handle IBM OFW path.
2447
2448 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
2449 available.
2450 (of_path_of_scsi): Handle vdevice.
2451
2452 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
2455 Allocate in multiples of 16 to avoid adding a few bytes free region the
2456 windows bugs upon.
2457
2458 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
2461 Allocate in multiples of 16 to avoid adding a few bytes free region the
2462 windows bugs upon.
2463 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2464
2465 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
2468 resolutions.
2469 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
2470 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2471
2472 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
2473
2474 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
2475
2476 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
2479 resulted in \\ at the end of the line.
2480
2481 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
2484 (grub_parser_cmdline_state): Likewise.
2485 (grub_parser_split_cmdline): Likewise.
2486
2487 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2490 /dev/root and /dev/dm-*.
2491
2492 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2495 fix partially stale display.
2496
2497 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * grub-core/normal/menu_entry.c (backward_char): Use right line for
2500 substraction.
2501
2502 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
2505 Fix MBR remapping workaround.
2506 (grub_util_biosdisk_read) [__linux__]: Likewise.
2507
2508 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/grub-install.in: Check for ieee1275 and not ieee1276.
2511
2512 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * configure.ac: Bump to beta6.
2515
2516 2012-05-31 Christer Weinigel <christer@weinigel.se>
2517
2518 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
2519
2520 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
2523 (grub_cmd_linux): Likewise.
2524
2525 2012-05-31 Christer Weinigel <christer@weinigel.se>
2526
2527 Fix EHCI low-speed.
2528
2529 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
2530 (GRUB_EHCI_MULT_TWO): Likewise.
2531 (GRUB_EHCI_MULT_THREE): Likewise.
2532 (GRUB_EHCI_CMASK_MASK): New enum value.
2533 (GRUB_EHCI_SMASK_MASK): Likewise.
2534 (GRUB_EHCI_CMASK_OFF): Likewise.
2535 (GRUB_EHCI_SMASK_OFF): Likewise.
2536 (grub_ehci_pci_iter): Enable periodic schedule.
2537 (grub_ehci_parse_notrun): Likewise.
2538 (grub_ehci_restore_hw): Likewise.
2539 (grub_ehci_setup_qh): Set flags for low speed transfers.
2540 (grub_ehci_find_qh): Use periodic list for low speed.
2541 (grub_ehci_setup_transfer): Check periodic queue as well.
2542 (grub_ehci_check_transfer): Likewise.
2543 (grub_ehci_cancel_transfer): Cancel periodic transfer.
2544
2545 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2546
2547 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2548 parameter is used.
2549
2550 2012-05-31 Peter Jones <pjones@redhat.com>
2551
2552 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2553 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2554 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2555
2556 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2559 uninited variable. Allocate at least setup_sects.
2560
2561 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 Fix handling of EFI with big memory maps.
2564
2565 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2566 (real_mode_mem): Likewise.
2567 (real_mode_target): Likewise.
2568 (real_mode_pages): Likewise.
2569 (prot_mode_pages): Likewise.
2570 (linux_params): New var.
2571 (linux_cmdline): Likewise.
2572 (free_pages): Don't set real mode variables.
2573 (allocate_pages): Don't allocate real mode memory.
2574 (grub_e820_add_region): Remove the limit.
2575 (grub_linux_boot): Allocate and copy real mode memory.
2576 (grub_linux_unload): Free linux_cmdline.
2577 (grub_cmd_linux): Use temporary storage for parameters.
2578 (grub_cmd_initrd): Likewise.
2579 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2580 (linux_kernel_params): Make it 1K big.
2581
2582 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * Makefile.util.def: Remove -Wno-format.
2585 * grub-core/Makefile.core.def: Likewise.
2586
2587 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * tests/cmp_unit_test.c: Add missing failure message.
2590 * tests/example_unit_test.c: Likewise.
2591 * tests/printf_unit_test.c: Likewise.
2592
2593 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2596 relaxation of protective MBR requirements.
2597
2598 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * configure.ac: Add condition for COND_HOST_XNU.
2601 * Makefile.util.def (10_xnu): New script.
2602 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2603
2604 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2607 objconv bug.
2608
2609 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2612 Binary on other platforms stays identical.
2613
2614 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2617 Apple.
2618
2619 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2622
2623 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2626 rather than defining size_t ourselves to avoid conflict.
2627
2628 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2631 initialisation to avoid __bzero reference.
2632
2633 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2636 version.
2637 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2638 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2639 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2640 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2641 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2642
2643 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2646 * grub-core/kern/misc.c: Likewise.
2647 * grub-core/loader/i386/xnu.c: Likewise.
2648 * include/grub/i386/tsc.h: Likewise.
2649 * include/grub/symbol.h: Likewise.
2650
2651 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2654 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2655 on older compiler.
2656
2657 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2660 Implement Apple flavour.
2661 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2662
2663 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2666 (memmove) [__APPLE__]: Likewise.
2667 (memcpy) [__APPLE__]: Likewise.
2668 (memset) [__APPLE__]: Likewise.
2669 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2670 (memmove) [__APPLE__]: Likewise.
2671 (memcpy) [__APPLE__]: Likewise.
2672 (memset) [__APPLE__]: Likewise.
2673
2674 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2677 dependency discard.
2678
2679 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/normal/main.c (read_config_file): Provide config_file and
2682 config_directory.
2683 * util/grub.d/41_custom.in: Use config_directoy when available.
2684
2685 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2688 (grub_bfs_dir): Likewise.
2689
2690 2012-05-27 Peter Jones <pjones@redhat.com>
2691
2692 The old code gives arguments to a printf function which can't work
2693 correctly, and the compiler complains.
2694
2695 * grub-core/tests/example_functional_test.c (example_test): Add
2696 missing text.
2697 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2698 * include/grub/test.h (grub_test_assert_helper): New declaration.
2699 (grub_test_assert): Use grub_test_assert_helper.
2700
2701 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2704 (exfctest): ... this to avoid overlong filenames.
2705 All users updated.
2706
2707 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 Handle "." and ".." on squashfs.
2710
2711 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2712 Make inode numbers into stack.
2713 (grub_squash_read_symlink): Use stack.
2714 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2715 (make_root_node): Fill stack.
2716 (grub_squash_open): Use stack.
2717
2718 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2721 freeing.
2722
2723 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2726 stderr on test calls.
2727
2728 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2731
2732 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2735
2736 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2739 "..".
2740
2741 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2744 (grub_hfsplus_iterate_dir): Add "." and "..".
2745
2746 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2749 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2750
2751 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2754 (find_path): Handle "." and "..".
2755
2756 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2759 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2760 (grub_affs_iterate_dir): Handle hardlinks.
2761
2762 2012-05-26 Matthew Garrett <mjg@redhat.com>
2763
2764 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2765 (grub_efi_console_fini): Likewise.
2766 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2767 (grub_video_gop_fill_mode_info): Rename to ...
2768 (grub_video_gop_fill_real_mode_info): ... this.
2769 (grub_video_gop_fill_mode_info): New function.
2770 (grub_video_gop_setup): Setup double framebuffer.
2771 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2772 Free offscreen.
2773 (grub_video_gop_swap_buffers): Copy framebuffer.
2774 (grub_video_gop_fini): Free offscreen buffer.
2775 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2776 New enum.
2777 (grub_efi_gop_blt_pixel): New struct.
2778
2779 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * gentpl.py: Remove error disabling for objconv.
2782
2783 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * configure.ac: Remove -Wunitialized as it's not available on older
2786 compilers.
2787
2788 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 Fix extent overflow comparator.
2791
2792 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2793 (grub_hfsplus_read_block): Set type.
2794 (grub_hfsplus_cmp_extkey): Compare type.
2795
2796 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2799
2800 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2803 than 0.
2804
2805 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2808 (dejavu_bold_14.pf2): New target.
2809
2810 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * configure.ac: Fix djvu font detection.
2813
2814 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2817 ext* instead of ext2.
2818
2819 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2822 name with \0.
2823
2824 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2825
2826 * docs/grub-dev.texi: Remove dot from .png.
2827
2828 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2831 protective entry in any slot.
2832 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2833 if protective entry is found in any slot.
2834
2835 Protective entry in non-first slot make no sense but is a widespread
2836 brain damage.
2837
2838 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2841
2842 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
2845 with old reiserfs.
2846 (grub_reiserfs_open): Don't free root.
2847
2848 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
2851 after freeing for safety.
2852
2853 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
2856 Reported by: Jordan Uggla.
2857
2858 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
2859
2860 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
2861 actual implementation. Specifically, clarify that the grub menu will
2862 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
2863 passed.
2864
2865 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
2866
2867 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
2868 of r0.
2869
2870 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 Remove unjustified hard dependency of normal.mod on gfxterm.
2873
2874 * include/grub/term.h (grub_term_output): New member fullscreen.
2875 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
2876 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
2877 (grub_gfxterm): Set .fullscreen.
2878 * grub-core/normal/menu.c (menu_init): Use fullscreen.
2879 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2880
2881 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
2884 mentioning possible problems with non-ASCII (non-compliant) ISOs.
2885 Mention case-insensitive AFFS, SFS and JFS.
2886
2887 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2890
2891 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2894 a bad FS.
2895
2896 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
2899 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2900
2901 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
2904 (grub_jfs_mount): Fill caseins.
2905 (grub_jfs_find_file): Respect caseins.
2906
2907 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
2910 through UTF-16.
2911
2912 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2915 New argument origpath. All users updated.
2916
2917 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2920 (read_attr): Ensure that we read start of possibly compressed block.
2921
2922 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2925 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2926 All users updated.
2927
2928 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2931 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2932 (dejavu.pf2): Replace with ...
2933 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2934 this.
2935
2936 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * util/grub.d/20_linux_xen.in: Add missing line.
2939
2940 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2943 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2944 (grub_utf16_to_utf8): Likewise.
2945
2946 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2949 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2950 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2951 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2953 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2954
2955 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2958 a bad FS.
2959
2960 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2963 (grub_udf_read_symlink): Handle read_string failure.
2964
2965 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2968 comment.
2969
2970 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Fix handling of UDF symlinks.
2973
2974 * grub-core/fs/udf.c (read_string): New argument outbuf.
2975 All users updated.
2976 (grub_ufs_read_symlink): Rename to ...
2977 (grub_udf_read_symlink): ... this. All users updated.
2978 Handle symlinks with more than one component.
2979
2980 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2983 symlinks. Replace leading colon with a slash.
2984
2985 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2988 filename.
2989
2990 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2993 match in inner node.
2994
2995 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2998 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2999 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3000 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3001 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3002 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3003 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3004 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3005 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3006
3007 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 Use grub-probe and not cmp to check that disk is empty.
3010
3011 * util/grub-install.in: Use grub-probe for zero-check.
3012 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3013 (probe): Handle PRINT_ZERO_CHECK.
3014 (argp_parser): Handle -t zero_check.
3015
3016 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 Flush block cache on adding disk to device map.
3019
3020 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3021 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3022 adding.
3023 (read_device_map): Likewise.
3024 (open_device): Flush on opening.
3025
3026 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3029 (handle_symlink): Fix off-by-one error.
3030 Canonicalize the target.
3031 (grub_cpio_dir): Canonicalize the name.
3032 Fix memory leak.
3033 Set directory.
3034 (grub_cpio_open): Canonicalize the name.
3035
3036 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3039 handling.
3040
3041 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3044 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3045
3046 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3049 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3050 All users updated.
3051
3052 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3055 counterpart.
3056
3057 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Fix UFS1 big file support.
3060
3061 * grub-core/fs/ufs.c (INODE): Removed.
3062 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3063 64-bit.
3064 (INODE_MODE): Simplify.
3065 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3066 (grub_ufs_lookup_symlink): Don't use INODE.
3067
3068 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3071
3072 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3073 (grub_minix_data): Replace log_block_size with block_size.
3074 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3075 (grub_minix_mount): Fill block_size.
3076
3077 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * configure.ac: Bump to beta5.
3080
3081 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 Fix wrapped HFS+ handling.
3084
3085 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3086 blocks_start. All users updated.
3087 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3088 wrapping offset.
3089 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3090
3091 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 Fix long symlinks on reiserfs.
3094
3095 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3096 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3097 (grub_reiserfs_iterate_dir): Save size for non-directories.
3098 (grub_reiserfs_open): Don't reread stat block as we already know the
3099 size.
3100 (grub_reiserfs_read): Split into...
3101 (grub_reiserfs_read_real): ... and ...
3102 (grub_reiserfs_read): ...this.
3103
3104 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 Fix non-indexed JFS.
3107
3108 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3109 (grub_jfs_data): New field namecomponentlen.
3110 (grub_jfs_mount): Fill namecomponentlen.
3111 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3112
3113 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3116 * tests/grub_script_echo1.in: Add tests.
3117
3118 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * util/grub-install.in: Ignore empty devicetree directory.
3121
3122 2012-05-08 Bean <bean123ch@gmail.com>
3123
3124 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3125 All users updated.
3126 (free_rsm): Free header as well.
3127 (free_old_fragments): Fix memory leak.
3128 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3129 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3130 (destroy_pq): Likewise.
3131 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3132
3133 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3136 resulting hash as a precaution.
3137
3138 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3141 '_' in variable names.
3142 * grub-core/net/net.c (grub_net_network_level_interface_register):
3143 Likewise.
3144
3145 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Fix AFFS with non-512B blocks.
3148
3149 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3150 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3151 (grub_affs_data): Replace blocksize with log_blocksize.
3152 (grub_affs_read_block): Fix non-512B blocks.
3153 (grub_affs_read_symlink): Likewise.
3154 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3155 (grub_affs_read): Fix non-512B blocks.
3156 (grub_affs_label): Likewise.
3157 (grub_affs_mtime): Likewise.
3158 (grub_affs_mount): Fix block detection routine.
3159
3160 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Add filesystem mtime to AFFS.
3163
3164 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3165 (aftime2ctime): New function.
3166 (grub_affs_dir): Use aftime2ctime.
3167 (grub_affs_label): Fix return value.
3168 (grub_affs_mtime): New function.
3169 (grub_affs_fs): Add mtime.
3170
3171 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3174 UTF-8.
3175
3176 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3179 UTF-8.
3180
3181 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3184
3185 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3188 flags.
3189 (FLAGS_CASE_SENSITIVE): New enum value.
3190 (cache_entry): New struct.
3191 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3192 cache_size and cache.
3193 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3194 Add log_blocksize and fshelp_flags.
3195 (grub_sfs_read_extent): Handle non-512 blocks.
3196 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3197 (grub_sfs_read_file): Handle non-512 blocks.
3198 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3199 fshelp_flags.
3200 (grub_sfs_read_symlink): Handle non-512 blocks.
3201 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3202 (grub_sfs_dir): Free cache.
3203 (grub_sfs_close): Likewise.
3204
3205 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3208 filesystems.
3209
3210 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3213
3214 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3217
3218 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3221 (grub_sfs_read_extent): Likewise.
3222 (grub_sfs_read_block): Likewise.
3223 (grub_sfs_mount): Likewise.
3224 (grub_sfs_iterate_dir): Likewise.
3225 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3226 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3227
3228 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 Fix errors on compressed NTFS with 512B clusters.
3231
3232 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3233 types.
3234 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3235 not 0.
3236 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3237 Relax check for inline extents.
3238 (ntfscomp): Return correct -1 on error and not 0.
3239
3240 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * util/grub-install.in: Fix handling of prefix containing spaces.
3243
3244 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3247 (grub_squash_read_data): Fix offset byte-swapping.
3248
3249 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3252 per common usage and preffered in several parts of code.
3253 (grub_memcmp): Likewise.
3254 (grub_strncmp): Likewise.
3255 * include/grub/misc.h (grub_strcasecmp): Likewise.
3256 (grub_strncasecmp): Likewise.
3257 * Makefile.util.def (cmp_test): New test.
3258 (grub_script_strcmp): Likewise.
3259 * tests/cmp_unit_test.c: New file.
3260 * tests/grub_script_strcmp.in: Likewise.
3261 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3262
3263 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * include/grub/pci.h: Move enums into no-asm part.
3266
3267 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3270
3271 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3272
3273 * util/getroot.c (find_hurd_root_device): Try to make error message
3274 and comments to translators clearer.
3275
3276 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3279
3280 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3283 btrfs.
3284
3285 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * docs/grub.cfg: Update.
3288
3289 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * docs/grub.texi (PXE): Remove not present variables.
3292
3293 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/net/net.c (defserver_set_env): New function.
3296 (defserver_get_env): Likewise.
3297 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3298
3299 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3302 entries.
3303
3304 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3307 * grub-core/kern/emu/hostdisk.c: Likewise.
3308
3309 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3310
3311 Handle hurd userspace partitions.
3312
3313 * util/getroot.c (find_hurd_root_device): New function.
3314 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3315
3316 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3319 names.
3320 Reported by: Bastian Blank.
3321
3322 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3325 crossing page boundary.
3326
3327 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 Fix B-tree search in BFS, especially in presence of non-ASCII
3330 characters.
3331
3332 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3333 (find_in_b_tree): Use standard bsearch + btree algorithm.
3334
3335 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3338 and so on.
3339
3340 2012-05-03 Matthew Garrett <mjg@redhat.com>
3341 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Suspend broadcom cards in order to stop their DMA.
3344
3345 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3346 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3347 (pci): Don't build on x86 EFI.
3348 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3349 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3350 New function.
3351 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3352 stop_broadcom if running on EFI.
3353 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3354 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3355 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3356 (grub_pci_find_capability): New proto.
3357
3358 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * docs/grub.texi: Remove dot from the extension as it apparently
3361 doesn't work with some makeinfo versions.
3362
3363 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3366 with GRUB expectance.
3367
3368 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3371
3372 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3375 zero after directory block since last entry may be not 0-terminated if
3376 it ends on block boundary. Use continue instead of if spanning whole
3377 loop.
3378
3379 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 Support 4K sectors UDF inline files.
3382
3383 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3384 (grub_udf_extended_file_entry): Likewise.
3385 (grub_fshelp_node): Name the anonymous union. Put block at the end.
3386 All users updated.
3387 (get_fshelp_size): New function.
3388 (grub_udf_read_icb): Read whole block.
3389 (grub_udf_iterate_dir): Likewise.
3390 (grub_udf_dir): Likewise.
3391 (grub_udf_open): Likewise.
3392
3393 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
3396
3397 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
3400 inline symlinks in addition to workaround.
3401
3402 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
3405
3406 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
3409
3410 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
3413
3414 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Fix reiserfs big seek times.
3417
3418 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
3419 exact. All users updated.
3420 (grub_reiserfs_read): Use nearest btree search for seeking.
3421 Fix return value on error.
3422
3423 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
3426 entries.
3427 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
3428 * docs/grub.texi: Update menuentry description.
3429
3430 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
3433 crash when embedding onto filesystem.
3434
3435 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
3438 name.
3439
3440 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
3443
3444 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
3447 commit.
3448
3449 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3450 2012-05-01 Bean <bean123ch@gmail.com>
3451
3452 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
3453
3454 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
3457 Special behaviour for len = 0 to read whole file isn't used anywhere and
3458 can cause buffer ovewrflows in several places.
3459
3460 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
3463
3464 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 Handle RAIDZ on non-512B sectors.
3467
3468 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
3469 max_children_ashift.
3470 (fill_vdev_info_real): Fill max_children_ashift.
3471 (read_device): Use max_children_ashift.
3472
3473 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
3476
3477 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
3480 disk names.
3481 * docs/grub.texi: Update device.map parts.
3482
3483 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Don't scan into non-diskfilter devices having diskfilter names.
3486
3487 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3488 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3489 handling.
3490 (scan_disk_hook): New function.
3491
3492 2012-04-29 Bean <bean123ch@gmail.com>
3493
3494 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3495 allocation.
3496
3497 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
3498
3499 * configure.ac: Detect starfield theme font path
3500 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
3501
3502 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
3505 geometry on serial consoles.
3506
3507 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
3510 because of network consoles.
3511
3512 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
3515 handling.
3516
3517 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
3520 falls on Q syndrom.
3521
3522 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
3525 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
3526
3527 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
3530 Allocate at lest 8192 for temporary buffer as required for lzo.
3531
3532 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
3535 to cluster_bits, since it's already added in.
3536 (grub_fat_read_data): Likewise.
3537
3538 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
3541 as long as cluster size is multiple of 512 bytes.
3542
3543 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * util/grub-mkrescue.in: Fix locale directory.
3546
3547 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/kern/emu/hostdisk.c (map): Make static.
3550
3551 2012-04-23 Bean <bean123ch@gmail.com>
3552
3553 * util/grub-fstest.c (fstest): Add missing break.
3554
3555 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3556
3557 Fix hurd build.
3558
3559 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3560 not define nr variable.
3561 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3562 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3563 grub_find_device): Do not define.
3564
3565 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Fix kfreebsd compile and behaviour.
3568
3569 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3570 format-security.
3571 * util/getroot.c: Fix wait.h include.
3572 (grub_guess_root_devices): Error if grub_find_device fails.
3573 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3574 (grub_util_get_dev_abstraction): Likewise.
3575 (grub_util_pull_device): Likewise.
3576 (grub_util_get_grub_dev): Likewise.
3577 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3578
3579 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Fix and unify wholedisk detection.
3582
3583 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3584 is_part. All users updated.
3585 (device_is_wholedisk): Removed.
3586 (grub_util_biosdisk_get_grub_dev): Use is_part.
3587
3588 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3591 mode.
3592
3593 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * configure.ac: Bump to beta4.
3596
3597 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3600 --fs-uuid --set UUID syntax.
3601
3602 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3605 disunification.
3606
3607 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3610
3611 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
3612
3613 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3614
3615 2012-04-18 Mike Gilbert <floppym@gentoo.org>
3616
3617 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3618
3619 2012-04-18 Bean <bean123ch@gmail.com>
3620
3621 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3622 place.
3623
3624 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3627 users updated.
3628 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3629 corresponding to GRUB partitions.
3630 (grub_util_biosdisk_write): Likewise.
3631
3632 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Scan mdraid before LVM.
3635
3636 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3637 (grub_diskfilter_register_front): ... this.
3638 (grub_diskfilter_register_back): New function.
3639 All users of grub_diskfilter_register updated.
3640
3641 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * util/grub-install.in: Fix an automatic target detection bug.
3644
3645 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * util/grub-install.in: New option --efi-directory.
3648
3649 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3652 boot services if we have no other choice.
3653
3654 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3657 document it.
3658 * tests/util/grub-shell.in: Update to --directory.
3659
3660 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3663
3664 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3667 (grub_minix_read_file): Likewise.
3668 (grub_minix_read_inode): Likewise.
3669 (grub_minix_find_file): Likewise.
3670 (grub_minix_dir): Likewise.
3671
3672 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * util/grub-setup.c (setup): Fix partition handling and blocklist
3675 check.
3676
3677 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3680 redundant buggy overlap check.
3681
3682 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3685 and grub-mknetdir.
3686
3687 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3690 kh.loadflags on pre-2.00 kernels.
3691
3692 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Terminate UNDI and PXE before launching the payload to avoid problems
3695 with DMA.
3696
3697 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3698 (grub_loader_flags): ... this. All users updated.
3699 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3700 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3701 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3702 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3703 function.
3704 (grub_pxe_restore): Likewise.
3705 (fini_hnd): New var.
3706 (GRUB_MOD_INIT): Register shutdown hook.
3707 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3708 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3709 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3710 (grub_loader_set): Rename second argument to flags.
3711
3712 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3715 written bytes.
3716 (grub_get_num_of_utf8_bytes): New function.
3717 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3718 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3719 executing it.
3720 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3721 (grub_ucs4_to_utf8): Change return type.
3722
3723 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3726 warning.
3727 * grub-core/fs/bfs.c (hop_level): Likewise.
3728 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
3729
3730 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/lib/adler32.c: Recode due to license unclearness.
3733
3734 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3737 (test_header): Likewise.
3738
3739 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Fix --help formatting.
3742
3743 * util/grub-mkconfig_lib.in (print_option_help): New function.
3744 (grub_fmt): Likewise.
3745 * util/grub-install.in: Use print_option_help and grub_fmt.
3746 * util/grub-kbdcomp.in: Likewise.
3747 * util/grub-mkconfig.in: Likewise.
3748 * util/grub-mknetdir.in: Likewise.
3749 * util/grub-mkrescue.in: Likewise.
3750 * util/grub-mkstandalone.in: Likewise.
3751 * util/grub-reboot.in: Likewise.
3752 * util/grub-set-default.in: Likewise.
3753 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3754
3755 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * linguas.sh: Remove autogenerated *.po.
3758
3759 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * po/README: Move language fetcing to ...
3762 * linguas.sh: ... here.
3763 * po/README: Point to linguas.sh.
3764
3765 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * po/README: Exclude ko.po due to disclaimer problems.
3768
3769 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3772 len = 0.
3773 (grub_gettext_translate_real): Handle 0th string.
3774 (grub_gettext_translate): Ensure that "" isn't translated.
3775
3776 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3779 TRANSLATORS comment.
3780 (grub_diskfilter_print_partmap): Propagate changing of error into
3781 warning.
3782
3783 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3786 to uint64_t to prevent overflow.
3787 (grub_diskfilter_lv): Increase start_extent and extent_count
3788 to uint64_t to prevent overflow.
3789
3790 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * configure.ac: Increase version.
3793
3794 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3797
3798 * po/Rules-translit: New file.
3799 * po/arabic.sed: Likewise.
3800 * po/cyrillic.sed: Likewise.
3801 * po/greek.sed: Likewise.
3802 * po/hebrew.sed: Likewise.
3803 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3804 * po/Makefile.in.in: Add extra_dist4.
3805
3806 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3809
3810 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3811 modify names. Introduce MODE_BIGENDIAN.
3812 * grub-core/fs/minix_be.c: New file.
3813 * grub-core/fs/minix2_be.c: Likewise
3814 * grub-core/fs/minix3_be.c: Likewise.
3815 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3816 minix3_be.
3817 * grub-core/Makefile.core.def (minix_be): New module.
3818 (minix2_be): Likewise.
3819 (minix3_be): Likewise.
3820
3821 2012-04-01 Felix <email@hamburg.de>
3822
3823 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3824 (devs): Add MBP 2011.
3825
3826 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3829
3830 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/normal/cmdline.c (print_completion): New field
3833 prompt_len.
3834 (grub_cmdline_get): Handle width properly.
3835
3836 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3839
3840 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
3843 after 29th of February.
3844
3845 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 Fix exfat endianness handling.
3848
3849 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
3850 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
3851 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
3852 Byte-swap utf16 when necessary.
3853 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
3854
3855 2012-03-31 Anton Blanchard <anton@samba.org>
3856 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Fix btrfs endianness handling.
3859
3860 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
3861 (lower_bound): Make root uint64_t. Use root in le.
3862 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
3863 (find_path): Fix template key init.
3864 (grub_btrfs_dir): Fix mtime byteswap.
3865 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
3866
3867 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
3870 recursion_depth. Break infinite resursions. All users updated.
3871
3872 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
3875 after free.
3876 Reported by: Peter Jones.
3877
3878 2012-03-31 Anton Blanchard <anton@samba.org>
3879
3880 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
3881 8 bit values.
3882
3883 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * util/grub-install.in: Fix nvram call for PreP.
3886
3887 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
3890 the error when some elements are missing into a warning.
3891
3892 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
3895
3896 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
3897
3898 * docs/grub.texi (Invoking grub-probe): New section.
3899 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
3900
3901 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 Fix tab and wide character handling in editor and menu.
3904
3905 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
3906 agglomerate control characters with combining marks.
3907 (bidi_line_wrap): Allow break on tab.
3908 (grub_unicode_get_comb_start): New function.
3909 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
3910 and tab correctly.
3911 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
3912 with a space.
3913 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3914 fixed_tab_size. All users updated.
3915 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3916 (grub_term_getcharwidth): Handle \t.
3917 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3918 and copy.
3919
3920 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 Handle big-endian mdraid.
3923
3924 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3925 * grub-core/Makefile.core.def (mdraid09_be): New module.
3926 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3927 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3928 * grub-core/disk/mdraid_linux_be.c: New file.
3929
3930 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3933
3934 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3937 missing quotes which caused confusion among translators.
3938
3939 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * util/grub-mkconfig_lib.in: Fix typo.
3942
3943 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3946 spaces.
3947 * tests/grub_script_leading_whitespace.in: New file.
3948 * Makefile.util.def (grub_script_leading_whitespace): New test.
3949
3950 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3953 to work.
3954
3955 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3958 starts with control character.
3959
3960 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3963 overflow.
3964 (grub_gdb_outbuf): Likewise.
3965
3966 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3969 zero terminator. Fixes a crash.
3970
3971 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3974 beyond 4 GiB.
3975 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3976 images independently of preffered adderss field.
3977
3978 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3981 * grub-core/commands/regexp.c: Likewise.
3982 * grub-core/loader/i386/linux.c: Likewise.
3983 * grub-core/partmap/msdos.c: Likewise.
3984 * grub-core/script/execute.c: Likewise.
3985 * grub-core/term/gfxterm.c: Likewise.
3986
3987 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Add variable parsing in $"..." and fix several mismatches with bash.
3990
3991 * Makefile.util.def (grub_script_gettext): New test.
3992 * grub-core/script/execute.c (parse_string): New function.
3993 (gettext_append): Likewise.
3994 (grub_script_arglist_to_argv): Use gettext_append.
3995 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3996 * tests/grub_script_gettext.in: New file.
3997
3998 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Fix handling of leading spaces in scripts.
4001
4002 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4003 spaces.
4004 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4005 other than skipping \r. All users updated.
4006 * tests/grub_script_echo1.in: Add space-related tests.
4007 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4008
4009 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4012
4013 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * configure.ac: Bump up the version to beta2.
4016
4017 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 Fix gettext reload bugs (e.g. inability to disable gettext
4020 once enabled).
4021
4022 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4023 main_context and secondary_context. All functions updated.
4024 (grub_gettext_translate): Rename to ...
4025 (grub_gettext_translate_real): ... this. Return NULL on failed
4026 translate.
4027 (grub_gettext_translate): Handle secondary context.
4028 (grub_gettext_delete_list): Close file and zero-out the context.
4029 (grub_mofile_open): Don't call grub_gettext_delete_list.
4030 Don't close file.
4031 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4032 if locale="" to avoid pointless error message.
4033 (grub_gettext_env_write_lang): Update lang even if load fails.
4034 Handle secondary context.
4035 (grub_gettext_reread_prefix): New function.
4036 (read_main): Likewise.
4037 (read_secondary): Likewise.
4038 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4039 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4040 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4041 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4042
4043 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * configure.ac: Decrease warning level to avoid spurious warnings and
4046 to be able to compile with GCC 4.2.
4047 * Makefile.util.def: Remove -Wno-error=logical-op.
4048
4049 2012-03-10 William Bittner <william.bittner@gmail.com>
4050
4051 * util/import_unicode.py: Add missing brackets around string for
4052 python 3 support.
4053
4054 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 Fix efi chainloader on network root.
4057
4058 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4059 network devices.
4060 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4061 New function.
4062
4063 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4066 unused show_text member.
4067 * docs/grub.texi: Document "text" property.
4068
4069 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4072 in dprintf.
4073
4074 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 Fix IMSM handling on Fedora.
4077
4078 * util/getroot.c (grub_util_is_imsm): New function.
4079 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4080
4081 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * Makefile.am: Strip gold section.
4084 * conf/Makefile.common: Likewise.
4085 * gentpl.py: Likewise.
4086 * grub-core/Makefile.core.def: Likewise.
4087 * grub-core/genmod.sh.in: Likewise.
4088
4089 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4092 * util/grub.d/20_linux_xen.in: Likewise.
4093 Based on Debian patch.
4094
4095 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * util/grub.d/10_linux.in: Fix syntax error resulting in
4098 Richard Laager's patch.
4099 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4100
4101 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4104 dependencies.
4105
4106 2012-03-10 Richard Laager <rlaager@wiktel.com>
4107
4108 * util/grub.d/10_linux.in: Fix ZFS root passing.
4109
4110 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4113 * grub-core/commands/xnu_uuid.c: Likewise.
4114 * grub-core/loader/efi/appleloader.c: Likewise.
4115 * grub-core/script/execute.c: Likewise.
4116 * grub-core/script/main.c: Likewise.
4117 * util/grub-mkfont.c: Likewise.
4118
4119 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * util/grub-mkfont.c (options): Use more appropriate "select" that
4122 "set" for face index.
4123
4124 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * util/grub-editenv.c (options): Gettextize command summaries.
4127
4128 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4131 "out of memory" error messagge.
4132
4133 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4136 of diskfilter for diskfilter on diskfilter support.
4137
4138 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4141
4142 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4145 themes/starfield.
4146
4147 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4150
4151 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4154
4155 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4158 of error message.
4159
4160 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4163
4164 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4167 message.
4168 * util/grub-install.in: Fix and gettextize error message.
4169
4170 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4173 Gettextize.
4174 * util/grub-mount.c (options): Likewise.
4175
4176 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4179 gettextize.
4180 * grub-core/commands/search_wrap.c (options): Likewise.
4181
4182 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4185
4186 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4189 size calculation.
4190 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4191 none is known.
4192
4193 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4196 "temporary" since it's used in identifier and is limited in space.
4197
4198 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * po/POTFILES.in: Regenerate. Include *.h since they contain
4201 translatable strings as well.
4202
4203 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4206 byte-swap on big-endian.
4207 Reported by: Lennart Sorensen
4208
4209 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4212 (allocate_pages): Improve dprintf.
4213 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4214 code32_start. Fill code32_start and kernel_alignment in params.
4215 (grub_cmd_initrd): Use prot_init_space.
4216
4217 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4220
4221 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * util/grub-install.in: Add missing dot at the end of sentence.
4224
4225 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4228 * grub-core/commands/videotest.c: Likewise.
4229 * grub-core/loader/i386/linux.c: Likewise.
4230
4231 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4234 sentence.
4235 Reported by: Milo Casagrande.
4236
4237 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4240 * grub-core/commands/gptsync.c: Likewise.
4241 * grub-core/commands/hashsum.c: Likewise.
4242 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4243 * grub-core/commands/legacycfg.c: Likewise.
4244 * grub-core/io/gzio.c: Likewise.
4245 * grub-core/net/net.c: Likewise.
4246 * grub-core/term/gfxterm.c: Likewise.
4247 * grub-core/term/terminfo.c: Likewise.
4248 * grub-core/tests/test_blockarg.c: Likewise.
4249 * grub-core/video/video.c: Likewise.
4250 * util/grub-install.in: Likewise.
4251 * util/grub-mkfont.c: Likewise.
4252
4253 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4256
4257 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/commands/search_wrap.c (options): Fix a typo.
4260 Reported by: David Prévot.
4261
4262 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4265 description.
4266
4267 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * util/grub-script-check.c (main): Fix a syntax error message which was
4270 unclear.
4271
4272 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4275
4276 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4279 messages.
4280
4281 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4284 without argument.
4285 * util/grub-mount.c (options): Likewise.
4286
4287 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4290
4291 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/net/http.c: Add TRANSLATORS comments.
4294 * grub-core/normal/cmdline.c: Likewise.
4295 * grub-core/normal/misc.c: Likewise.
4296 * grub-core/partmap/msdos.c: Likewise.
4297 * grub-core/parttool/msdospart.c: Likewise.
4298 * grub-core/script/execute.c: Likewise.
4299 * grub-core/script/main.c: Likewise.
4300 * grub-core/term/terminfo.c: Likewise.
4301 * grub-core/video/bitmap.c: Likewise.
4302 * util/grub-install.in: Likewise.
4303 * util/grub-mkimage.c: Likewise.
4304 * util/grub-mklayout.c: Likewise.
4305 * util/grub-setup.c: Likewise.
4306
4307 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4310 with similar messages in grub-fstest.
4311
4312 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * util/grub-install.in: Unify "option requires an argument" message
4315 with similar messages in other files.
4316 * util/grub-mkconfig.in: Likewise.
4317
4318 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * util/grub-set-default.in: Replace printf with gettext_printf (the
4321 string in in question is already translated from grub-reboot)
4322
4323 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * configure.ac: Bump up the version to beta1.
4326
4327 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4330 case when min_align = 0.
4331
4332 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4335 and fix a case when line_start overflows.
4336
4337 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * util/grub-reboot.in (usage): Mention id posibility.
4340 * util/grub-set-default.in (usage): Likewise.
4341
4342 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4345 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4346 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4347 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4348 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4349 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4350 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4351
4352 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/commands/menuentry.c (options): Remove
4355 GRUB_ARG_OPTION_REPEATABLE.
4356 Reported by: Andreas Vogel
4357
4358 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4359
4360 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4361
4362 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4363
4364 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4365 error.
4366
4367 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 Use sort -V by the idea of Georgi Georgiev.
4370
4371 * util/grub-mkconfig_lib.in (version_sort): New function.
4372 (version_test_numeric): Use version_sort.
4373
4374 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 Use submenus in grub-mkconfig.
4377
4378 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4379 * util/grub-mkconfig_lib.in (grub_quote): New function.
4380 (gettext_printf): Use gettext and not gettext_quoted to fix several
4381 messages.
4382 * util/grub.d/10_hurd.in: Use submenus.
4383 * util/grub.d/10_kfreebsd.in: Likewise.
4384 * util/grub.d/10_linux.in: Likewise.
4385 * util/grub.d/10_netbsd.in: Likewise.
4386 * util/grub.d/20_linux_xen.in: Likewise.
4387 * util/grub.d/30_os-prober.in: Likewise.
4388 * util/grub.d/10_illumos.in: Add missing quoting.
4389 * util/grub.d/10_windows.in: Likewise.
4390
4391 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Fix menu title instability bug.
4394
4395 * grub-core/commands/menuentry.c (options): New option --id.
4396 (grub_normal_add_menu_entry): New argument id. All users updated.
4397 (grub_cmd_menuentry): Handle --id.
4398 (grub_menu_init): Accept unknown arguments.
4399 * grub-core/normal/main.c (features): Add feature_menuentry_id and
4400 feature_menuentry_options.
4401 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
4402 saved_entry.
4403 (get_entry_number): Match with id as well.
4404 * include/grub/menu.h (grub_menu_entry): New member id.
4405 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
4406 * util/grub.d/00_header.in: Define menuentry_id_option.
4407 * util/grub.d/10_hurd.in: Define id.
4408 * util/grub.d/10_illumos.in: Likewise.
4409 * util/grub.d/10_kfreebsd.in: Likewise.
4410 * util/grub.d/10_linux.in: Likewise.
4411 * util/grub.d/10_netbsd.in: Likewise.
4412 * util/grub.d/10_windows.in: Likewise.
4413 * util/grub.d/20_linux_xen.in: Likewise.
4414 * util/grub.d/30_os-prober.in: Likewise.
4415
4416 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
4419 "scope" with "body".
4420
4421 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
4424 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
4425 prot_size and prot_file_size.
4426
4427 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
4430 All users updated. If easily=1 require raid-5/-6 to be full.
4431 (is_node_readable): Likewise.
4432 (scan_devices): Scan incomplete but readable LVs at the end.
4433 (grub_diskfilter_memberlist): Pull missing devices.
4434 (insert_array): Skip scanning until device is complete or scan is
4435 done otherwise.
4436 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
4437 check.
4438 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
4439 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
4440
4441 2012-03-03 Matthew Garrett <mjg@redhat.com>
4442 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Avoid EFI boot services when loading Linux.
4445
4446 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
4447 avoid_efi_bootservices. All users updated.
4448 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
4449 argument avoid_efi_bootservices. All users updated.
4450 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
4451 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
4452 align, min_align, relocatable, prefered_address. All users updated.
4453 Allocate avoiding boot services if kernel is relocatable.
4454 (grub_cmd_linux): Check if kernel is relocatable.
4455 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
4456 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
4457 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
4458 avoid_efi_boot_services.
4459 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
4460 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
4461 (linux_kernel_params): Likewise.
4462
4463 2012-03-03 Matthew Garrett <mjg@redhat.com>
4464 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 Use EDID on EFI.
4467
4468 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
4469 datasize_out.
4470 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
4471 modes. Set gop_handle.
4472 (grub_video_gop_get_edid): New function.
4473 (grub_gop_get_preferred_mode): Likewise.
4474 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
4475 (grub_video_efi_gop_adapter): Set .get_edid.
4476 * include/grub/efi/edid.h: New file.
4477 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
4478
4479 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * util/grub-install.in: Load efivars unconditionally.
4482
4483 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * po/Rules-piglatin: Change suffix from .po-update-en to
4486 .po-update-en-piglatin.
4487
4488 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 Add a pig farm.
4491
4492 * po/piglatin.sed: New file.
4493 * po/en@piglatin.header: Likewise.
4494 * po/Rules-piglatin: Likewise.
4495 * po/README: Add en@piglatin to autogenerated languages.
4496
4497 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
4500 "Command for ...".
4501 * grub-core/commands/hdparm.c (options): Use "Display" rather than
4502 "Check" since we don't check anything.
4503 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
4504 is 64-bit one.
4505 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
4506 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
4507 (grub_md_sha512_real): Likewise.
4508
4509 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * grub-core/commands/gptsync.c: Fix typographic quoting.
4512 * grub-core/commands/ieee1275/suspend.c: Likewise.
4513 * grub-core/commands/parttool.c: Likewise.
4514 * grub-core/commands/search_wrap.c: Likewise.
4515 * grub-core/commands/videoinfo.c: Likewise.
4516 * grub-core/gfxmenu/gui_label.c: Likewise.
4517 * grub-core/hello/hello.c: Likewise.
4518 * grub-core/kern/emu/main.c: Likewise.
4519 * grub-core/net/net.c: Likewise.
4520 * grub-core/normal/menu.c: Likewise.
4521 * grub-core/normal/menu_text.c: Likewise.
4522 * grub-core/normal/misc.c: Likewise.
4523 * util/grub-editenv.c: Likewise.
4524 * util/grub-install.in: Likewise.
4525 * util/grub-kbdcomp.in: Likewise.
4526 * util/grub-mkconfig.in: Likewise.
4527 * util/grub-mknetdir.in: Likewise.
4528 * util/grub-mkrescue.in: Likewise.
4529 * util/grub-mkstandalone.in: Likewise.
4530 * util/grub-reboot.in: Likewise.
4531 * util/grub-set-default.in: Likewise.
4532 * util/grub-setup.c: Likewise.
4533 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4534
4535 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
4538 * grub-core/commands/keystatus.c: Likewise.
4539 * grub-core/commands/loadenv.c: Likewise.
4540 * grub-core/commands/probe.c: Likewise.
4541 * grub-core/commands/regexp.c: Likewise.
4542 * grub-core/commands/true.c: Likewise.
4543 * grub-core/commands/videoinfo.c: Likewise.
4544 * grub-core/disk/cryptodisk.c: Likewise.
4545 * grub-core/disk/ldm.c: Likewise.
4546 * grub-core/disk/loopback.c: Likewise.
4547 * grub-core/disk/luks.c: Likewise.
4548 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4549 * grub-core/kern/disk.c: Likewise.
4550 * grub-core/kern/emu/hostdisk.c: Likewise.
4551
4552 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4555 * util/grub-install.in: Add missing quote in the comment.
4556
4557 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4560 * grub-core/commands/lsmmap.c: Likewise.
4561 * grub-core/commands/minicmd.c: Likewise.
4562 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4563 * grub-core/commands/regexp.c: Likewise.
4564 * grub-core/gdb/gdb.c: Likewise.
4565 * grub-core/term/gfxterm.c: Likewise.
4566 * util/grub-mkconfig.in: Likewise.
4567 * util/grub-mkfont.c: Likewise.
4568 * util/grub-mklayout.c: Likewise.
4569 * util/grub-mknetdir.in: Likewise.
4570 * util/grub-mkrescue.in: Likewise.
4571 * util/grub.d/30_os-prober.in: Likewise.
4572
4573 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4576 with "Direct color" and "Packed" with "Packed pixel".
4577 (grub_cmd_videoinfo): Simplify legend.
4578
4579 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4582 absolutely unclear error message.
4583
4584 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * util/grub-mkstandalone.in: Remove confusing leftover print.
4587
4588 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4591 comments.
4592 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4593 (GRUB_MOD_INIT): Likewise.
4594 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4595 VGA mode.
4596 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4597 comments.
4598 * util/grub-install.in (usage): Likewise.
4599 Spell ID in whole letters.
4600 Add missing ending dot.
4601 Quote variables.
4602 * util/grub-reboot.in: Fix capitalisation.
4603 * util/grub-set-default.in: Likewise.
4604
4605 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4608 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4609 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4610 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4611 Disable -Werror for -Wdeprecated-declarations.
4612 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4613 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4614 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4615 (grub_util_get_grub_dev): Make luks handling dependent on
4616 HAVE_DEVICE_MAPPER and not __linux__.
4617 (get_win32_path): Fix format security.
4618 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4619 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4620 Don't try grub_find_zpool_from_dir.
4621 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4622 #ifdef-out paresdir.
4623
4624 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/grub-pe2elf.c (usage): Add missing noreturn.
4627 (write_section_data): Rename name to shname to avoid shadowing.
4628 (write_symbol_table): Rename name to symname to avoid shadowing.
4629 Fix write_reloc_section call.
4630
4631 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4634 to ensure that it's after the last byte of .text.
4635
4636 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * util/ieee1275/ofpath.c (my_isdigit): New function.
4639 (trailing_digits): Use my_isdigit.
4640 (strip_trailing_digits): Likewise.
4641
4642 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4645 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4646
4647 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/i386/pc/startup.S: Define __start.
4650
4651 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4654 strip already transforms he format.
4655
4656 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4659
4660 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * util/grub-install.in: Add missing gettext init.
4663 * util/grub-kbdcomp.in: Likewise.
4664 * util/grub-mkconfig.in: Likewise.
4665 * util/grub-mknetdir.in: Likewise.
4666 * util/grub-mkrescue.in: Likewise.
4667 * util/grub-mkstandalone.in: Likewise.
4668 * util/grub-reboot.in: Likewise.
4669 * util/grub-set-default.in: Likewise.
4670 * util/grub.d/00_header.in: Likewise.
4671 * util/grub.d/10_hurd.in: Likewise.
4672 * util/grub.d/10_windows.in: Likewise.
4673 * util/grub.d/30_os-prober.in: Likewise.
4674 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4675
4676 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * po/Rules-swiss: Fix header comment.
4679
4680 2012-02-29 Andreas Vogel <anvoit>
4681
4682 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4683 resulted in leak of arguments.
4684
4685 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4688 reed_solomon_size const definition instead of computing it since
4689 Apple assembler doesn't support the later.
4690
4691 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * gentpl.py (kernel): Rewrite Apple part.
4694
4695 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4698
4699 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4702 ELF section gap.
4703 (load_image): Likewise.
4704
4705 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * configure.ac: Fix a typo in previous commit.
4708
4709 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Don't add -Wl,-N on Apple platform.
4712
4713 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4714 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4715
4716 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/Makefile.core.def (lzma_decompress): Use
4719 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4720
4721 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/genmod.sh.in: Rewrite the Apple part.
4724
4725 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4728 comparison.
4729
4730 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * acinclude.m4 (grub_CHECK_PIC): New test.
4733 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4734
4735 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4738 to avoid the warning.
4739
4740 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4743 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4744 after. All users updated.
4745
4746 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Use the common size routine in hostfs so we can read disks as well.
4749
4750 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4751 (grub_util_get_fd_size): ... this. Return size in bytes.
4752 All users updated.
4753 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4754 grub_util_get_fd_size.
4755
4756 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4759 Add blocksize retrieval.
4760
4761 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * configure.ac: Restore CFLAGS after efiemu check.
4764
4765 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4768 Apple bug.
4769
4770 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4773
4774 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4777 (grub_cmd_halt): Likewise.
4778
4779 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4782 for local arithmetics.
4783 Break %sp init into 2 instructions.
4784 Add 0 byte at the end.
4785
4786 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4789 before loops.
4790
4791 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4794 for context.
4795
4796 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/disk/ldm.c (make_vg): Init part.name.
4799 (grub_ldm_detect): Silence spurious warning.
4800 (grub_util_is_ldm): Likewise.
4801
4802 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4805 sane value to avoid a spurious warning.
4806
4807 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4810 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4811
4812 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4815 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4816
4817 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4820 hardcoding the relevant info.
4821
4822 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4825 missing const qualifiers.
4826 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4827
4828 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * util/getroot.c [__APPLE__]: Add missing includes.
4831 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4832
4833 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4836
4837 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4840 avoid conflicts.
4841
4842 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
4845
4846 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
4849 and grub_file_close call.
4850
4851 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 Add LZSS Mach-O support (needed for new xnu kernelcache).
4854
4855 * grub-core/Makefile.core.def (xnu): Add file lzss.c
4856 * grub-core/loader/lzss.c: New file.
4857 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
4858 on Mach-O open failure.
4859 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
4860 Don't free cmdsXX in uncompressedXX is set.
4861 (grub_macho_file): Init new fields.
4862 New argument is_64bit. All users updated.
4863 Handle compressed. Error out if no suitable architecture is found.
4864 Don't close file.
4865 (grub_macho_open): New argument is_64bit. All users updated.
4866 * grub-core/loader/macho32.c: Add defines for new fields.
4867 * grub-core/loader/macho64.c: Likewise.
4868 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
4869 (grub_macho_parse): Handle compressed.
4870 Defer actual processing if compressed.
4871 (grub_macho_cmds_iterate): Decompress if compressed. New argument
4872 "filename". All users updated.
4873 (grub_macho_size): New argument "filename". All users updated.
4874 (grub_macho_get_entry_point): Likewise.
4875 (grub_macho_load): Handle compressed.
4876 * include/grub/macho.h (grub_macho_lzss_header): New struct.
4877 (GRUB_MACHO_LZSS_OFFSET): New define.
4878 (grub_decompress_lzss): New proto.
4879 * include/grub/machoload.h (grub_macho_file): New fields to handle
4880 compressed.
4881 (grub_macho_contains_macho64): Remove proto.
4882 (grub_macho_contains_macho32): Likewise.
4883 * util/grub.d/30_os-prober.in: Use kernel cache if available.
4884
4885 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
4888
4889 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 Fix make dist.
4892
4893 * Makefile.am (starfield_theme_files): New var.
4894 (starfield_DATA): Use starfield_theme_files.
4895 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
4896 Add bootcheck-related files.
4897 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
4898 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
4899 and font_char_metrics.txt.
4900 * grub-core/Makefile.core.def (kernel): Update extra_dist.
4901 (setjmp): Add lib/ia64/longjmp.S.
4902 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
4903 * po/POTFILES.in: Regenerate.
4904 * po/Rules-swiss: use DISTFILES.common.extra2 and not
4905 DISTFILES.common.extra1.
4906 * util/devicemap.c: Removed.
4907 * grub-core/lib/i386/relocator_backward.S: Likewise.
4908 * util/import_gcry.py: Remove unused files. Add extra_dist for
4909 ChangeLog.
4910
4911 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4914 grub_gettext_delete_list before changing grub_gettext_max to avoid
4915 running out of array bounds.
4916
4917 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4920 grub_vga_text_init/grub_vga_text_fini.
4921
4922 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4925
4926 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * configure.ac: Bump to 2.00~beta0.
4929
4930 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4933 missing initialisation.
4934
4935 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4938
4939 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Support v2 xnu boot arguments.
4942
4943 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4944 New argument fsbfreq_out.
4945 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4946 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4947 be used.
4948 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4949 darwin_version.
4950 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4951 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4952 (grub_xnu_boot_params): Rename to ...
4953 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4954 (grub_xnu_boot_params_v2): New struct.
4955
4956 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4959 zeroing of CRC field before computing CRC.
4960
4961 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4964 Change order of allocations to decrease fragmentation.
4965
4966 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4969
4970 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4971
4972 Use write-combining MTRR to speed up video with buggy BIOSes.
4973
4974 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4975 (cpuid): New define.
4976 (rdmsr): Likewise.
4977 (wrmsr): Likewise.
4978 (mtrr_base): Likewise.
4979 (mtrr_mask): Likewise.
4980 (grub_vbe_enable_mtrr_entry): New function.
4981 (grub_vbe_enable_mtrr): Likewise.
4982 (grub_vbe_disable_mtrr): Likewise.
4983 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4984 control off to BIOS.
4985 (grub_video_vbe_init): Fill mtrr.
4986 (grub_video_vbe_fini): Disable mtrr.
4987 (grub_video_vbe_get_info_and_fini): Likewise.
4988 (grub_video_vbe_setup): Enable mtrr.
4989
4990 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4991
4992 * include/grub/partition.h (grub_partition_map): Change prototype of
4993 embed to take a maximum value for nsectors.
4994 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4995 * include/grub/fs.h (grub_fs): Likewise.
4996 * grub-core/partmap/msdos.c (embed_signatures): New array.
4997 (pc_partition_map_embed): Check for and avoid sectors matching any
4998 of the signatures in embed_signatures, up to max_nsectors.
4999 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5000 returned sector map to max_nsectors.
5001 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5002 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5003 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5004 * util/grub-setup.c (setup): Allow for the embedding area being
5005 split into multiple blocklists. Tell dest_partmap->embed the
5006 maximum number of sectors we care about.
5007
5008 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5011 Specify blocklist_install and reserver_first_sector for all fs.
5012 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5013 blocklists.
5014
5015 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * util/grub-install.in: Clarify strings.
5018 Fix source dir check.
5019
5020 2012-02-27 Richard Laager <rlaager@wiktel.com>
5021
5022 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5023 "zfs" and "fuse.zfs" as synonyms.
5024
5025 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * configure.ac: Put platform and target_cpu substitutions back since
5028 they are used for directories.
5029
5030 2012-02-27 Richard Laager <rlaager@wiktel.com>
5031 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5034 * util/grub.d/20_linux_xen.in: Likewise.
5035
5036 2012-02-27 Richard Laager <rlaager@wiktel.com>
5037
5038 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5039 with full paths.
5040
5041 2012-02-27 Richard Laager <rlaager@wiktel.com>
5042
5043 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5044 unescape.
5045
5046 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Don't use insecure popen in getroot.
5049
5050 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5051 (exec_pipe): ... here.
5052 (find_root_devices_from_poolname): Use exec_pipe.
5053
5054 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 Remove platform and target_cpu replacement.
5057
5058 * configure.ac: Remove platform and target_cpu substitutions.
5059 * tests/util/grub-shell.in: Use modinfo.
5060 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5061 explicitly.
5062
5063 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5064
5065 Autodetect platform in grub-install but allow override.
5066
5067 * util/grub-install.in: Autodetect platform. Support --target and
5068 --directory. Read platform from modinfo.sh.
5069
5070 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Support btrfs multi-volume probe.
5073
5074 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5075 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5076 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5077 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5078 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5079 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5080 grub_find_root_devices_from_btrfs if on btrfs.
5081
5082 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Remove any awareness of *.c util files about target.
5085
5086 * Makefile.util.def (grub-setup): Split to ...
5087 (grub-bios-setup): ... and this.
5088 (grub-sparc64-setup): ... and this.
5089 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5090 * docs/man/grub-setup.h2m: Split into ...
5091 * docs/man/grub-sparc64-setup.h2m: ... this.
5092 * docs/man/grub-bios-setup.h2m: ... and this.
5093 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5094 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5095 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5096 (grub_target_addr_t): Remove.
5097 (grub_target_size_t): Remove.
5098 (grub_target_ssize_t): Remove.
5099 * util/grub-install.in: Use new grub-*-setup.
5100 * util/grub-mkimagexx.c (Elf_Word): New define.
5101 (Elf_Half): Likewise.
5102 (Elf_Section): Likewise.
5103 (ELF_ST_TYPE): Likewise.
5104 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5105 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5106
5107 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 Replace grub_target_addr with more appropriate types.
5110
5111 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5112 grub_target_addr with grub_addr.
5113 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5114 grub_target_addr with grub_port.
5115 (grub_cmd_write): Likewise.
5116 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5117 grub_target_addr with grub_addr.
5118 (grub_cmd_write): Likewise.
5119 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5120
5121 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5124 const qualifier for vendor_guid.
5125
5126 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5129 const qualifier.
5130 (efiemu_memequal): Likewise.
5131 (find_variable): Likewise.
5132
5133 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 Fix missing console prototype on qemu-mips.
5136
5137 * include/grub/mips/qemu_mips/console.h: New file.
5138
5139 2012-02-27 Matthew Garrett <mjg@redhat.com>
5140 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5143 * include/grub/efi/efi.h: Likewise.
5144 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5145 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5146 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5147 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5148 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5149 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5150
5151 2012-02-27 Matthew Garrett <mjg@redhat.com>
5152
5153 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5154
5155 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5158 error.
5159
5160 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * configure.ac: Remove inappropriate use of program_transform_name
5163 on grubdir and bootdir but allow explicit specification of those
5164 variables.
5165
5166 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * util/grub-mknetdir.in (grub_prefix): Removed.
5169 (subdir): Use @bootdirname@ and @grubdirname@.
5170
5171 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5174
5175 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * po/POTFILES.in: Regenerated.
5178
5179 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Remove improper use of program_transform_name on pkglibrootdir.
5182
5183 * configure.ac (pkglibrootdir): Removed.
5184 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5185 * util/grub-mkimage.c: Likewise.
5186
5187 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5190 warning.
5191
5192 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * util/grub-install.in: Use file identifier if no UUID is available
5195 or user explicitly prompted for it.
5196
5197 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
5198
5199 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5200 (freebsd_get_zfs): New function.
5201 (grub_freebsd_boot): Pass zfs UUID.
5202 (grub_cmd_freebsd): Set zfs UUID.
5203
5204 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5207 pkglibrootdir.
5208
5209 2012-02-27 Mike Gilbert <floppym@gentoo.org>
5210
5211 Add configure flag to control libzfs integration.
5212
5213 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5214
5215 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5218 device.
5219 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5220 small devices.
5221
5222 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5225 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5226 be used on non-modules.
5227
5228 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5229 Rename to grub_boot_init.
5230 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5231 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5232 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5233 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5234 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5235 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5236 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5237 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5238 includes.
5239 (grub_machine_init): Remove empty inits.
5240 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5241 includes.
5242 (grub_machine_init): Remove empty inits.
5243 * grub-core/term/arc/console.c: Remove explicit proto.
5244 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5245 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5246 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5247 grub_at_keyboard_fini.
5248 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5249 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5250 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5251 grub_gfxterm_fini.
5252 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5253 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5254 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5255 grub_vgatext_fini.
5256 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5257 * grub-core/term/serial.c (GRUB_MOD_INIT)
5258 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5259 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5260 grub_serial_fini.
5261 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5262 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5263 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5264 grub_terminfo_fini.
5265 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5266 (GRUB_MOD_FINI): Likewise.
5267 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5268 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5269 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5270 grub_video_radeon_fuloong2e_fini.
5271 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5272 [LOONGSON]: Rename to grub_video_sis315pro_init.
5273 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5274 grub_video_sis315pro_fini.
5275 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5276 [LOONGSON]: Rename to grub_video_sm712_init.
5277 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5278 grub_video_sm712_fini.
5279 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5280 (grub_at_keyboard_fini): Likewise.
5281 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5282 Don't declare grub_{modname}_init.
5283 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5284 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5285 New proto.
5286 (grub_keylayouts_fini) [!EMU]: Likewise.
5287 * include/grub/serial.h (grub_serial_init) [!EMU]:
5288 New proto.
5289 (grub_serial_fini) [!EMU]: Likewise.
5290 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5291 New proto.
5292 (grub_terminfo_fini) [!EMU]: Likewise.
5293 * include/grub/video.h (grub_font_init) [!EMU]:
5294 New proto.
5295 (grub_font_fini) [!EMU]: Likewise.
5296 (grub_gfxterm_init) [!EMU]: Likewise.
5297 (grub_gfxterm_fini) [!EMU]: Likewise.
5298 (grub_video_sm712_init) [!EMU]: Likewise.
5299 (grub_video_sm712_fini) [!EMU]: Likewise.
5300 (grub_video_sis315pro_init) [!EMU]: Likewise.
5301 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5302 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5303 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5304
5305 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Make nand a prefix for nand devices.
5308
5309 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5310
5311 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5314 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5315
5316 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * include/grub/env.h (grub_env_find): Remove prototype.
5319 * grub-core/kern/env.c (grub_env_find): Make static.
5320 (grub_env_set): Remove useless set.
5321
5322 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/kern/i386/realmode.S: Remove useless align.
5325
5326 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * include/grub/dl.h (grub_dl_load_file): Don't export.
5329
5330 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5333 grub_dprintf.
5334
5335 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5338 grub_errors.
5339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5340 not reloading whole superblock but only the part which is really needed.
5341 Remove useless grub_errors.
5342 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5343 grub_errors.
5344
5345 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 Don't export grub_get_rtc.
5348
5349 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5350 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5351
5352 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5355
5356 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
5359 argument since it can be deduced from diskfilter. All users updated.
5360
5361 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Remove prio_list.
5364
5365 * include/grub/list.h (grub_prio_list): Removed.
5366 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5367 GRUB_COMMAND_PRIO_MASK.
5368 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5369 GRUB_COMMAND_FLAG_ACTIVE.
5370 (grub_prio_list_insert): Removed.
5371 (grub_prio_list_remove): Likewise.
5372 (GRUB_AS_PRIO_LIST): Likewise.
5373 (GRUB_AS_PRIO_LIST_P): Likewise.
5374 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5375 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5376 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5377 * grub-core/kern/command.c (grub_register_command_prio): Inline
5378 the prio_list code.
5379 (grub_unregister_command): Likewise.
5380
5381 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Fix interrupt mixup from previous commit.
5384
5385 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
5386 (grub_realidt): New var.
5387 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
5388 Load idt.
5389 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
5390 New declaration.
5391 (grub_relocator16_boot): Set grub_relocator16_idt.
5392 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
5393 (LOCAL(realidt)): ... this.
5394 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
5395 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
5396 (grub_realidt): New variable.
5397
5398 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
5401 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
5402 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
5403 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
5404 Gettextize.
5405 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
5406 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
5407 * po/POTFILES.in: Regenerate.
5408
5409 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
5412 errors.
5413
5414 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
5417 \0.
5418 (add_length): Likewise.
5419
5420 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5421 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
5422
5423 GDB serial and backtrace support.
5424
5425 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
5426 (prot_to_real): Likewise.
5427 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
5428 * grub-core/Makefile.core.def (backtrace): New module.
5429 (gdb): Likewise.
5430 * grub-core/gdb/cstub.c: New file.
5431 * grub-core/gdb/gdb.c: Likewise.
5432 * grub-core/gdb/i386/idt.c: Likewise.
5433 * grub-core/gdb/i386/machdep.S: Likewise.
5434 * grub-core/gdb/i386/signal.c: Likewise.
5435 * grub-core/lib/i386/backtrace.c: Likewise.
5436 * grub-core/lib/backtrace.c: Likewise.
5437 * include/grub/backtrace.h: Likewise.
5438 * include/grub/gdb.h: Likewise.
5439 * include/grub/i386/gdb.h: Likewise.
5440
5441 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
5444 New function.
5445 (add_length): Likewise.
5446 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
5447 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
5448 proto.
5449 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
5450 __argp_get_display_len.
5451
5452 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 $"..." support in scripts.
5455
5456 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
5457 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
5458 * grub-core/script/yylex.l: Likewise.
5459 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
5460 value.
5461
5462 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * gentpl.py: Remove obsolete pkglib_DATA handling.
5465
5466 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Don't transform PACKAGE_TARNAME following a discussion on autoconf
5469 mailing list.
5470
5471 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
5472 * util/grub-kbdcomp.in: Likewise.
5473 * util/grub-mkconfig.in: Likewise.
5474 * util/grub-mkconfig_lib.in: Likewise.
5475 * util/grub-mknetdir.in: Likewise.
5476 * util/grub-mkrescue.in: Likewise.
5477 * util/grub-mkstandalone.in: Likewise.
5478 * util/grub-reboot.in: Likewise.
5479 * util/grub-set-default.in: Likewise.
5480 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5481
5482 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Remove GRUB_PREFIX.
5485
5486 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
5487 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5488 used for backward compatibility.
5489
5490 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Add new all_video module.
5493
5494 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5495 * grub-core/Makefile.core.def (all_video): New module.
5496 * grub-core/genmoddep.awk: Generate dependency of all_video from
5497 video.lst.
5498 * grub-core/lib/fake_module.c: New file.
5499 * grub-core/normal/main.c (features): Add feature_all_video_module.
5500 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
5501 don't do explicit search again.
5502 insmod all_video in load_video if available.
5503
5504 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Another round of string clarification and adding TRANSLATORS comments.
5507
5508 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
5511
5512 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
5515 to grub_ssize_t.
5516 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
5517 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
5518
5519 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
5522 trailing newline implicitly. All users updated.
5523
5524 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 Implement serial on IEEE1275 and EFI.
5527
5528 * docs/grub.texi (Platform-specific limitations): Fix the columen video
5529 on emu. Mention arc and emu as the only platforms without serial
5530 support.
5531 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
5532 ieee1275 platforms.
5533 * grub-core/term/efi/serial.c: New file.
5534 * grub-core/term/ieee1275/serial.c: Likewise.
5535 * grub-core/term/serial.c (grub_serial_find): Disable direct port
5536 specification if no ns8250 driver is available.
5537 (grub_cmd_serial): Likewise.
5538 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
5539 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
5540 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
5541 (grub_efi_parity_type_t): New type.
5542 (grub_efi_stop_bits_t): Likewise.
5543 (grub_efi_serial_io_interface): New struct.
5544 * include/grub/serial.h (grub_serial_port): Make 'broken' field
5545 available for all interfaces.
5546 Add EFI and IEEE1275 fields.
5547 (grub_ofserial_init): New proto.
5548 (grub_efiserial_init): Likeiwse.
5549 * util/grub.d/00_header.in: Don't check for the presence of serial
5550 module.
5551
5552 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5555 name as if it was an alias.
5556
5557 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 * grub-core/commands/lsacpi.c (options): Fix typo.
5560
5561 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 Convert grub-emu to argp.
5564
5565 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5566 emu.
5567 * util/argp_common.c: Rename to ...
5568 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5569 Add missing includes.
5570 * grub-core/kern/emu/main.c: Convert to argp.
5571 * po/POTFILES.in: Regenerate.
5572 * util/grub-install.in (usage): Make first letter lowcase in messages
5573 for uniformity.
5574 * util/grub-setup.c (options): Likewise.
5575
5576 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5579 Put back accidently commented-out code.
5580
5581 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5584 loop check using Brent algorithm.
5585 (grub_hfsplus_btree_search): Likewise.
5586
5587 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/grub-install.in: Fix usage of wrong device for PreP install.
5590
5591 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * conf/Makefile.common (CFLAGS_GNULIB): Add
5594 -Wno-unsafe-loop-optimizations.
5595 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5596 on tools.
5597 * grub-core/commands/legacycfg.c: Add pragma to skip
5598 -Wunsafe-loop-optimizations.
5599 (check_password_md5_real): Fix loop counter type.
5600 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5601 reading.
5602 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5603 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5604 loop condition.
5605 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5606 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5607 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5608 condition.
5609 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5610 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5611 avoid possible infinite loops.
5612 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5613 and -Wunsafe-loop-optimizations.
5614 * grub-core/script/yylex.l: Likewise.
5615 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5616 (print_glyphs): Avoid infinite loops.
5617 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5618
5619 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5620
5621 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5622 to avoid infinite loop.
5623 (disp_acpi_rsdt_table): Likewise.
5624
5625 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * grub-core/font/font.c (grub_font_load): Add support for default
5628 path for fonts ($prefix/fonts).
5629 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5630 for checking if string is a path.
5631 * grub-core/normal/main.c (features): Add feature_default_font_path.
5632 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5633 * util/grub.d/00_header.in: Use default directory if possible.
5634 * util/grub-install.in: Install unicode.pf2.
5635
5636 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5639 * po/Rules-swiss: New file.
5640 * po/swiss.sed: Likewise.
5641
5642 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/fs/btrfs.c (find_device): Fix typos.
5645 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5646 * util/grub-mkrelpath.c (argp_parser): Likewise.
5647 Reported by: Yuri Chornoivan.
5648
5649 2012-02-23 Dalet Omega <daletomega@gmail.com>
5650
5651 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5652 for usual informative messages.
5653
5654 2012-02-23 Dalet Omega <daletomega@gmail.com>
5655
5656 Starfield theme.
5657
5658 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5659 * conf/Makefile.common: Define starfielddir.
5660 * configure.ac: Configure starfield.
5661 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5662 * themes/starfield/README: Likewise.
5663 * themes/starfield/blob_w.png: Likewise.
5664 * themes/starfield/boot_menu_c.png: Likewise.
5665 * themes/starfield/boot_menu_e.png: Likewise.
5666 * themes/starfield/boot_menu_n.png: Likewise.
5667 * themes/starfield/boot_menu_ne.png: Likewise.
5668 * themes/starfield/boot_menu_nw.png: Likewise.
5669 * themes/starfield/boot_menu_s.png: Likewise.
5670 * themes/starfield/boot_menu_se.png: Likewise.
5671 * themes/starfield/boot_menu_sw.png: Likewise.
5672 * themes/starfield/boot_menu_w.png: Likewise.
5673 * themes/starfield/slider_c.png: Likewise.
5674 * themes/starfield/slider_n.png: Likewise.
5675 * themes/starfield/slider_s.png: Likewise.
5676 * themes/starfield/src/blob_nw.xcf: Likewise.
5677 * themes/starfield/src/bootmenu/: Likewise.
5678 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5679 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5680 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5681 * themes/starfield/src/slider_c.xcf: Likewise.
5682 * themes/starfield/src/slider_n.xcf: Likewise.
5683 * themes/starfield/src/slider_s.xcf: Likewise.
5684 * themes/starfield/src/terminalbox/: Likewise.
5685 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5686 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5687 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5688 * themes/starfield/starfield.png: Likewise.
5689 * themes/starfield/terminal_box_c.png: Likewise.
5690 * themes/starfield/terminal_box_e.png: Likewise.
5691 * themes/starfield/terminal_box_n.png: Likewise.
5692 * themes/starfield/terminal_box_ne.png: Likewise.
5693 * themes/starfield/terminal_box_nw.png: Likewise.
5694 * themes/starfield/terminal_box_s.png: Likewise.
5695 * themes/starfield/terminal_box_se.png: Likewise.
5696 * themes/starfield/terminal_box_sw.png: Likewise.
5697 * themes/starfield/terminal_box_w.png: Likewise.
5698 * themes/starfield/theme.txt: Likewise.
5699
5700 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * util/grub.d/00_header.in: Add missing export theme.
5703
5704 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5707 already included.
5708 Reported by: Eren D.
5709
5710 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * conf/Makefile.common (grubdatadir): Removed.
5713 (Makefile.am): Move eveything grubdata to pkgdata.
5714
5715 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/commands/acpihalt.c (get_sleep_type):
5718 Remove unused variable.
5719
5720 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5723 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5724 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5725 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5726 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5727 i18n with gettext no-op.
5728 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5729 GRUB_ACPI_OPCODE_STRING_CONST.
5730 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5731 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5732
5733 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * po/POTFILES.in: Regenerate.
5736
5737 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5740 -Wno-error=missing-noreturn.
5741
5742 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5745 condition to avoid possibly infinite loops.
5746 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5747 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5748
5749 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5752 condition to avoid possibly infinite loops.
5753
5754 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5757 on show_error.
5758
5759 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5762
5763 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5766
5767 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * util/bin2h.c (usage): Add missing attribute noreturn.
5770
5771 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5774 if the size isn't divisible by 512.
5775
5776 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 Make list_push and list_remove functions rather than inline functions
5779 to decrease size and avoid aliasing violations.
5780
5781 * include/grub/list.h (grub_list_push): Move to ...
5782 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5783 * include/grub/list.h (grub_list_remove): Move to ...
5784 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5785
5786 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5789 and -Wunused-result.
5790
5791 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5794 Reported by: Seth Goldberg
5795
5796 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5799
5800 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5801
5802 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5803 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5804 command line.
5805 * docs/grub.texi (Simple configuration): Document
5806 GRUB_CMDLINE_GNUMACH.
5807
5808 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * conf/Makefile.common (platform_SCRIPTS): New variable.
5811 (platform_PROGRAMS): Likewise.
5812 * gentpl.py: Mark *,module and *.image for install.
5813 * grub-core/gdb_grub.in: Add a notice of expected environment.
5814 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5815 (gmodule.pl): Likewise.
5816
5817 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 Replace grub_checkkey with grub_getkey_noblock.
5820
5821 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5822 (grub_getkey_noblock): ... this. All users updated.
5823
5824 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * grub-core/kern/emu/console.c: Move to ...
5827 * grub-core/term/emu/console.c: ...here.
5828 (grub_ncurses_getkey): Fix return value if no key is detected.
5829
5830 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5833 (grub_unit_test_fini): Likewise.
5834 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5835
5836 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * include/grub/test.h (GRUB_UNIT_TEST)
5839
5840 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5843 Better error handling.
5844 (grub_script_return): Likewise.
5845 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5846
5847 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
5850 rimplicit redifinition.
5851
5852 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
5855 GRUB.
5856
5857 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
5860 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
5861 prompt here.
5862
5863 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
5866 as GRUB_ERR_BUG. Don't malloc if no device is available.
5867
5868 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
5871 Mark calling with invalid term as GRUB_ERR_BUG.
5872
5873 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
5876 packets rather than raising an error.
5877
5878 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
5881 in if.
5882
5883 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
5886 diagnostic to dprintf.
5887 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5888
5889 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
5892 device name.
5893
5894 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
5897 (grub_ntfs_iterate_dir): Likewise.
5898
5899 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Efiemu stylistic fixes and gettext.
5902
5903 * grub-core/efiemu/i386/loadcore32.c
5904 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
5905 * grub-core/efiemu/i386/loadcore64.c
5906 (grub_arch_efiemu_relocate_symbols64): Likewise.
5907 * grub-core/efiemu/i386/pc/cfgtables.c
5908 (grub_machine_efiemu_init_tables): Likewise.
5909 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
5910 (grub_efiemu_loadcore_initXX): Add a filename argument.
5911 All users updated.
5912 Improved error message.
5913 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5914 Add a filename argument.
5915 All users updated.
5916 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5917 Reclassify double relocation as GRUB_ERR_BUG.
5918
5919 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5922 handling.
5923
5924 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5927 on partition.
5928
5929 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5932
5933 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Improve string. Gettextize.
5936
5937 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5940 utils.
5941 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5942
5943 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5946 [GRUB_UTIL]: New function.
5947 (insert_array) [GRUB_UTIL]: Store partmaps.
5948 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5949 partmaps.
5950 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5951 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5952 (probe_abstraction): Print diskfilter and not raid.
5953 Reported by: Lennart Sorensen
5954
5955 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5958 * util/grub-mkimagexx.c (MASK3): New define.
5959 (add_value_to_slot_20b): Use MASK3.
5960 (add_value_to_slot_21): Likewise.
5961 (relocate_addresses): Fix format specification.
5962 (load_image): Explicitly init symtab_section.
5963
5964 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5967 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5968
5969 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5972 on powerpc.
5973 Reported by: Lennart Sorensen
5974
5975 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * gentpl.py: Add missing license header.
5978 * docs/grub.texi: Update copyright year.
5979
5980 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5981
5982 Source grub-mkconfig_lib from the build directory at build time.
5983 Suggested by: Vladimir Serbinenko.
5984
5985 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5986 * util/grub-install.in: Define pkgdatadir if not already set, and source
5987 grub-mkconfig_lib from there.
5988 * util/grub-kbdcomp.in: Likewise.
5989 * util/grub-mkconfig.in: Likewise.
5990 * util/grub-mknetdir.in: Likewise.
5991 * util/grub-mkrescue.in: Likewise.
5992 * util/grub-mkstandalone.in: Likewise.
5993 * util/grub-reboot.in: Likewise.
5994 * util/grub-set-default.in: Likewise.
5995 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5996
5997 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 Increase warning level.
6000
6001 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6002 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6003 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6004 (TARGET_CFLAGS): Likewise.
6005 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6006 * grub-core/Makefile.core.def (decompressor_xz): Add
6007 -Wno-unreachable-code.
6008 (normal): Add -Wno-redundant-decls.
6009 (xzio): Add -Wno-unreachable-code.
6010 (lzopio): Add -Wno-redundant-decls -Wno-error.
6011 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6012 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6013 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6014 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6015 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6016 * grub-core/kern/i386/coreboot/init.c: Add exception to
6017 -Wsuggest-attribute=noreturn.
6018 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6019 * grub-core/kern/ia64/dl_helper.c: Likewise.
6020 * grub-core/kern/mips/dl.c: Likewise.
6021 * grub-core/kern/sparc64/dl.c: Likewise.
6022 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6023 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6024 (memcmp): Likewise.
6025 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6026 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6027 * grub-core/loader/mips/linux.c: Likewise.
6028 * grub-core/loader/multiboot_elfxx.c: Likewise.
6029 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6030 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6031 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6032 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6033 fixme.
6034 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6035 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6036 Fix prototype.
6037
6038 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6041 address.
6042
6043 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6046 Avoid improper use of strings.
6047 (grub_cmd_legacy_initrdnounzip): Likewise.
6048
6049 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6052 attribute.
6053 (grub_util_info): Likewise.
6054 (grub_util_error): Likewise.
6055
6056 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6059 * util/grub-fstest.c (fstest): Likewise.
6060
6061 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6064 (grub_md_sha512_real): Likewise.
6065 (grub_util_get_geli_uuid): Likewise.
6066 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6067 (grub_util_biosdisk_open): Fix format specification.
6068 Respect format security.
6069 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6070 (xrealloc): Likewise.
6071 (xasprintf): Likewise.
6072
6073 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * util/import_gcry.py: Include grub/crypto.h in init.c.
6076
6077 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6080 (generate_image): Make prefix a const char *.
6081 Fix format specifications. Respect format security.
6082 Avoid void * arithmetics.
6083 Avoid shadowing.
6084 (argp_parser): Remove unused variable. Respect format security.
6085 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6086 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6087 (count_funcs): Remove unused variable.
6088 (relocate_addresses): Fix format specification.
6089 Disable x86-64 with elf32. Remove unused variables.
6090 (add_fixup_entry): Avoid shadowing.
6091 (make_reloc_section): Fix format specification.
6092 Use assert.
6093 (locate_sections): Fix format specifications.
6094 (load_image): Avoid shadowing.
6095
6096 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6099 Fix format specifications. Respect format security.
6100 Don't translate already translated grub_errmsg.
6101 (argp_parser): Remove unused variable
6102
6103 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6106
6107 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6110 (main): Likewise. Use xmalloc. Respect format security.
6111
6112 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6115 a const char *.
6116 (argp_parser): Remove unused variable.
6117
6118 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6121 (add_pixel): Make static.
6122 (add_font): Likewise.
6123 (write_string_section): Make name and str a const char *.
6124 (write_be16_section): Make name a const char *.
6125 (print_glyphs): Make static.
6126 (write_font_ascii_bitmap): Likewise.
6127 (write_font_width_spec): Likewise.
6128 (write_font_pf2): Likewise.
6129 (argp_parser): Remove unused variable.
6130 Respect format security.
6131 (main): Avoid shadowing. Respect format security.
6132
6133 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * util/grub-editenv.c (argp_parser): Make static.
6136 (create_envblk_file): Use xmalloc.
6137 (open_envblk_file): Likewise.
6138 Resepect format security.
6139 (set_variables): Respect format security.
6140
6141 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/getroot.c (grub_find_device): Respect format security.
6144 (get_mdadm_uuid): Remove unused variable.
6145 (grub_util_pull_device): Dont call gettext on already translated
6146 grub_errmsg.
6147 (find_system_device): Remove unused variable.
6148 (grub_util_get_grub_dev): Likewise.
6149 (grub_make_system_path_relative_to_its_root): Respect format security.
6150
6151 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * util/grub-fstest.c (execute_command): Make first argument
6154 a const char *.
6155 (read_file): Avoid shadowing.
6156 Reuse underlying error message if device open fails.
6157 (cmd_cmp): Respect format security.
6158 (root): Make const char *.
6159 (fstest): Remove args argument and use global copy.
6160 Respect format security.
6161 (argp_parser): Make static.
6162 (main): Make default_root const char *.
6163
6164 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * util/grub-mount.c (root): Make const char *.
6167 (execute_command): Make first argument a const char *.
6168 (fuse_init): Respect format security.
6169 (argp_parser): Make static. Remove unused variable.
6170 (main): Make default_root a const char *.
6171 Respect format security.
6172
6173 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * util/grub-probe.c (probe): Don't call gettext on already translated
6176 grub_errmsg.
6177 Remove unused variables.
6178 (argp_parser): Remove unused variable.
6179
6180 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * util/grub-script-check.c (argp_parser): Remove unused variable.
6183 (main): Rename read to curread to avoid shadowing.
6184
6185 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * util/misc.c (grub_util_write_image_at): Fix format specification.
6188 (grub_util_write_image): Likewise.
6189 (grub_script_execute_argument_to_string): Removed (unused).
6190 (grub_script_execute_menuentry): Likewise.
6191 (grub_putchar): Likewise.
6192
6193 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6196 (FUNCTION) [GRUB_UTIL]: Likewise.
6197 (VARIABLE) [GRUB_UTIL]: Likewise.
6198
6199 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6202 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6203
6204 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6207 buffer.
6208
6209 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6212 (LzmaEnc_SaveState): Removed (unused).
6213 (LzmaEnc_RestoreState): Likewise.
6214 (LzmaEnc_InitPriceTables): Made static.
6215 (LzmaEnc_Construct): Likewise.
6216 (LzmaEnc_FreeLits): Likewise.
6217 (LzmaEnc_Destruct): Likewise.
6218 (LzmaEnc_Init): Likewise.
6219 (LzmaEnc_InitPrices): Likewise.
6220 (LzmaEnc_Finish): Likewise.
6221 (LzmaEnc_PrepareForLzma2): Removed (unused).
6222 (LzmaEnc_MemPrepare): Likewise.
6223 (LzmaEnc_GetNumAvailableBytes): Likewise.
6224 (LzmaEnc_GetCurBuf): Likewise.
6225 (LzmaEnc_CodeOneMemBlock): Likewise.
6226
6227 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6230 (grub_util_ldm_embed): Likewise.
6231
6232 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-editenv.c (print_var): Rename name to varname to
6235 avoid shadowing.
6236 (main): Rename index to curindex to avoid shadowing.
6237 Make filename a const char *.
6238
6239 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6242 to arg_getline to avoid shadowing.
6243
6244 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6247 disk_ to avoid shadowing.
6248
6249 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6252 curindex to avoid shadowing.
6253 Make static.
6254 (MatchFinder_GetNumAvailableBytes): Make static.
6255
6256 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6259 avoid shadowing.
6260
6261 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6264 argument from encrypt to do_encrypt to avoid shadowing.
6265
6266 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6269 incorrect nesting of #if's.
6270
6271 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6274 checks which are always false on some platforms.
6275 (grub_cmd_lsacpi): Likewise.
6276 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6277 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6278 Likewise.
6279
6280 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6283 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6284
6285 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6288 re_dfa_t to avoid breaking alignment invariants.
6289 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6290 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6291
6292 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6295 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6296
6297 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6300 Fix declaration.
6301
6302 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6305 conserve alignment invariants.
6306 (grub_ehci_ehcc_read16): Likewise.
6307 (grub_ehci_oper_read32): Likewise.
6308 (grub_ehci_oper_write32): Likewise.
6309 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6310 Conserve alignment invariants.
6311
6312 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6315 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6316 declarations.
6317
6318 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6321 Remove unused variable.
6322
6323 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6326 Remove set in if.
6327
6328 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * include/grub/net.h: Remove double declarations.
6331
6332 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 Remove "payload" command in ia64 Linux loader since I couldn't
6335 find any evidence of it being used for anything.
6336 Replace "relocate" command with an environment variable
6337
6338 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6339 fields.
6340 (ia64_boot_payload): Removed.
6341 (last_payload): Likewise.
6342 (RELOCATE_OFF): Likewise.
6343 (RELOCATE_ON): Likewise.
6344 (RELOCATE_FORCE): Likewise.
6345 (relocate): Likewise.
6346 (free_pages): Don't free payloads.
6347 (grub_load_elf64): Use common error messages.
6348 Use "linux_relocate" variable.
6349 Increase the space after boot_params.
6350 (grub_cmd_payload): Removed.
6351 (grub_cmd_relocate): Likewise.
6352 (grub_cmd_fpswa): Improve messages.
6353 (cmd_payload): Removed.
6354 (cmd_relocate): Likewise.
6355 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6356 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6357
6358 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 Convert UHCI to DMA framework.
6361
6362 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6363 (grub_uhci_pci_iter): Fill new members
6364 (grub_alloc_td): Use P2V and V2P functions.
6365 (grub_free_queue): Likewise.
6366 (grub_alloc_qh): Likewise.
6367 (grub_uhci_setup_transfer): Likewise.
6368 (grub_uhci_check_transfer): Likewise.
6369
6370 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6373 Remove assignment in if while on it.
6374
6375 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * util/grub-mkstandalone.in: Fix modules directory.
6378
6379 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6382 on i386-pc target.
6383 (argp_parser): Accept "auto" as compression specification.
6384
6385 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 Fix `help' with unloaded modules.
6388
6389 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
6390 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
6391 (grub_dyncmd_dispatcher): Small stylistic fix.
6392 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
6393 explicit help is requested.
6394
6395 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
6398 Explicitly init restart while on it.
6399
6400 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
6403 uninited variable.
6404
6405 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * util/grub-mknetdir.in: Use . rather than source for POSIX
6408 compatibility.
6409
6410 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
6413
6414 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
6417 variable.
6418
6419 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
6422 without quotes.
6423
6424 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
6427
6428 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
6431 iteration of partitions.
6432
6433 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Improve gettext support. Stylistic fixes and error handling fixes while
6436 on it.
6437
6438 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
6441 part. Instead setup the correct stack in RM.
6442 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
6443 for stack.
6444 * include/grub/i386/relocator_private.h: New file.
6445
6446 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
6449 argument.
6450 * util/grub-fstest.c (options): Add missing DEVICE part.
6451
6452 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 Clarify and unify messages.
6455
6456 * grub-core/commands/hashsum.c (options): Unify messages.
6457 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
6458 literal-only message as translatable.
6459 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
6460 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
6461 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
6462 commands.
6463 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
6464 key, not the key used to unlock. Clarify what it's used for.
6465 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
6466 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
6467 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
6468 * util/grub-editenv.c (options): Unify "verbose" message.
6469 * util/grub-fstest.c (read_file): Unify error message.
6470 (fstest): Add quotes around commands.
6471 (options): Unify "verbose" message.
6472 * util/grub-install.in: Add quotes around variable name.
6473 * util/grub-kbdcomp.in: Unify error message.
6474 * util/grub-mkfont.c (main): Likewise.
6475 * util/grub-mkrescue.in: Likewise.
6476 * util/grub-mklayout.c (options): Unify "verbose" message.
6477 * util/grub-mkstandalone.in: Unify help and verbose messages.
6478 * util/grub-mount.c (options): Unify "verbose" message.
6479 * util/grub-probe.c (options): Likewise.
6480 * util/grub-script-check.c (options): Likewise.
6481 * util/grub-setup.c (setup): Unify no-terminator message.
6482 (options): Use DEVICE and not DEV.
6483 Unify "verbose" message.
6484 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
6485
6486 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 Improve and unify messages.
6489
6490 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6491 name. All users updated.
6492 Print filename in error.
6493 (read_device_map): Print filename in error.
6494 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6495 (grub_util_get_os_disk): Likewise.
6496 (grub_util_biosdisk_get_grub_dev): Likewise.
6497 (grub_util_check_block_device): Likewise.
6498 (grub_util_check_char_device): Likewise.
6499 (grub_make_system_path_relative_to_its_root): Likewise.
6500 * util/grub-editenv.c (create_envblk_file): Likewise.
6501 (open_envblk_file): Likewise.
6502 (write_envblk): Likewise.
6503 * util/grub-fstest.c (cmd_cp): Likewise.
6504 (cmd_cat): Likewise.
6505 (cmd_cmp): Likewise.
6506 * util/grub-menulst2cfg.c (main): Likewise.
6507 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
6508 (write_font_width_spec): Likewise.
6509 (write_font_pf2): Likewise.
6510 * util/grub-mkimage.c (generate_image): New argument outname.
6511 All users updated.
6512 Remove unreacheable message.
6513 (options): Unify messages.
6514 (help_filter): Likewise.
6515 * util/grub-mklayout.c (usage): Removed (unused).
6516 (main): Print filename in error.
6517 * util/grub-mkrescue.in: Fix wrong quoting.
6518 * util/grub-setup.c (setup): Print filename in error.
6519 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
6520 (check_sas): Likewise.
6521 * util/misc.c (grub_util_get_fp_size): Removed.
6522 (grub_util_get_image_size): Print filename in error.
6523 (grub_util_read_at): Removed.
6524 (grub_util_read_image): Print filename in error.
6525 (grub_util_load_image): Likewise.
6526 (grub_util_write_image_at): New argument filename. All users updated.
6527 Print filename in error.
6528 (grub_util_write_image): New argument filename. All users updated.
6529 Print filename in error.
6530 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
6531 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
6532
6533 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/Makefile.core.def (pxechain): New module.
6536 * grub-core/loader/i386/pc/pxechainloader.c: New file.
6537 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
6538 function.
6539 (grub_pc_net_config_real): Use grub_pxe_get_cached.
6540 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
6541
6542 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
6545 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
6546 * include/grub/err.h (grub_error_saved): New struct.
6547 (grub_errmsg): Make array size explicit.
6548 * include/grub/misc.h (grub_error_save): New function.
6549 (grub_error_load): Likewise.
6550 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6551 (grub_error_push): Update `errno' member name.
6552 (grub_error_pop): Likewise
6553 * grub-core/net/tftp.c (tftp_data): New member save_err.
6554 (tftp_receive): Save error.
6555 (tftp_open): Restore error.
6556
6557 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6560 to real mode down to execute A20-related code in protected mode as
6561 intended.
6562
6563 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6564
6565 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6566 NULL when the argument `level' has an unexpected value.
6567
6568 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 Move platform-dependent files from $prefix to $prefix/$platform.
6571
6572 * config.h.in (GRUB_TARGET_CPU): New definition.
6573 (GRUB_PLATFORM): Likewise.
6574 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6575 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6576 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6577 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6578 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6579 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6580 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6581 * grub-core/normal/term.c (read_terminal_list): Likewise.
6582 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6583 $prefix/locale.
6584 (grub_gettext_init_ext): Likewise.
6585 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6586 grub_platform.
6587 * util/grub-install.in: Update directories.
6588 * util/grub-mknetdir.in: Likewise.
6589 * util/grub-mkrescue.in: Likewise.
6590
6591 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6594 grub_error framework. All users updated.
6595
6596 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6599 lists (by always binsearching), improve caching (cache strings
6600 used for binsearch, not only results), improve
6601 maintainability (by using more structured binary search) and correct
6602 error handling.
6603
6604 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/script/execute.c (grub_script_return): Fix warning.
6607
6608 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/script/execute.c (grub_script_return): Fix potential
6611 NULL-dereference.
6612 Reported by: Jim Meyering.
6613
6614 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * po/POTFILES.in: Regenerate.
6617 * util/grub-install.in: Gettextize the strings missed in first pass.
6618
6619 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * Makefile.util.def (grub-mkdevicemap): Removed.
6622 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6623 * include/grub/util/deviceiter.h: Removed.
6624 * util/deviceiter.c: Likewise.
6625 * util/getroot.c (grub_util_get_os_disk): New function.
6626 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6627 replacement for EFI.
6628 * util/grub-mkdevicemap.c: Removed.
6629 * util/grub-probe.c (probe): Handle PRINT_DISK.
6630 (argp_parser): Handle -t disk.
6631
6632 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * util/grub-mkfont.c: Migrate to argp.
6635 * util/grub-mklayout.c: Likewise.
6636 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6637 * util/grub-mkrelpath.c: Likewise.
6638 * util/grub-probe.c: Likewise.
6639 * util/grub-script-check.c: Likewise.
6640
6641 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/grub-reboot.in: Add missing datarootdir.
6644 Add missing newline.
6645 * util/grub-set-default.in: Add missing datarootdir.
6646 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6647 * util/grub-mkrescue.in: Likewise.
6648
6649 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6652
6653 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * util/grub-kbdcomp.in: Add decent help and gettextize.
6656 * docs/man/grub-kbdcomp.h2m: New file.
6657
6658 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Migrate grub-mkimage.c to argp.
6661
6662 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6663 (grub-setup): Likewise.
6664 * util/grub-setup.c (print_version): Move to ...
6665 * util/argp_common.c (print_version): ... here.
6666 * util/grub-setup.c (argp_program_version_hook): Move to ...
6667 * util/argp_common.c (argp_program_version_hook): ... here.
6668 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6669 safety.
6670 * util/grub-mkimage.c (main): Migrate to argp.
6671
6672 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * util/grub-mkrescue.in: Use same message as
6675 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6676 for better translations.
6677
6678 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6681 options with generic grub-mkrescue.in with the goal of future
6682 merge.
6683
6684 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/kern/mm.c: Add missing include of i18n.h
6687 * grub-core/lib/relocator.c: Likewise.
6688
6689 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6692 error.
6693 (allocate_pages): Check return value.
6694 Replace fatal with error.
6695 (grub_linux_boot): Replace printf with dprintf.
6696 Check find_mmap_size return value.
6697 Replace fatal with error.
6698 Don't call grub_machine_fini.
6699 (grub_load_elf64): Replace printf with dprintf.
6700 (grub_cmd_linux): Likewise.
6701 (grub_cmd_initrd): Likewise.
6702 (grub_cmd_payload): Likewise.
6703
6704 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6707 message.
6708 * grub-core/video/radeon_fuloong2e.c
6709 (grub_video_radeon_fuloong2e_setup): Likewise.
6710 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6711 * grub-core/video/video.c (grub_video_set_mode): Don't override
6712 standard out of memory message.
6713
6714 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6715
6716 NetBSD disk wedge support.
6717
6718 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6719 [__NetBSD__]: Handle NetBSD disk wedges.
6720 * util/getroot.c (convert_system_partition_to_system_disk)
6721 [__NetBSD__]: Likewise.
6722
6723 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
6724
6725 * util/grub-mkconfig.in: Use umask rather than chmod to create
6726 grub.cfg.new to avoid insecure grub.cfg.
6727
6728 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/commands/ls.c: Gettextize.
6731 * grub-core/commands/setpci.c: Likewise.
6732 * grub-core/commands/videotest.c: Likewise.
6733 * grub-core/disk/geli.c: Likewise.
6734 * grub-core/kern/mm.c: Likewise.
6735 * grub-core/lib/relocator.c: Likewise.
6736 * grub-core/loader/efi/appleloader.c: Likewise.
6737 * grub-core/loader/i386/xnu.c: Likewise.
6738 * grub-core/loader/ia64/efi/linux.c: Likewise.
6739 * grub-core/loader/xnu.c: Likewise.
6740 * grub-core/net/dns.c: Likewise.
6741 * grub-core/net/net.c: Likewise.
6742 * grub-core/script/lexer.c: Likewise.
6743 * grub-core/script/parser.y: Likewise.
6744 * grub-core/script/yylex.l: Likewise.
6745 * util/getroot.c: Likewise.
6746 * util/grub-setup.c: Likewise.
6747
6748 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6751 number.
6752
6753 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6756
6757 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6760 macro.
6761 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6762 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6763
6764 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6767 * util/grub-install.in: Gettextize.
6768 * util/grub-mkconfig.in: Likewise.
6769 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6770 if not available.
6771 (grub_warn): Gettextize.
6772 * util/grub-mknetdir.in: Gettextize.
6773 * util/grub-mkrescue.in: Likewise.
6774 * util/grub-mkstandalone.in: Likewise.
6775 * util/grub-reboot.in: Likewise.
6776 * util/grub-set-default.in: Likewise.
6777 * util/grub.d/00_header.in: Likewise.
6778 * util/grub.d/10_hurd.in: Likewise.
6779 * util/grub.d/10_kfreebsd.in: Likewise.
6780 * util/grub.d/10_linux.in: Likewise.
6781 * util/grub.d/10_netbsd.in: Likewise.
6782 * util/grub.d/10_windows.in: Likewise.
6783 * util/grub.d/20_linux_xen.in: Likewise.
6784 * util/grub.d/30_os-prober.in: Likewise.
6785 * po/POTFILES-shell.in: Regenerate.
6786
6787 2012-02-03 Richard Laager <rlaager@wiktel.com>
6788
6789 * util/grub-mkimage.c (main): Fix format-security warning.
6790 * util/grub-mkrelpath.c (main): Likewise.
6791 * util/grub-probe.c (main): Likewise.
6792
6793 2012-02-03 Richard Laager <rlaager@wiktel.com>
6794
6795 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6796 failure.
6797 Put back lost PRINT_DRIVE.
6798
6799 2012-02-03 Richard Laager <rlaager@wiktel.com>
6800
6801 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6802 (grub_guess_root_devices): Replace strlen with sizeof.
6803 Avoid crash.
6804 (find_root_devices_from_poolname): Remove unused variable.
6805 Handle raidzN.
6806
6807 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 Support install on multi-device filesystems.
6810
6811 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6812 (grub_guess_root_devices): ...this. Return char **. All users updated.
6813 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6814 Removed.
6815 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6816 (find_root_devices_from_poolname): ... here.
6817 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6818 Support zfs-fuse.
6819 (grub_guess_root_device): Rename to ...
6820 (grub_guess_root_devices): ... this. Return char **. All users updated.
6821 * util/grub-install.in: Handle multi-device filesystems.
6822 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6823 argument. All users updated.
6824 Handle multi-device filesystems.
6825 Use 'delim' as separator.
6826 Remove device check to allow filesystems on file.
6827 (main): Support -0 argument. Handle multi-device.
6828 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6829 Fix a cross-device check while on it.
6830 (arguments): Remove root_dev.
6831 (argp_parser): Remove -r.
6832 (main): Remove root_dev.
6833
6834 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6837
6838 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6841 symbol.
6842 Reported by: NODA, Kai <nodakai>.
6843
6844 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Fix ehci on amd64.
6847
6848 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
6849 pointers.
6850 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
6851 (grub_ehci_setup_qh): Likewise.
6852 (grub_ehci_find_qh): Likewise.
6853 (grub_ehci_transaction): Likewise.
6854 (grub_ehci_setup_transfer): Likewise.
6855 (grub_ehci_check_transfer): Likewise.
6856 (grub_ehci_portstatus): Likewise.
6857 (grub_ehci_detect_dev): Likewise.
6858 (grub_ehci_transfer_controller_data): New field td_last_phys.
6859 (grub_ehci_setup_transfer): Fill td_last_phys.
6860 (grub_ehci_check_transfer): Use td_last_phys.
6861
6862 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
6863
6864 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
6865 if no submenu is present.
6866
6867 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6868
6869 CBI support.
6870
6871 * include/grub/usb.h (grub_usbms_protocol_t): New values
6872 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
6873 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
6874 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
6875 (grub_usbms_dev): Add subclass, protocol and intrpt.
6876 Remove in_maxsz and out_maxsz.
6877 (grub_usbms_reset): Rename to ...
6878 (grub_usbms_bo_reset): .. this.
6879 (grub_usbms_cbi_cmd): New function.
6880 (grub_usbms_cbi_reset): Likewise.
6881 (grub_usbms_reset): Likewise.
6882 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
6883 (grub_usbms_transfer): Rename to ...
6884 (grub_usbms_transfer_bo): ... this.
6885 (grub_usbms_transfer_cbi): Likewise.
6886 (grub_usbms_transfer): Likewise.
6887
6888 2012-02-01 Aleš Nesrsta <starous@volny.cz>
6889 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
6892 the support for the CS5536 modification thereos and few bugfixes.
6893
6894 * grub-core/Makefile.core.def (ehci): New module.
6895 * grub-core/bus/usb/ehci.c: New file.
6896 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
6897 port and hubaddr. All users updated.
6898 Save port and hubaddr into dev structure.
6899 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
6900 define.
6901 * include/grub/pci.h (grub_dma_phys2virt): New function.
6902 (grub_dma_virt2phys): Likewise.
6903 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
6904
6905 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
6908 check as some mkfs implementations omit it.
6909
6910 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * docs/grub.texi (Unicode): Mention identifier and space limitations.
6913
6914 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6917 Add new member volname2.
6918 (grub_jfs_label): Use volname2 if available.
6919
6920 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6923 over last_mounted as seen in image generated by mkfs.nilfs2.
6924 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6925
6926 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6929 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6930 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6931
6932 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6935 over the sector.
6936
6937 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6940 subvolume name (by removing a bogus and useless check).
6941
6942 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6945 sizeof while on it.
6946
6947 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6950 (grub_scsi_read_capacity10): ... this.
6951 (grub_scsi_read_capacity16): New function.
6952 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6953 0xffffffff.
6954 Fix off-by-one error.
6955 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6956 64-bit unsigned.
6957 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6958 (grub_scsi_read_capacity10): ... this.
6959 (grub_scsi_read_capacity_data): Rename to ...
6960 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6961 (grub_scsi_read_capacity16): New struct.
6962 (grub_scsi_read_capacity16_data): Likewise.
6963 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6964 grub_scsi_cmd_read_capacity10.
6965 New command grub_scsi_cmd_read_capacity16.
6966
6967 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 SCSI >2TiB support.
6970
6971 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6972 (grub_scsi_write16): Likewise.
6973 (grub_scsi_read): Use read16 when necessary.
6974 (grub_scsi_write): Likewise.
6975 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6976 (grub_scsi_write16): Likewise.
6977 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6978
6979 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 SCSI write support (for usbms mainly).
6982
6983 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6984 a const pointer.
6985 (grub_scsi_write): Implement.
6986 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6987
6988 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6991 variable.
6992
6993 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6996
6997 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * po/POTFILES.in: Regenerate.
7000
7001 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7004 with grub_printf to avoid unnecessary fatal failure.
7005
7006 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7009 (INT_MAX): Likewise.
7010 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7011 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7012 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7013 (strcpy): Likewise.
7014 (strstr): Likewise.
7015 (strchr): Likewise.
7016 (strncpy): Likewise.
7017 (strcat): Likewise.
7018 (strncat): Likewise.
7019 (strcoll): Likewise.
7020 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7021 (GRUB_INT_MAX): Likewise.
7022
7023 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7026 unexpected error.
7027 (optimize_utf8): Likewise.
7028 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7029
7030 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/boot/i386/pc/lnxboot.S: Use
7033 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7034 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7035 location.
7036 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7037 definition.
7038 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7039
7040 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7043 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7044 now to avoid double free.
7045 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7046 hostdisk.
7047 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7048 * util/grub-probe.c (escape_of_path): Always return a new copy.
7049 (print_full_name): Escape path.
7050 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7051 Fix hints on abstractions.
7052
7053 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7056 Don't add "root" line if no compatibility hont is available.
7057 Suggested by: Seth Goldberg.
7058
7059 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7062 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7063 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7064 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7065
7066 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7069
7070 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * util/grub-pe2elf.c (ehdr): Make static.
7073 (shdr): Likewise.
7074 (num_sections): Likewise.
7075 (offset): Likewise.
7076
7077 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 Eliminate ofpath limits and possible overflows.
7080
7081 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7082 (OF_PATH_MAX): Removed.
7083 (MAX_DISK_CAT): New const.
7084 (find_obppath): Use allocated rather than preallocated buffer.
7085 Return result. Argument of_path removed. All users updated.
7086 Add missing fdstat.
7087 (xrealpath): New function.
7088 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7089 Allocate rather than use preallocated buffer. All users updated.
7090 (__of_path_common): Use allocated rather than preallocatecd buffer.
7091 Return result. Argument of_path removed. All users updated.
7092 (vendor_is_ATA): Read only needed part form the file.
7093 (check_sas): Allocate depending on contents rather than fixed.
7094 (main) [STANDALONE]: Handle NULL result.
7095
7096 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7099
7100 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 Cryptodisk write support.
7103
7104 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7105 (grub_cryptodisk_decrypt): Moved logic to ...
7106 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7107 (grub_cryptodisk_write): Implement.
7108 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7109 (grub_util_fd_write): ... this. Make global.
7110 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7111
7112 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * include/grub/list.h (grub_list_remove): Don't crash if element is
7115 removed twice.
7116
7117 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Rename ofconsole to console.
7120
7121 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7122 as sysnonym to console.
7123 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7124 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7125 Rename grub_ofconsole_ to grub_console_. All users updated
7126 (grub_console_term_output): Rename "ofconsole" to "console".
7127 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7128 as "console".
7129
7130 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7133 handling.
7134 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7135 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7136 GRUB_DISK_DEVICE_FILE_ID.
7137
7138 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7141 and improve performance.
7142
7143 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7146 missing ieee1275/ prefix on whole disk.
7147
7148 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7151 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7152
7153 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7156
7157 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Merge common RAID and LVM logic to an abstract diskfilter.
7160 Add LDM support using the same framework.
7161
7162 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7163 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7164 (libgrubmods): Remove grub-core/disk/raid.c and
7165 grub-core/partmap/gpt.c.
7166 * grub-core/Makefile.core.def (ldm): New module.
7167 (raid): Renamed to diskfilter. All users updated.
7168 * grub-core/disk/raid.c: Moved to ...
7169 * grub-core/disk/diskfilter.c: ... here.
7170 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7171 (lv_num): New var.
7172 (find_array): Renamed to ...
7173 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7174 (grub_is_array_readable): Renamed to ...
7175 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7176 (insert_array): New argument id.
7177 (is_node_readable): New function.
7178 (scan_device): Rename to ...
7179 (scan_disk): .. this. Restrict to one disk.
7180 (scan_devices): New function.
7181 (grub_diskfilter_iterate): Support multi-LV.
7182 Skip invisible and nameless LVs.
7183 (grub_diskfilter_memberlist): Support multi-LV.
7184 (grub_diskfilter_read_node): New function.
7185 (grub_raid_read): Most of logic moved to ...
7186 (read_segment): ... here
7187 (read_lv): New function.
7188 (grub_diskfilter_get_vg_by_uuid): New function.
7189 (grub_diskfilter_make_raid): Likewise.
7190 * grub-core/disk/ldm.c: New file.
7191 * grub-core/disk/lvm.c (vg_list): Removed.
7192 (lv_count): Likewise.
7193 (scan_depth): Likewise.
7194 (is_lv_readable): Likewise.
7195 (grub_lvm_getvalue): Advance pointer past the number.
7196 (find_lv): Removed.
7197 (do_lvm_scan): Refactored into ...
7198 (grub_lvm_detect): ... this. Support raid.
7199 (grub_lvm_iterate): Removed.
7200 (grub_lvm_memberlist): Likewise.
7201 (grub_lvm_open): Likewise.
7202 (grub_lvm_close): Likewise.
7203 (read_lv): Likewise.
7204 (read_node): Likewise.
7205 (is_node_readable): Likewise.
7206 (is_lv_readable): Likewise.
7207 (grub_lvm_read): Likewise.
7208 (grub_lvm_write): Likewise.
7209 (grub_lvm_dev): Use diskfilter
7210 (GRUB_MOD_INIT): Likewise.
7211 (GRUB_MOD_FINI): Likewise.
7212 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7213 new interface.
7214 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7215 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7216 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7217 grub_diskfilter_read_node.
7218 Fix a bug with xor.
7219 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7220 grub_diskfilter_read_node.
7221 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7222 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7223 (grub_disk_dev_iterate): Move from here...
7224 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7225 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7226 Make global.
7227 (grub_hostdisk_find_partition_start): Likewise.
7228 (grub_hostdisk_os_dev_to_grub_drive): New function.
7229 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7230 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7231 * util/getroot.c (make_device_name): ... here.
7232 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7233 Move to ...
7234 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7235 * grub-core/kern/emu/hostdisk.c
7236 (convert_system_partition_to_system_disk): Move to ...
7237 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7238 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7239 * util/getroot.c (device_is_wholedisk): ... here.
7240 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7241 * util/getroot.c (find_system_device): ... here.
7242 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7243 Move to ...
7244 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7245 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7246 Move to ...
7247 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7248 Handle LDM.
7249 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7250 Move to ...
7251 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7252 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7253 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7254 DISKFILTER.
7255 * include/grub/raid.h: Renamed to ...
7256 * include/grub/diskfilter.h: ... this.
7257 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7258 (GRUB_RAID_LAYOUT_*): Make into array.
7259 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7260 (grub_diskfilter_vg): New struct.
7261 (grub_diskfilter_pv_id): Likewise.
7262 (grub_raid_member): Removed.
7263 (grub_raid_array): Likewise.
7264 (grub_diskfilter_pv): New struct.
7265 (grub_diskfilter_lv): Likewise.
7266 (grub_diskfilter_segment): Likewise.
7267 (grub_diskfilter_node): Likewise.
7268 (grub_diskfilter_get_vg_by_uuid): New proto.
7269 (grub_raid_register): Inline.
7270 (grub_diskfilter_unregister): Likewise.
7271 (grub_diskfilter_make_raid): New proto.
7272 (grub_diskfilter_vg_register): Likewise.
7273 (grub_diskfilter_read_node): Likewise.
7274 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7275 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7276 (grub_util_is_ldm): Likewise.
7277 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7278 (grub_hostdisk_find_partition_start): Likewise.
7279 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7280 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7281 New definition.
7282 (grub_gpt_partition_map_iterate): New proto.
7283 * include/grub/lvm.h (grub_lvm_vg): Removed.
7284 (grub_lvm_pv): Likewise.
7285 (grub_lvm_lv): Likewise.
7286 (grub_lvm_segment): Likewise.
7287 (grub_lvm_node): Likewise.
7288 * util/getroot.c [...]
7289 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7290 (probe_abstraction): Likewise.
7291 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7292 (main): Remove dead logic.
7293
7294 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 Simplify root device discover and don't fail when trying to open
7297 incorrect devices.
7298
7299 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7300 function.
7301 (get_diskname_from_path): Likewise.
7302 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7303 of iterating.
7304
7305 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7308
7309 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7312 pastthe end.
7313
7314 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * util/grub-install.in: Add missing \.
7317 Reported by: gentoofan
7318
7319 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7322 (direct_read): Use correct compressed size.
7323 (grub_squash_read_data): Likewise.
7324
7325 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * docs/grub.texi (Platform limitations): New section.
7328 (Platform-specific operations): Likewise.
7329 * docs/grub-dev.texi (Porting): Likewise.
7330
7331 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 IEEE1275 disk write support.
7334
7335 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7336 const void *.
7337 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7338 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7339 and seek loginc to ...
7340 (grub_ofdisk_prepare): ... here.
7341 (grub_ofdisk_write): Implement.
7342
7343 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 ARC disk write support.
7346
7347 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7348 (reopen): New argument writable. All users updated.
7349 Handle required access mode.
7350 (grub_arcdisk_write): Implement.
7351 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7352 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7353
7354 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7357 (read_sblock): Don't attempt to read superblocks outside the disk size.
7358
7359 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7362 first superblock to find the second one when possible.
7363
7364 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * util/grub-install.in: Fix an ARC bug.
7367 Print a warning if no platform-specific setup is available.
7368
7369 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 Use static allocation rather than scratch pointer in reed_solomon.
7372 It decreases its size significantly and avoids a variable in .text.
7373
7374 * grub-core/lib/reed_solomon.c (scratch): Removed.
7375 (chosenstat): New const or static array.
7376 (sigma): Likewise.
7377 (errpot): Likewise.
7378 (errpos): Likewise.
7379 (sy): Likewise.
7380 (mstat): Likewise.
7381 (errvals): Likewise.
7382 (eqstat): Likewise.
7383 (pol_evaluate): Replace x with log_x argument. All users updated.
7384 (syndroms): Removed.
7385 (gauss_solve): Use statically allocated arrays.
7386 (rs_recover): Likewise.
7387 Calculate syndroms directly.
7388 (decode_block): Use statically allocated arrays.
7389 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
7390 (main) [TEST]: Allow -DTEST -DSTANDALONE.
7391
7392 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 Eliminate fixed limit on reed solomon decoder length.
7395
7396 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
7397 rather than hardcoding the address.
7398 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
7399 no_reed_solomon_length.
7400 Move gate_a20 to no-reed-solomon part.
7401 Don't force a particular size of no reed-solomon part.
7402 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7403 Removed.
7404 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
7405 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
7406
7407 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/commands/wildcard.c (match_files): Handle filenames
7410 without explicit device.
7411 (wildcard_expand): Don't add explicit device if not already present.
7412 * tests/grub_script_echo1.in: Add a new expansion test.
7413
7414 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Replace single-linked with double-linked lists. It results in more
7417 compact and more efficient code.
7418
7419 * grub-core/kern/list.c (grub_list_push): Moved from here ...
7420 * include/grub/list.h (grub_list_push): ... to here. Set prev.
7421 (grub_list_remove): Moved from here ...
7422 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
7423 (grub_prio_list_insert): Set prev.
7424 * include/grub/list.h (grub_list): Add prev. All users updated.
7425
7426 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 Handle newer autotools. Add some missing quotes while on it.
7429
7430 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
7431 (pkglib_DATA): Move grub-mkconfig_lib from here ...
7432 (pkgdata_DATA): ... here.
7433 * Makefile.util.def (update-grub_lib): Removed.
7434 * conf/Makefile.common (pkglib_DATA): Removed.
7435 (pkglib_SCRIPTS): Likewise.
7436 (pkgdata_DATA): New variable.
7437 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
7438 needed.
7439 Add missing quotes.
7440 Remove unused variable while on it.
7441 * tests/util/grub-shell.in: Likewise.
7442 * util/grub-install.in: Likewise.
7443 * util/grub-mkconfig.in: Likewise.
7444 * util/grub-mknetdir.in: Likewise.
7445 * util/grub-mkrescue.in: Likewise.
7446 * util/grub-mkstandalone.in: Likewise.
7447 * util/grub.d/00_header.in: Likewise.
7448 * util/grub.d/10_hurd.in: Likewise.
7449 * util/grub.d/10_illumos.in: Likewise.
7450 * util/grub.d/10_kfreebsd.in: Likewise.
7451 * util/grub.d/10_linux.in: Likewise.
7452 * util/grub.d/10_netbsd.in: Likewise.
7453 * util/grub.d/10_windows.in: Likewise.
7454 * util/grub.d/20_linux_xen.in: Likewise.
7455 * util/grub.d/30_os-prober.in: Likewise.
7456 * util/update-grub_lib.in: Removed.
7457
7458 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
7459
7460 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
7461 a workaround for intel problem.
7462
7463 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
7464 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7465 2012-01-23 pfsmorigo
7466
7467 * util/grub-install.in: Support dd'in into PreP partition.
7468 * util/grub-probe.c (probe): Support discovering partition type.
7469 (main): Support -t msdos_parttype.
7470
7471 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
7474 infinite recursion using counter.
7475 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
7476 init to skip it if the magic check fails.
7477 (dec_stream_header): Init s->crc32.
7478
7479 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7480 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
7481 2012-01-22 Richard Laager <rlaager@wiktel.com>
7482
7483 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
7484 All users updated.
7485 (find_bestub): Determine correct size.
7486 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
7487 (scan_disk): Align the size down.
7488 Call check pool before find_bestub to have ashift.
7489
7490 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7493 dprintf in no-malloc zone.
7494
7495 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
7496
7497 * configure.ac: Add back in test for limits.h.
7498
7499 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 Support 4K-sector NTFS.
7502
7503 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
7504 (grub_ntfs_data): Remove blocksize.
7505 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
7506 Remove data argument. All users updated.
7507
7508 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
7511 being in .text to avoid dprel references.
7512 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
7513 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
7514 (grub_arch_highmemsize): Likewise.
7515 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
7516 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
7517 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
7518
7519 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
7522
7523 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
7524 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
7525
7526 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
7529 GRUB_UTIL.
7530 (grub_set_datetime_cmos): Likewise.
7531
7532 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 Make XZ compression parameters dependent on target and not host CPU.
7535
7536 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
7537 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
7538
7539 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
7542 set but not used variable.
7543
7544 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7547 created when no uuid support is compiled into mkfs.reiser.
7548
7549 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7552 (utf8_to_macroman): Do the opposite.
7553 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7554
7555 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * configure.ac: Refise build qemu_mips w/o unifont.
7558
7559 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Eliminate grub_min/grub_max prone to overflow usage.
7562
7563 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7564 (poll_nonroot_hub): Likewise.
7565 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7566 (grub_affs_label): Likewise.
7567 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7568 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7569 (grub_hfs_label): Likewise.
7570 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7571 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7572 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7573 (zap_leaf_array_get): Likewise.
7574 (dnode_get_path): Likewise.
7575 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7576 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7577 * grub-core/script/execute.c (grub_script_break): Likewise.
7578 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7579 grub_max.
7580 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7581 * include/grub/misc.h (grub_min): Removed.
7582 (grub_max): Likewise.
7583
7584 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7585
7586 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7587 direct.inode = 0.
7588
7589 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7592
7593 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7596
7597 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7600 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7601
7602 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7605 rather than a hack for grub_strncasemap.
7606
7607 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 Support multiple initrds
7610 Note: part of this was accidently committed in r3739.
7611
7612 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7613 initrd.
7614 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7615 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7616 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7617 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7618 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7619
7620 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7623 disks with unknown size.
7624 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7625
7626 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 Remove defines pertaining to arbitrary limits not affecting GRUB
7629 anymore.
7630
7631 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7632 (EXT2_MAX_SYMLINKCNT): Likewise.
7633 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7634 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7635 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7636 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7637 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7638 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7639 (DN_MAX_OBJECT_SHIFT): Likewise.
7640 (DN_MAX_OFFSET_SHIFT): Likewise.
7641 (DN_MAX_OBJECT): Likewise.
7642 (DNODES_PER_LEVEL_SHIFT): Likewise.
7643 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7644 (SPA_MAXBLOCKSIZE): Likewise.
7645 (SPA_BLOCKSIZES): Likewise.
7646 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7647 (MZAP_MAX_BLKSZ): Likewise.
7648
7649 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7652 handle NULL appropriately.
7653 Remove MIN.
7654
7655 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 Fix efiemu.
7658
7659 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7660 cpu/types.h.
7661 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7662 * configure.ac: Fix efiemu check.
7663
7664 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7667 grub_probe.
7668 Reported by: adamwill
7669
7670 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7671
7672 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7673
7674 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 Fix handling of wide characters in gfxterm.
7677
7678 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7679 (clear_char): Likewise.
7680 (paint_char): Skip code == NULL chars.
7681 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7682
7683 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/normal/charset.c: Move comment to right place.
7686
7687 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7690 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7691 (grub_affs_mount): Revert the correct version checking.
7692
7693 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * docs/grub.texi (Unicode): Mention several other unsupported features.
7696
7697 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7700 case statements as compile-time one.
7701 (direct_read): Prevent spurious warnings.
7702 (grub_squash_read_data): Likewise.
7703
7704 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 Various squash4 fixes and LZO and XZ support.
7707
7708 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7709 Add xzembed source files.
7710 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7711 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7712 (grub_squash_inode): New subtype long_dir.
7713 (SQUASH_TYPE_LONG_DIR): New inode type.
7714 (COMPRESSION): New enum.
7715 (XZBUFSIZ): New const.
7716 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7717 (read_chunk): Use data->decompress.
7718 (zlib_decompress): New function.
7719 (lzo_decompress): Likewise.
7720 (xz_decompress): Likewise.
7721 (squash_mount): Set new data fields.
7722 (grub_squash_iterate_dir): Handle long dir.
7723 (squash_unmount): Free xzdec and xzbuf.
7724 (grub_squash_open): Check ino type.
7725 (direct_read): Stylistic fixes. Use data->decompress.
7726 (grub_squash_read_data): Likewise.
7727 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7728 (get_byte): Likewise.
7729 (grub_zlib_disk_read): Removed.
7730 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7731 (GRUB_POSIX_BOOL_DEFINED): New define.
7732 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7733 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7734 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7735 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7736
7737 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 Don't override more informative errors.
7740
7741 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7742 * grub-core/font/font.c (open_section): Likewise.
7743 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7744 filename. Don't override errors.
7745 (grub_cmd_openbsd_ramdisk): Don't override errors.
7746 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7747 (grub_cmd_initrd): Likewise.
7748 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7749 (grub_cmd_initrd): Likewise.
7750 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7751 (grub_cmd_linux): Likewise.
7752 (grub_cmd_initrd): Likewise.
7753 (grub_cmd_payload): Likewise.
7754 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7755 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7756 (grub_cmd_module): Likewise.
7757 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7758 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7759 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7760 (grub_cmd_xnu_mkext): Likewise.
7761 (grub_cmd_xnu_ramdisk): Likewise.
7762 (grub_xnu_check_os_bundle_required): Likewise.
7763 (grub_xnu_load_kext_from_dir): Likewise.
7764 (grub_cmd_xnu_kextdir): Likewise.
7765 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7766
7767 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7770 as 1024 in block size field. Found on one of my test images.
7771 Small optimisation while on it.
7772
7773 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7776 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7777 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7778 performance fixes while on it.
7779 (grub_sfs_close): Fix memory leak while on it.
7780 (grub_sfs_label): Convert Latin1 to UTF-8.
7781
7782 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7785 space to avoid overflows.
7786 (grub_hfs_label): Convert from macroman to UTF-8.
7787
7788 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7791
7792 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7795
7796 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * unicode: Import Unicode 6.0 data.
7799
7800 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7803 outside of range.
7804
7805 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Avoid cutting in the middle of UTF-8 character.
7808
7809 * include/grub/charset.h (grub_getend): New function.
7810 * grub-core/script/function.c (grub_script_function_find): Use
7811 grub_getend.
7812 * grub-core/normal/completion.c (add_completion): Likewise.
7813
7814 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7817 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7818 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7819 (GRUB_UNICODE_TAG_END): Likewise.
7820 (GRUB_UNICODE_LAST_VALID): Likewise.
7821
7822 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7825 len and make it smaller. All users updated.
7826 * util/import_unicode.py: Put length and not end character.
7827 Check length.
7828
7829 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Make better Unicode-compliant and unify some UTF-8 code pathes.
7832
7833 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7834 valid character.
7835 (grub_is_valid_utf8): Use grub_utf8_process.
7836 Check resulting code range.
7837 (grub_utf8_to_ucs4): Use grub_utf8_process.
7838 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7839 valid character.
7840
7841 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7844
7845 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * docs/grub.texi (Filesystems): Mention AFS.
7848
7849 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * docs/grub.texi (Filesystems): Clarify restrictions.
7852 (Regexp): Mention non-Unicode regexp behaviour.
7853 (Other): Mention non-Unicode matching behaviour.
7854
7855 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 Make HFS implementation use MacRoman.
7858
7859 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
7860 (macroman): New const array.
7861 (macroman_to_utf8): New function.
7862 (utf8_to_macroman): Likewise.
7863 (grub_hfs_find_dir): Use utf8_to_macroman.
7864 (grub_hfs_dir): Use macroman_to_utf8.
7865 Set case_insensitive.
7866
7867 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
7870
7871 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Integrate hints into autogeneration scripts.
7874
7875 * docs/grub.texi (Filesystems): Add a hostdisk example.
7876 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
7877 (grub-probe): Add ofpath.
7878 * gentpl.py: Remove group nosparc64.
7879 * grub-core/commands/search.c (cache_entry): New struct.
7880 (cache): New var.
7881 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
7882 * grub-core/commands/search_wrap.c (options): Add platform-specific
7883 hint options.
7884 (grub_cmd_search): Handle platform-specific hints.
7885 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
7886 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
7887 (grub_util_biosdisk_data): Likewise.
7888 (grub_util_biosdisk_open): Set device_map.
7889 (read_device_map): Handle "" as indication of no map.
7890 Set device_map.
7891 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
7892 (grub_util_biosdisk_get_compatibility_hint): New function.
7893 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
7894 * include/grub/emu/hostdisk.h
7895 (grub_util_biosdisk_get_compatibility_hint): New proto.
7896 * util/grub-install.in: Don't call grub-mkdevicemap.
7897 Add platform-specific hint to load.cfg.
7898 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
7899 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7900 hints. Set root preliminary to compatibility hint, not to OS name.
7901 * util/grub-probe.c (PRINT_*): Add hints.
7902 (print): Make static.
7903 (escape_of_path): New function.
7904 (guess_bios_drive): Likewise.
7905 (guess_efi_drive): Likewise.
7906 (guess_baremetal_drive): Likewise.
7907 (print_full_name): Likewise.
7908 (probe): Handle hints.
7909 (main): Likewise.
7910 * util/ieee1275/devicemap.c: Removed.
7911 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
7912 updated.
7913 (grub_util_devname_to_ofpath): Return NULL on failure.
7914
7915 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7916 resource leak.
7917 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7918
7919 * po/POTFILES.in: Regenerated.
7920
7921 Allow purely long options
7922
7923 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7924 (SHORT_ARG_USAGE): Likewise.
7925 (grub_arg_show_help): Compare opt with help_options.
7926 (parse_option): Receive opt as argument. If makes big simplificatons.
7927 All users updated
7928
7929 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7932 Restructure to avoid warning.
7933
7934 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * util/grub-install.in: Account for possible escaped comma in device
7937 name.
7938
7939 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7942 channel.
7943
7944 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7947 allocation and zero-setting.
7948 (grub_ieee1275_get_devname): Check that alias is complete.
7949
7950 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7953 unaligned segments.
7954
7955 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7958 prefix.
7959 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7960 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7961 Add ieee1275 prefix.
7962
7963 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * docs/grub.texi (Filesystems): Update.
7966
7967 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Support odc, newc and bigendian cpio formats.
7970
7971 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7972 * grub-core/Makefile.core.def (newc): New module.
7973 (odc): Likewise.
7974 (cpio_be): Likewise.
7975 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7976 (MAGIC): Likewise.
7977 (MAGIC2): Likewise.
7978 (head) [MODE_ODC]: Adapt for the format.
7979 (head) [MODE_NEWC]: Likewise.
7980 (head) [!MODE_*]: Write fields of interest as arrays.
7981 (MAGIC_USTAR): Removed.
7982 (read_number) [MODE_NEWC]: Change to hex.
7983 (read_number) [!MODE_*]: Parse binary arrays.
7984 (grub_cpio_find_file): Factor out the code for better structure and
7985 always use read_number.
7986 (grub_cpio_mount): Use MAGIC and MAGIC2.
7987 (grub_cpio_dir): Exit on first hook non-0 return.
7988 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7989 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7990 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7991 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7992 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7993 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7994 * grub-core/fs/newc.c: New file.
7995 * grub-core/fs/odc.c: Likewise.
7996 * grub-core/fs/cpio_be.c: Likewise.
7997
7998 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 Fix handling of tar numbers occupying the whole field.
8001
8002 * grub-core/fs/cpio.c (read_number): New function.
8003 (grub_cpio_find_file): Use read_number instead of strtoull.
8004
8005 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8008 occupying the whole field size.
8009
8010 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8011
8012 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8013
8014 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8017
8018 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8019
8020 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8021 TARGET_IMG_LDFLAGS.
8022
8023 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8026 (mountinfo_entry): Increase the field size to take escaping into
8027 account.
8028 (find_root_device_from_libzfs): Add one byte to size of strings for
8029 security.
8030
8031 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8034 an assert.
8035 * util/grub-setup.c (setup): Likewise.
8036
8037 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8040 _LzmaDecodeA.
8041
8042 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * docs/grub.texi (Internationalisation): New section.
8045
8046 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * docs/grub.texi (Loopback booting): New section.
8049
8050 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
8051
8052 * util/grub-mkstandalone.in: Fix minor typo errors.
8053
8054 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8057
8058 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8059 net/icmp.c and net/icmp6.c.
8060 (http): New module.
8061 (priority_queue): Likewise.
8062 * grub-core/io/bufio.c: Rewritten.
8063 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8064 TYPE_WITH_CONFIGFILE_OPTION.
8065 (legacy_commands): Add bootp and dhcp.
8066 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8067 (grub_legacy_parse): Likewise.
8068 * grub-core/lib/priority_queue.c: New file.
8069 * grub-core/net/arp.c: Add missing license header.
8070 (arp_find_entry): Removed.
8071 (arp_find_entry): Likewise.
8072 (grub_net_arp_resolve): Rename to ...
8073 (grub_net_arp_send_request): ...this.
8074 (grub_net_arp_receive): New card argument.
8075 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8076 Set router and DNS server.
8077 (grub_net_configure_by_dhcp_ack): Handle routing information.
8078 (grub_cmd_bootp): Set checksum.
8079 (grub_bootp_init): Remove net_dhcp.
8080 * grub-core/net/dns.c: New file.
8081 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8082 completion.
8083 (get_card_packet): Handle allocation.
8084 (grub_efinet_findcards): Set mtu.
8085 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8086 (get_card_packet): Handle allocation.
8087 (emucard): Set mtu.
8088 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8089 (GRUB_MOD_INIT): Set mtu.
8090 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8091 mtu.
8092 (get_card_packet): Handle allocation.
8093 (grub_ofnet_findcards): Set mtu.
8094 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8095 assert.
8096 (grub_net_recv_ethernet_packet): Handle IPv6.
8097 * grub-core/net/http.c: New file.
8098 * grub-core/net/icmp.c: Likewise.
8099 * grub-core/net/icmp6.c: Likewise.
8100 * grub-core/net/ip.c (ip6addr): New type.
8101 (ip6hdr): Likewise.
8102 (reassemble): Likewise.
8103 (cmp): New function.
8104 (reassembles): New variable.
8105 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8106 (id): New variable.
8107 (send_fragmented): New function.
8108 (grub_net_send_ip_packet): Rename to ...
8109 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8110 Handle non-UDP.
8111 (grub_net_recv_ip_packets): Rename to ...
8112 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8113 (free_rsm): New function.
8114 (free_old_fragments): Likewise.
8115 (grub_net_recv_ip4_packets): New function.
8116 (grub_net_send_ip6_packet): Likewise.
8117 (grub_net_send_ip_packet): Likewise.
8118 (grub_net_recv_ip6_packets): Likewise.
8119 (grub_net_recv_ip_packets): Likewise.
8120 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8121 (LINK_LAYER_CACHE_SIZE): New const.
8122 (link_layer_find_entry): New function.
8123 (grub_net_link_layer_add_address): Likewise.
8124 (grub_net_link_layer_resolve_check): Likewise.
8125 (grub_net_link_layer_resolve): Likewise.
8126 (grub_net_ipv6_get_slaac): Likewise.
8127 (grub_net_ipv6_get_link_local): Likewise.
8128 (grub_cmd_ipv6_autoconf): Likewise.
8129 (parse_ip): Handle one number representation.
8130 (parse_ip6): New functoion.
8131 (match_net): Handle IPv6.
8132 (grub_net_resolve_address): Handle IPv6 and DNS.
8133 (grub_net_resolve_net_address): Handle IPv6.
8134 (route_cmp): New function.
8135 (grub_net_route_address): Find best route.
8136 (grub_net_addr_to_str): Handle IPv6.
8137 (grub_net_addr_cmp): New function.
8138 (grub_net_add_addr): Register local route.
8139 (print_net_address): Handle net address.
8140 (grub_net_poll_cards): Retransmit TCP.
8141 (grub_net_poll_cards_idle_real): Likewise.
8142 (have_ahead): New function.
8143 (grub_net_seek_real): Use underlying seek.
8144 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8145 * grub-core/net/tcp.c: New file.
8146 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8147 (cmp): New function.
8148 (ack): Likewise.
8149 (tftp_receive): Handle unordered input.
8150 (destroy_pq): New function.
8151 (tftp_close): Close pq.
8152 * grub-core/net/udp.c: Put missing license header.
8153 (grub_net_udp_socket): New function.
8154 (udp_socket_register): Likewise.
8155 (grub_net_udp_close): Likewise.
8156 (grub_net_recv_udp_packet): Check checksum.
8157 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8158 * include/grub/misc.h (grub_memchr): New function.
8159 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8160 (grub_net_card_driver): Return buf in recv.
8161 (grub_net_slaac_mac_list): New struct.
8162 (grub_network_level_protocol_id): Add ipv6.
8163 (grub_net_network_level_addr): Likewise.
8164 (grub_net_network_level_net_addr): Likewise.
8165 (grub_net_app_protocol): Add seek.
8166 (grub_net_socket): Removed.
8167 (grub_net_sockets): Likewise.
8168 (grub_net_socket_register): Likewise.
8169 (grub_net_socket_unregister): Likewise.
8170 (FOR_NET_SOCKETS): Likewise.
8171 (grub_net_add_addr): Add const.
8172 (GRUB_NET_BOOTP_*): New enum.
8173 (grub_net_addr_cmp): New proto.
8174 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8175 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8176 (grub_net_hwaddr_to_str): NEw proto.
8177 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8178 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8179 (grub_dns_init): New proto.
8180 (grub_dns_fini): Likewise.
8181 (grub_net_tcp_retransmit): Likewise.
8182 (grub_net_link_layer_add_address): Likewise.
8183 (grub_net_link_layer_resolve_check): Likewise.
8184 (grub_net_link_layer_resolve): Likewise.
8185 (grub_net_dns_lookup): Likewise.
8186 (grub_net_add_dns_server): Likewise.
8187 (grub_net_remove_dns_server): Likewise.
8188 (GRUB_NET_TRIES): New const.
8189 (GRUB_NET_INTERVAL): Likewise.
8190 * include/grub/net/arp.h: Mostly rewritten.
8191 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8192 * include/grub/net/ip.h: Mostly rewritten.
8193 * include/grub/net/netbuff.h: Indent.
8194 * include/grub/net/tcp.h: New file.
8195 * include/grub/net/udp.h: Mostly rewritten.
8196 * include/grub/priority_queue.h: New file.
8197 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8198 (grub_swap_bytes64_compile_time): Likewise.
8199 (grub_cpu_to_be16_compile_time): Likewise.
8200 (grub_cpu_to_be32_compile_time): Likewise.
8201 (grub_cpu_to_be64_compile_time): Likewise.
8202 (grub_be_to_cpu64_compile_time): Likewise.
8203
8204 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8207 UINT_TO_PTR with cast.
8208
8209 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8212 don't use them.
8213
8214 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8217 already there.
8218
8219 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8222 confusing ipxe.
8223
8224 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8227 Add missing const attribute.
8228 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8229 Likewise.
8230 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8231 Likewise.
8232
8233 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8236 misaligned access.
8237 (serpent_setkey): Likewise.
8238 (serpent_encrypt_internal): Likewise.
8239 (serpent_decrypt_internal): Likewise.
8240 (serpent_encrypt): Don't put an alignment-increasing cast.
8241 (serpent_decrypt): Likewise.
8242 (serpent_test): Likewise.
8243
8244 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8247
8248 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8251
8252 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8253 grub_addr_t casts.
8254 (PTR_TO_UINT64): Likewise.
8255 (PTR_TO_UINT32): Likewise.
8256
8257 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8260 because of stack.
8261 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8262 limit.
8263
8264 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8267 text_width > available width a bit more gracefully.
8268
8269 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8272 current address calculation.
8273
8274 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8277 stack.
8278 (encode_block): Likewise.
8279
8280 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8283 certainety.
8284
8285 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8288 non-RS part to avoid RS messing with GDT.
8289 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8290 Increase to suit in realmode routines.
8291
8292 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/kern/i386/realmode.S: Increase alignment.
8295 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8296
8297 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8300 be deterministic.
8301 (syndroms): Compute 0 syndrom.
8302 (rs_recover): Use 0 syndrom.
8303
8304 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8307
8308 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8311 brackets.
8312
8313 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8316 account.
8317 (get_top_pad): Likewise.
8318 (get_right_pad): Likewise.
8319 (get_bottom_pad): Likewise.
8320
8321 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
8324
8325 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8328 attribute as the structure isn't guaranteed to be properly aligned.
8329 (grub_efi_pci_device_path): Likewise.
8330 (grub_efi_pccard_device_path): Likewise.
8331 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8332 specify the size of `memory_type'.
8333 (grub_efi_vendor_device_path): Likewise.
8334 (grub_efi_controller_device_path): Likewise.
8335 (grub_efi_acpi_device_path): Likewise.
8336 (grub_efi_expanded_acpi_device_path): Likewise.
8337 (grub_efi_atapi_device_path): Likewise.
8338 (grub_efi_scsi_device_path): Likewise.
8339 (grub_efi_fibre_channel_device_path): Likewise.
8340 (grub_efi_1394_device_path): Likewise.
8341 (grub_efi_usb_device_path): Likewise.
8342 (grub_efi_usb_class_device_path): Likewise.
8343 (grub_efi_i2o_device_path): Likewise.
8344 (grub_efi_mac_address_device_path): Likewise.
8345 (grub_efi_ipv4_device_path): Likewise.
8346 (grub_efi_ipv6_device_path): Likewise.
8347 (grub_efi_infiniband_device_path): Likewise.
8348 (grub_efi_uart_device_path): Likewise.
8349 (grub_efi_vendor_messaging_device_path): Likewise.
8350 (grub_efi_hard_drive_device_path): Likewise.
8351 (grub_efi_cdrom_device_path): Likewise.
8352 (grub_efi_vendor_media_device_path): Likewise.
8353 (grub_efi_file_path_device_path): Likewise.
8354 (grub_efi_protocol_device_path): Likewise.
8355 (grub_efi_piwg_device_path): Likewise.
8356 (grub_efi_bios_device_path): Likewise.
8357
8358 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8361 (grub_ucs4_to_utf8_alloc): Likewise.
8362 (grub_ucs4_to_utf8): Likewise.
8363 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8364 (grub_ucs4_to_utf8_alloc): Likewise.
8365
8366 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 AFFS never uses unicode.
8369
8370 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8371 (grub_latin1_to_utf8): New inline function.
8372 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8373
8374 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8377 overflow.
8378
8379 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8382 (grub_squash_dirent_header): Likewise.
8383 (read_chunk): Don't double swap.
8384 (grub_squash_iterate_dir): Fix swap sizes.
8385
8386 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
8389
8390 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
8393 (grub_hfs_iterate_dir): Likewise.
8394
8395 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Fix video on platforms where unaligned access is forbidden.
8398 Make several optimisations while on it.
8399
8400 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
8401 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8402 (grub_video_fbblit_replace_32bit_1bit): Likewise.
8403 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8404 Disable.
8405 (grub_video_fbblit_replace_16bit_1bit):
8406 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8407 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8408 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
8409 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
8410 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8411 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8412 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
8413 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
8414 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
8415 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
8416 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
8417 (grub_video_fbblit_replace_index_RGB888): Likewise.
8418 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
8419 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
8420 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
8421 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
8422 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
8423 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8424 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8425 Disable.
8426 (grub_video_fbblit_blend_XXX565_1bit):
8427 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8428 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
8429 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
8430 void *.
8431 * grub-core/video/fb/video_fb.c (common_blitter)
8432 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
8433 (grub_video_fb_create_render_target_from_pointer)
8434 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8435 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
8436 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
8437 definition.
8438 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
8439
8440 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
8443 HH22 and HM10 relocations.
8444
8445 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
8448
8449 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
8452 allocation succeeded.
8453
8454 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
8457 argument a u8 pointer. All users updated.
8458 Handle unaligned buffers.
8459
8460 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
8463 add_part to workaround compiler bug.
8464
8465 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
8468
8469 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
8472 Reserve alignment invariants.
8473 (grub_multiboot_load): Likewise.
8474 (retrieve_video_parameters): Likewise.
8475 (grub_multiboot_make_mbi): Likewise.
8476
8477 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
8480 incorrect pointer.
8481
8482 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
8485 (grub_pata_pio_write): Likewise.
8486
8487 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 Add noreturn attributes and remove unreachable code.
8490
8491 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8492 code.
8493 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8494 code. Mark as noreturn.
8495 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
8496 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
8497 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
8498 unreachable code.
8499 * grub-core/kern/main.c (grub_main): Mark as noreturn.
8500 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
8501 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
8502 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
8503 * include/grub/kernel.h (grub_main): Mark as noreturn.
8504 * include/grub/reader.h (grub_rescue_run): Likewise.
8505
8506 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
8509 redundant declaration.
8510
8511 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * include/grub/net.h (grub_net_network_level_interfaces): Remove
8514 redundant declaration.
8515 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
8516
8517 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
8520 to ensure alignment.
8521 (grub_hdparm_print_identify): Make argument uint16 * to ensure
8522 alignment. Ensure tmp alignment.
8523 (grub_cmd_hdparm): Ensure buf alignment.
8524 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
8525 to ensure alignment.
8526 (grub_ata_dumpinfo): Ensure text alignment.
8527 (grub_atapi_identify): Preserve alignment invariant.
8528 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
8529
8530 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
8533 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
8534 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
8535 * include/grub/misc.h (grub_reboot)
8536 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
8537 (grub_halt) [__mips__]: Likewise.
8538
8539 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
8542 Remove redundant declaration.
8543 (grub_mmap_get_post64): Likewise.
8544 (grub_mmap_get_upper): Likewise.
8545 (grub_mmap_get_lower): Likewise.
8546
8547 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8550 uint32_t * to ensure alignment.
8551 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8552
8553 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8556 uint16_t * to ensure alignment.
8557 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8558 alignment.
8559
8560 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
8563 to ensure alignment.
8564 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8565
8566 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8569 Handle unaligned pointers.
8570 (u32at): Likewise.
8571 (u64at): Likewise.
8572 (fixup): Use byte access instead of v16at.
8573 (find_attr): Fix imporper usage of v32at.
8574 (read_data): Likewise.
8575 (list_file): Handle byte-swapping and unaligned strings.
8576 (grub_ntfs_label): Likewise.
8577
8578 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8581 as it's not necessarily aligned.
8582
8583 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8586 redundant declaration.
8587 (grub_serial_init): Likewise.
8588 (grub_terminfo_init): Likewise.
8589
8590 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8593 function.
8594 (ZAP_HASH_IDX): Likewise.
8595 (ZAP_LEAF_HASH_SHIFT): Likewise.
8596 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8597 (LEAF_HASH): Likewise.
8598 (ZAP_LEAF_NUMCHUNKS): Likewise.
8599 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8600 alignment invariants. Return pointer. All users updated.
8601 (ZAP_LEAF_ENTRY): Make into inline function.
8602 (NBBY): Removed.
8603 (xor): LIkewise.
8604 (xor_out): Use grub_crypto_xor.
8605 (dnode_get_path): Use grub_get_unaligned.
8606 (nvlist_find_value): Likewise.
8607 (grub_zfs_nvlist_lookup_uint64): Likewise.
8608 (grub_zfs_nvlist_lookup_string): Likewise.
8609 (get_nvlist_size): Likewise.
8610 (grub_zfs_open): Likewise.
8611 (fill_fs_info): Likewise.
8612 (grub_zfs_dir): Likewise.
8613 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8614 alignment invariants.
8615 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8616 necessarily aligned.
8617
8618 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8621
8622 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8625 arithmetic to conserve alignment invariants.
8626
8627 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8630 redundant declaration.
8631 (grub_efiemu_mm_obtain_request): Likewise.
8632 (grub_efiemu_prepare): Likewise.
8633
8634 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8637 to match types.
8638
8639 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8642 case of aunaligned recptr.
8643 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8644 alignment.
8645 (grub_hfsplus_btree_search): Handle unaligned index.
8646
8647 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8650 to get freetag and skip.
8651
8652 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8655 array.
8656 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8657 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8658
8659 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8662 name for checksum and fix allocation algorithm.
8663
8664 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * include/grub/types.h (grub_properly_aligned_t): New type.
8667 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8668 (grub_get_unaligned16): Add explicit casts.
8669 (grub_get_unaligned32): Likewise.
8670 (grub_get_unaligned64): Likewise.
8671 (grub_set_unaligned16): New function.
8672 (grub_set_unaligned32): Likewise.
8673
8674 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8677
8678 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8681 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8682 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8683
8684 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8685
8686 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8687 conditionals.
8688
8689 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8692 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8693
8694 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 Unify and improve RAID and crypto xor.
8697
8698 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8699 changed to grub_crypto_xor
8700 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8701 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8702 Use bigger types when possible.
8703
8704 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/disk/raid.c (scan_devices): Fix condition.
8707
8708 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8711 Make name a const ptr.
8712
8713 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8716 first argument a const pointer.
8717 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8719 proto.
8720 (grub_children_iterate): Likewise.
8721 (grub_machine_mmap_iterate): Remove redundant declaration.
8722
8723 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8726 (grub_cmd_acpi) [!x86]: Disable EBDA.
8727
8728 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Enable UTF8 in gnulib regexp.
8731
8732 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8733 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8734 (isupper): Use grub_isupper.
8735 (isascii): New inline function.
8736 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8737 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8738 * grub-core/normal/charset.c (grub_utf8_process): New function.
8739 (grub_utf8_to_utf16): Use grub_utf8_process.
8740 (grub_encode_utf8_character): New function.
8741 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8742 * include/grub/charset.h (grub_utf8_process): New declaration.
8743 (grub_encode_utf8_character): Likewise.
8744 * include/grub/misc.h (grub_islower): New inline function.
8745 (grub_isupper): Likewise.
8746 (grub_strchrsub): Moved down to fix the definitions.
8747
8748 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8751 specification.
8752
8753 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * include/grub/loader.h (grub_loader_register_preboot_hook):
8756 Use struct preboot * and not void * for handle. All users updated.
8757 (grub_loader_unregister_preboot_hook): Likewise.
8758
8759 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8762 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8763 UTF-16-BE. All users updated.
8764 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8765 (grub_hfsplus_iterate_dir): Likewise.
8766 (grub_hfsplus_label): Likewise.
8767
8768 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8771
8772 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Add missing const qualifiers.
8775
8776 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8777 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8778 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8779 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8780 (grub_lvm_check_flag): Likewise.
8781 * grub-core/efiemu/i386/coredetect.c
8782 (grub_efiemu_get_default_core_name): Likewise
8783 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8784 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8785 * grub-core/fs/ntfs.c (fixup): Likewise.
8786 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8787 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8788 (fzap_lookup): Likewise.
8789 (zap_lookup): Likewise.
8790 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8791 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8792 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8793 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8794 (grub_freebsd_add_meta_module): Likewise.
8795 (grub_cmd_freebsd_module): Likewise.
8796 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8797 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8798 (grub_xnu_writetree_get_size): Likewise.
8799 (grub_xnu_writetree_toheap_real): Likewise.
8800 (grub_xnu_find_key): Likewise.
8801 (grub_xnu_create_key): Likewise.
8802 (grub_xnu_create_value): Likewise.
8803 (grub_xnu_register_memory): Likewise.
8804 (grub_xnu_check_os_bundle_required): Likewise.
8805 (grub_xnu_scan_dir_for_kexts): Likewise.
8806 (grub_xnu_load_kext_from_dir): Likewise.
8807 * grub-core/normal/color.c (color_list): Likewise.
8808 * grub-core/normal/completion.c (current_word): Likewise.
8809 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8810 * grub-core/term/serial.c (grub_serial_find): Likewise.
8811 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8812 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8813 Likewise.
8814 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8815 (grub_freebsd_add_meta_module): Likewise.
8816 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8817 * include/grub/net.h (grub_net_card_driver): Likewise.
8818 (grub_net_card): Likewise.
8819 (grub_net_app_protocol): Likewise.
8820 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8821 * include/grub/serial.h (grub_serial_find): Likewise.
8822 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8823 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8824 (grub_xnu_create_value): Likewise.
8825 (grub_xnu_find_key): Likewise.
8826 (grub_xnu_scan_dir_for_kexts): Likewise.
8827 (grub_xnu_load_kext_from_dir): Likewise.
8828
8829 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8830 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8831 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8832 Moved from here ...
8833 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8834
8835 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
8836
8837 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8838
8839 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8842 (read_device): Fix size calculation.
8843
8844 2011-11-25 Robert Millan <rmh@gnu.org>
8845
8846 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
8847 (find_root_device_from_libzfs): Add zpool output parser to be used
8848 as fallback when libzfs isn't available.
8849
8850 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
8851
8852 * po/Makefile.in.in: Add missing escape-continuation.
8853
8854 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
8857
8858 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
8861
8862 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8863
8864 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8865
8866 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
8869
8870 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/lib/adler32.c: Add missing license specification.
8873 * grub-core/lib/crc64.c: Likewise.
8874 * grub-core/loader/i386/pc/plan9.c: Likewise.
8875 * grub-core/partmap/plan.c: Likewise.
8876
8877 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
8878
8879 Add facility to debug GRUB with gdb under qemu.
8880
8881 * grub-core/gdb_grub.in: New file.
8882 * grub-core/gmodule.pl.in: Likewise.
8883 * grub-core/Makefile.core.def (gmodule.pl): New script.
8884 (gdb_grub): Likewise.
8885
8886 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * util/grub-mount.c (argp_parser): Accept relative pathes.
8889 * util/grub-fstest.c (argp_parser): Likewise.
8890
8891 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Plan9 support.
8894
8895 * Makefile.util.def (libgrubmods): Add
8896 grub-core/partmap/plan.c.
8897 * docs/grub.texi: Notice Plan9 support.
8898 * grub-core/Makefile.core.def (plan9): New module.
8899 (part_plan): Likewise.
8900 * grub-core/loader/i386/pc/plan9.c: New file.
8901 * grub-core/partmap/plan.c: Likewise.
8902 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
8903 define.
8904 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
8905 * include/grub/mm.h (grub_extend_alloc): New inline function.
8906
8907 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 Make Reed-Solomon faster by using power of generator representation of
8910 GF(256)*.
8911
8912 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
8913 (gf_double_t): Likewise.
8914 (gf_invert): Removed.
8915 (gf_powx): New array.
8916 (gf_powx_inv): Likewise.
8917 (scratch): Move higher.
8918 (gf_reduce): Removed.
8919 (gf_mul): Use powx.
8920 (gf_invert): Likewise.
8921 (init_inverts): Replaced with ...
8922 (init_powx): ...this. All users updated.
8923 (pol_evaluate): Replace multiplications with additions.
8924 (rs_encode): Likewise.
8925 (gauss_eliminate): Call gf_invert.
8926 (grub_reed_solomon_add_redundancy): Call init_powx.
8927 (grub_reed_solomon_recover): Call init_powx unconditionally.
8928
8929 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8932
8933 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8936 disk->partiton for safety.
8937
8938 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8941 Fix a memory leak.
8942 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8943
8944 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8947
8948 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8951
8952 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Fix spaces handling in proc/self/mountinfo.
8955
8956 * util/getroot.c (unescape): New function.
8957 (grub_find_root_device_from_mountinfo): Use unescape.
8958
8959 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 Support ZFS embedding.
8962
8963 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8964 (grub_zfs_fs): Register grub_zfs_embed.
8965
8966 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 Fix MIPS compilation.
8969
8970 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8971 * include/grub/offsets.h: Rename decompressor fields from
8972 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8973 * util/grub-mkimage.c (image_targets): Use new names.
8974
8975 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 Defer multiboot device parsing until we're in compressed part.
8978
8979 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8980 bsd_part. setdevice has fallen into disuse.
8981 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8982 (bsd_part): Likewise.
8983 (boot_dev): New variable.
8984 (multiboot_trampoline): Don't parse multiboot device.
8985 Pass multiboot device in %edx.
8986 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8987 grub_boot_device.
8988 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8989 Likewise.
8990 * grub-core/kern/i386/pc/startup.S: Save edx.
8991 (grub_boot_drive): Removed.
8992 (grub_install_dos_part): Likewise.
8993 (grub_install_bsd_part): Likewise.
8994 (grub_boot_device): New variable.
8995 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8996 (grub_install_bsd_part): Likewise.
8997 (grub_boot_drive): Likewise.
8998 (grub_boot_device): New variable.
8999 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9000 Removed.
9001 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9002 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9003 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9004 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9005 * util/grub-install.in: Remove redundant condition.
9006
9007 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 Fix bug introduced by previous commit.
9010
9011 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9012
9013 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 Use decompressors framework on i386-pc. It increases core size
9016 by 46 bytes but improves compatibility and maintainability.
9017
9018 * grub-core/Makefile.core.def (lzma_decompress): New image.
9019 (kernel): Add i386_pc_ldflags.
9020 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9021 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9022 to real_to_prot, prot_to_real and device info.
9023 * include/grub/offsets.h: Renamed decompressor offsets.
9024 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9025 (image_target_desc): Remove raw_size and rename decompressor fields.
9026 (compress_kernel): Handle lzma.
9027 (generate_image): Handle decompressors on i386-pc.
9028
9029 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 * configure.ac: Add -fno-asynchronous-unwind-tables.
9032
9033 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Move assembly code to C by using intwrap. It increases core size
9036 by 88 bytes but improves compatibility and maintainability.
9037
9038 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9039 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9040 ... here. Translated to C.
9041 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9042 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9043 ... here. Translated to C.
9044 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9045 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9046 ... here. Translated to C.
9047 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9048 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9049 ... here. Translated to C.
9050 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9051 * grub-core/term/i386/pc/console.c (grub_console_cls):
9052 ... here. Translated to C.
9053 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9054 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9055 ... here. Translated to C.
9056 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9057 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9058 Translated to C.
9059 * grub-core/term/i386/pc/console.c (int10_9): New function.
9060 (grub_console_putchar): Likewise.
9061 * include/grub/i386/pc/console.h: Removed the not anymore shared
9062 functions.
9063
9064 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 Move grub_chainloader_real_boot out of the kernel.
9067
9068 * grub-core/Makefile.am: Remove machine/loader.h.
9069 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9070 Removed.
9071 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9072 variable.
9073 (grub_relocator16_keep_a20_enabled): Likewise.
9074 (grub_relocator16_boot): Fill new variables.
9075 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9076 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9077 relocator.
9078 (grub_chainloader_unload): Likewise.
9079 (grub_chainloader_cmd): Likewise.
9080 * include/grub/i386/pc/loader.h: Removed.
9081 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9082 and esi. All initialisers updated.
9083
9084 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9085 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
9086
9087 * Makefile.util.def (grub-mount): New util.
9088 * .bzrignore: Add grub-mount.
9089 * configure.ac: Check for fuse and enable grub-mount if available.
9090 * docs/man/grub-mount.h2m: New file.
9091 * util/grub-mount.c: Likewise.
9092
9093 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/commands/efi/fixvideo.c: Gettextize.
9096 * grub-core/commands/hashsum.c: Likewise.
9097 * grub-core/commands/i386/cmostest.c: Likewise.
9098 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9099 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9100 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9101 * grub-core/commands/lsmmap.c: Likewise.
9102 * grub-core/commands/menuentry.c: Likewise.
9103 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9104 * grub-core/commands/setpci.c: Likewise.
9105 * grub-core/loader/i386/bsd.c: Likewise.
9106 * grub-core/loader/i386/linux.c: Likewise.
9107 * util/getroot.c: Likewise.
9108 * util/grub-editenv.c: Likewise.
9109 * util/grub-fstest.c: Likewise.
9110 * util/grub-mkfont.c: Likewise.
9111 * util/grub-mkimage.c: Likewise.
9112 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9113 * util/grub-pe2elf.c: Likewise.
9114 * util/grub-probe.c: Likewise.
9115 * util/grub-setup.c: Likewise.
9116 * util/ieee1275/ofpath.c: Likewise.
9117 * util/misc.c: Likewise.
9118 * util/raid.c: Likewise.
9119
9120 2011-11-11 Robert Millan <rmh@gnu.org>
9121
9122 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9123 __attribute__((unused)) from `os_dev', which *is* being used.
9124
9125 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9128 forgotten define.
9129 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9130 GRUB_IA64_DL_GOT_ALIGN.
9131 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9132 GRUB_IA64_DL_TRAMP_ALIGN.
9133
9134 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 Replace grub_fatal with normal errors in i386 linux loader.
9137
9138 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9139 (allocate_pages): Check find_efi_mmap_size return value.
9140 (grub_e820_add_region): Return error.
9141 (grub_linux_boot): Check mmap return value.
9142
9143 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * grub-core/commands/acpihalt.c: Gettextized.
9146 * grub-core/commands/cacheinfo.c: Likewise.
9147 * grub-core/commands/cmp.c: Likewise.
9148 * grub-core/commands/efi/loadbios.c: Likewise.
9149 * grub-core/commands/gptsync.c: Likewise.
9150 * grub-core/commands/ieee1275/suspend.c: Likewise.
9151 * grub-core/commands/legacycfg.c: Likewise.
9152 * grub-core/commands/memrw.c: Likewise.
9153 * grub-core/commands/minicmd.c: Likewise.
9154 * grub-core/commands/parttool.c: Likewise.
9155 * grub-core/commands/time.c: Likewise.
9156 * grub-core/commands/videoinfo.c: Likewise.
9157 * grub-core/disk/geli.c: Likewise.
9158 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9159 * grub-core/disk/luks.c: Likewise.
9160 * grub-core/disk/lvm.c: Likewise.
9161 * grub-core/font/font_cmd.c: Likewise.
9162 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9163 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9164 * grub-core/gfxmenu/view.c: Likewise.
9165 * grub-core/kern/emu/hostdisk.c: Likewise.
9166 * grub-core/kern/emu/main.c: Likewise.
9167 * grub-core/kern/emu/misc.c: Likewise.
9168 * grub-core/kern/emu/mm.c: Likewise.
9169 * grub-core/kern/mips/arc/init.c: Likewise.
9170 * grub-core/kern/mips/loongson/init.c: Likewise.
9171 * grub-core/kern/partition.c: Likewise.
9172 * grub-core/lib/i386/halt.c: Likewise.
9173 * grub-core/lib/mips/arc/reboot.c: Likewise.
9174 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9175 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9176 * grub-core/loader/i386/xnu.c: Likewise.
9177 * grub-core/loader/multiboot.c: Likewise.
9178 * grub-core/net/bootp.c: Likewise.
9179 * grub-core/net/net.c: Likewise.
9180 * grub-core/normal/term.c: Likewise.
9181 * grub-core/partmap/bsdlabel.c: Likewise.
9182 * grub-core/parttool/msdospart.c: Likewise.
9183 * grub-core/term/gfxterm.c: Likewise.
9184 * grub-core/term/terminfo.c: Likewise.
9185 * grub-core/video/i386/pc/vbe.c: Likewise.
9186 * util/grub-menulst2cfg.c: Likewise.
9187 * util/grub-mkdevicemap.c: Likewise.
9188 * util/grub-mklayout.c: Likewise.
9189 * util/grub-mkrelpath.c: Likewise.
9190 * util/grub-script-check.c: Likewise.
9191 * util/ieee1275/grub-ofpathname.c: Likewise.
9192 * util/resolve.c: Likewise.
9193
9194 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Support %1$d syntax.
9197
9198 * tests/printf_unit_test.c: New file.
9199 * Makefile.util.def (printf_test): New test.
9200 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9201
9202 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9205 fix.
9206
9207 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9210 dprintf.
9211 * grub-core/font/font.c (grub_font_load): Likewise.
9212
9213 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * util/grub-macho2img.c: Add comment concerning gettext.
9216 * grub-core/lib/legacy_parse.c: Likewise.
9217
9218 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9221 (grub_xvasprintf): Likewise.
9222
9223 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 Add const keyword to grub_env_get and gettextize week days.
9226
9227 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9228 (grub_read_hook_datetime): Return const char *.
9229 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9230 updated.
9231 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9232 Mark for gettext.
9233 (grub_get_weekday_name): Return const char *. Call gettext.
9234 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9235 char * and len as the argument. All users updated.
9236 (grub_script_argv_split_append): Receive const char *.
9237 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9238 * include/grub/env.h (grub_env_get): Likewise.
9239 (grub_env_read_hook_t): Return const char *.
9240 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9241 (grub_script_argv_split_append): Likewise.
9242
9243 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9246
9247 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9250 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9251
9252 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9255 Fix prototype.
9256
9257 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Fix mips compilation.
9260
9261 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9262 normal decoder.
9263 (hashes): Use in embed decoder as well (for sizes).
9264 (dec_stream_header): Fix embed decompressor logic.
9265 (dec_stream_footer): Likewise.
9266
9267 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9270 an error and not a fatal on unrecognised relocation types.
9271
9272 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9275 Issue error rather than printf on unknown arguments.
9276
9277 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9280 Make buf a const.
9281
9282 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9285 Fix module name.
9286
9287 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9290 leftover debug printf.
9291
9292 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9295
9296 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9299 A stylistic fix.
9300
9301 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9304
9305 2011-11-10 Shea Levy <slevy@tieronedesign.com>
9306
9307 Allow all modules to perform serial IO
9308
9309 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9310 * include/grub/serial.h (grub_serial_port_configure): New inline
9311 function.
9312 (grub_serial_port_fetch): Likewise.
9313 (grub_serial_port_put): Likewise.
9314 (grub_serial_port_fini): Likewise.
9315 (grub_serial_find): New proto.
9316
9317 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 Put symlink at the end of the node and fix a potential
9320 memory corruption.
9321
9322 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9323 Make symlink into an array.
9324 (set_rockridge): Set have_symlink and alloc_dirents.
9325 (grub_iso9660_read_symlink): Use new layout.
9326 (grub_iso9660_iterate_dir): Fix memory corruption.
9327 Use new layout.
9328 (grub_iso9660_dir): Set have_symlink.
9329 (grub_iso9660_open): Likewise.
9330
9331 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Remove local keyword.
9334
9335 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9336 (version_test_gt): Likewise.
9337 (version_find_latest): Likewise.
9338 (gettext_printf): Likewise.
9339 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9340
9341 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9344
9345 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Fix ZFS memory and resource leaks.
9348
9349 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9350 All users updated.
9351 Free type on exit.
9352 (fill_vdev_info): New parameter inserted. All users updated.
9353 (check_pool_label): Likewise.
9354 (scan_disk): Likewise.
9355 (scan_devices): Close non-inserted disks.
9356 (fzap_iterate): Free l.
9357 (unmount_device): Free children descripto memory.
9358
9359 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9362 argument (access out of bounds).
9363
9364 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9367 >= 6 drives.
9368
9369 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9372 Fix declaration.
9373
9374 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 Fix several memory leaks.
9377
9378 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9379 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9380 (grub_cpio_dir): Likewise.
9381 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9382 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9383 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9384 (grub_romfs_label): Likewise.
9385 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
9386 (squash_unmount): New function.
9387 (grub_squash_dir): Fix memory leak.
9388 (grub_squash_open): Likewise.
9389 (grub_squash_read): Likewise.
9390 (grub_squash_mtime): Likewise.
9391 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
9392 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
9393 * util/grub-fstest.c (fstest): Likewise.
9394
9395 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
9398 avoid accessing beyond the array.
9399
9400 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
9403
9404 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Several AFFS fixes.
9407
9408 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
9409 (GRUB_AFFS_FLAG_FFS): Removed.
9410 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
9411 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
9412 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
9413 (grub_fshelp_node): Make block 32-bit.
9414 Add block_cache and last_block_cache.
9415 (grub_affs_read_block): Fill and use block cache.
9416 (grub_affs_read_file): Removed.
9417 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
9418 boot block.
9419 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
9420 safety.
9421 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
9422 space.
9423 (grub_affs_close): Free block cache.
9424 (grub_affs_read): Use grub_fshelp_read_file directly.
9425
9426 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
9429 with no error set.
9430
9431 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
9434 used variable.
9435 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9436 Likewise.
9437
9438 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
9441
9442 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
9443 byteswap when needed.
9444
9445 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 Fix FreeBSD compilation.
9448
9449 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
9450 to avoid circular dependency.
9451 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
9452 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
9453 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
9454
9455 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 Fix ZFS crypto error types.
9458
9459 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
9460 (grub_gcm_decrypt): Likewise.
9461 (grub_zfs_load_key_real): Fix error code type. Handle possible error
9462 from PBKDF2.
9463
9464 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Illumos support.
9467
9468 * Makefile.util.def (10_illumos): New script.
9469 * configure.ac: Set COND_HOST_ILLUMOS.
9470 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
9471 Support Illumos calls.
9472 (find_partition_start) [__sun__]: Likewise.
9473 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
9474 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
9475 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
9476 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
9477 device.
9478 * util/grub-probe.c (probe) [__sun__]: Do character check.
9479 * util/grub.d/10_illumos.in: New file.
9480
9481 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 Support escaped commas in hostdisk.
9484
9485 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
9486 (find_grub_drive): Use unescape_cmp.
9487 (make_device_name): Escape commas.
9488
9489 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9492
9493 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
9496 variable.
9497
9498 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Support trampoline jumps on powerpc.
9501
9502 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
9503 __ia64__ path.
9504 (grub_dl_load_segments): Set mod->sz.
9505 (grub_dl_flush_cache): Flush whole space occupied by module, not just
9506 segments.
9507 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
9508 (jump): Likewise.
9509 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
9510 function.
9511 (trampoline): New struct.
9512 (trampoline_template): New const.
9513 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
9514 * include/grub/dl.h (grub_dl): Add sz element.
9515 [__powerpc__]: Follow __ia64__.
9516 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
9517 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
9518 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
9519 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
9520
9521 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 ZFS crypto support.
9524
9525 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
9526 * grub-core/Makefile.core.def (zfscrypt): New module.
9527 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
9528 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
9529 it. All users updated.
9530 (grub_zfs_decrypt): New var.
9531 (grub_zfs_load_key): Likewise.
9532 (zio_checksum_functions): Add SHA256+MAC.
9533 (zio_checksum_verify): Handle incomplete comparison due to MAC.
9534 (zio_read): Handle encrypted blocks.
9535 (zap_verify): Remove incorrect check.
9536 (fzap_iterate): Handle non-standard fzap.
9537 (zap_iterate): Likewise.
9538 (zap_iterate_u64): New function.
9539 (dnode_get_fullpath): Load keys.
9540 * grub-core/fs/zfs/zfscrypt.c: New file.
9541 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
9542 (grub_crypto_ecb_encrypt): Make input const.
9543 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
9544 (grub_crypto_ecb_encrypt): Make input const.
9545 (GRUB_CIPHER_AES): New macro.
9546 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9547 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9548 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9549 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9550 prefix. All users updated.
9551 (grub_zfs_add_key): New proto.
9552 (grub_zfs_decrypt): Likewise.
9553 (grub_zfs_load_key): Likewise.
9554 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9555 * util/grub-fstest.c (options): Add -K option.
9556 (argp_parser): Likewise.
9557
9558 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 Support zle compression on ZFS.
9561
9562 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9563 (decomp_table): Add zle.
9564 * include/grub/zfs/zio.h (zio_compress): Add zle.
9565
9566 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 Support BtrFS embedding.
9569
9570 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9571 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9572 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9573 * util/grub-setup.c (setup): Use fs embedding if available.
9574 Add additional sanity check.
9575
9576 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * util/grub-install.in: Fix condition for config_opt.
9579
9580 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 Support third redundancy strip on raidz3.
9583
9584 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9585 Return error on singularity. All users updated.
9586 (read_device): Don't stop on 3rd failure on raidz3.
9587
9588 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Support case-insensitive ZFS subvolumes.
9591
9592 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9593 All users updated.
9594 (zap_hash): Likewise.
9595 (name_cmp): New function.
9596 (zap_leaf_array_equal): New parameter case_insensitive.
9597 All users updated.
9598 (zap_leaf_lookup): Likewise.
9599 (fzap_lookup): Likewise.
9600 (zap_lookup): Likewise.
9601 (dnode_get_path): New parameter case_insensitive. Retrieve case
9602 sensitiviness of a volume. All users updated.
9603 (dnode_get_fullpath): New parameter case_insensitive.
9604 All users updated.
9605 (grub_zfs_dir): Set info.case_insensitiveness.
9606
9607 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 Support second redundancy strip on raidz(2,3).
9610
9611 * grub-core/fs/zfs/zfs.c (powx): New array.
9612 (powx_inv): Likewise.
9613 (poly): New const.
9614 (xor_out): New function.
9615 (gf_mul): Likewise.
9616 (recovery): Likewise.
9617 (read_device): Use second redundancy strip.
9618
9619 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Use a power of generator representation of GF(256) multiplication group
9622 to save space time and complexity.
9623
9624 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9625 (raid6_table2): Likewise.
9626 (powx): New array.
9627 (powx_inv): Likewise.
9628 (poly): New const.
9629 (grub_raid_block_mul): Replace with ...
9630 (grub_raid_block_mulx): ...this.
9631 (grub_raid6_init_table): Rewritten.
9632 (grub_raid6_recover): Use power of generator representation.
9633
9634 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9637 for the right device.
9638
9639 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9642 expected by grub-mkimage and it's more clear since there is no implicit
9643 padding.
9644
9645 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9648 disk.
9649 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9650
9651 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9652
9653 * util/grub-mkrescue.in: Fix handling xorriso option.
9654
9655 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9658 NULL.
9659
9660 2011-11-03 crocket <crockabiscuit@gmail.com>
9661
9662 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9663
9664 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 XZ CRC64 and SHA256 support.
9667
9668 * Makefile.util.def (libgrubmods): Add crc64.c.
9669 * grub-core/Makefile.core.def (crc64): New module.
9670 * grub-core/lib/crc64.c: New file.
9671 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9672 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9673 Fix the type.
9674 (MAX_HASH_SIZE): New define.
9675 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9676 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9677 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9678 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9679 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9680 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9681 Handle non-crc32 hashes.
9682 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9683 (dec_stream_header): Handle non-crc32 hashes.
9684 (dec_stream_footer): Likewise.
9685 (dec_block_header): Likewise.
9686 (dec_main): Likewise.
9687 (xz_dec_init): Likewise.
9688 (xz_dec_reset): Likewise.
9689 (xz_dec_end): Likewise.
9690 * util/import_gcry.py: Add CRC64 line.
9691
9692 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9695 as well.
9696
9697 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 Make reiserfs label retrieval similar to other *_label functions.
9700
9701 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9702 (REISERFS_MAX_LABEL_LENGTH): Removed.
9703 (REISERFS_LABEL_OFFSET): Likewise.
9704 (grub_reiserfs_label): Rewritten.
9705
9706 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9709 field.
9710
9711 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9714
9715 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9718 drive failure on both raidz and raidz2.
9719
9720 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 Fix RAIDZ(2) for >= 5 devices.
9723
9724 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9725 asize argument. All users updated.
9726
9727 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Fix RAIDZ(2).
9730
9731 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9732 (fill_vdev_info_real): Set ashift.
9733 (read_device): Rewrite RAIDZ part based on reverse engineering.
9734
9735 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9738 don't report potentially unavialiable fields in debug output.
9739 (find_path): Fix double-free and memory leak.
9740
9741 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 Read label on UFS1.
9744
9745 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9746 (grub_ufs_fs): Always set .label.
9747
9748 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 Use shifts in UFS.
9751
9752 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9753 (grub_ufs_data): New field log2_blksz.
9754 (grub_ufs_read_file): Use shifts.
9755 (grub_ufs_mount): Check block size and logarithm it.
9756
9757 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9760 long symlinks.
9761
9762 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Handle symlinks and long names on tar and cpio.
9765
9766 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9767 (ATTR_FILE): Likewise.
9768 (ATTR_DIR): Likewise.
9769 (ATTR_LNK): Likewise.
9770 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9771 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9772 L and K entries.
9773 (grub_cpio_mount): Zero-fill data.
9774 (handle_symlink): New function.
9775 (grub_cpio_dir): Handle symlinks.
9776 (grub_cpio_open): Likewise.
9777 (grub_cpio_close) [MODE_USTAR]: Free linkname.
9778
9779 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 Fix iso9660 filename limitations and fix memory leaks.
9782
9783 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9784 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9785
9786 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 Fix JFS file name length limitations.
9789
9790 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9791 (grub_jfs_diropen): Fix maximum filename length.
9792 (grub_jfs_getent): Fix filename length.
9793 (grub_jfs_lookup_symlink): Fix size checks.
9794
9795 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9798 string.
9799
9800 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 Leverage BFS implementation to read AFS.
9803
9804 * Makefile.util.def (libgrubmods): Add afs.c.
9805 * grub-core/Makefile.core.def (afs): New module
9806 * grub-core/fs/afs.c: New file.
9807 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9808
9809 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
9812
9813 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/fs/bfs.c: Run indent.
9816
9817 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 BFS implementation based on the specification.
9820
9821 * grub-core/fs/bfs.c: New file.
9822 * Makefile.util.def (libgrubmods): Add bfs.c.
9823 * grub-core/Makefile.core.def (bfs): New module.
9824
9825 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * util/grub-fstest.c (cmd_cp): Clarify error message.
9828 (cmd_cmp): Likewise.
9829
9830 2011-10-30 Yves Blusseau <blusseau@zetam.org>
9831
9832 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9833 and befs_be.
9834
9835 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 Remove afs and befs because of copyright problem.
9838
9839 * grub-core/fs/afs.c: Removed.
9840 * grub-core/fs/afs_be.c: Removed.
9841 * grub-core/fs/befs.c: Removed.
9842 * grub-core/fs/befs_be.c: Removed.
9843 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9844 * grub-core/Makefile.core.def (afs): Removed.
9845 (afs_be): Likewise.
9846 (befs): Likewise.
9847 (befs_be): Likewise.
9848
9849 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 Prefer rockridge over Joliet.
9852
9853 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
9854 to ...
9855 (set_rockridge): ... here.
9856 (grub_iso9660_mount): Check rockridge on the primary label when
9857 discovering. Ignore Joliet if Rockridge is present.
9858
9859 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 Use shifts in nilfs2.
9862
9863 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
9864 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
9865 (grub_nilfs2_palloc_entries_per_group): Replace with ...
9866 (grub_nilfs2_log_palloc_entries_per_group): ... this.
9867 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
9868 (grub_nilfs2_entries_per_block): Replaced with ...
9869 (grub_nilfs2_log_entries_per_block_log): ... this.
9870 (grub_nilfs2_blocks_per_group): Replaced with ...
9871 (grub_nilfs2_blocks_per_group_log): ... this.
9872 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
9873 (grub_nilfs2_blocks_per_desc_block_log): ... this.
9874 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
9875 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
9876 (grub_nilfs2_palloc_entry_offset): Replaced ...
9877 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
9878 (grub_nilfs2_dat_translate): Use shifts.
9879 (grub_nilfs2_read_inode): Likewise.
9880 (GRUB_MOD_INIT): Ensure that logs are correct.
9881
9882 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 Use shifts in minix filesystem.
9885
9886 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
9887 (GRUB_MINIX_ZONE2SECT): Likewise.
9888 (grub_minix_data): Replace block_size with log_block_size.
9889 (grub_minix_read_file): Use shifts.
9890 (grub_minix_mount): Check block size and take a logarithm.
9891
9892 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 Use shifts in squash4.
9895
9896 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
9897 (squash_mount): Check block size and take logarithm.
9898 (direct_read): Use shifts.
9899
9900 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 Correct befs block counting logic.
9903
9904 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
9905 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
9906 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
9907 (grub_afs_read_inode): Use block_shift.
9908 (RANGE_SHIFT): New definition.
9909 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
9910 unexpected conditions, use shifts and appropriate types.
9911 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
9912
9913 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * grub-core/disk/raid.c (scan_devices): Check partition.
9916 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9917
9918 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 Support BFS (befs) UUID.
9921
9922 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9923 (grub_afs_small_data_element_header): New struct.
9924 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9925 (grub_afs_read_attribute) [MODE_BFS]: New function.
9926 (grub_afs_iterate_dir): Allocate for complete inode.
9927 (grub_afs_mount): Likewise.
9928 (grub_afs_uuid) [MODE_BFS]: New function.
9929 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9930
9931 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9934 (zfs_unmount): Fix memory leak.
9935
9936 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 Support NTFS reparse points.
9939
9940 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9941 (symlink_descriptor): New struct.
9942 (grub_ntfs_read_symlink): New function.
9943 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9944 (grub_ntfs_open): Likewise.
9945
9946 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9949
9950 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 fstest xnu_uuid subcommand.
9953
9954 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9955 grub-core/commands/xnu_uuid.c.
9956 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9957 (fstest): Handle xnu_uuid.
9958 (options): Document xnu_uuid.
9959 (argp_parser): Parse xnu_uuid.
9960
9961 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9964 -l argument. Add newline at the end if printing.
9965 (GRUB_MOD_INIT): Document -l.
9966
9967 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9970
9971 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 ZFS multi-device and version 33 support.
9974
9975 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9976 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9977 (grub_zfs_data): Add multidev-ice-related fields.
9978 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9979 (dva_get_offset): Make dva const.
9980 (zfs_fetch_nvlist): New function.
9981 (fill_vdev_info_real): Likewise.
9982 (fill_vdev_info): Likewise.
9983 (check_pool_label): Likewise.
9984 (scan_disk): Likewise.
9985 (scan_devices): Likewise.
9986 (read_device): Likewise.
9987 (read_dva): Likewise.
9988 (zio_read_gang): Use read_dva.
9989 (zio_read_data): Likewise.
9990 (zap_leaf_lookup): Add missing endian conversion.
9991 (zap_verify): Add missing endian conversion. All users updated.
9992 (fzap_lookup): Likewise.
9993 (fzap_iterate): Likewise.
9994 (dnode_get_path): Handle SA bonus.
9995 (nvlist_find_value): Make input const. All users updated.
9996 (unmount_device): New function.
9997 (zfs_unmount): Use unmount_device.
9998 (zfs_mount): Use scan_disk.
9999 (zfs_mtime): New function.
10000 (grub_zfs_open): Handle system attributes.
10001 (fill_fs_info): Likewise.
10002 (grub_zfs_dir): Likewise.
10003 (grub_zfs_fs): Add mtime.
10004 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10005 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10006 (SA_MTIME_OFFSET): Likewise.
10007 (SA_SYMLINK_OFFSET): Likewise.
10008 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10009 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10010 (fstest): Support zfsinfo.
10011 (argp_parser): Likewise.
10012
10013 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10016 error.
10017
10018 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 ZFS fixes.
10021
10022 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10023 sharing the same block. Iterate over correct number of indices.
10024 (dnode_get_path): Handle symlinks correctly.
10025
10026 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10029
10030 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 Read label on HFS+.
10033
10034 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10035 (grub_hfsplus_btree_search): Fix types.
10036 (grub_hfsplus_label): Implement.
10037
10038 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10041
10042 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10045
10046 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 Fix symlink handling on iso9660.
10049
10050 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10051 All users updated.
10052 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10053 (grub_iso9660_read_symlink): Moved most of code ...
10054 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10055
10056 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10059 Use union to avoid breaking strict-aliasing rules.
10060
10061 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 Support multi-extent iso files.
10064
10065 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10066 Add node.
10067 (grub_fshelp_node): Revamp. All users updated.
10068 (FLAG_*): New enum.
10069 (read_node): New function.
10070 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10071 All users updated.
10072 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10073 (get_node_size): New function.
10074 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10075 entries.
10076 Fix memory leak on . and ..
10077 (grub_iso9660_read): Use read_node.
10078 (grub_iso9660_close): Free node.
10079
10080 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 Fix tar 4G limit and handle paths containing dot.
10083
10084 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10085 (canonicalize): New function.
10086 (grub_cpio_find_file): Use canonicalize. Store offs in
10087 grub_disk_addr_t.
10088 (grub_cpio_dir): Use grub_disk_addr_t.
10089 (grub_cpio_open): Likewise.
10090
10091 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10094
10095 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10096 unused flags.
10097 (grub_squash_inode): Add long_file and block_size.
10098 (grub_squash_cache_inode): New struct.
10099 (grub_squash_dirent): Make types into enum.
10100 (SQUASH_TYPE_LONG_REGULAR): New type.
10101 (grub_squash_frag_desc): Add field size.
10102 (SQUASH_BLOCK_FLAGS): New enum.
10103 (grub_squash_data): Use grub_squash_cache_inode.
10104 (grub_fshelp_node): Make ino_chunk 64-bit.
10105 (read_chunk): Minor argument change. All users updated.
10106 (squash_mount): Use correct le_to_cpu.
10107 (grub_squash_open): Handle LONG_REGULAR.
10108 (direct_read): New function.
10109 (grub_squash_read_data): Handle blocks correctly.
10110
10111 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10114
10115 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10118
10119 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 Fix 2G limit on ZFS.
10122
10123 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10124 types.
10125 (uberblock_verify): Likewise.
10126 (dmu_read): Likewise.
10127 (grub_zfs_read): Likewise. Remove invalid cast.
10128
10129 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10132 (grub_jfs_blkno): Fix incorrect shift.
10133 (grub_jfs_read_file): Use more appropriate types.
10134
10135 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Support triple indirect on minix2 and minix3.
10138
10139 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10140 Declare triple_indir_zone.
10141 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10142 indirect.
10143
10144 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 Minix FS fixes.
10147
10148 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10149 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10150 Rename ctime to mtime. All users updated.
10151 (grub_minix_get_file_block): Fix types and double indirect computations.
10152
10153 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10156 if no label is found.
10157 (grub_fat_iterate_dir): Fix file size type.
10158 (grub_fat_iterate_dir): Likewise.
10159
10160 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10163 save some space.
10164 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10165 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10166
10167 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10170
10171 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * util/import_gcry.py: Accept space between # and include.
10174
10175 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10178
10179 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10182
10183 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10184 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10185 yylex_strncpy.
10186 * grub-core/script/yylex.l: Add fine-grained #pragma.
10187
10188 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10191 New inline function.
10192 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10193 Likewise.
10194 (memset) [GRUB_UTIL]: Likewise.
10195 (memcmp) [GRUB_UTIL]: Likewise.
10196
10197 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10200 inline function rather than a define.
10201
10202 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * util/grub-setup.c: Add missing include.
10205
10206 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/ieee1275/grub-ofpathname.c: Add missing include.
10209
10210 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10213 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10214 Likewise.
10215
10216 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10219 grub_memcmp usage.
10220
10221 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 * util/grub-install.in: Add datarootdir as per automake manual
10224 suggestion.
10225 * util/grub-mknetdir.in: Likewise.
10226
10227 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10230 suggestion.
10231 * util/grub.d/10_kfreebsd.in: Likewise.
10232 * util/grub.d/10_linux.in: Likewise.
10233 * util/grub.d/10_netbsd.in: Likewise.
10234 * util/grub.d/10_windows.in: Likewise.
10235 * util/grub.d/20_linux_xen.in: Likewise.
10236
10237 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 Remove redundant grub_kernel_image_size.
10240
10241 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10242 _edata and _start.
10243 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10244 the small code. It moves it only by few bytes but simplifies the code.
10245 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10246 _start.
10247 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10248 (grub_kernel_image_size): Removed.
10249 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10250 (grub_kernel_image_size): Removed.
10251 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10252 compiled with Apple toolchain.
10253 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10254 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10255 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10256 (grub_total_module_size): Likewise.
10257 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10258 Removed.
10259 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10260 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10261 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10262 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10263 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10264 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10265 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10266 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10267 Removed.
10268 (grub_total_module_size): Removed.
10269 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10270 (image_targets): Likewise.
10271 Set .compressed_size to no field on sparc.
10272 (generate_image): Remove kernel_image_size handling.
10273
10274 2011-10-19 Szymon Janc <szymon@janc.net.pl>
10275
10276 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10277 NULL pointer dereference.
10278
10279 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10282 done with a dedicated section.
10283
10284 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10285 Ensure the correct position of boot_path.
10286 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10287 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10288 other fields.
10289 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10290 * include/grub/boot.h: Removed. All references removed.
10291 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10292 Removed.
10293 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10294
10295 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10298 name.
10299
10300 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10303
10304 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10307 Don't add the bogus brackets.
10308
10309 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 ExFAT support.
10312
10313 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10314 * grub-core/Makefile.core.def (exfat): New module.
10315 * grub-core/fs/exfat.c: New file.
10316 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10317 (GRUB_FAT_ATTR_*): Make into an enum.
10318 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10319 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10320 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10321 (GRUB_FAT_MAXFILE): Removed.
10322 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10323 (grub_current_fat_bpb_t): New type.
10324 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10325 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10326 (grub_fat_dir_node_t): New type.
10327 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10328 (fat_log2) [MODE_EXFAT]: Removed.
10329 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10330 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10331 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10332 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10333 (grub_fat_label) [MODE_EXFAT]: New function.
10334 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10335 reserved_first_sector to 0.
10336
10337 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 Move grub_reboot out of the kernel.
10340
10341 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10342 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10343 * grub-core/lib/efi/reboot.c: ... here.
10344 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10345 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10346 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10347 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10348 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10349 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10350 * grub-core/lib/ieee1275/reboot.c: ... here.
10351 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10352 * grub-core/lib/mips/arc/reboot.c: ... here.
10353 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10354 * grub-core/lib/mips/loongson/reboot.c: ...here.
10355 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10356 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10357 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10358 * include/grub/i386/reboot.h: New file.
10359 * include/grub/mips/loongson/ec.h: Fix includes.
10360 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10361 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10362 * grub-core/lib/i386/reboot.c: New file.
10363
10364 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10365
10366 Make grub_prefix into module to fix the arbitrary limit and save
10367 some space.
10368
10369 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10370 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10371 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10372 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10373 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10374 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10375 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10376 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10377 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10378 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10379 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10380 * include/grub/ia64/efi/kernel.h: Removed.
10381 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10382 (grub_prefix): Removed.
10383 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10384 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
10385 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
10386 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
10387 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
10388 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
10389 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
10390 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
10391 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
10392 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
10393 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10394 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10395 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10396 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10397 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
10398 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
10399 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
10400 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10401 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
10402 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
10403 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
10404 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
10405 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
10406 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
10407 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
10408 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
10409 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
10410 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
10411 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
10412 from module.
10413 * util/grub-mkimage.c (image_target_desc): Removed prefix and
10414 prefix_end.
10415 (image_targets): Likewise.
10416 (generate_image): Put prefix as a module.
10417
10418 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Replace grub_module_iterate with FOR_MODULES.
10421
10422 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
10423 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
10424 (grub_efi_modules_addr): ...this.
10425 * grub-core/kern/efi/init.c (grub_modbase): New variable.
10426 (grub_efi_init): Set grub_modbase.
10427 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
10428 (grub_modbase): New variable.
10429 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
10430 (grub_modbase): New variable.
10431 (grub_machine_init): Set grub_modbase.
10432 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
10433 (grub_modbase): New variable.
10434 (grub_machine_init): Set grub_modbase.
10435 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
10436 (grub_modbase): New variable.
10437 (grub_machine_init): Set grub_modbase.
10438 * grub-core/kern/main.c (grub_module_iterate): Remove.
10439 (grub_modules_get_end): Use grub_modbase.
10440 (grub_load_modules): Use FOR_MODULES.
10441 (grub_load_config): Likewise.
10442 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
10443 (grub_modbase): New variable.
10444 (grub_machine_init): Set grub_modbase.
10445 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
10446 (grub_modbase): New variable.
10447 (grub_machine_init): Set grub_modbase.
10448 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
10449 Removed.
10450 (grub_modbase): New variable.
10451 (grub_machine_init): Set grub_modbase.
10452 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
10453 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
10454 (grub_module_iterate): Likewise.
10455 (grub_modbase): New variable declaration.
10456 (FOR_MODULES): New macro.
10457
10458 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * configure.ac: Check for __ctzdi2 and __ctzsi2.
10461 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
10462
10463 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 Fix few obvious type discrepancies.
10466
10467 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
10468 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
10469 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
10470 variable.
10471 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
10472 and connected types.
10473 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
10474 offset.
10475 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
10476 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
10477 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
10478 and connected types.
10479
10480 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 Fix python 3.x incompatibilities.
10483
10484 * gentpl.py: Put brackets around print strings.
10485 * util/import_gcry.py: Open explicitly as utf-8.
10486 Use in instead of has_key.
10487
10488 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10491 (GRUB_XFS_INO_AGBITS): Make into inline function.
10492 (GRUB_XFS_INO_INOINAG): Likewise.
10493 (GRUB_XFS_INO_AG): Likewise.
10494 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10495 (GRUB_XFS_EXTENT_OFFSET): Likewise.
10496 (GRUB_XFS_EXTENT_BLOCK): Likewise.
10497 (GRUB_XFS_EXTENT_SIZE): Likewise.
10498 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
10499 (GRUB_XFS_NEXT_DIRENT): Likewise.
10500 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
10501 (grub_xfs_read_file): Fix offset type.
10502
10503 2011-10-15 Robert Millan <rmh@gnu.org>
10504
10505 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
10506
10507 2011-10-15 Robert Millan <rmh@gnu.org>
10508
10509 Fix build problem on FreeBSD and GNU/kFreeBSD.
10510
10511 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
10512
10513 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
10516
10517 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
10518 types.
10519 (grub_hfsplus_btree_recoffset): Likewise.
10520 (grub_hfsplus_btree_recptr): Likewise.
10521 (grub_hfsplus_find_block): Likewise.
10522 (grub_hfsplus_btree_search): Likewise.
10523 (grub_hfsplus_read_block): Likewise.
10524 (grub_hfsplus_read_file): Likewise.
10525 (grub_hfsplus_mount): Likewise.
10526 (grub_hfsplus_btree_iterate_node): Likewise.
10527 (grub_hfsplus_btree_search): Likewise.
10528 (grub_hfsplus_iterate_dir): Likewise.
10529 (grub_hfsplus_read): A small code simplification.
10530
10531 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/kern/emu/hostdisk.c
10534 (convert_system_partition_to_system_disk): Don't assume that children
10535 of mapper nodes are mapper nodes.
10536
10537 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
10540 * include/grub/misc.h (grub_isxdigit): New function.
10541 * grub-core/video/colors.c (my_isxdigit): Removed. All users
10542 switched to grub_isxdigit.
10543 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
10544 number starting with a letter.
10545
10546 2011-10-09 Robert Millan <rmh@gnu.org>
10547
10548 LVM support for FreeBSD and GNU/kFreeBSD.
10549
10550 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10551 GNU/kFreeBSD.
10552 (LVM_DEV_MAPPER_STRING): Move from here ...
10553 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10554 * util/getroot.c: Include `<grub/util/lvm.h>'.
10555 (grub_util_get_dev_abstraction): Enable
10556 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10557 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10558 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10559 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10560 support it.
10561 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10562 GNU/kFreeBSD.
10563 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10564 when LVM abstraction is required for ${GRUB_DEVICE}.
10565
10566 2011-10-06 Szymon Janc <szymon@janc.net.pl>
10567
10568 Add support for LZO compression in GRUB:
10569 - import of minilzo library,
10570 - LZO decompression for btrfs,
10571 - lzop files decompression.
10572
10573 * grub-core/io/lzopio.c: New file.
10574 * grub-core/lib/adler32.c: Likewise.
10575 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10576 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10577 * grub-core/lib/minilzo/minilzo.c: Likewise.
10578 * grub-core/lib/minilzo/minilzo.h: Likewise.
10579 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10580 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10581 grub-core/lib/minilzo/minilzo.c to common.
10582 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10583 cflags in cppflags.
10584 * grub-core/Makefile.core.def (btrfs): Likewise.
10585 * grub-core/Makefile.core.def (lzopio): New module.
10586 (adler32): Likewise.
10587 * grub-core/fs/btrfs.c: Include minilzo.h.
10588 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10589 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10590 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10591 (grub_btrfs_lzo_decompress): New function.
10592 (grub_btrfs_extent_read): Add support for LZO compression type.
10593 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10594 (GRUB_USHRT_MAX): Likewise.
10595 (GRUB_UINT_MAX): Likewise.
10596 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10597 (UINT_MAX): Likewise.
10598 (CHAR_BIT): Likewise.
10599 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10600 grub-core/lib/posix_wrap/limits.h
10601 (UCHAR_MAX): Likewise.
10602 * include/grub/file.h (grub_file_filter_id): New compression filter
10603 GRUB_FILE_FILTER_LZOPIO.
10604 * include/grub/file.h (grub_file_filter_id): Set
10605 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10606 * include/grub/types.h (grub_get_unaligned16): New function.
10607 (grub_get_unaligned32): Likewise.
10608 (grub_get_unaligned64): Likewise.
10609 * util/import_gcry.py (cryptolist): Add adler32.
10610
10611 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10614 in perspective decreases the complexity of build system and fixes
10615 compilation right now.
10616
10617 2011-10-01 Ales Nesrsta <starous@volny.cz>
10618
10619 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10620 (fixed problem related to using UHCI with coreboot).
10621
10622 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10623
10624 * gentpl.py: Use Autogen macros so that the output template file
10625 (Makefile.tpl) size is reduced.
10626
10627 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
10628
10629 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10630 extra_dist.
10631
10632 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10633
10634 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10635 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10636
10637 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10638
10639 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10640 _fullpath.
10641
10642 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10643
10644 Remove extra declaration of sleep for mingw32.
10645
10646 * util/misc.c (sleep) [__MINGW32__]: Removed.
10647 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10648
10649 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10650
10651 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10652 type and packname.
10653 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10654 Resurrected.
10655 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10656 (grub_netbsd_btinfo_bootwedge): New struct.
10657 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10658 New function.
10659 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10660
10661 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10662
10663 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10664 loader.
10665
10666 2011-09-28 Andreas Born <futur.andy@googlemail.com>
10667
10668 Fix incorrect identifiers in bash-completion.
10669
10670 * util/bash-completion.d/grub-completion.bash.in
10671 (_grub_mkpasswd-pbkdf2): Rename to ...
10672 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10673 (_grub_script-check): Rename to ...
10674 (_grub_script_check): ... this. All users updated.
10675
10676 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10679 Return 0 if disk isn't biosdisk.
10680
10681 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10682
10683 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10684 on NetBSD.
10685 * Makefile.util.def (grub-fstest): Likewise.
10686
10687 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10688
10689 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10690 Get sector size from disk label.
10691
10692 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
10693
10694 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10695 */README* as well as README*.
10696 Reported by: Axel Beckert.
10697
10698 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10701 case of less than 256 MiB of RAM.
10702
10703 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/commands/wildcard.c (make_regex): Handle @.
10706
10707 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10710
10711 2011-08-21 Szymon Janc <szymon@janc.net.pl>
10712
10713 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10714 AC_LANG_CONFTEST macros.
10715
10716 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10717
10718 Add grub-fstest option to uncompress data for commands.
10719
10720 * util/grub-fstest.c (uncompress): New var.
10721 (options): New option -u.
10722
10723 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10724
10725 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10726 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10727
10728 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10729
10730 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10731 file type was not recognized correctly (not gzip or corrupted).
10732
10733 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10736 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10737
10738 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10741 loongson.
10742 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10743 video_radeon_fuloong2e.
10744 * grub-core/video/radeon_fuloong2e.c: New file.
10745 * include/grub/video.h (grub_video_id_t): Add new ID
10746 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10747
10748 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10751 define.
10752 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10753 that PRID matches the detected subplatform and reset the subplatform
10754 if it doesn't.
10755
10756 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10759
10760 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 Fix PCI iterating on functions >= 4.
10763
10764 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10765 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10766 Removed.
10767 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10768 (grub_pci_read): Fix bitmask.
10769 (grub_pci_read_word): Likewise.
10770 (grub_pci_read_byte): Likewise.
10771 (grub_pci_write): Likewise.
10772 (grub_pci_write_word): Likewise.
10773 (grub_pci_write_byte): Likewise.
10774
10775 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10778 can still be specified in TARGET_CFLAGS)
10779
10780 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10783
10784 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10785 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10786 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10787 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10788 (FULOONG): Rename to ...
10789 (FULOONG2F): ... this. All users updated.
10790 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10791 (machtype_fuloong2f_str): ... this.
10792 (machtype_fuloong2e_str): New string.
10793 Check for machtype_fuloong2e_str.
10794 * grub-core/loader/mips/linux.c (loongson_machtypes)
10795 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10796 * grub-core/term/serial.c (loongson_defserial)
10797 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10798 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10799 loongson_defserial.
10800 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10801 Rename to ...
10802 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10803 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10804 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10805 to IMAGE_FULOONG2F_FLASH. All users updated.
10806 (image_targets): Rename images.
10807 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10808
10809 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10810
10811 Make enable of disk cache statistics code configurable.
10812
10813 * configure.ac: --enable-cache-stats added.
10814 * config.h.in (DISK_CACHE_STATS): New define.
10815 * grub-core/Makefile.core.def (cacheinfo): New command.
10816 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10817 * grub-core/commands/cacheinfo.c: New file.
10818 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10819 moved to cacheinfo.c.
10820 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10821 debug code.
10822 * include/grub/disk.h: Likewise.
10823
10824 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10825
10826 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10827 * grub-core/Makefile.am: Likewise.
10828
10829 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10832 non-zero pull.
10833
10834 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10837 All users updated.
10838 (grub_jfs_lookup_symlink): Use correct starting inode.
10839
10840 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * util/grub-setup.c (main): Add missing gcry initialisation.
10843
10844 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 Don't accept text modes on EFI when booting Linux.
10847
10848 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
10849 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
10850
10851 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
10852 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10853
10854 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
10855 use of "/path/.." as in grub-install for EFI as well as handling
10856 symlinks correctly.
10857 Fixes Debian bug #637768.
10858
10859 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
10860
10861 * util/grub-probe.c: Remove duplicate #include.
10862
10863 2011-08-10 Robert Millan <rmh@gnu.org>
10864
10865 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
10866
10867 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
10868 function.
10869 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
10870 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
10871
10872 2011-08-03 Robert Millan <rmh@gnu.org>
10873
10874 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
10875 la_array as packed.
10876 Reported by: Zachary Bedell
10877
10878 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * configure.ac: The Loongson port requires grub-mkfont due to its
10881 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
10882 be built.
10883
10884 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
10885
10886 * util/grub-install.in: Don't source grub-mkconfig_lib until after
10887 processing arguments (otherwise help2man fails when GRUB has not yet
10888 been installed).
10889
10890 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 New script grub-mkstandalone.
10893
10894 * Makefile.util.def (grub-mkstandalone): New script.
10895 * docs/man/grub-mkstandalone.h2m: New file.
10896 * util/grub-mkstandalone.in: Likewise.
10897
10898 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Support ATA disks with 4K sectors.
10901
10902 * include/grub/ata.h (grub_ata): New member log_sector_size.
10903 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
10904 (grub_ata_identify): Read sector size.
10905 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
10906
10907 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * util/grub-install.in: Don't use uhci outside of x86.
10910
10911 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * util/grub-mkrescue.in: Add missing quotes.
10914
10915 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10918 dereference.
10919
10920 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10923
10924 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * include/grub/video.h: add missing EXPORT_FUND on
10927 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10928
10929 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * include/grub/mips/kernel.h: Fix define conflict.
10932
10933 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10936 all four ways.
10937
10938 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
10939
10940 Preferred resolution detection for VBE.
10941
10942 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10943 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10944 the Flat Panel extension, in line with the X.org VESA driver.
10945 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10946 New function.
10947 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10948 (grub_vbe_bios_read_edid): Likewise.
10949 (grub_vbe_get_preferred_mode): Likewise.
10950 (grub_video_vbe_setup): When the mode is "auto", try to get the
10951 preferred mode from VBE, and use the largest mode that is no larger
10952 than the preferred mode (some BIOSes expose a preferred mode that is
10953 not in their mode list!). If this fails, fall back to 640x480 as a
10954 safe conservative choice.
10955 (grub_video_vbe_get_edid): New function.
10956 (grub_video_vbe_adapter): Add get_edid.
10957 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10958 (struct grub_video_adapter): Add get_edid.
10959 (grub_video_edid_checksum): Add prototype.
10960 (grub_video_edid_preferred_mode): Likewise.
10961 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10962 structure.
10963
10964 * grub-core/commands/videoinfo.c (print_edid): New function.
10965 (grub_cmd_videoinfo): Print EDID if available.
10966
10967 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10968 is more appropriate on a wider range of platforms than 640x480.
10969 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10970 documentation.
10971
10972 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10975
10976 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * po/POTFILES.in: Regenerate.
10979
10980 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10983 incorrect memory usage.
10984
10985 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * util/grub-install.in: Source grub-mkconfig_lib.
10988
10989 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 Remove getroot.c from core on emu platform.
10992
10993 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10994 kern/emu/raid.c.
10995 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10996 useless.
10997 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10998 * util/getroot.c (get_win32_path): ... here.
10999 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11000 * util/getroot.c (fini_libzfs): ... here.
11001 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11002 * util/getroot.c (grub_get_libzfs_handle): ... here.
11003 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11004 Moved from here...
11005 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11006 * grub-core/kern/emu/misc.c
11007 (grub_make_system_path_relative_to_its_root): Moved from here...
11008 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11009 * grub-core/kern/emu/getroot.c: Moved from here ...
11010 * util/getroot.c: ... here. All users updated.
11011 * grub-core/kern/emu/raid.c: Moved from here ...
11012 * util/raid.c: ... here. All users updated.
11013
11014 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * po/POTFILES.in: Regenerate.
11017
11018 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Fix compilation on GNU/Linux.
11021
11022 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11023 Disable geli.
11024 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11025 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11026 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11027
11028 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11029 2011-07-07 Michael Gorven <michael@gorven.za.net>
11030 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11031
11032 LUKS and GELI support.
11033
11034 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11035 grub-core/disk/luks.c, grub-core/disk/geli.c,
11036 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11037 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11038 grub-core/lib/arg.c.
11039 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11040 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11041 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11042 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11043 (grub-bin2h): Add libgcry.a.
11044 (grub-mkimage): Likewise.
11045 (grub-mkrelpath): Likewise.
11046 (grub-script-check): Likewise.
11047 (grub-editenv): Likewise.
11048 (grub-mkpasswd-pbkdf2): Likewise.
11049 (grub-pe2elf): Likewise.
11050 (grub-fstest): Likewise.
11051 (grub-mkfont): Likewise.
11052 (grub-mkdevicemap): Likewise.
11053 (grub-probe): Likewise.
11054 (grub-ofpath): Likewise.
11055 (grub-mklayout): Likewise.
11056 (example_unit_test): Likewise.
11057 (grub-menulst2cfg): Likewise.
11058 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11059 * grub-core/Makefile.core.def (cryptodisk): New module.
11060 (luks): Likewise.
11061 (geli): Likewise.
11062 * grub-core/disk/AFSplitter.c: New file.
11063 * grub-core/disk/cryptodisk.c: Likewise.
11064 * grub-core/disk/geli.c: Likewise.
11065 * grub-core/disk/luks.c: Likewise.
11066 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11067 grub_util_is_lvm.
11068 (grub_util_get_dm_abstraction): New function.
11069 (grub_util_follow_gpart_up): Likewise.
11070 (grub_util_get_geom_abstraction): Likewise.
11071 (grub_util_get_dev_abstraction): Use new functions.
11072 (grub_util_pull_device): Pull GELI and LUKS.
11073 (grub_util_get_grub_dev): Handle LUKS and GELI.
11074 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11075 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11076 (follow_geom_up): Removed.
11077 (grub_util_fd_seek): New function.
11078 (open_device): Use grub_util_fd_seek.
11079 (nread): Rename to ..
11080 (grub_util_fd_read): ... this. All users updated.
11081 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11082 (grub_crypto_cbc_decrypt): Likewise.
11083 (grub_crypto_hmac_write): Likewise.
11084 (grub_crypto_hmac_buffer): Likewise.
11085 (grub_password_get): Extend to util.
11086 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11087 New member modname.
11088 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11089 * include/grub/cryptodisk.h: New file.
11090 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11091 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11092 LUKS and GELI.
11093 (grub_util_follow_gpart_up): New proto.
11094 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11095 (grub_util_fd_read): Likewise.
11096 (grub_cryptodisk_cheat_mount): Likewise.
11097 (grub_util_cryptodisk_print_uuid): Likewise.
11098 (grub_util_get_fd_sectors): Likewise.
11099 * util/grub-fstest.c (mount_crypt): New var.
11100 (fstest): Mount crypto if requested.
11101 (options): New option -C.
11102 (argp_parser): Parse -C.
11103 (main): Init and fini gcry.
11104 * util/grub-install.in: Support cryptodisk install.
11105 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11107 cryptodisk.
11108 (prepare_grub_to_access_device): Likewise.
11109 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11110 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11111 (probe_cryptodisk_uuid): New function.
11112 (probe_abstraction): Likewise.
11113 (probe): Use new functions.
11114 * util/import_gcry.py: Create Makefile.utilgcry.def.
11115 Add modname member.
11116
11117 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Lazy device scanning.
11120
11121 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11122 (grub-setup): Remove util/raid.c.
11123 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11124 * grub-core/disk/lvm.c (scan_depth): New variable.
11125 (grub_lvm_iterate): Rescan if necessary.
11126 (find_lv): New function based on grub_lvm_open.
11127 (grub_lvm_open): Use find_lv. Rescan on error.
11128 (is_node_readable): New function.
11129 (is_lv_readable): Likewise.
11130 (grub_lvm_scan_device): Skip already found disks.
11131 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11132 Stop if searched device is found and readable.
11133 * grub-core/disk/raid.c (inscnt): New variable.
11134 (scan_depth): Likewise.
11135 (scan_devices): New function based on grub_raid_register. Abort if
11136 looked for device is found.
11137 (grub_raid_iterate): Rescan if needed.
11138 (find_array): NEw function based on -grub_raid_open.
11139 (grub_raid_open): Use find_array and rescan.
11140 (insert_array): Set became_readable_at.
11141 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11142 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11143 New function.
11144 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11145 (grub_util_pull_device): New function.
11146 (grub_util_get_grub_dev): Call grub_util_pull_device.
11147 * util/raid.c: Moved to ..
11148 * grub-core/kern/emu/raid.c: ... here.
11149 (grub_util_raid_getmembers): New parameter "bootable".
11150 All users updated. Support 1.x.
11151 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11152 All users updated.
11153 * include/grub/disk.h (grub_disk_pull_t): New enum.
11154 (grub_disk_dev): Change iterate prototype.
11155 All users updated.
11156 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11157 New proto.
11158 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11159 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11160 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11161 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11162 All users updated.
11163 * include/grub/util/raid.h: Removed.
11164
11165 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * po/POTFILES.in: Regenerate.
11168
11169 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 Unify sparc init with other ieee1275.
11172
11173 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11174 instead of kern/sparc64/ieee1275/init.c.
11175 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11176 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11177 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11178 grub/machine/kernel.h.
11179 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11180 (grub_claim_heap) [__sparc__]: Use sparc version.
11181 (grub_machine_init): Moved args parsing to
11182 (grub_parse_cmdline): ...this.
11183 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11184 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11185 New definition.
11186 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11187
11188 Move BOOTP to separate file.
11189
11190 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11191 * grub-core/net/net.c: Move all BOOTP functions to
11192 * grub-core/net/bootp.c: ... here.
11193
11194 Use frame interface on PXE.
11195
11196 * grub-core/Makefile.core.def (pxecmd): Removed.
11197 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11198 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11199 * grub-core/i386/pc/pxe.c: Moved from here ...
11200 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11201 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11202 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11203
11204 EFI network support.
11205
11206 * grub-core/Makefile.core.def (efinet): New module.
11207 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11208 here...
11209 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11210 All users updated.
11211 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11212 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11213 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11214 * grub-core/net/drivers/efi/efinet.c: New file.
11215 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11216 (grub_efi_net_config): New extern var.
11217
11218 Various cleanups and bugfixes.
11219
11220 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11221 error.
11222 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11223 disk declared as partition.
11224 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11225 leak on failure.
11226 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11227 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11228 (grub_debug_zalloc): Likewise.
11229 (grub_debug_realloc): Likewise.
11230 (grub_debug_memalign): Likewise.
11231 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11232 Check that target is IPv4.
11233 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11234 local-mac-address as fallback.
11235 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11236 memory leak.
11237 * grub-core/net/ip.c (ipchksum): Rename to ...
11238 (grub_net_ip_chksum): ... this. All users updated.
11239 (grub_net_recv_ip_packets): Special handling for DHCP.
11240 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11241
11242 Unify prefix handling
11243
11244 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11245 (grub_machine_get_bootlocation): ... this.
11246 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11247 (grub_machine_get_bootlocation): ... this.
11248 (grub_prefix): New variable.
11249 (prefix): Removed.
11250 (root_dev): New variable.
11251 (dir): Likewise.
11252 (main): Use new variables.
11253 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11254 Revamped into ...
11255 (grub_machine_get_bootlocation): ... this.
11256 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11257 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11258 (grub_machine_get_bootlocation): ... this.
11259 (grub_machine_set_prefix): Removed.
11260 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11261 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11262 Revamped into ...
11263 (grub_machine_get_bootlocation): ... this.
11264 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11265 (grub_set_prefix_and_root): ... this. All users updated.
11266 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11267 Revamped into ...
11268 (grub_machine_get_bootlocation): ... this.
11269 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11270 (grub_machine_get_bootlocation): New proto.
11271 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11272
11273 Less intrusive and more reliable seek on network implementation.
11274
11275 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11276 (grub_file_seek): Don't call grub_file_net_seek.
11277 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11278 (grub_net_fs_read_real): .. this.
11279 (grub_net_seek_real): Use net->offset.
11280 (grub_net_fs_read): Seek if necessary.
11281
11282 Unify IEEE1275 netwotk config with the other platforms.
11283
11284 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11285 New variable.
11286 (grub_machine_get_bootlocation): Support network.
11287 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11288 Support type and device parsing.
11289 (grub_ieee1275_get_device_type): New function.
11290 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11291 into ...
11292 (grub_ieee1275_net_config_real): ... this.
11293 (grub_ofnet_probecards): Removed.
11294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11295 * include/grub/ieee1275/ofnet.h: Removed.
11296 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11297 extern var.
11298 (grub_ieee1275_get_device_type): New function.
11299
11300 Unify network device closing across platforms and make more robust.
11301
11302 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11303 grub_grubnet_fini.
11304 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11305 already.
11306 * grub-core/net/net.c (grub_net_network_level_interface_register):
11307 Update num_ifaces.
11308 (grub_net_card_unregister): Close all interfaces.
11309 (receive_packets): Don't poll if no iterfaces are registered.
11310 Open if necessary.
11311 (grub_net_fini_hw): New function.
11312 (grub_net_restore_hw): Likewise.
11313 (fini_hnd): New variable.
11314 (GRUB_MOD_INIT): Register preboot hook.
11315 (GRUB_MOD_FINI): Run and unregister preboot hook.
11316
11317 Poll network cards when idle.
11318
11319 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11320 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11321 * grub-core/net/net.c (receive_packets): Save last poll time.
11322 (grub_net_poll_cards_idle_real): New function.
11323 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11324 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11325 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11326
11327 Rename ofnet interfaces.
11328
11329 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11330 (grub_ofnet_findcards): Use ofnet_%s names.
11331
11332 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11333
11334 Cleanup socket opening.
11335
11336 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11337 (grub_net_fs_close): Likewise.
11338 (grub_net_fs_read_real): Use eof member.
11339 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11340 (+grub_net_udp_close): New inline function.
11341
11342 * include/grub/net/tftp.h: Moved to the top of ...
11343 * grub-core/net/tftp.c: ... here.
11344 * include/grub/net/ip.h: Moved mostly to the top of ...
11345 * grub-core/net/ip.c: ... here.
11346 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11347 * grub-core/net/ethernet.c: ... here.
11348
11349 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11350
11351 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11352 FS name.
11353
11354 * include/grub/net/ip.h (ipv4_ini): Removed.
11355 (ipv4_fini): Likewise.
11356
11357 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11358 (grub_net_send_ip_packets): Likewise.
11359
11360 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11363 grub_read_cmos prototype.
11364
11365 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 VGA text support in qemu-mips
11368
11369 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11370 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11371 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11372 text.
11373 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11374 * grub-core/kern/vga_init.c: ... this.
11375 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11376 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11377 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11378 Adjust.
11379 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11380 GRUB_MACHINE_PCI_IO_BASE.
11381
11382 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 MIPS qemu flash support.
11385
11386 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
11387 magic.
11388 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
11389 (grub_machine_init): Probe memory if its size isn't known.
11390 * util/grub-mkimage.c (image_targets): Add flash targets.
11391 (generate_image): Handle flash targets.
11392
11393 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11394
11395 MIPS qemu at_keyboard support.
11396
11397 * gentpl.py (videoinkernel): Add qemu-mips.
11398 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
11399 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
11400 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
11401 modules.
11402 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
11403 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
11404 * grub-core/term/serial.c (grub_serial_register)
11405 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
11406
11407 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 CMOS support on sparc.
11410
11411 * gentpl.py (cmos): Add powerpc and sparc.
11412 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
11413 powerpc and sparc.
11414 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
11415 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
11416 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
11417 grub_set_datetime_cmos.
11418 * grub-core/lib/ieee1275/cmos.c: New file.
11419 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
11420 (find_rtc): Set no_ieee1275_rtc on error.
11421 (grub_get_datetime): Call grub_get_datetime_cmos on error.
11422 (grub_set_datetime): Call grub_set_datetime_cmos on error.
11423 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
11424 fail. Move value to argument. All users updated
11425 (grub_cmos_write): Likewise.
11426 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
11427 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
11428 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
11429 grub_get_datetime_cmos and grub_set_datetime_cmos.
11430
11431 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11432
11433 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
11434 sourcing grub-mkconfig_lib.
11435 * util/update-grub_lib.in: Likewise.
11436 * util/grub.d/00_header.in: Likewise.
11437 * util/grub.d/10_hurd.in: Likewise.
11438 * util/grub.d/10_kfreebsd.in: Likewise.
11439 * util/grub.d/10_linux.in: Likewise.
11440 * util/grub.d/10_netbsd.in: Likewise.
11441 * util/grub.d/10_windows.in: Likewise.
11442 * util/grub.d/20_linux_xen.in: Likewise.
11443 * util/grub.d/30_os-prober.in: Likewise.
11444
11445 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
11446
11447 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
11448 default_bg_color rather than black.
11449 (grub_gfxterm_fullscreen): Likewise.
11450 (grub_gfxterm_background_color_cmd): Save new background color in
11451 default_bg_color.
11452
11453 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
11456
11457 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
11460 mismerge.
11461
11462 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Chainloading on coreboot support.
11465
11466 * grub-core/Makefile.core.def (chain): Add coreboot.
11467 * grub-core/loader/i386/coreboot/chainloader.c: New file.
11468
11469 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
11472 if it happens.
11473
11474 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Implement time command.
11477
11478 * grub-core/Makefile.core.def (time): New module.
11479 * grub-core/commands/time.c: New file.
11480 * grub-core/script/parser.y: Remove "time" keyword.
11481 * grub-core/script/yylex.l: Likewise.
11482
11483 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
11486
11487 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11490 when handling leftovers.
11491
11492 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11495 so that help2man doesn't fail.
11496
11497 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
11500 type in pointers on sparc64.
11501 (get_card_packet): Likewise.
11502
11503 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
11504
11505 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
11506 with `*'.
11507 (grub_cmd_videoinfo): Fetch current video mode.
11508
11509 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
11512 because of underlying system restrictions.
11513
11514 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
11517 necessary.
11518
11519 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Coreboot video support.
11522
11523 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
11524 (vbe): Likewise.
11525 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
11526 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
11527 here ...
11528 * grub-core/kern/i386/int.S: ... here.
11529 * grub-core/video/i386/pc/vbe.c: Updated includes.
11530 * grub-core/video/i386/pc/vga.c: Likewise.
11531 * include/grub/i386/coreboot/memory.h
11532 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
11533 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
11534 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
11535 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
11536 Disable interrupts.
11537 * include/grub/i386/pc/vga.h: Removed. All users updated.
11538
11539 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
11542 definitions for dprintf.
11543 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
11544
11545 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11548 prototype.
11549 (get_card_packet): Likewise.
11550
11551 2011-06-26 Yves Blusseau <blusseau@zetam.org>
11552
11553 Display the path of the file when file is not found
11554
11555 * grub-core/fs/fat.c: Display the filename when file is not found.
11556 * grub-core/fs/fshelp.c: Likewise.
11557 * grub-core/fs/hfs.c: Likewise.
11558 * grub-core/fs/jfs.c: Likewise.
11559 * grub-core/fs/minix.c: Likewise.
11560 * grub-core/fs/ufs.c: Likewise.
11561 * grub-core/fs/btrfs.c: Likewise.
11562 * grub-core/commands/i386/pc/play.c: Likewise.
11563
11564 2011-06-26 Szymon Janc <szymon@janc.net.pl>
11565
11566 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11567 pointer checks before calling grub_free().
11568 * grub-core/commands/wildcard.c (match_devices): Likewise.
11569 * grub-core/commands/wildcard.c (match_files): Likewise.
11570 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11571 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11572 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11573 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11574 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11575 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11576 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11577 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11578 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11579
11580 2011-06-25 Patrick <p55@mailinator.com>
11581
11582 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11583
11584 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11587 (grub_pxe_send): Likewise.
11588 (GRUB_MOD_INIT): Fix types.
11589
11590 2011-06-24 Szymon Janc <szymon@janc.net.pl>
11591
11592 * grub-core/io/xzio.c: Fix code style issues
11593
11594 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11595 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
11596
11597 Network infrastructure.
11598 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11599
11600 * include/grub/net/arp.h: New file.
11601 * include/grub/net/device.h: Likewise.
11602 * include/grub/net/ethernet.h: Likewise.
11603 * include/grub/net/ip.h: Likewise.
11604 * include/grub/net/netbuff.h: Likewise.
11605 * include/grub/net/tftp.h: Likewise.
11606 * include/grub/net/udp.h: Likewise.
11607 * include/grub/ieee1275/ofnet.h: Likewise.
11608 * include/grub/emu/export.h: Likewise.
11609 * include/grub/net.h: Likewise.
11610 * grub-core/net/arp.c: Likewise.
11611 * grub-core/net/ethernet.c: Likewise.
11612 * grub-core/net/ip.c: Likewise.
11613 * grub-core/net/udp.c: Likewise.
11614 * grub-core/net/tftp.c: Likewise.
11615 * grub-core/net/netbuff.c: Likewise.
11616 * grub-core/net/net.c: Likewise.
11617 * grub-core/net/drivers/emu/emunet.c: Likewise.
11618 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11619 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11620 export.h.
11621 * grub-core/Makefile.core.def (net): New module.
11622 (tftp): Likewise.
11623 (ofnet): Likewise.
11624 (emunet): Likewise.
11625 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11626 network protocols.
11627 * grub-core/kern/device.c (grub_net_open) : New variable.
11628 (grub_device_open): Handle network device.
11629 (grub_device_close): Likewise.
11630 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11631 (grub_grubnet_fini): Likewise.
11632 (grub_file_seek): Seek in network device.
11633 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11634 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11635 network root.
11636 (grub_machine_fini): Call grub_grubnet_fini.
11637 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11638 network.
11639 (grub_ieee1275_get_aliasdevname): New function.
11640 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11641 Add unofficial Solaris network info.
11642 (grub_multiboot_make_mbi): Likewise.
11643 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11644 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11645 * include/grub/device.h (grub_fs): Removed.
11646 * include/grub/err.h (grub_err_t): Add network-related values.
11647 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11648 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11649 (grub_ieee1275_get_aliasdevname): New proto.
11650 * include/grub/net.h: Rewritten.
11651
11652 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11655 names.
11656
11657 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11660 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11661 it truncates the output.
11662 Reported by: Ximin Luo.
11663
11664 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11667
11668 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11671 partmap before abstraction.
11672
11673 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11674
11675 * util/grub-mkconfig_lib.in: Add missing quotes.
11676
11677 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11680 old method if mountinfo would return /dev/root and /dev/root doesn't
11681 exist.
11682
11683 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 ZFS zlib support
11686
11687 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11688 (decomp_table): Add zlib entries.
11689 (zio_read): USe 8 bits for compression function rather than 3.
11690 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11691
11692 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/disk/ahci.c: Add missing license statements.
11695 * grub-core/fs/romfs.c: Likewise.
11696 * grub-core/lib/ia64/setjmp.S: Likewise.
11697 * grub-core/loader/i386/pc/freedos.c: Likewise.
11698 * grub-core/loader/ia64/efi/linux.c: Likewise.
11699 * grub-core/video/colors.c: Likewise.
11700 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11701
11702 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 AHCI support.
11705
11706 * grub-core/Makefile.core.def (ata_pthru): Removed.
11707 (ahci): New module.
11708 (pata): Likewise.
11709 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11710 on unload.
11711 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11712 readwrite.
11713 (grub_hdparm_do_check_powermode_cmd): Likewise.
11714 (grub_hdparm_do_smart_cmd): Likewise.
11715 (grub_hdparm_set_val_cmd): Likewise.
11716 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11717 * grub-core/disk/ahci.c: New file.
11718 * grub-core/disk/ata.c: Factor out the low-level part into ...
11719 * grub-core/disk/pata.c: ... here.
11720 * grub-core/disk/ata_pthru.c: Contents moved to ...
11721 * grub-core/disk/pata.c: ... here.
11722 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11723 (grub_scsi_iterate): Use grub_scsi_names.
11724 (grub_scsi_open): Likewise.
11725 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11726 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11727 (grub_ata_regs_t): New struct.
11728 (grub_disk_ata_pass_through_parms): Likewise.
11729 (grub_ata_device): Renamed to ...
11730 (grub_ata): ... this.
11731 (grub_ata_dev): New struct.
11732 Removed all low-level inline functions.
11733 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11734 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11735 iterate hooks and open. All users updated.
11736 * util/grub-install.in: Handle AHCI disk module.
11737
11738 2011-06-23 Szymon Janc <szymon@janc.net.pl>
11739
11740 Add support for DRI and RSTn markers in JPEG files.
11741
11742 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11743 (JPEG_MARKER_RST0): Likewise.
11744 (JPEG_MARKER_RST1): Likewise.
11745 (JPEG_MARKER_RST2): Likewise.
11746 (JPEG_MARKER_RST3): Likewise.
11747 (JPEG_MARKER_RST4): Likewise.
11748 (JPEG_MARKER_RST5): Likewise.
11749 (JPEG_MARKER_RST6): Likewise.
11750 (JPEG_MARKER_RST7): Likewise.
11751 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11752 (grub_jpeg_decode_dri): New function.
11753 (grub_jpeg_decode_sos): Move image data related part into
11754 grub_jpeg_decode_data function.
11755 (grub_jpeg_decode_data): New function.
11756 (grub_jpeg_reset): New function.
11757 (grub_jpeg_decode_jpeg): Handle new markers.
11758
11759 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * util/ieee1275/ofpath.c (check_sas): Close fd.
11762 (main): Free of_path.
11763 Reported by: David Volgyes <dvolgyes>.
11764
11765 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11768 Reported by: David Volgyes <dvolgyes>.
11769
11770 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11773 file after stat.
11774 Reported by: David Volgyes <dvolgyes>.
11775
11776 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11779
11780 Reported by: David Volgyes <dvolgyes>.
11781
11782 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11785 Prevent memory leak.
11786
11787 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11788
11789 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11790 (main): Close file.
11791 Reported by: David Volgyes <dvolgyes>.
11792
11793 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11796 to continue if allocation is failed.
11797
11798 Reported by: David Volgyes <dvolgyes>.
11799
11800 2011-06-23 David Volgyes <dvolgyes>
11801
11802 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11803 dereference.
11804
11805 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 Fix spurious warning.
11808
11809 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11810 (acorn_partition_map_find): Use .bin member.
11811
11812 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11815 /dev/root as a valid device.
11816
11817 2011-06-23 Jim Meyering <meyering@redhat.com>
11818
11819 Avoid NULL deref in grub_device_open.
11820
11821 * grub-core/kern/device.c (grub_device_open): Don't dereference
11822 a NULL pointer upon failed grub_env_get.
11823
11824 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 Support non-512B sectors and agglomerate reads.
11827
11828 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11829 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11830 (disk_io_guid): Removed.
11831 (make_devices): Locate solely by BlockIO.
11832 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11833 (grub_efidisk_read): Use read_blocks.
11834 (grub_efidisk_write): Use write_blocks.
11835 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11836 log_sector_size.
11837 (get_safe_sectors): Handle non-512B sectors.
11838 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11839 sectors.
11840 (grub_biosdisk_write): Handle non-512B sectors.
11841 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11842 (grub_scsi_read): Remove special non-512B block handling (now handled
11843 one level up).
11844 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
11845 and do sanity checks.
11846 (grub_disk_adjust_range): Handle non-512B sectors.
11847 (transform_sector): New function.
11848 (grub_disk_read_small): Likewise.
11849 (grub_disk_read): Rewritten.
11850 (grub_disk_write): Handle non-512B sectors.
11851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
11852 log_sector_size.
11853 (open_device): Use log_sector_size.
11854 (grub_util_biosdisk_read): Likewise.
11855 (grub_util_biosdisk_write): Likewise.
11856 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
11857 non-512B sectors.
11858 (pc_partition_map_embed): Likewise.
11859 * include/grub/disk.h (grub_disk): New field log_sector_size.
11860 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
11861 (GRUB_DISK_CACHE_BITS): Increased to 6.
11862 * util/grub-fstest.c (fstest): New command testload.
11863 (argp_parser): Likewise.
11864
11865 2011-06-16 Robert Millan <rmh@gnu.org>
11866
11867 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
11868 `ata' driver on kernel of FreeBSD 9.
11869
11870 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
11871 (get_ataraid_disk_name): New functions.
11872 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
11873 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
11874 get_ataraid_disk_name() and get_ada_disk_name().
11875
11876 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
11877
11878 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
11879 input format.
11880
11881 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
11882
11883 * docs/grub.texi (Obtaining and Building GRUB): Substitute
11884 `ftp.gnu.org' for `alpha.gnu.org'.
11885
11886 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11887
11888 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
11889 partitions under /dev/disk/by-id/.
11890
11891 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
11892
11893 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
11894 after ten consecutive open failures. Scanning all the way up to
11895 10000 is excessive and can cause serious performance problems in
11896 some configurations.
11897 Fixes Ubuntu bug #787461.
11898
11899 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
11902 opening new one.
11903
11904 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
11905 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 Don't stat devices unless we have to.
11908
11909 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
11910 dir == /dev/mapper.
11911 (grub_guess_root_device): Use already known os_dev if possible.
11912 * grub-core/kern/emu/hostdisk.c
11913 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11914 if device is known to be a dm one.
11915
11916 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
11917
11918 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11919 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11920 Reported by: Pawel Tecza.
11921
11922 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11925 (lsefisystab): Likewise.
11926 (lssal): Likewise.
11927 (lsefimmap): Likewise.
11928 (hdparm): Enable on qemu-mips.
11929 (setjmp): Add ia64 nodist.
11930 (serial): Simplify tags.
11931
11932 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11933
11934 * Makefile.util.def (grub-ofpathname): Install manual page.
11935
11936 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11937
11938 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11939
11940 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11941
11942 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11943
11944 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11947 into dprintf.
11948
11949 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 Use full 64-bit division.
11952
11953 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11954 (grub_divmod64): ... this.
11955 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11956 version.
11957
11958 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11961 `source'.
11962
11963 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11964
11965 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11966 to avoid accidents when debugging with 'sh -x'.
11967 * grub-core/gensyminfo.sh.in: Likewise.
11968 * tests/example_scripted_test.in: Likewise.
11969 * tests/grub_cmd_regexp.in: Likewise.
11970 * tests/grub_script_blanklines.in: Likewise.
11971 * tests/grub_script_dollar.in: Likewise.
11972 * tests/grub_script_expansion.in: Likewise.
11973 * tests/grub_script_final_semicolon.in: Likewise.
11974 * tests/partmap_test.in: Likewise.
11975 * tests/util/grub-shell-tester.in: Likewise.
11976 * tests/util/grub-shell.in: Likewise.
11977
11978 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11979
11980 Move gfxmenu color handling to video, so that gfxterm can use it
11981 too.
11982
11983 * grub-core/gfxmenu/named_colors.c: Move to ...
11984 * grub-core/video/colors.c: ... here. Rename
11985 grub_gui_get_named_color to grub_video_get_named_color.
11986 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11987 * grub-core/video/colors.c (my_isxdigit): ... here.
11988 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11989 Move to ...
11990 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11991 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11992 to ...
11993 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11994
11995 * include/grub/gui.h (grub_gui_color_t): Move to ...
11996 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11997 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11998 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11999 * include/grub/gui.h (grub_gui_map_color): Move to ...
12000 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12001 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12002 to ...
12003 * include/grub/video.h (grub_video_get_named_color): ... here.
12004 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12005 * include/grub/video.h (grub_video_parse_color): ... here.
12006
12007 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12008 video/colors.c.
12009 (gfxmenu): Remove gfxmenu/named_colors.c.
12010 (video) [videomodules]: Add video/colors.c.
12011
12012 Add a background_color command.
12013
12014 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12015 function.
12016 (GRUB_MOD_INIT): Register background_color command.
12017 (GRUB_MOD_FINI): Unregister background_color command.
12018 (redraw_screen_rect): Allow blend/replace of text layer to be
12019 controlled independently from whether there is a background bitmap.
12020 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12021 changing bitmap.
12022
12023 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 Patch BPB in ntldr and chainloader --bpb.
12026
12027 * grub-core/fs/fat.c: Include grub/fat.h.
12028 (grub_fat_bpb): Moved to ...
12029 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12030 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12031 grub/ntfs.h.
12032 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12033 Moved from here...
12034 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12035 here.
12036 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12037 New function.
12038 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12039 (GRUB_MOD_INIT): Show --bpb.
12040 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12041 * grub-core/normal/main.c (features): New variable.
12042 (GRUB_MOD_INIT): Set feature_* variables.
12043 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12044 proto.
12045 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12046
12047 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12048
12049 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12050 for cleanness.
12051
12052 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 FreeDOS direct loading support.
12055
12056 * docs/grub.texi (Supported OS): Add FreeDOS.
12057 * grub-core/Makefile.core.def (freedos): New module.
12058 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12059 variable.
12060 (grub_relocator16_boot): Handle %ebx.
12061 * grub-core/lib/i386/relocator16.S: Likewise.
12062 * grub-core/loader/i386/pc/freedos.c: New file.
12063
12064 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 Long Linux command line support.
12067
12068 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12069 (maximal_cmdline_size): New variable.
12070 (allocate_pages): Use maximal_cmdline_size.
12071 (grub_cmd_linux): Set and use maximal_cmdline_size.
12072 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12073 (allocate_pages): Use maximal_cmdline_size.
12074 (grub_cmd_linux): Set and use maximal_cmdline_size.
12075 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12076 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12077 and cmdline_size.
12078
12079 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12080 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12081
12082 Improve devmapper support
12083
12084 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12085 (grub_util_is_lvm): New function.
12086 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12087 than lvm if not dmraid.
12088 Handle mapped md nodes.
12089 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12090 (grub_util_device_is_mapped): ... this. Make always available. All users
12091 updated.
12092 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12093 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12094 dmraid nodes.
12095 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12096
12097 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12100
12101 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12102 * grub-core/modinfo.sh.in: New file.
12103 * grub-core/Makefile.core.def (modinfo.sh): New script.
12104 * util/grub-mknetdir.in: Use modinfo.sh.
12105 * util/grub-mkrescue.in: Likewise.
12106
12107 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12110 Fix potential usage of Elf32 instead of Elf64 when compiling on
12111 32-bit architecture. Add endianness macros while on it.
12112
12113 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Use mipsel- rather than mips- in directories involving mipsel ports to
12116 allow both endiannesses coexist.
12117
12118 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12119 mips. All conditions adjusted.
12120 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12121 variable.
12122 * util/grub-install.in: Adjust conditions to take renaming into account.
12123 * util/grub-mkimage.c (image_targets): Likewise. New target
12124 mips-qemu_mips-elf for bigendian mips.
12125
12126 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 Avoid unnecessary copying on MIPS.
12129
12130 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12131 early if src == dest.
12132 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12133 compression is none.
12134
12135 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 Reduce memory footprint on SGI by putting modules before the kernel
12138 as opposed to after.
12139
12140 * grub-core/Makefile.core.def (kernel): Increase linking address.
12141 (none_decompress): Likewise.
12142 (xz_decompress): Likewise.
12143 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12144 address.
12145 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12146 layout change.
12147 (grub_arch_modules_addr): New function.
12148 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12149 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12150 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12151 here.
12152 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12153 (grub_total_modules_size): ... this. Make global.
12154 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12155 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12156 New definition.
12157 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12158 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12159 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12160 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12161 * util/grub-mkimage.c (image_target_desc): New flag
12162 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12163 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12164 (generate_image): Handle images with modules before kernel.
12165
12166 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 Prevent potential loss of memory map by overwrite on qemu-mips.
12169
12170 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12171 Save ram size in $s4.
12172 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12173 All users changed to grub_arch_memsize.
12174 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12175 Loongson.
12176 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12177 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12178 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12179 external variable.
12180
12181 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12182
12183 * .bzrignore: Remove grub-dumpbios.
12184
12185 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12188 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12189 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12190 existing options which append).
12191 * docs/grub.texi (Simple configuration): Document new options.
12192 Reported by: Ian Jackson. Fixes Debian bug #617538.
12193
12194 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12195
12196 * util/grub-fstest.c (cmd_cat): New function.
12197 (fstest): Handle CMD_CAT.
12198 (options): Add cat.
12199 (argp_parser): Handle cat.
12200
12201 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12202
12203 * Makefile.util.def (grub-bin2h): Don't install.
12204 * docs/man/grub-bin2h.h2m: Remove.
12205
12206 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12209 place.
12210
12211 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Reenable qemu-mips port.
12214
12215 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12216 Fix small arc bug while on it.
12217 * gentpl.py: Handle qemu_mips.
12218 * grub-core/Makefile.am: Likewise.
12219 * grub-core/Makefile.core.def: Likewise.
12220 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12221 inappropriate includes.
12222 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12223 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12224 * grub-core/kern/main.c (grub_modules_get_end)
12225 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12226 * grub-core/kern/mips/qemu-mips: Moved to ..
12227 * grub-core/kern/mips/qemu_mips: ... this.
12228 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12229 (grub_machine_init): Call terminfo_init and serial_init.
12230 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12231 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12232 New variable.
12233 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12234 parameter passing.
12235 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12236 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12237 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12238 * include/grub/mips/qemu_mips/cmos.h: New file.
12239 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12240 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12241 Removed.
12242 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12243 Use correct mips-style address.
12244 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12245 (GRUB_TICKS_PER_SECOND): Removed.
12246 (grub_get_rtc): Likewise.
12247 (grub_cpu_idle): Likewise.
12248 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12249 New definition.
12250 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12251 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12252 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12253 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12254 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12255 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12256 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12257 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12258
12259 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 SGI ARCS port.
12262
12263 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12264 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12265 platforms.
12266 * configure.ac: New target mips-arc.
12267 * gentpl.py: Likewise.
12268 * grub-core/Makefile.am: Likewise.
12269 * grub-core/Makefile.core.def: Likewise.
12270 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12271 (none_decompress): Likewise.
12272 (lsdev): New module.
12273 (datetime): Use lib/arc/datetime.c on ARC.
12274 (part_dvh): New module.
12275 * grub-core/commands/arc/lsdev.c: New file.
12276 * grub-core/disk/arc/arcdisk.c: Likewise.
12277 * grub-core/kern/mips/arc/init.c: Likewise.
12278 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12279 aligned addresses.
12280 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12281 support.
12282 (grub_arch_dl_relocate_symbols): Likewise.
12283 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12284 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12285 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12286 platforms.
12287 * grub-core/lib/arc/datetime.c: New file.
12288 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12289 pci.h on non-loongson.
12290 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12291 (grub_linux_boot): Set unused registers to 0.
12292 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12293 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12294 * grub-core/mmap/mips/uppermem.c: ...here.
12295 * grub-core/partmap/dvh.c: New file.
12296 * grub-core/term/arc/console.c: Likewise.
12297 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12298 (grub_terminfo_set_current): Add terminal "arc".
12299 (grub_terminfo_readkey): Support ARC sequences.
12300 * include/grub/arc/arc.h: New file.
12301 * include/grub/arc/console.h: Likewise.
12302 * include/grub/disk.h (grub_disk_dev_id): Add
12303 GRUB_DISK_DEVICE_ARCDISK_ID.
12304 * include/grub/mips/arc/kernel.h: New file.
12305 * include/grub/mips/arc/memory.h: Likewise.
12306 * include/grub/mips/arc/time.h: Likewise.
12307 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12308 * include/grub/mips/kernel.h (grub_halt): ... here.
12309 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12310 here...
12311 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12312 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12313 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12314 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12315 proto.
12316 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12317 from here ...
12318 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12319 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12320 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12321 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12322 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12323 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12324 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12325 (grub_phys_addr_t): Moved from here ...
12326 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12327 (grub_vtop): Moved from here ...
12328 * include/grub/mips/memory.h (grub_vtop): ... here.
12329 (grub_map_memory): Moved from here ...
12330 * include/grub/mips/memory.h (grub_map_memory): ... here.
12331 (grub_unmap_memory): Moved from here ...
12332 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12333 (grub_machine_mmap_iterate): Moved from here ...
12334 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12335 (grub_mmap_get_lower): Moved from here ...
12336 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12337 (grub_mmap_get_upper): Moved from here ...
12338 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12339 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12340 here ...
12341 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12342 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12343 here ...
12344 * include/grub/mips/time.h (grub_get_rtc): ... here.
12345 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12346 here ...
12347 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12348 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12349 here ...
12350 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12351 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12352 definition.
12353 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12354 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12355 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12356 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12357 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12358 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12359 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12360 (GRUB_MACHINE_LINK_ADDR): Likewise.
12361 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12362 to 6.
12363 * util/grub-install.in: Run dvhtool on ARC.
12364 * util/grub-mkimage.c (image_targets): Add mips-arc.
12365 (generate_image): Handle ECOFF output for mips-arc.
12366
12367 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12370 blocks.
12371
12372 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12375 after enabling port.
12376
12377 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 Skip incorrect USB devices.
12380
12381 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12382 configcnt == 0.
12383 * include/grub/usb.h (grub_usb_err_t): New enum value
12384 GRUB_USB_ERR_BADDEVICE.
12385
12386 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 Fuloong video init support.
12389
12390 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
12391 well.
12392 (grub_vga_read_arx): New function.
12393 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
12394 definition.
12395 (framebuffer): New members io, mmioptr and mmiobase.
12396 (read_sis_cmd): New function.
12397 (write_sis_cmd): Likewise.
12398 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
12399 rather than 640x400.
12400 * grub-core/video/sis315_init.c: New file.
12401
12402 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
12405 non-loongson.
12406 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
12407 to grub_dl_register_symbol.
12408
12409 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Fix compilation errors.
12412
12413 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
12414 potentially unused.
12415 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
12416 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
12417 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
12418 to loongson machines.
12419
12420 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 Several FS mtime support.
12423
12424 * grub-core/fs/affs.c (grub_affs_time): New struct.
12425 (grub_affs_file): New field mtime.
12426 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
12427 type. Removed 'size'. New field 'di'. All users updated.
12428 (grub_affs_mount): Simplify checsum checking.
12429 (grub_affs_iterate_dir): New helper grub_affs_create_node.
12430 (grub_affs_dir): Handle mtime.
12431 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
12432 (grub_cpio_dir): Likewise.
12433 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
12434 (grub_hfs_filerec): New field mtime.
12435 (grub_hfs_dir): Handle mtime.
12436 (grub_hfs_mtime): New function.
12437 (grub_hfs_fs): Register grub_hfs_mtime.
12438 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
12439 (grub_iso9660_dir): New field mtime.
12440 (grub_fshelp_node): New field dirent.
12441 (iso9660_to_unixtime): New function.
12442 (iso9660_to_unixtime2): Likewise.
12443 (grub_iso9660_read_symlink): Use node->dirent.
12444 (grub_iso9660_iterate_dir): Likewise.
12445 (grub_iso9660_dir): Set mtime.
12446 (grub_iso9660_mtime): New function.
12447 (grub_iso9660_fs): Register grub_iso9660_mtime.
12448 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
12449 (grub_jfs_inode): New fields atime, ctime and mtime.
12450 (grub_jfs_dir): Set mtime.
12451 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12452 * grub-core/fs/ntfs.c (list_file): Set mtime.
12453 (grub_ntfs_dir): Likewise.
12454 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
12455 (grub_reiserfs_iterate_dir): Set mtime.
12456 (grub_reiserfs_dir): Likewise.
12457 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
12458 (grub_fshelp_node): Likewise.
12459 (grub_sfs_iterate_dir): Set mtime.
12460 (grub_sfs_dir): Likewise.
12461 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
12462 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
12463 (grub_xfs_inode): New fields atime, mtime, ctime.
12464 (grub_xfs_dir): Set mtime.
12465 * include/grub/datetime.h (grub_datetime2unixtime): New function.
12466 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
12467 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
12468
12469 Support UDF symlinks.
12470
12471 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
12472 (grub_ufs_read_symlink): New function. All users updated.
12473
12474 Check amiga partmap checksum.
12475
12476 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
12477 (grub_amiga_partition): Likewise.
12478 (amiga_partition_map_checksum): New function.
12479 (amiga_partition_map_iterate): Check checksum.
12480
12481 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 ROMFS support.
12484
12485 * Makefile.util.def (libgrubmods.a): Add romfs.
12486 * grub-core/Makefile.core.def (romfs): New module.
12487 * grub-core/fs/romfs.c: New file.
12488
12489 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Squashfs v4 support.
12492
12493 * Makefile.util.def (libgrubmods.a): Add squash4.
12494 * grub-core/Makefile.core.def (squash4): New module.
12495 * grub-core/fs/squash4.c: New file.
12496 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
12497 disk_input_start, disk_input.
12498 (get_byte): Handle disk_input.
12499 (grub_zlib_disk_read): New function.
12500 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
12501
12502 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12503 2011-05-15 Feiran Zheng <famcool@gmail.com>
12504
12505 * Makefile.util.def (libgrubmods.a): Add minix3.
12506 * grub-core/Makefile.core.def (minix3): New module.
12507 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
12508 (GRUB_MINIX_BSIZE): Removed.
12509 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
12510 (grub_minix_ino_t): New type.
12511 (grub_minix_le_to_cpu_ino): New macro.
12512 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
12513 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
12514 (grub_minix_data): New field block_size.
12515 (grub_minix_read_file): Handle 64-bit correctly.
12516 * grub-core/fs/minix3.c: New file.
12517
12518 2011-05-15 Tristan Gingold <gingold@free.fr>
12519 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
12520 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 IA64 support.
12523
12524 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
12525 * configure.ac: Add ia64-efi target.
12526 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
12527 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
12528 * gentpl.py: Add ia64_efi platform.
12529 Rename x86_efi to efi and Add ia64-efi. All users updated.
12530 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
12531 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
12532 Remove kern/generic/rtc_get_time_ms.c on EFI.
12533 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
12534 kern/ia64/dl_helper.c on ia64-efi.
12535 Add kern/emu/cache.c on emu.
12536 (linux): Use on loader/ia64/efi/linux.c on ia64.
12537 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
12538 whether symbol is a function.
12539 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
12540 (grub_symbol): New field 'isfunc'.
12541 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
12542 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
12543 (grub_dl_load_segments): Place all sections into the same region.
12544 [__ia64__]: Create trampolines and got.
12545 [GRUB_MACHINE_EMU]: Call mprotect.
12546 (grub_dl_resolve_symbols): Resolve symbol type as well.
12547 [__ia64__]: Create function descriptors.
12548 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12549 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12550 (grub_get_rtc): New function.
12551 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12552 * grub-core/kern/emu/cache.S: Renamed to ...
12553 * grub-core/kern/emu/cache_s.S: ... this.
12554 [__ia64__]: Add a nop.
12555 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12556 [__ia64__]: New function.
12557 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12558 * grub-core/kern/ia64/dl.c: New file.
12559 * grub-core/kern/ia64/dl_helper.c: Likewise.
12560 * grub-core/kern/ia64/efi/init.c: New file.
12561 * grub-core/kern/ia64/efi/startup.S: Likewise.
12562 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12563 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12564 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12565 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12566 * grub-core/loader/ia64/efi/linux.c: New file.
12567 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12568 (GRUB_MOD_DEP): Likewise.
12569 (grub_dl) [__ia64__]: New fields got and tramp.
12570 (grub_dl): New field 'base'.
12571 (grub_dl_register_symbol): New argument isfunc. All users updated.
12572 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12573 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12574 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12575 (grub_ia64_dl_get_tramp_got_size): New proto.
12576 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12577 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12578 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12579 * include/grub/efi/api.h: Skip call wrappers on ia64.
12580 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12581 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12582 * include/grub/elf.h (ELF_ST_INFO): New definition.
12583 * include/grub/ia64/efi/kernel.h: New file.
12584 * include/grub/ia64/efi/memory.h: Likewise.
12585 * include/grub/ia64/efi/time.h: Likewise.
12586 * include/grub/ia64/kernel.h: Likewise.
12587 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12588 * include/grub/ia64/time.h: New file.
12589 * include/grub/ia64/types.h: Likewise.
12590 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12591 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12592 New protos.
12593 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12594 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12595 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12596 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12597 All users updated.
12598 (EFI64_HEADER_SIZE): New definition. All users updated.
12599 (image_targets): Add ia64-efi.
12600 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12601 jumpers_addr. All users updated.
12602 Create function descriptors.
12603 (count_funcs): New function.
12604 (unaligned_uint32): New struct.
12605 (MASK20): New definition.
12606 (MASK19): Likewise.
12607 (MASKF21): Likewise.
12608 (add_value_to_slot_20b): New function.
12609 (add_value_to_slot_21_real): Likewise.
12610 (add_value_to_slot_21): Likewise.
12611 (ia64_kernel_trampoline): New struct.
12612 (nopm): New variable.
12613 (jump): Likewise.
12614 (make_trampoline): New function.
12615 (relocate_addresses): Handle ia64.
12616 (make_reloc_section): Likewise.
12617 (load_image): Likewise.
12618
12619 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12622 warning. Move variables before code while on it.
12623
12624 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 Fuloong support.
12627
12628 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12629 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12630 * grub-core/boot/mips/loongson/fuloong.S: New file.
12631 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12632 Explicitly init CS5536.
12633 [FULOONG]: Don't use serial until CS5536 is available.
12634 Set GPIO based on dumps.
12635 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12636 [FULOONG]: Handle GPIO and memory controller differences.
12637 Parse machine type in $a2.
12638 * grub-core/boot/mips/startup_raw.S: Determine and save the
12639 architecture.
12640 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12641 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12642 init on architecture type.
12643 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12644 SIS315E. Don't init at_keyboard on fuloong.
12645 (grub_halt): Support Fuloong.
12646 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12647 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12648 (loongson_machtypes): New array.
12649 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12650 type.
12651 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12652 config. All users updated. Handle CS5536 serial.
12653 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12654 default port on machine type. Register serial as inactive.
12655 * grub-core/video/sis315pro.c: New file.
12656 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12657 definition.
12658 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12659 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12660 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12661 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12662 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12663 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12664 to ...
12665 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12666 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12667 definition.
12668 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12669 (grub_arch_machine): New extern var.
12670 * include/grub/mips/loongson/serial.h
12671 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12672 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12673 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12674 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12675 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12676 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12677 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12678 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12679 * include/grub/term.h (grub_term_register_input_inactive): New inline
12680 function.
12681 (grub_term_register_output_inactive): Likewise.
12682 * include/grub/video.h (grub_video_driver_id): New value
12683 GRUB_VIDEO_DRIVER_SIS315PRO.
12684 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12685 New field "names". All users updated.
12686 New field value IMAGE_FULOONG_FLASH.
12687 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12688
12689 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12690
12691 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12692 and add some clarification.
12693
12694 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12697 platforms if kernel is compressed.
12698
12699 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12702 unused modules since currently referrence counter isn't reliable and
12703 there isn't much memory to recover there anyway.
12704
12705 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12708 rather than resetting it to allow modules to reference themselves
12709 in init.
12710
12711 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12714 counter on dependencies since grub_dl_unref already handles this.
12715
12716 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12719 on error if not already done.
12720
12721 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 Fix few potential memory misusage.
12724
12725 * grub-core/font/font.c (load_font_index): Don't free char_index to
12726 avoid double free.
12727 (grub_font_load): Zero-fill font at alloc for safety.
12728 Close file on error.
12729 (free_font): Free bmp_idx.
12730
12731 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * docs/grub.texi (Installation): Fix several outdated claims.
12734
12735 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 Handle module_license on windows.
12738
12739 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12740 sections shifted.
12741 (insert_string): Make argument const char * instead of char *.
12742 (write_section_data): Handle long section names.
12743 Handle module_license.
12744
12745 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12748 handle class-free menuentries.
12749 (grub_normal_add_menu_entry): Add a check to be sure.
12750
12751 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12754 PgUp and PgDown.
12755
12756 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 * configure.ac: Bump version to 1.99.
12759
12760 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 Give ATA device a bit more time on first try in order to allow disks
12763 to spin up.
12764
12765 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12766 if dev->present is 1. Reset dev->present on failure.
12767 (grub_ata_device_initialize): Set dev->present to 1.
12768 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12769 (grub_ata_device): New member 'present'.
12770
12771 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * util/grub-mkimage.c (generate_image): Update hash.
12774
12775 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Flush caches on DMA memory.
12778
12779 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12780 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12781 (grub_dma_free): Likewise.
12782 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12783
12784 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12787 to avoid asm treating ld and sd as macros.
12788
12789 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12792 decompressor.
12793
12794 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12797 grub_decompress_core since later would fail if grub_decompress_core
12798 is too far.
12799
12800 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12803 R_MIPS_JALR since it's used by newer compiler.
12804
12805 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12808
12809 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12812 file_path to 0 for surety.
12813 (grub_chainloader_boot): Set exit_data to NULL.
12814 Unset the loader once done.
12815 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12816
12817 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12820 unknown key into a dprintf.
12821
12822 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12825 on first non-existant partition.
12826
12827 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12830 openning fails.
12831 Reported by: Mark Korenberg.
12832
12833 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12836 overflow.
12837
12838 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12841 before closing to ensure that it will be readable by grub-setup.
12842
12843 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
12846 (devpath_1): Use MAKE_PIWG_PATH.
12847 (devpath_2): Likewise.
12848 (devpath_3): Likewise.
12849 (devpath_4): Likewise.
12850 (devpath_5): Likewise.
12851 (devpath_6): Likewise.
12852
12853 The appleldr.mod was checked that to be binary identical to previous
12854 version.
12855
12856 2011-05-05 Zach <mikezackles>
12857
12858 Support 2010 Macbooks.
12859
12860 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
12861 (devs): Add devpath_6.
12862
12863 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
12866 /dev/random. /dev/urandom is good enough for our purposes (salting).
12867
12868 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
12871
12872 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
12875 hexadecimal.
12876
12877 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
12880 and not 0 on failure.
12881
12882 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12883
12884 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
12885 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
12886 disk; otherwise grub_fs_probe will not fall back to the next
12887 filesystem.
12888 (grub_pxefs_open): Likewise, for consistency.
12889 Reported and tested by: Ezekiel Grave.
12890
12891 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
12892
12893 * tests/partmap_test.in: Don't hardcode path to parted.
12894 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
12895
12896 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
12897
12898 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
12899 of `ls' to find out which devices are available.
12900
12901 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
12904 than source address for efi mmap buffer.
12905
12906 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
12909 wrong action on non-detecting the magic.
12910
12911 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12914 already supplied by another part of the module (fixes compilation on
12915 FreeBSD).
12916
12917 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12920 match the one used by mdadm.
12921
12922 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12923
12924 * po/README: Add instructions for creating po/LINGUAS.
12925
12926 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12927
12928 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12929 #551428.
12930
12931 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12932 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12933 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12934 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12935 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12936 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12937 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12938 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12939 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12940 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12941 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12942 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12943 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12944 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12945 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12946 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12947 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12948 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12949 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12950 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12951 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12952 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12953
12954 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12955
12956 * grub-core/kern/emu/getroot.c
12957 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12958 test that was incorrectly reintroduced in r3214.
12959 Reported by: Ian Dall. Fixes Savannah bug #33133.
12960
12961 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12962
12963 Fix stack pointer handling in 16-bit relocator.
12964
12965 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12966 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12967 Fixes Ubuntu bug #683904.
12968
12969 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * configure.ac: Bump version to 1.99~rc2.
12972
12973 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12976 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12977 * grub-core/lib/x86_64/setjmp.S: Likewise.
12978 * grub-core/lib/mips/setjmp.S: Likewise.
12979 * grub-core/lib/powerpc/setjmp.S: Likewise.
12980 * grub-core/lib/sparc64/setjmp.S: Likewise.
12981
12982 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12985 * grub-core/lib/efi/datetime.c: Likewise.
12986
12987 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12990 New function.
12991 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12992 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12993 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12994
12995 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12998 bitmap.
12999 (grub_gfxterm_term_init): Likewise.
13000
13001 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 Take into account the decorations the computing menu entry width.
13004
13005 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13006 (grub_gfxmenu_create_box): Register get_border_width.
13007 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13008 if available.
13009 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13010 get_border_width.
13011
13012 2011-04-18 Endres Puschner <code@e7p.de>
13013
13014 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13015 Don't skip first class.
13016
13017 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13020 chunks.
13021 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13022
13023 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 Complete 64-bit division support.
13026
13027 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13028 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13029 * include/grub/misc.h (grub_divmod64): Rename to ...
13030 (grub_divmod64_full): ... this.
13031 (grub_divmod64): New inline function.
13032
13033 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13036
13037 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13040 performing the necessary test.
13041
13042 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13045 (kfreebsd.elf): Likewise.
13046 (pc-chainloader.elf): Likewise.
13047 (ntldr.elf): Likewise.
13048
13049 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 Identify RAID by its UUID rather than (guessed) name.
13052
13053 * grub-core/disk/raid.c (ascii2hex): New function.
13054 (grub_raid_open): Accept mduuid/%s specification.
13055 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13056 (get_mdadm_uuid): ... this.
13057 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13058
13059 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13062 to negative size.
13063
13064 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13065
13066 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13067 btrfs subvolume.
13068 * util/grub.d/20_linux_xen.in: Likewise.
13069
13070 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13071
13072 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13073 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13074
13075 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13076 Build a list of relevant visible mounts using the mnt_id and
13077 parent_mnt_id fields, and then scan that list at the end.
13078
13079 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13080
13081 * docs/grub.texi (normal): New section.
13082 (normal_exit): New section.
13083 (Embedded configuration): Add reference to normal.
13084 (GRUB only offers a rescue shell): Likewise.
13085 * docs/grub-dev.texi (Error Handling): Fix typo.
13086
13087 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13088
13089 * NEWS: Drop obsolete entry about probe-only btrfs support.
13090
13091 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13092
13093 * util/import_gcry.py: Fix typo.
13094
13095 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * NEWS: Add btrfs support.
13098
13099 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13100 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13101
13102 BtrFS support. Written by me (Vladimir) with important bugfixes and
13103 even more important testing by Colin.
13104
13105 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13106 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13107 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13108 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13109 mem_input_off and mem_input. All users updated to accept in-RAM input.
13110 (gzio_seek): New function.
13111 (test_zlib_header): Likewise.
13112 (grub_gzio_read): Likewise.
13113 (grub_zlib_decompress): Likewise.
13114 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13115 Accept partial and non-virtual mounts.
13116 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13117 avoid receiving /dev/dm-X as device.
13118 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13119 Handle bind and partial mounts.
13120 * grub-core/lib/crc.c: New file.
13121 * include/grub/deflate.h: Likewise.
13122 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13123 proto.
13124 * include/grub/lib/crc.h: New file.
13125
13126 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 Implement automatic module license checking according to new GNU
13129 guidelines.
13130
13131 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13132 (grub_dl_load_core): Use grub_dl_check_license.
13133 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13134 (GRUB_MOD_LICENSE): Likewise.
13135 (GRUB_MOD_DUAL_LICENSE): Likewise.
13136 All modules updated.
13137
13138 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13139
13140 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13141 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13142 loaders.
13143 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13144
13145 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13148
13149 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13152 failed.
13153
13154 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13157 parenthesis in the middle of the filename.
13158
13159 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13162 rather than trying to put initrd way too high.
13163 Reported by: Ryan Lortie <desrt@desrt.ca>
13164
13165 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13168 improperly removed string.
13169
13170 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13173 is_disk.
13174 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13175 (open_device) Likewise.
13176 (grub_util_biosdisk_close): Likewise.
13177 Reported by: Mark Korenberg.
13178
13179 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13180
13181 * util/grub-mkconfig_lib.in: Add missing quotes.
13182
13183 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
13184
13185 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13186 is NULL.
13187
13188 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Dynamically count the number of lines for the lower banner.
13191
13192 * grub-core/normal/menu_entry.c (per_term_screen): New member
13193 num_entries.
13194 (print_down): Use num_entries.
13195 (update_screen): Likewise.
13196 (grub_menu_entry_run): Set num_entries.
13197 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13198 num_entries.
13199 (grub_print_message_indented): Move real part to ...
13200 (grub_print_message_indented_real): ... here. Additional argument
13201 dry_run.
13202 (draw_border): Additional argument num_entries.
13203 (print_message): Additional argument dry_run.
13204 (print_entries): Receive menu viewer data.
13205 (grub_menu_init_page): New argment num_entries.
13206 (menu_text_set_chosen_entry): Use num_entries.
13207 (grub_menu_try_text): Likewise.
13208 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13209 All users updated.
13210 (grub_ucs4_count_lines): New function.
13211 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13212 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13213 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13214 (grub_term_border_height): Likewise.
13215 (grub_term_num_entries): Likewise.
13216
13217 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13220 Remove now unused string.
13221
13222 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13223
13224 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13225 build system.
13226 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13227
13228 (Comment): Fix typo.
13229 (Getting started): General copy-editing.
13230 (Typical Development Experience): Likewise.
13231 (Error Handling): Likewise.
13232 (Video API): Likewise.
13233
13234 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13235
13236 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13237 throughout.
13238
13239 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13242 directory.
13243
13244 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13245
13246 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13247 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13248 "development".
13249
13250 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13253 grub_strcpy since the lines aren't necessarily 0-terminated.
13254
13255 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13258 root on legacy.
13259
13260 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13263 (GRUB_MOD_INIT): DEVICE isn't optional.
13264
13265 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13268 word on new line if it's too long anyway. Fixes a hang.
13269
13270 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13273 const.
13274 * util/grub-setup.c (main): Reuse md device name if available.
13275 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13276 not GRUB name as argument.
13277 Based on patch by: Florian Wagner <fwagner>.
13278
13279 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13282 Place mbi on low memory for better compatibility.
13283
13284 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13287
13288 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13289 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13290
13291 * autogen.sh: Ensure that collate and ctype locale is C.
13292 * conf/Makefile.common: Likewise.
13293
13294 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 * grub-core/normal/menu.c: Add missing include.
13297
13298 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
13301
13302 2011-04-08 Martin Zuther <mzuther@mzuther.de>
13303
13304 * util/grub-mkconfig.in: Ignore emacsen backup.
13305
13306 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13309 on open.
13310 (grub_util_biosdisk_close): Likewise.
13311
13312 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13315 const attribute and use grub_isdigit.
13316
13317 2011-04-06 Andrey <dev_null@ukr.net>
13318
13319 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13320 gcc warning.
13321
13322 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13325 useful grub_dprintf's.
13326
13327 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13330
13331 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13334
13335 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 Output errors if theme loading failed.
13338
13339 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13340 grub_gfxterm_fullscreen on error paths to ...
13341 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13342 theme loading error.
13343
13344 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13347 space for older compilers.
13348 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13349
13350 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13353 and report them as not RAID members since they are useless for GRUB.
13354 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13355
13356 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 Increase LVM implementation robustness in order not to crash on
13359 configurations like pvmove. Previously code assumed that in some places
13360 only lvs or only pvs are used whereas it seems that they are used
13361 interchangeably.
13362
13363 * grub-core/disk/lvm.c (read_node): New function.
13364 (read_lv): Use read_node.
13365 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13366 Match volumes only at the end when all lvs are found. Take both
13367 pvs (first) and lvs (second) into account.
13368 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13369 mirror_* into node_*. All users updated.
13370 (grub_lvm_stripe): Merge this ...
13371 (grub_lvm_mirror): ... and this ...
13372 (grub_lvm_node): ... into this. All users updated.
13373
13374 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13377 of function to allow further scanning for LVMs.
13378
13379 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13382 on failed seek as it breaks open fd reusage.
13383
13384 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * util/grub-install.in: Add a recommendation to use --recheck before
13387 reporting bugs.
13388
13389 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
13392 are obtained.
13393
13394 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 GRUB developper manual based on existing Internals section and
13397 contributions by the various authors with active copyright assignment.
13398
13399 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
13400 * docs/font_char_metrics.png: New file.
13401 * docs/font_char_metrics.txt: Likewise.
13402 * docs/grub-dev.texi: Likewise.
13403 * docs/grub.texi (Internals): Move from here ...
13404 * docs/grub-dev.texi: ... here.
13405
13406 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13407
13408 Store the loopback device as data on loopback grub_disk structures,
13409 rather than the file it points to. This fixes use of freed memory
13410 if an existing loopback device is replaced.
13411
13412 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
13413 disk->data, not dev->file.
13414 (grub_loopback_read): Adjust file assignment to match.
13415 Fixes Ubuntu bug #742967.
13416
13417 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13418
13419 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
13420 when replacing an existing device.
13421
13422 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
13425 memory corruptions.
13426
13427 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
13428 unsigned.
13429 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
13430 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
13431 (grub_jfs_read_inode): Likewise.
13432 (grub_jfs_opendir): Likewise. Remove now useless casts.
13433 (grub_jfs_getent): Likewise.
13434 Make ino a grub_uint32_t rather than int.
13435 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
13436 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
13437 division and module with bit operations.
13438 (grub_jfs_find_file): Make ino a grub_uint32_t.
13439 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
13440
13441 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13442
13443 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
13444 warning. (This was in fact always initialised before use, but GCC
13445 wasn't smart enough to prove that.)
13446 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13447
13448 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
13451 stack alignment.
13452 (efi_wrap_1): Likewise.
13453 (efi_wrap_2): Likewise.
13454 (efi_wrap_3): Likewise.
13455 (efi_wrap_4): Likewise.
13456 (efi_wrap_5): Likewise.
13457 (efi_wrap_6): Likewise.
13458 (efi_wrap_10): Likewise.
13459 Based on information by: Red Hat/Peter Jones.
13460
13461 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13462
13463 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
13464 set-but-not-used variable.
13465
13466 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13467
13468 * docs/grub.texi (Simple configuration): Be more explicit about
13469 GRUB_DEFAULT, and add an example.
13470 Reported by: Leslie Rhorer.
13471
13472 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13473
13474 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
13475 shell".
13476
13477 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13478
13479 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
13480 * util/grub.d/20_linux_xen.in: Likewise.
13481
13482 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * util/grub.d/10_linux.in: Try alternative config filenames where
13485 we parse config file.
13486 * util/grub.d/20_linux_xen.in: Likewise.
13487
13488 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13489
13490 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13491 * util/grub.d/20_linux_xen.in: Likewise.
13492
13493 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/disk/raid.c (insert_array): Add few potentially
13496 useful grub_util_info.
13497 (grub_raid_register): Likewise.
13498
13499 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
13502 Preserve partition number in mdadm code path.
13503
13504 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
13507 few potentially useful grub_util_info.
13508
13509 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
13512
13513 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13514
13515 * docs/grub.texi (default): Use @example rather than nested
13516 itemized lists to avoid breaking gendocs.
13517
13518 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13519
13520 * docs/grub.texi (Future): Update.
13521
13522 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * docs/grub.texi (Environment): New chapter.
13525 (Changes from GRUB Legacy): Link to "Environment block" section for
13526 details of limitations.
13527 (Simple configuration): Likewise. Link to documentation of gfxmode
13528 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
13529 respectively.
13530 (Shell-like scripting): Note that normal variables are stored in the
13531 environment.
13532 (gettext): Link to documentation of lang and locale_dir.
13533 (list_env): New section.
13534 (load_env): New section.
13535 (save_env): New section.
13536
13537 (Reporting bugs): Fix typo.
13538
13539 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
13542 the example.
13543
13544 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 * grub-core/term/at_keyboard.c (set_scancodes)
13547 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13548
13549 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13550
13551 * docs/grub.texi (Menu-specific commands): Remove some semantics
13552 that were true in GRUB Legacy but not in GRUB 2.
13553 (submenu): New section.
13554 (false): New section.
13555 (read): New section.
13556 (true): New section.
13557
13558 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13559
13560 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13561
13562 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13563
13564 * docs/grub.texi (Simple configuration): Explain some of the
13565 current limitations of grub-mkconfig.
13566 Reported by: Leslie Rhorer.
13567
13568 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 Old macs search for boot.efi rather than for bootia32.efi.
13571
13572 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13573 * util/grub-mkrescue.in: Likewise.
13574 Suggested by: Peter Jones.
13575
13576 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13579
13580 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13583 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13584 (grub_lvm_mirror): New struct.
13585 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13586 (grub_lvm_iterate): Iterate only visible volumes.
13587 (grub_lvm_read): Factor out to ..
13588 (read_lv): ... this. Support mirrors.
13589 (grub_lvm_read): New wrapper function.
13590 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13591 stripped or mirrored.
13592
13593 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13596
13597 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13598
13599 * docs/grub.texi (loopback): New section.
13600
13601 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13602
13603 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13604 removed -p option.
13605
13606 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * docs/grub.texi (BIOS installation): New section, partly based on
13609 previous text in other sections.
13610 (Installing GRUB using grub-install): Replace BIOS discussion with a
13611 cross-reference.
13612 (Images): Likewise.
13613
13614 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13615
13616 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13617 [HAVE_DIOCGDINFO]: Add safety checks.
13618
13619 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13622 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13623
13624 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13625
13626 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13627 real_sb->size is zero (e.g. RAID-0), get the disk size from
13628 real_sb->data_size instead.
13629 Fixes Ubuntu bug #743136.
13630
13631 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13634 printf clauses for printing size and start.
13635
13636 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13639 Reported and tested by: Timothy Nikkel.
13640
13641 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13644 (dirty_region_add_real): ... this.
13645 (dirty_region_add): Don't discard margin refresh when performing
13646 scheduled repaint.
13647
13648 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/lib/relocator.c (allocate_regstart)
13651 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13652 terminals are capabple of malloc-free operation.
13653 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13654 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13655
13656 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13657
13658 * util/grub-setup.c: Copy the partition table zone if floppy support
13659 is disabled, even if no partition table is found.
13660
13661 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13662 during POST if an invalid partition table is contained in the PBR
13663 of the active partition when GRUB is installed to a partition.
13664
13665 2011-03-28 Colin Watson <cjwatson@debian.org>
13666
13667 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13668 comment.
13669
13670 2011-03-28 Colin Watson <cjwatson@debian.org>
13671
13672 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13673 to be specific about what kind of RAID device we're scanning for.
13674
13675 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13676
13677 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13678 return freed string.
13679
13680 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13683
13684 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 Use libgeom on FreeBSD to detect partitions.
13687
13688 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13689 (grub-mkrelpath): Likewise.
13690 (grub-script-check): Likewise.
13691 (grub-editenv): Likewise.
13692 (grub-mkpasswd-pbkdf2): Likewise.
13693 (grub-fstest): Likewise.
13694 (grub-mkfont): Likewise.
13695 (grub-mkdevicemap): Likewise.
13696 (grub-probe): Likewise.
13697 (grub-setup): Likewise.
13698 (grub-ofpathname): Likewise.
13699 (grub-mklayout): Likewise.
13700 (example_unit_test): Likewise.
13701 (grub-menulst2cfg): Likewise.
13702 * grub-core/Makefile.core.def (grub-emu): Likewise.
13703 (grub-emu-lite): Likewise.
13704 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13705 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13706 define HAVE_DIOCGDINFO.
13707 (follow_geom_up) [FreeBSD]: New function.
13708 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13709 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13710 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13711 unconditionally of HAVE_DIOCGDINFO.
13712
13713 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 Fix FreeBSD compilation problem.
13716
13717 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13718 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13719
13720 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
13721
13722 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13723 Switch back to page zero before loading a kernel, since some kernel
13724 drivers expect that.
13725 Thanks to: Felix Kuehling.
13726
13727 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13730 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13731 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13732
13733 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13736 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13737
13738 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13741 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13742 malloc is disabled.
13743
13744 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13745
13746 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13747 for modules headers when counting the needed allocation size.
13748
13749 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13752 if no ASCII character is found to prevent crash.
13753
13754 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13755
13756 * grub-core/video/bitmap.c (match_extension): Ignore case.
13757
13758 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13761
13762 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/script/parser.y: Declare "time" as valid argument.
13765
13766 2011-03-23 Peter Jones <pjones@redhat.com>
13767
13768 Fix incorrect assert failure reporting.
13769
13770 * grub-core/tests/example_functional_test.c (example_test): Add
13771 a failure comment.
13772 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13773 (failure_start): ...this. Check that malloc succeeded.
13774 Don't call xvasprintf. Return failure struct.
13775 (failure_append_vtext): New function.
13776 (failure_append_text): Likewise.
13777 (add_failure): Likewise.
13778 (grub_test_assert_helper): Likewise.
13779 * include/grub/test.h (grub_test_assert_helper): New declaration.
13780 (grub_test_assert): Macro rewritten.
13781
13782 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13785
13786 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13789
13790 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13793 into GRUB-style one.
13794
13795 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13798 error and not grub_errno.
13799 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13800
13801 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13804 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13805
13806 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * grub-core/efiemu/i386/pc/cfgtables.c
13809 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13810 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13811 (grub_xnu_unlock): Likewise.
13812 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13813
13814 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13817 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13818 * grub-core/commands/hashsum.c (aliases): Likewise.
13819 * grub-core/commands/setpci.c (pci_registers): Likewise.
13820 * grub-core/disk/usbms.c (attach_hook): Likewise.
13821 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13822 (zio_checksum_table): Likewise.
13823 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13824 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13825 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13826 * grub-core/lib/relocator.c (leftovers): Likewise.
13827 (extra_blocks): Likewise.
13828 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13829 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13830 (modules_last): Likewise.
13831 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13832 (devices): Likewise.
13833 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13834 (modules_last): Likewise.
13835 * grub-core/normal/auth.c (users): Likewise.
13836 * grub-core/normal/context.c (initial_menu): Likewise.
13837 (current_menu): Likewise.
13838 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13839 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13840 (grub_serial_terminfo_input_template): Likewise.
13841 (grub_serial_terminfo_output_template): Likewise.
13842 (grub_serial_terminfo_input): Likewise.
13843 (grub_serial_terminfo_output): Likewise.
13844 (registered): Likewise.
13845 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
13846
13847 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
13850 grub_video_mode_type_t.
13851 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
13852 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
13853 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
13854
13855 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * util/grub-install.in: Correct the x86-64 name as x86_64.
13858
13859 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
13860
13861 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
13862 initial chunk read from the kernel always includes GRUB's multiboot
13863 header, which is now outside the first sector.
13864
13865 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13866
13867 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
13868 cached mmap_size, so that this works correctly when called multiple
13869 times.
13870 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
13871
13872 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
13873
13874 * docs/grub.texi (Simple configuration): Tidy up formatting.
13875
13876 2011-03-07 Szymon Janc <szymon@janc.net.pl>
13877
13878 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
13879 Set-but-not-used variable removed.
13880
13881 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Workaround yet another IEEE1275 bug.
13884
13885 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
13886 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
13887 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
13888 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
13889 is set.
13890 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13891 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
13892
13893 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
13896 error.
13897
13898 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
13899
13900 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
13901 empty, since in that case we can only generate either nothing or a
13902 syntactically invalid configuration file.
13903 Reported by: Michal Suchanek. Fixes Debian bug #612898.
13904
13905 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13906
13907 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
13908 (Making a GRUB bootable CD-ROM): Likewise.
13909 (Invoking grub-mkrescue): New section.
13910 Reported by: Yann Dirson. Fixes Debian bug #612585.
13911
13912 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * util/grub-install.in: Remove unnecessary brackets from tr
13915 arguments.
13916 * util/grub.d/10_hurd.in: Likewise.
13917 * util/grub.d/10_kfreebsd.in: Likewise.
13918 * util/grub.d/10_linux.in: Likewise.
13919 * util/grub.d/20_linux_xen.in: Likewise.
13920 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13921
13922 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
13923
13924 * include/grub/file.h (not_easly_seekable): Rename to ...
13925 (not_easily_seekable): ... this. Update all users.
13926
13927 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
13928
13929 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13930 grub-mkrescue.
13931
13932 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * util/grub-mkimage.c (generate_image): Refuse to create the images
13935 bigger than the actual flash (512K) in Loongson machines. 512K is also
13936 the biggest chip supported by them.
13937
13938 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13941
13942 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
13943
13944 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13945 super_offset field.
13946
13947 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * util/grub-install.in: Ignore install device on platforms
13950 where it doesn't make sense. Always use UUIDs except on pc, efi and
13951 sparc64.
13952 Reported by: Daniel Kahn Gillmor.
13953
13954 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13957
13958 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13961 (iterate_real): Don't rely on partition being non-NULL.
13962
13963 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13966 supported platforms. Put a compile time assert for this rather than
13967 generate a warning with 32-bit shift.
13968
13969 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13972 logical expression more readable.
13973
13974 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13977 even if some elements have a name.
13978 Reported by: Alexander GQ Gerasiov.
13979
13980 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13981
13982 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13983 path unreadable if `grub-probe -t abstraction' fails, for example if
13984 memberlist fails on an LVM volume group.
13985 Reported by: Darius Jahandarie.
13986
13987 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13988
13989 * docs/grub.texi (Simple configuration): Document
13990 GRUB_PRELOAD_MODULES.
13991
13992 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
13993
13994 * .bzrignore: Remove nonexistent grub-pbkdf2.
13995
13996 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * configure.ac: Bump version to 1.99~rc1.
13999
14000 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14003 for safety.
14004
14005 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14008 module.
14009
14010 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14013
14014 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14017 diskdevid.
14018
14019 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 Fix compilation on cygwin.
14022
14023 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14024 -R .drectve on cygwin.
14025 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14026 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14027 (COND_CYGWIN): New condition.
14028 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14029 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14030 not @TARGET_OBJ2ELF@.
14031 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14032 type to determine whether aux is to be used.
14033
14034 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14037 realpath'ed device string.
14038 Handle floppy (somewhat).
14039 Issue error in unknown case rather than garbage.
14040 Reported by: Axel Beckert.
14041
14042 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * util/grub.d/00_header.in (load_video): Handle the case when no video
14045 drivers available.
14046 Thanks to: Axel Beckert.
14047
14048 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14051 variable. Fixes problem on big endian platforms.
14052
14053 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14056 It doesn't work well there.
14057
14058 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14061 warning.
14062 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14063 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14064 counter.
14065
14066 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 Use alias->path rather than buggy "canon".
14069
14070 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14071 (ofdisk_hash_add): New argument curcan. All users updated.
14072
14073 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14074
14075 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14076
14077 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14080 loadmask before doing any calculations. Use correct type for offset.
14081 (grub_linux_load64): Likewise.
14082
14083 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14084
14085 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14086 with NULL.
14087 (console_grub_equivalences_unshift): Likewise.
14088 Reported by: Daniel Dehennin.
14089
14090 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14093 (set_env_limn_ro): Likewise.
14094 (GRUB_MOD_INIT): Likewise.
14095 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14096 ARRAY_SIZE while on it.
14097 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14098 * grub-core/normal/context.c (grub_env_export): Move from here ...
14099 * grub-core/kern/env.c (grub_env_export): ... here.
14100 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14101 prefix.
14102 * grub-core/kern/main.c (grub_main): Export root and prefix.
14103 * include/grub/env.h (grub_env_export): Export.
14104 Reported by: Seth Goldberg.
14105
14106 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14109 Take into account space used by ELF sections and multiboot palette.
14110 Reported by: Grégoire Sutre.
14111
14112 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * BUGS: New file.
14115
14116 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Pass more appropriate video id to Linux.
14119
14120 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14121 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14122 fill have_vga.
14123 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14124 shift params->lfb_size.
14125 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14126
14127 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14130
14131 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14134 separator and pass bootpath/devid even if only one of them is available.
14135 Reported by: Seth Goldberg.
14136
14137 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14140 implementations bug on them.
14141
14142 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14143 memory.
14144 (filter_memory_map): Likewise.
14145
14146 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14149 Reported by: nebuchadnezzar.
14150
14151 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14154 Reported by: nebuchadnezzar.
14155
14156 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 Submenu default support.
14159
14160 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14161 auto_boot. All users updated.
14162 Declared static.
14163 Handle chosen and default with submenus.
14164 (grub_menu_execute_with_fallback): Declared static.
14165 Don't notify failure if autobooted. Upper level does it.
14166 (menuentry_eq): New function.
14167 (get_entry_number): Use menuentry_eq.
14168 (show_menu): New parameter "autobooted". All users updated.
14169 (grub_show_menu): Likewise.
14170 * include/grub/normal.h (grub_show_menu): Likewise.
14171 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14172 (grub_menu_execute_with_fallback): Likewise.
14173
14174 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * util/grub-mklayout.c (usage): Update help text.
14177
14178 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14181
14182 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * util/grub-menulst2cfg.c (main): Trim the line.
14185
14186 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14189 (grub_machine_init): Don't check amount of low memory as reportedly
14190 INT 12h can be broken and if low memory is too low we wouldn't have
14191 gotten into grub_machine_init anyway.
14192
14193 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14196 (grub_machine_mmap_iterate): Take low memory into account
14197
14198 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14201 badfs.
14202 Reported by: TiCPU.
14203
14204 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14207 members errors.
14208
14209 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14210
14211 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14212 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14213
14214 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14215
14216 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14217 openbsd and netbsd types being in part_bsd module.
14218
14219 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14222 (_FILE_OFFSET_BITS): Likewise.
14223 Reported by: Seth Goldberg.
14224
14225 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14226
14227 * configure.ac: Check for libdevmapper header.
14228
14229 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14232 avoid aliasing.
14233 (fzap_lookup): Likewise.
14234 (dnode_get): Likewise.
14235 (make_mdn): Likewise.
14236 (zfs_mount): Likewise.
14237 (fzap_iterate): Use temporary pointer to avoid aliasing.
14238 (grub_zfs_read): Likewise.
14239 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14240 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14241 pointers to avoid aliasing.
14242 (grub_cmd_xnu_kernel64): Likewise.
14243 (grub_xnu_load_driver): Likewise.
14244
14245 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14248 aliasing warning.
14249 (grub_cmd_terminal_output): Likewise.
14250 Reported and tested by: Grégoire Sutre.
14251
14252 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14255 warning.
14256 Reported and tested by: Grégoire Sutre.
14257
14258 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * configure.ac: Do CPU substitution even if it's specified explicitly.
14261 Reported and tested by: Alain Greppin.
14262
14263 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14266 Reported and tested by: Alain Greppin.
14267
14268 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Satisfy some bison versions need for inttypes.h.
14271
14272 * grub-core/lib/posix_wrap/inttypes.h: New file.
14273 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14274 (int16_t): Likewise.
14275 (int32_t): Likewise.
14276 (int64_t): Likewise.
14277 Reported and tested by: Alain Greppin.
14278
14279 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14280
14281 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14282 Silence spurious warning.
14283 Reported and tested by: Alain Greppin.
14284
14285 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14286
14287 * docs/grub.texi (Support automatic decompression): Update with xz
14288 decompression support.
14289
14290 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14291
14292 Improve loaders' kernel command line handling.
14293
14294 * grub-core/lib/cmdline.c: New file.
14295 * include/grub/lib/cmdline.h: Likewise.
14296 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14297 grub_create_loader_cmdline to create kernel command line.
14298 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14299 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14300 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14301 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14302 (linux): Add lib/cmdline.c on common.
14303
14304 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14307 inopos might be unaligned.
14308
14309 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14312 endian transformations.
14313 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14314 Based on report by: Doug Nazar.
14315
14316 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
14317
14318 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14319 array->members[i].start_sector.
14320 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14321
14322 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14325 Reported and tested by: Grégoire Sutre.
14326
14327 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14328
14329 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14330 avoid causing test failures by clearing the screen.
14331
14332 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14333
14334 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14335 Fix prefix check to handle the case where dir ends with a slash
14336 (most significantly, "/" itself).
14337 Reported by: Michael Vogt.
14338
14339 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 Run terminfo_cls on initing terminfo output to clear the screen and
14342 move the cursor to (0,0).
14343
14344 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14345 Call grub_terminfo_output_init.
14346 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14347 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14348 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14349
14350 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14353 only when needed.
14354
14355 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14358 CTRL.
14359
14360 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 The E820 type 5 is BADRAM, not EXEC_CODE.
14363
14364 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14365 (GRUB_E820_BADRAM): New define.
14366 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14367 into reserved. Propagate BADRAM.
14368 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14369 (GRUB_E820_BADRAM): New define.
14370
14371 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14374 Ignore the memory post-4G.
14375 (grub_relocator_firmware_alloc_region): Additional debug statement.
14376
14377 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14380 names.
14381 Reported by: David Pravec.
14382
14383 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
14386 BIOSes.
14387
14388 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
14391 Prevent overflow.
14392 (grub_reed_solomon_recover): Likewise.
14393
14394 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
14397
14398 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
14401 variable.
14402
14403 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
14404
14405 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
14406 descriptions of extract_legacy_entries_source and
14407 extract_legacy_entries_configfile.
14408 Reported by: Seung Soo, Ha.
14409
14410 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
14411
14412 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
14413 on devices that do not implement function 0.
14414
14415 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
14416
14417 * grub-core/fs/hfsplus.c: Make parent unsigned.
14418 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
14419 overflows.
14420 (grub_hfsplus_cmp_extkey): Likewise
14421
14422 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * util/grub-install.in: Correctly use bootloader_id and not
14425 GRUB_DISTRIBUTOR on efibootmgr line.
14426
14427 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
14430
14431 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
14432
14433 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
14434 Xen and reorder menu item wording to make it clearer that this entry
14435 will launch Xen. Print separate messages when loading Xen and
14436 Linux.
14437
14438 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
14441 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
14442 loop in case of incorrect amiga partmap.
14443
14444 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
14447 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
14448 Reported by:EHeM.
14449
14450 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
14453 spurious warning.
14454 Reported by: crocket
14455
14456 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
14459 Preload EFIemu.
14460 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
14461
14462 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
14465 is loaded
14466 (grub_cmd_xnu_kextdir): Likewise.
14467 (grub_cmd_xnu_splash): Likewise.
14468
14469 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 Avoid using Reed-Solomon with 0 redundancy.
14472
14473 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
14474 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
14475 or 0 redundancy.
14476 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
14477 (grub_reed_solomon_recover): Likewise.
14478
14479 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 Don't use disk subsystem in freebsd_boot.
14482
14483 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
14484 (freebsd_biosdev): Likewise.
14485 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
14486 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
14487
14488 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 Handling of files of unknown size is currently limited. They can't be
14491 used e.g. for initrd or modules. Moreover gzip handling of not
14492 easily seekable files is buggy. Disable unknown file size for now. May
14493 be inefficient but works.
14494
14495 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
14496 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14497
14498 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
14499
14500 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
14501 floppy probe.
14502
14503 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
14504
14505 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
14506
14507 2010-12-25 Shea Levy <shlevy>
14508
14509 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
14510
14511 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
14514 Windows Server 2008.
14515 Reported by: Devin Giddings.
14516
14517 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
14520 writing an error message because of async power management.
14521 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
14522 (grub_reboot): Likewise.
14523
14524 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
14525
14526 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
14527 keep unit tests from failing when they shouldn't.
14528
14529 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14530
14531 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
14532 previous patch increased the size of the RS code by 20 bytes (at
14533 least with gcc-4.4), so increase this by 20 bytes to match.
14534 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14535
14536 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14537
14538 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
14539 scratch area. Make sure to initialise chosen in standalone mode as
14540 well as non-standalone.
14541 Reported by: Robert Hooker and Andy Whitcroft.
14542 Tested by: Andy Whitcroft.
14543
14544 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14545
14546 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14547 constructing a new unescaped string and passing it to grub_xputs in
14548 one go, rather than passing characters to grub_printf one at a time.
14549
14550 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14551
14552 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14553 initialising utf16.
14554
14555 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14556
14557 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14558 comment. Add an extra layer of quotation, requiring the output of
14559 this function to be used in a printf format string.
14560 (gettext_printf): New function.
14561 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14562 Extract translatable strings from here-documents and use a temporary
14563 variable instead, so that xgettext can find them.
14564 * util/grub.d/10_kfreebsd.in: Likewise.
14565 * util/grub.d/10_linux.in: Likewise.
14566 * util/grub.d/20_linux_xen.in: Likewise.
14567
14568 * po/grub.d.sed: New file.
14569 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14570 arguments. Set c-format flags on all strings extracted from
14571 util/grub.d/ (xgettext refuses to include these itself for strings
14572 it extracted from a shell file, but these really are c-format).
14573
14574 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14577 Avoid next pointing to nowhere.
14578
14579 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14582 rather than assuming than rootblock is exactly in the middle.
14583 (grub_affs_label): Likewise.
14584
14585 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14588 reserved_first_sector to 0.
14589 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14590 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14591 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14592
14593 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 Fix handling of UTF-16 UDF labels.
14596
14597 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14598 (read_string): .. here.
14599 (grub_udf_label): Use read_string.
14600
14601 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14602
14603 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14604 editor under argument scope.
14605 Reported by: Jordan Uggla
14606
14607 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14610
14611 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
14612
14613 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14614 line, and other keys scroll an entire page (previous handling was
14615 for \r and \n to scroll a page and other keys to scroll two lines).
14616
14617 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14620 Set ptrdest to correct get_physical_target_address rather than
14621 incorrect get_virtual_current_address.
14622
14623 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14624
14625 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14626 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14627
14628 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14629
14630 * .bzrignore: Ignore grub-core/rs_decoder.S.
14631
14632 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14633
14634 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14635 .mo/.mo.gz opening sequence to ...
14636 (grub_mofile_open_lang): ... here.
14637 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14638 * util/grub.d/00_header.in (grub_lang): Include country part of
14639 locale.
14640 Reported by: Mario Limonciello.
14641
14642 2010-12-09 Robert Millan <rmh@gnu.org>
14643
14644 * NEWS: Document addition of ZFS support.
14645
14646 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14649 rather than `/ 2', as the latter requires -Wa,--divide which would
14650 require bumping our minimum binutils version.
14651
14652 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14653
14654 * util/grub-script-check.c (main): Print script line number on
14655 error.
14656
14657 2010-12-01 Robert Millan <rmh@gnu.org>
14658
14659 * grub-core/fs/zfs/zfs.c: New file.
14660 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14661 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14662 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14663 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14664
14665 * include/grub/zfs/dmu.h: Likewise.
14666 * include/grub/zfs/dmu_objset.h: Likewise.
14667 * include/grub/zfs/dnode.h: Likewise.
14668 * include/grub/zfs/dsl_dataset.h: Likewise.
14669 * include/grub/zfs/dsl_dir.h: Likewise.
14670 * include/grub/zfs/sa_impl.h: Likewise.
14671 * include/grub/zfs/spa.h: Likewise.
14672 * include/grub/zfs/uberblock_impl.h: Likewise.
14673 * include/grub/zfs/vdev_impl.h: Likewise.
14674 * include/grub/zfs/zap_impl.h: Likewise.
14675 * include/grub/zfs/zap_leaf.h: Likewise.
14676 * include/grub/zfs/zfs.h: Likewise.
14677 * include/grub/zfs/zfs_acl.h: Likewise.
14678 * include/grub/zfs/zfs_znode.h: Likewise.
14679 * include/grub/zfs/zil.h: Likewise.
14680 * include/grub/zfs/zio.h: Likewise.
14681 * include/grub/zfs/zio_checksum.h: Likewise.
14682
14683 * Makefile.util.def: Build ZFS into libgrubmods.
14684 * grub-core/Makefile.core.def: Build zfs.mod.
14685
14686 2010-11-30 Szymon Janc <szymon@janc.net.pl>
14687
14688 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14689 variable.
14690 * grub-core/commands/wildcard.c (match_files): Likewise.
14691
14692 2010-11-30 Robert Millan <rmh@gnu.org>
14693
14694 * grub-core/loader/i386/bsd.c
14695 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14696 whether kernel is loaded using grub_loader_is_loaded(), rather
14697 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14698 certain error conditions.
14699
14700 2010-11-30 Robert Millan <rmh@gnu.org>
14701
14702 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14703 (grub_cmd_echo): Call grub_refresh() after printing a message.
14704
14705 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 Avoid using tricks for initialising endian variables.
14708
14709 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14710 Make const.
14711 (GRUB_MOD_INIT): Don't byte-swap.
14712 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14713 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14714 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14715 (grub_swap_bytes32_compile_time): Likewise.
14716 (grub_cpu_to_le32_compile_time): Likewise.
14717 (grub_cpu_to_le16_compile_time): Likewise.
14718
14719 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * util/grub-setup.c (setup): Stop recommending --force. People who
14722 understand the dangers of blocklists are able to find this option
14723 anyway and the ones who don't shouldn't use it anyway.
14724
14725 2010-11-26 Robert Millan <rmh@gnu.org>
14726
14727 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14728 Update all users.
14729
14730 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
14731
14732 Fix LVM-on-RAID probing.
14733
14734 * util/grub-probe.c (probe): Remember which disk was detected as
14735 RAID (perhaps an LVM physical volume). Use that disk's raidname
14736 rather than that of the top-level disk.
14737
14738 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
14739
14740 Fix cmdline argument quotes for setparams command of menuentry
14741 definitions.
14742
14743 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14744 quotes for arguments.
14745 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
14746 grub_strchrsub function instead.
14747
14748 * include/grub/misc.h (grub_strchrsub): New function.
14749
14750 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14751
14752 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14753 effort by skipping "." and ".." entries up-front.
14754 Suggested by: Michael Lazarev.
14755
14756 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14757
14758 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14759 ldflags to ldadd, to fix link line ordering.
14760 (none_decompress): Likewise.
14761
14762 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14763
14764 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14765 platforms.
14766 (grub-emu-lite): Remove kern/emu/cache.S.
14767
14768 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14769
14770 * util/deviceiter.c (compare_devices): If the by-id link for a
14771 device couldn't be resolved, fall back to sorting by the by-id link
14772 rather than segfaulting.
14773 Reported and tested by: Daniel Mierswa.
14774
14775 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14776
14777 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14778 ldflags, to fix link line ordering.
14779
14780 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14781
14782 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14783 linkers are picky about this.
14784
14785 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14786
14787 * grub-core/Makefile.am (command.lst): Adjust sed expression
14788 ordering so that extended and priority commands aren't treated as
14789 ordinary commands.
14790
14791 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14792
14793 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14794 Remove byte-swapping function calls, which are not valid in
14795 structure initialisers.
14796 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14797 non-const.
14798 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14799 grub_gpt_partition_type_bios_boot.
14800
14801 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14802
14803 Fix test program build on GNU/kFreeBSD.
14804
14805 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14806 $(LIBNVPAIR)' library dependencies.
14807
14808 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14809
14810 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14811
14812 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14813
14814 * util/grub-install.in: Remove excessive quoting that broke
14815 installations to RAID devices.
14816
14817 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14820 bootloader version instead of 0.
14821
14822 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14825 warning.
14826
14827 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14830 retrieve the metadat sector if size isn't known.
14831 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14832
14833 2010-11-18 Robert Millan <rmh@gnu.org>
14834
14835 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14836 with grub_memcmp().
14837
14838 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14841 arrow.
14842 Reported by: Jordan Uggla.
14843
14844 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 Make better UTF compliant.
14847
14848 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
14849 sequences as incorrect.
14850 (grub_is_valid_utf8): Likewise.
14851 (grub_utf8_to_ucs4): Likewise.
14852 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
14853 (grub_ucs4_to_utf8_alloc): Likewise.
14854 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
14855
14856 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Make legacy_source behave like source.
14859
14860 * grub-core/commands/legacycfg.c (legacy_file): Don't call
14861 grub_show_menu.
14862 (grub_cmd_legacy_source): Call grub_show_menu if needed.
14863
14864 2010-11-16 Colin Watson <cjwatson@debian.org>
14865
14866 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
14867 (-Wunused implies -Wunused-parameter, but not vice versa).
14868
14869 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
14870
14871 * configure.ac: Make error messages less confusing by testing for
14872 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
14873 accepted, but produces a diagnostic if something else is wrong).
14874
14875 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
14878 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
14879 (now unused).
14880 (grub_keyboard_controller_init)
14881 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
14882 read the initial state since controller isn't inited yet.
14883
14884 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
14887 allocate_regbeg may need to create new chunk header.
14888
14889 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Fix quoting in legacy parser.
14892
14893 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
14894 single quotes.
14895 (grub_legacy_parse): Likewise.
14896 Reported by: Jordan Uggla.
14897 Tested by: Jordan Uggla.
14898
14899 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 Don't add -lgcc on i386 and x86_64.
14902
14903 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
14904 * conf/Makefile.common (LDADD_KERNEL): Likewise.
14905 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
14906
14907 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * configure.ac: Add -Wno-trampolines when supported.
14910
14911 2010-11-14 Modestas Vainius <modax@debian.org>
14912
14913 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14914 fakeraid.
14915
14916 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14917
14918 Add generic logical block size support for UDF.
14919
14920 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14921 (GRUB_UDF_BLKSZ): Removed.
14922 (struct grub_udf_data): New field "lbshift" to hold the logical block
14923 size of the file system in log2 format. All users updated.
14924 (sblocklist): Change type to unsigned.
14925 (grub_udf_mount): Change type of "sblklist" to unsigned.
14926 Move AVDP search before VRS recognition, because the latter requires
14927 knowledge of the logical block size, which is detected during the
14928 former.
14929 Detect and validate logical block size during AVDP search, adding
14930 support for block sizes 512, 1024 and 4096.
14931 Make VRS recognition independent of block size.
14932
14933 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14934
14935 Properly handle deleted files on UDF.
14936
14937 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14938 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14939 set.
14940
14941 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14942
14943 Support reading files larger than 2 GiB.
14944
14945 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14946 "offset" to grub_off_t.
14947 (grub_udf_read_file): Likewise for parameter "pos".
14948
14949 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14952 unavailable.
14953 (Simple configuration): Refer to Changes from GRUB Legacy about
14954 save_env availability.
14955
14956 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 * util/grub-install.in: Ignore empty partition table detection
14959 instead of trying to include part_ module.
14960
14961 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14964 LVM on RAID support.
14965
14966 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 Properly define WORDS_BIGENDIAN in wrapped environments.
14969
14970 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14971 definition.
14972 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14973
14974 Reported by: Manoel Rebelo Abranches.
14975 Tested by: Manoel Rebelo Abranches.
14976
14977 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * util/grub-mkconfig.in: Fix quoting.
14980
14981 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 Support big ext2 files.
14984
14985 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14986 (grub_ext2_read_block): Support triple indirect blocks.
14987 (grub_ext2_read_file): Use 64-bit types and read size_high.
14988 (grub_ext2_open): Read size_high.
14989 Reported by: Ximin Luo.
14990 Tested by: Manoel Rebelo Abranches.
14991
14992 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * util/grub-install.in: Handle filenames containing spaces.
14995 Reported by: Jordan Uggla.
14996 Tested by: Jordan Uggla.
14997
14998 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub-mkconfig.in (grub_script_check): New variable.
15001 Use grub_script_check instead of grub-script-check.
15002 Reported by: Barry Jackson.
15003
15004 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * docs/grub.texi (menu): Correct the order.
15007 Reported by: D. Hugh Redelmeier.
15008
15009 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15010
15011 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15012 jump.
15013
15014 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15015
15016 * include/grub/elfload.h (grub_elf32_size): New parameter.
15017 All users updated.
15018 Return maximum segments alignment.
15019 (grub_elf64_size): Likewise.
15020 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15021 Return maximum segments alignment.
15022 (grub_elf64_size): Likewise.
15023 * grub-core/loader/powerpc/ieee1275/linux.c:
15024 (grub_linux_claimmap_iterate): New function. Uses the
15025 "available" property in the "memory" node for memory allocation
15026 for kernel in the PowerPC loader.
15027 (grub_linux_load32): Correctly find linux entry point offset.
15028 (grub_linux_load64): Likewise.
15029
15030 2010-11-07 Robert Millan <rmh@gnu.org>
15031
15032 On mips-yeeloong, build with -march=loongson2f when this flag is
15033 available (GCC >= 4.4).
15034 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15035 `-march=mips3'.
15036 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15037 or otherwise add -march=mips3.
15038
15039 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15040
15041 Suppress shell expansion on echo '*' and echo "*" like cases.
15042 Reported by: Jordan Uggla.
15043
15044 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15045 string arguments before shell expansion.
15046 * tests/grub_cmd_echo.in: New testcases.
15047
15048 2010-11-07 Robert Millan <rmh@gnu.org>
15049
15050 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15051 transition.
15052
15053 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/kern/emu/hostdisk.c
15056 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15057
15058 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15061 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15062 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15063
15064 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15067
15068 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * util/grub-install.in: Replace useless recomendation to pass
15071 --modules with a recomendation to report a bug.
15072
15073 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 Properly register serial terminfo.
15076 Reported by: Jordan Uggla
15077
15078 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15079 const.
15080 (grub_serial_terminfo_output_template): Likewise.
15081 (grub_cmd_serial): Register "serial" with terminfo.
15082 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15083 grub_serial_terminfo_output.
15084
15085 2010-11-05 Robert Millan <rmh@gnu.org>
15086
15087 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15088 needed).
15089
15090 2010-11-05 Robert Millan <rmh@gnu.org>
15091
15092 On Yeeloong, pass machine type information to Linux.
15093
15094 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15095 (LOONGSON_MACHTYPE): New macro, set to
15096 "machtype=lemote-yeeloong-2f-8.9inches".
15097 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15098 additional argument to Linux.
15099
15100 2010-11-04 Robert Millan <rmh@gnu.org>
15101
15102 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15103 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15104 (its SATA disks are detected as slaveless IDE master drives on
15105 kFreeBSD).
15106 Reported by Carsten Aulbert.
15107
15108 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
15109
15110 * util/bin2h.c (main): Fix spelling error in generated output.
15111
15112 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15113
15114 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15115
15116 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15119 vga= option is supplied.
15120
15121 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15124 * util/grub.d/10_kfreebsd.in: Likewise.
15125 * util/grub.d/10_linux.in: Likewise.
15126 * util/grub.d/20_linux_xen.in: Likewise.
15127
15128 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15131 argument as an argument to no-argument option.
15132
15133 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * util/grub.d/10_linux.in: Add missing load_video with explicit
15136 GRUB_GFXPAYLOAD_LINUX.
15137
15138 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15139
15140 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15141
15142 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15145 elements with invlid index.
15146 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15147 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15148 members.
15149 * include/grub/raid.h (grub_raid_member): New struct.
15150 (grub_raid_array): Transform devices and start_sector into usage of
15151 grub_raid_member. All users updated
15152 (allocated_devs): New member.
15153
15154 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15157 is modified
15158
15159 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15160
15161 NetBSD build fix for getline function conflict from gnulib.
15162
15163 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15164 components that depend on gnulib headers.
15165 (libgrubmods.a): Renamed from earlier libgrub.a.
15166 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15167
15168 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15171 install rather than creating a broken install.
15172
15173 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * util/grub-setup.c (argp): Remove misleading example of installing to
15176 a partition.
15177
15178 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * util/grub-setup.c (setup): Clarify the error message.
15181
15182 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15183
15184 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15185
15186 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * grub-core/kern/emu/misc.c
15189 (grub_make_system_path_relative_to_its_root)
15190 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15191
15192 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * grub-core/kern/emu/misc.c
15195 (grub_make_system_path_relative_to_its_root): Revert r2882.
15196
15197 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15200 useless field head. All users updated.
15201 (free_subchunk): Correct handling of IN_REGION subchunk.
15202
15203 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
15204
15205 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15206 (Supported kernels): Likewise.
15207
15208 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15209
15210 Make mktemp invocations portable.
15211
15212 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15213 exit if mktemp fails.
15214 * tests/grub_script_blockarg.in: Likewise.
15215 * tests/partmap_test.in: Likewise.
15216 * tests/util/grub-shell-tester.in: Likewise.
15217 * tests/util/grub-shell.in: Likewise.
15218 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15219 * Makefile.am: Likewise, and chain shell commands with `&&'
15220 instead of ';'.
15221 * util/grub-mkrescue.in: Use the same explicit template as above, and
15222 exit if mktemp fails.
15223
15224 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15225
15226 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15227 Linux kernel, reported by Dennis Schridde.
15228
15229 2010-10-17 Szymon Janc <szymon@janc.net.pl>
15230
15231 * grub-core/normal/auth.c (grub_auth_check_authentication):
15232 Set-but-not-used variable removed.
15233
15234 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15235
15236 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15237 32-bit linux protocol.
15238
15239 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15242 cursor shape for sanity.
15243
15244 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15245
15246 * docs/grub.texi (Installation): Document buggy BIOS install.
15247
15248 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * docs/grub.texi (Installation): Indent.
15251
15252 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * util/grub-setup.c (setup): New parameter allow_floppy.
15255 (arguments): New member allow_floppy.
15256 (argp_parser): Handle --allow-floppy.
15257 (main): Pass allow_floppy.
15258 * util/grub-install.in: New option --allow-floppy passed though to
15259 grub-setup.
15260
15261 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * util/grub-install.in: Handle partitionless disks.
15264
15265 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 * util/grub-setup.c (setup): Don't clean blocklists before readability
15268 verfification.
15269
15270 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * docs/grub.texi (Installation): Document embedding zone. Remove
15273 obsolete grub-install example.
15274
15275 2010-10-16 Szymon Janc <szymon@janc.net.pl>
15276
15277 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15278 Set-but-not-used variable ifdef'ed.
15279 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15280 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15281 variable removed.
15282 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15283 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15284 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15285 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15286 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15287 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15288 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15289 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15290 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15291 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15292 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15293 Likewise.
15294
15295 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15298 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15299 enum value.
15300
15301 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15304 synonym to _S5_. Needed for some DSDTs.
15305
15306 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 Userspace ACPI parser debugging.
15309
15310 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15311 headers and add relevant defines. Don't include standard headers.
15312 (main) [GRUB_DSDT_TEST]: New function.
15313 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15314 Don't declare functions.
15315
15316 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 Remove dead grub_efi_mm_fini.
15319
15320 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15321 (ALLOCATED_PAGES_SIZE): Likewise.
15322 (MAX_ALLOCATED_PAGES): Likewise.
15323 (allocated_pages): Likewise.
15324 (grub_efi_allocate_pages): Don't record allocated pages.
15325 (grub_efi_free_pages): Likewise.
15326 (grub_efi_mm_init): Likewise.
15327 (grub_efi_mm_fini): Removed.
15328
15329 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15332 (grub_efi_mm_init): Take into account the memory map size increase.
15333
15334 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15337 (serial_hw_put): Wait based on real time rather than port reads. Don't
15338 roken ports.
15339 * include/grub/serial.h (grub_serial_port): New field broken.
15340
15341 2010-10-16 Robert Millan <rmh@gnu.org>
15342
15343 * grub-core/kern/emu/misc.c
15344 (grub_make_system_path_relative_to_its_root): Fix premature return
15345 when processing non-root ZFS filesystems.
15346 Reported by Sergio Talens-Oliag.
15347
15348 2010-10-15 Robert Millan <rmh@gnu.org>
15349
15350 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15351 guarantee compressed ones are processed first.
15352
15353 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15356 grub_efiemu_autocore.
15357
15358 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15361 rather than 0x1b.
15362 (grub_console_getkey): Use correct jae opcode rather than ja.
15363
15364 2010-10-12 Robert Millan <rmh@gnu.org>
15365
15366 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15367 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15368 variable. All references updated.
15369
15370 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15371
15372 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 Correctly distinguish mdraid flavours.
15375
15376 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15377 (insert_array): New argument raid.
15378 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15379 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15380 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15381
15382 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
15385 handling of special keys.
15386
15387 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15388
15389 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
15390 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
15391
15392 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15393
15394 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
15395 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
15396 users updated.
15397 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
15398 Use right endpoint when querying descriptor.
15399
15400 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Clear out 0x80 color bit on EFI.
15403 Tested by: decoder
15404 Reported by: decoder and meta tech.
15405
15406 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
15407 (grub_console_setcolorstate): Clear out 0x80 bit.
15408 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
15409 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
15410 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
15411
15412 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
15415 Set to "auto".
15416
15417 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
15420 mo_file after freeing.
15421
15422 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
15425
15426 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
15429 flags.
15430
15431 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
15434 usage.
15435
15436 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 Put terminfo into core on ieee1275 and yeeloong (needed for console).
15439
15440 * gentpl.py: New groups terminfoinkernel and terminfomodule.
15441 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
15442 and terminfo.h when needed.
15443 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
15444 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
15445 (terminfo): Enable only on terminfokernel.
15446 (extcmd): Likewise.
15447 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
15448 * include/grub/lib/arg.h: Likewise.
15449 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
15450 incorrect usage of ->.
15451
15452 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
15455 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
15456
15457 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 Fix coreboot compilation.
15460
15461 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15462 Take VBE info into account even if only text is supported.
15463 (fill_vbe_info): Take into account the case when only VGA text
15464 is supported.
15465 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
15466 on coreboot, multiboot and qemu.
15467
15468 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
15471 debug messages.
15472 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
15473
15474 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
15477 parameters.
15478
15479 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
15482 if they were BSD-style.
15483
15484 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/boot/i386/pc/lnxboot.S: Replace
15487 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15488 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15489
15490 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 Write embedding zone using Reed-Solomon.
15493
15494 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15495 * grub-core/Makefile.am (rs_decoder.S): New target.
15496 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
15497 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
15498 (multiboot): Move to RS part.
15499 (post_reed_solomon): New label.
15500 (grub_boot_drive): Move to non-RS part since it's modified in memory
15501 on boot.
15502 Include rs_decoder.S.
15503 * grub-core/lib/reed_solomon.c: New file.
15504 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
15505 New definition.
15506 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
15507 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
15508 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
15509 * include/grub/partition.h (grub_partition_map): Change prototype of
15510 embed to allow returning additional sectors.
15511 * include/grub/reed_solomon.h: New file.
15512 * util/grub-setup.c (setup): Handle Reed-Solomon.
15513
15514 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
15515
15516 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15517 i386 and x86-64 definedness tests.
15518
15519 2010-09-27 Yves Blusseau <blusseau@zetam.org>
15520
15521 Fix generation of kernel_syms.lst
15522
15523 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
15524 ASM_PREFIX
15525
15526 2010-09-26 Robert Millan <rmh@gnu.org>
15527
15528 Support degraded ZFS arrays in "grub-probe -t device" resolution.
15529
15530 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
15531 the pool is an array of devices, iterate through it and return the
15532 first device that passes a stat() test (instead of blindly returning
15533 the first one).
15534
15535 2010-09-26 Robert Millan <rmh@gnu.org>
15536
15537 Build fixes for GNU/kFreeBSD.
15538
15539 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
15540 to programs that require ZFS conversion.
15541 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
15542 kernels that don't have FLOPPY_MAJOR.
15543
15544 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15545
15546 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15547
15548 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15549
15550 Fix grub-emu build.
15551
15552 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15553 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15554 mdraid09 and mdraid1x.
15555
15556 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
15557
15558 Re-enable grub-extras.
15559
15560 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15561 avoid confusing Automake. Run autogen only twice, once for the top
15562 level and once for grub-core. Add Makefile.util.def and
15563 Makefile.core.def from extra modules to the appropriate autogen
15564 invocations. If Makefile.common exists in an extra module, include
15565 it in both Makefile.util.am and grub-core/Makefile.core.am;
15566 similarly, include any Makefile.util.common file in Makefile.util.am
15567 and any Makefile.core.common file in grub-core/Makefile.core.am.
15568 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15569 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15570 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15571 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15572
15573 * gentpl.py (gvar_add): Turn GVARS into a set.
15574 (global_variable_initializers): Sort global variables on output.
15575 (vars_init): New function.
15576 (first_time): Likewise.
15577 (library): Ensure that non-global variable initialisations are
15578 emitted before the first time we emit code for a library block.
15579 Append to variables rather than setting them. Only emit
15580 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15581 each conditional path.
15582 (program): installdir() emits an Autogen macro, so must be passed to
15583 var_add rather than gvar_add.
15584 (data): Likewise.
15585 (script): Likewise.
15586 (rules): New function, centralising handling for different target
15587 types. Set up Guile association lists for first_time and vars_init,
15588 and send most output to a diversion so that variable initialisations
15589 can be emitted first.
15590 (module_rules): Use new rules function.
15591 (kernel_rules): Likewise.
15592 (image_rules): Likewise.
15593 (library_rules): Likewise.
15594 (program_rules): Likewise.
15595 (script_rules): Likewise.
15596 (data_rules): Likewise.
15597
15598 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15599
15600 * .bzrignore: Add contrib and grub-core/contrib. Remove
15601 grub-core/Makefile.gcry.am.
15602
15603 2010-09-24 Yves Blusseau <blusseau@zetam.org>
15604
15605 * grub-core/lib/LzFind.c: Add missing include.
15606 * grub-core/lib/LzmaEnc.c: Likewise.
15607 * grub-core/script/lexer.c: Likewise.
15608 * grub-core/script/yylex.l: Likewise.
15609 * util/grub-macho2img.c: Likewise.
15610 * util/grub-menulst2cfg.c: Likewise.
15611 * util/grub-mklayout.c: Likewise.
15612 * util/grub-mkpasswd-pbkdf2.c
15613 * util/grub-mkrelpath.c: Likewise.
15614 * util/resolve.c: Likewise.
15615
15616 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15617
15618 * Makefile.util.def (example_unit_test): Add
15619 grub-core/gnulib/libgnu.a.
15620
15621 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15622
15623 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15624
15625 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 Support xz compression on yeeloong.
15628
15629 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15630 * configure.ac: Check for LZMA.
15631 * grub-core/Makefile.core.def (xz_decompress): New target.
15632 (none_decompress): Likewise.
15633 * grub-core/boot/decompressor/minilib.c: New file.
15634 * grub-core/boot/decompressor/none.c: Likewise.
15635 * grub-core/boot/decompressor/xz.c: Likewise.
15636 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15637 * grub-core/kern/mips/cache_flush.S: Likewise.
15638 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15639 * grub-core/kern/mips/startup.S: Move first stage to ...
15640 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15641 nomacro.
15642 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15643 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15644 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15645 Allocate statically.
15646 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15647 Allocate statically or use scratch. Don't check CRC32.
15648 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15649 Allocate statically. Don't check CRC32.
15650 * include/grub/decompressor.h: New file.
15651 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15652 Removed.
15653 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15654 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15655 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15656 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15657 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15658 * util/grub-mkimage.c (grub_compression_t): New type.
15659 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15660 (image_target_desc): New field default_compression.
15661 (image_targets): Adjust yeeloong targets.
15662 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15663 (compress_kernel): New parameter comp.
15664 (generate_image): Likewise. Handle new compression case.
15665 (options): New option --compression
15666 (help): Likewise.
15667 (main): Handle new option.
15668
15669 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15670
15671 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15672
15673 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
15674
15675 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15676 typo in __i386__ conditional.
15677
15678 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15681 include.
15682
15683 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 Implement EFI and ACPI multiboot2 extensions.
15686
15687 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15688 new tags as supported.
15689 (acpiv2_size): New function.
15690 (grub_multiboot_get_mbi_size): Take new tags into account.
15691 (grub_multiboot_make_mbi): Add new tags.
15692 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
15693
15694 2010-09-21 Aleš Nesrsta <starous@volny.cz>
15695
15696 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15697 Added missing configuration of USB device.
15698
15699 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15700
15701 * grub-core/normal/menu_entry.c (run): Make sure we always return
15702 a value.
15703
15704 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15705
15706 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15707 NumberOfPages is UINT64 according to the UEFI specification, not
15708 UINTN. Fix printf format.
15709
15710 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15711
15712 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15713 `err' to grub_usb_err_t.
15714 Reported and tested by: KESHAV P.R.
15715
15716 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15717
15718 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15719 tpart non-const, so that we can assign to it. (Since this is a
15720 typedef, the constness refers to the pointer rather than what it
15721 points to.)
15722
15723 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15724
15725 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15726 $(top_srcdir)/grub-core/gnulib as well as
15727 $(top_builddir)/grub-core/gnulib.
15728 Reported by: KESHAV P.R.
15729
15730 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15731
15732 * util/grub-install.in: Fix the bootloader ID option to be
15733 consistently --bootloader-id, not --bootloader_id.
15734 Reported by: KESHAV P.R.
15735
15736 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15739 check hash checksum." consistently translatable.
15740
15741 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15742
15743 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15744 $(top_builddir).
15745
15746 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15747
15748 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15749 (GRUB_MOD_INIT): Register sha1sum command.
15750 (GRUB_MOD_FINI): Unregister sha1sum command.
15751
15752 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15753
15754 Keep boot and grub directory names in sync with utils scripts
15755
15756 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15757 * config.h.in: Add previous macros.
15758 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15759 * util/grub-install.in: Use $bootdir and $grubdir variables.
15760
15761 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15762
15763 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15764 convert partition names to disk names if the new `convert' parameter
15765 is set.
15766 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15767 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15768 disk in its own right. This can happen with Xen disk images.
15769
15770 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15771
15772 * util/grub-editenv.c: Update strings to avoid warnings when generating
15773 grub.pot file.
15774 * util/grub-setup.c: Likewise.
15775
15776 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * configure.ac: Change version to 1.99~beta0.
15779
15780 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15783 Add BADRAM.
15784 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15785 Likewise.
15786 * include/multiboot.h: Resynced with specification.
15787 * include/multiboot2.h: Likewise.
15788
15789 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15790
15791 Fix po directory handling.
15792
15793 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15794 * grub-core/gnulib/Makefile.am: Import gettext module.
15795 * m4/gnulib-cache.m4: Likewise.
15796 * m4/gnulib-comp.m4: Likewise.
15797 * m4/gettext.m4: New file, from gnulib.
15798 * m4/glibc2.m4: Likewise.
15799 * m4/iconv.m4: Likewise.
15800 * m4/intdiv0.m4: Likewise.
15801 * m4/intl.m4: Likewise.
15802 * m4/intldir.m4: Likewise.
15803 * m4/intlmacosx.m4: Likewise.
15804 * m4/intmax.m4: Likewise.
15805 * m4/inttypes-pri.m4: Likewise.
15806 * m4/lcmessage.m4: Likewise.
15807 * m4/lib-ld.m4: Likewise.
15808 * m4/lib-link.m4: Likewise.
15809 * m4/lib-prefix.m4: Likewise.
15810 * m4/lock.m4: Likewise.
15811 * m4/nls.m4: Likewise.
15812 * m4/po.m4: Likewise.
15813 * m4/printf-posix.m4: Likewise.
15814 * m4/progtest.m4: Likewise.
15815 * m4/threadlib.m4: Likewise.
15816 * m4/uintmax_t.m4: Likewise.
15817 * m4/visibility.m4: Likewise.
15818 * po/Makefile.am: Remove.
15819 * po/Makefile.in.in: New file, from gettext.
15820 ($(DOMAIN).pot-update): Support POTFILES-shell.
15821 * po/Makevars: New file.
15822 * po/POTFILES-shell: Rename to ...
15823 * po/POTFILES-shell.in: ... this. Update.
15824 * po/POTFILES: Rename to ...
15825 * po/POTFILES.in: ... this. Update.
15826 * po/Rules-quot: New file, from gettext.
15827 * po/boldquot.sed: Likewise.
15828 * po/en@boldquot.header: Likewise.
15829 * po/en@quot.header: Likewise.
15830 * po/insert-header.sin: Likewise.
15831 * po/quot.sed: Likewise.
15832 * po/remove-potcdate.sin: Likewise.
15833
15834 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15837
15838 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * util/grub.d/20_linux_xen.in: Use submenus.
15841
15842 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 Support submenus.
15845
15846 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
15847 parameter submenu. All users updated.
15848 * grub-core/normal/main.c (free_menu): Rename to ...
15849 (grub_normal_free_menu): ... this. Made global.
15850 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
15851 if requested.
15852 * grub-core/normal/menu_entry.c (screen): New field submenu.
15853 (make_screen): Set submenu.
15854 (run): Open new context if requested.
15855 * include/grub/menu.h (grub_menu_entry): New field submenu.
15856 * include/grub/normal.h (grub_normal_free_menu): New proto.
15857
15858 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 Menu entries extractor.
15861
15862 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
15863 variants.
15864 (GRUB_MOD_INIT): Register new variants.
15865 (GRUB_MOD_FINI): Unregister new variants.
15866 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
15867 into grub_cmd_legacy_source.
15868 (grub_cmd_legacy_source): Implement extractor variants.
15869 (GRUB_MOD_INIT): Register new variants.
15870 (GRUB_MOD_FINI): Unregister new variants.
15871 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
15872 as an extractor.
15873 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
15874 search as an extractor.
15875 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
15876 test as an extractor.
15877 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
15878 as an extractor.
15879 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
15880 (grub_env_new_context): New function.
15881 (grub_env_context_open): Likewise.
15882 (grub_env_extractor_open): Likewise.
15883 (grub_env_extractor_close): Likewise.
15884 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15885 grub_extractor_level.
15886 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
15887 * include/grub/env.h (grub_env_extractor_open): New proto.
15888 (grub_env_extractor_close): Likewise.
15889 * include/grub/normal.h (grub_extractor_level): New external variable.
15890
15891 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 Make cutmem accept a region specification.
15894 Suggested by: Samuel Thibault
15895
15896 * grub-core/mmap/mmap.c (parsemem): New function.
15897 (grub_cmd_cutmem): Handle new arguments.
15898
15899 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15900
15901 New command cutmem.
15902
15903 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
15904 (GRUB_MOD_INIT): Register new command.
15905 (GRUB_MOD_FINI): Unregister new command.
15906
15907 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 Support some annoying BSD and Minix subpartitions.
15910
15911 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
15912 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
15913 Properly handle concatenation.
15914 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15915 * grub-core/normal/completion.c (iterate_partition): Likewise.
15916 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15917 contain partition. All users updated.
15918 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15919 struct.
15920 (grub_openbsdlabel_partition_map): Likewise.
15921 (bsdlabel_partition_map_iterate): Rename to ..
15922 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15923 (bsdlabel_partition_map_iterate): New function.
15924 (netopenbsdlabel_partition_map_iterate): Likewise.
15925 (netbsdlabel_partition_map_iterate): Likewise.
15926 (openbsdlabel_partition_map_iterate): Likewise.
15927 (GRUB_MOD_INIT): Register new partmaps.
15928 (GRUB_MOD_FINI): Unregister new partmaps.
15929 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15930 (grub_partition_msdos_iterate): ... this. All users updated.
15931 Don't support embedding other than in a minix partition.
15932 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15933 proto.
15934 * include/grub/partition.h (grub_partition): New field msdostype.
15935 * util/grub-install.in: Handle openbsd and netbsd types being in
15936 part_bsd module.
15937
15938 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15941
15942 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15943 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15944 (mdraid09): ... this.
15945 (mdraid1x): New module.
15946 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15947 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15948
15949 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15952 vsprintf.
15953
15954 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15955
15956 * grub-core/commands/efi/lsefimmap.c: Correct header.
15957 * NEWS: Update.
15958
15959 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15960
15961 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15962 as printf format strings; the translations might contain '%' which
15963 could cause a crash.
15964 (main): Likewise.
15965 * util/grub-fstest.c (argp_parser): Likewise.
15966 * util/grub-setup.c (argp_parser): Likewise.
15967 (main): Likewise.
15968
15969 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 Use argp in grub-fstest.
15972
15973 * util/grub-fstest.c: Don't include getopt.h.
15974 Include argp.h.
15975 (root): New variable.
15976 (args_count): Likewise.
15977 (nparm): Likewise.
15978 (num_disks): Likewise.
15979 (images): Likewise.
15980 (cmd): Likewise.
15981 (debug_str): Likewise.
15982 (args): Likewise.
15983 (options): Transformed to argp.
15984 (usage): Removed.
15985 (main): Split argument parsing into ...
15986 (argp_parser): ... this. Changed to argp format.
15987 (argp): New variable.
15988 (main): Use argp_parse.
15989
15990 2010-09-20 Tristan Gingold <gingold@free.fr>
15991 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
15992 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * grub-core/commands/efi/lsefimmap.c: New file.
15995 * grub-core/Makefile.core.def (lsefimmap): New module.
15996 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15997
15998 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 Pause the execution (10s max) if any errors are displayed so the user
16001 has a chance to see them.
16002
16003 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16004 (grub_print_error): Increment grub_err_printed_errors.
16005 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16006 execution if any errors were displayed.
16007 (show_menu): Remove old code for pause.
16008 * grub-core/normal/menu_entry.c (run): Likewise.
16009 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16010 users updated.
16011 (grub_normal_get_char_counter): Likewise.
16012 * include/grub/err.h (grub_err_printed_errors): New external variable.
16013 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16014
16015 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Support multiboot VBE info.
16018
16019 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16020 Take VBE info into account.
16021 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16022 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16023 Call fill_vbe_info when appropriate.
16024 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16025 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16026 as supported.
16027 (grub_multiboot_get_mbi_size): Take new tags into account.
16028 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16029 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16030 Call fill_vbe_tag when appropriate.
16031 (grub_multiboot_make_mbi): Properly align tags.
16032 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16033 function.
16034 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16035 proto.
16036 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16037
16038 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 Suport manual terminal geometry specification.
16041
16042 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16043 Save state in grub_ofconsole_terminfo_output.
16044 (grub_ofconsole_term): Use grub_terminfo_getwh.
16045 (grub_ofconsole_getwh): Removed.
16046 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16047 (grub_serial_term): Use grub_terminfo_getwh.
16048 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16049 (options): New struct.
16050 (OPTION_*): New enum.
16051 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16052 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16053 width and height.
16054 (grub_terminfo_getwh): New proto.
16055 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16056
16057 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 Handle legacy "terminal" command.
16060
16061 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16062 and FLAG_TERMINAL.
16063 (legacy_commands): Add terminal and title.
16064 (grub_legacy_parse): Handle terminal. Simplify title handling.
16065
16066 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16069 parameters overflow.
16070
16071 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16072
16073 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16074 widthspec.h.
16075
16076 * docs/grub.texi (Shell-like scripting): Document `!'.
16077 (Network): Simplify using new i386-pc-pxe format. Mention
16078 grub-mknetdir.
16079
16080 * NEWS: Update.
16081
16082 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16083
16084 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16085 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16086 when needed.
16087
16088 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16089
16090 * grub-core/commands/efi/lsefisystab.c: Correct header.
16091 * grub-core/commands/efi/lssal.c: Likewise.
16092 * grub-core/commands/testload.c: Likewise.
16093
16094 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16095
16096 * util/grub-mkrescue.in: Add explicit root argument to --set to
16097 prevent the UUID being interpreted as an argument to --set (matches
16098 previous change to prepare_grub_to_access_device).
16099
16100 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16101
16102 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16103 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16104 the verbosity of later #ifs.
16105 (find_partition_start): Define this function on FreeBSD too.
16106 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16107 function.
16108 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16109 on FreeBSD.
16110
16111 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16112
16113 * util/grub-editenv.c: Use argp instead of getopt.
16114
16115 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16116
16117 * util/grub-setup.c: Use argp instead of getopt.
16118
16119 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16120
16121 Use gnulib-tool to create gnulib source files.
16122
16123 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16124 grub-core/gnulib directories
16125 * .bzignore: Add **/.deps and autogenerated gnulib files
16126 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16127 of gnulib macros, add grub-core/gnulib/Makefile
16128 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16129 include m4 directory to aclocal.
16130 * Makefile.util.def: Remove direct compilation of gnulib source files
16131 and use the new grub-core/gnulib/libgnu.a.
16132 * build-aux/config.rpath: move config.rpath from top directory to
16133 build-aux
16134 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16135 in gnulib headers
16136 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16137 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16138 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16139 header.
16140 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16141 string.
16142
16143 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16144
16145 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16146 grub-core/genmod.sh and grub-core/gensyminfo.sh
16147
16148 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16149
16150 Add a test for echo command options.
16151
16152 * tests/grub_cmd_echo.in: New test.
16153 * Makefile.util.def: Rules for new test.
16154
16155 2010-09-20 Szymon Janc <szymon@janc.net.pl>
16156
16157 Remove crc.mod and move crc command to hashsum.mod.
16158 Remove lib/crc.c - users updated to use gcrypt implementation.
16159
16160 * grub-core/commands/crc.c: Removed.
16161 * grub-core/Makefile.core.def (crc): Module removed.
16162 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16163 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16164 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16165 * grub-core/lib/crc.c: Removed.
16166 * include/grub/lib/crc.h: Removed.
16167 * Makefile.util.def (crc): Remove lib/crc.c
16168 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16169 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16170 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16171 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16172 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16173 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16174
16175 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16178
16179 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Split config.h for util and core.
16182
16183 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16184 (ADDR32): Likewise.
16185 (DATA32): Likewise.
16186 (BSS_START_SYMBOL): Likewise.
16187 (END_SYMBOL): Likewise.
16188 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16189 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16190 * config.h.in: New file.
16191 * configure.ac: Use config-util.h as config define file.
16192 Rename MACHINE into GRUB_MACHINE. All users updated.
16193 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16194 updated.
16195 (NESTED_FUNC_ATTR): Likewise.
16196 Substitue new variables.
16197 (COND_HAVE_ASM_USCORE): New conditional.
16198 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16199 (kernel_syms.lst): Use ASM_PREFIX.
16200 * grub-core/kern/emu/console.c: Include config-util.h.
16201 * grub-core/kern/emu/misc.c: Likewise.
16202 * grub-core/kern/emu/mm.c: Likewise.
16203 * include/grub/emu/misc.h: Likewise.
16204 * include/grub/libgcc.h: Likewise.
16205
16206 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16209 constants usage.
16210 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16211 Fix GRUB_TERM_KEY_* constants usage.
16212 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16213
16214 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16217 print pointer.
16218 * grub-core/bus/usb/uhci.c: Remove empty define.
16219 (grub_uhci_check_transfer): Add missing cast.
16220 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16221 print pointer.
16222 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16223 PRIuGRUB_SIZE.
16224 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16225
16226 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * grub-core/Makefile.core.def (legacycfg): Add
16229 lib/i386/pc/vesa_modes_table.c on emu.
16230
16231 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16232
16233 Reduce number of temporary files generated by build system.
16234
16235 * grub-core/gencmdlist.sh: Removed.
16236 * grub-core/genfslist.sh: Removed.
16237 * grub-core/genhandlerlist.sh: Removed.
16238 * grub-core/genmodsrc.sh: Removed.
16239 * grub-core/genpartmaplist.sh: Removed.
16240 * grub-core/genparttoollist.sh: Removed.
16241 * grub-core/gentermiinallist.sh: Removed.
16242 * grub-core/genvideolist.sh: Removed.
16243
16244 * grub-core/genmod.sh.in: New file.
16245 * grub-core/gensyminfo.sh.in: New file.
16246
16247 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16248 * conf/Makefile.extra-dist: Update with new files.
16249 * gentpl.py: Remove rules related to unnecessary temporary files.
16250 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16251 and und-* files.
16252 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16253 genmod.sh scripts.
16254 * grub-core/bus/usb/uhci.c: Remove empty #define.
16255 * grub-core/genmoddep.awk: Updated with new syminfo format.
16256 * util/bash-completion.d/Makefile.am: Add config.log to
16257 CLEANFILES.
16258
16259 2010-09-19 Yves Blusseau <blusseau@zetam.org>
16260
16261 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16262
16263 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16264
16265 * util/grub-mkconfig.in: Check the config script for syntax errors
16266 before saving.
16267
16268 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
16269 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16272 platforms.
16273 * util/grub-install.in: Add EFI and IEEE1275 support.
16274 * util/i386/efi/grub-install.in: Removed.
16275 * util/ieee1275/grub-install.in: Likewise.
16276
16277 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16280 (grub_cmd_cmosclean): Likewise.
16281 (GRUB_MOD_INIT): Register command cmosclean.
16282 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16283 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16284
16285 2010-09-18 Carles Pina i Estany <carles@pina.cat>
16286 2010-09-18 Aleš Nesrsta <starous@volny.cz>
16287 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 Add keyboard layouts support.
16290
16291 * Makefile.util.def (grub-mklayout): New file.
16292 (grub-kbdcomp): New script.
16293 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16294 Add keyboard_layouts.h.
16295 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16296 commands/boot.c on yeeloong.
16297 (keylayouts): New module.
16298 * grub-core/bus/usb/ohci.c
16299 * grub-core/bus/usb/uhci.c
16300 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16301 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16302 (attach_root_port): Likewise.
16303 (poll_nonroot_hub): Likewise.
16304 (grub_usb_poll_devices): Likewise.
16305 (detach_device): Close transfer.
16306 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16307 function.
16308 (grub_usb_bulk_setup_readwrite): Likewise.
16309 (grub_usb_bulk_finish_readwrite): Likewise.
16310 * grub-core/commands/keylayouts.c: New file.
16311 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16312 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16313 aliases.
16314 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16315 support scancode 2.
16316 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16317 * include/grub/keyboard_layouts.h: New file.
16318 * util/grub-mklayout.c: New file.
16319 * util/grub-kbdcomp.in: Likewise.
16320
16321 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 Unify memory types.
16324
16325 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16326 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16327 types.
16328 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16329 (grub_upper_mem): Likewise.
16330 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16331 * include/grub/memory.h (grub_memory_type_t): New enum.
16332 All users updated.
16333
16334 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 * grub-core/Makefile.core.def (lsapm): New module.
16337 * grub-core/commands/i386/pc/lsapm.c: New file.
16338 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16339 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16340 Likewise.
16341 * include/grub/i386/pc/apm.h: New file.
16342 * include/multiboot.h (multiboot_apm_info): New struct.
16343
16344 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16345
16346 GRUB-legacy configuration file support.
16347
16348 * Makefile.util.def (grub-menulst2cfg): New util.
16349 * docs/man/grub-menulst2cfg.h2m: New file.
16350 * grub-core/Makefile.core.def (legacycfg): New module.
16351 * grub-core/commands/legacycfg.c: New file.
16352 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16353 (grub_normal_add_menu_entry): ... this.
16354 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16355 (grub_normal_set_password): ...this.
16356 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16357 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16358 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16359 * grub-core/lib/legacy_parse.c: New file.
16360 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16361 * include/grub/i386/pc/vesa_modes_table.h: New file.
16362 * include/grub/legacy_parse.h: Likewise.
16363 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16364 * util/grub-menulst2cfg.c: New file.
16365
16366 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16367
16368 * grub-core/kern/emu/hostdisk.c
16369 (convert_system_partition_to_system_disk): Initialise node.
16370
16371 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16372
16373 * grub-core/kern/emu/hostdisk.c
16374 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16375 leak.
16376 Reported and based on patch by: Modestas Vainius.
16377
16378 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16379
16380 Fix DM-RAID probing with recent versions of device-mapper udev
16381 rules.
16382
16383 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16384 canonicalise device paths under /dev/mapper/.
16385 (convert_system_partition_to_system_disk): Compare the
16386 uncanonicalised path to /dev/mapper/ rather than the canonicalised
16387 path, since device nodes under /dev/mapper/ are often symlinks.
16388
16389 2010-09-17 Yves Blusseau <blusseau@zetam.org>
16390
16391 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
16392
16393 2010-09-16 Yves Blusseau <blusseau@zetam.org>
16394
16395 * configure.ac: Avoid some annoying error messages if freetype-config
16396 program is not found.
16397
16398 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16399
16400 Support RAID on virtio devices, and others.
16401
16402 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
16403 Rename to ...
16404 [__MINGW32__] (grub_find_device): ... this.
16405 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
16406 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
16407 reasonable default if dir is NULL.
16408 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
16409 ...
16410 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
16411 (grub_guess_root_device): Update callers.
16412 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
16413
16414 * util/raid.c (grub_util_getdiskname): Remove.
16415 (grub_util_raid_getmembers): Use grub_find_device rather than
16416 grub_util_getdiskname.
16417
16418 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16419
16420 * docs/grub.texi (serial): Remove obsolete comment about GRUB
16421 needing to be compiled with serial support.
16422 (ls): Indicate that multiple files are accepted.
16423 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
16424 indicate that multiple files are accepted.
16425
16426 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16427
16428 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
16429 libgrub_a_init.c, and util/bash-completion.d/grub.
16430
16431 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * util/grub-setup.c (setup): Fix incorrect container semantics.
16434
16435 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
16438 misusage.
16439 Reported by: J. Nick Terry
16440
16441 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 Move embedding routines to partmap sources files.
16444
16445 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
16446 [GRUB_UTIL]: New variable.
16447 (gpt_partition_map_iterate): Set part.parent.
16448 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
16449 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
16450 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
16451 New function.
16452 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
16453 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
16454 (grub_partition_map) [GRUB_UTIL]: New field embed.
16455 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
16456 (setup): Use ->embed.
16457
16458 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
16461 function.
16462 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
16463 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
16464
16465 2010-09-15 Yves Blusseau <blusseau@zetam.org>
16466
16467 Add function to get completions from usage.
16468
16469 * util/bash-completion.d/grub-completion.bash.in: Add function to get
16470 completions from usage. Use LC_ALL=C to get options properly.
16471
16472 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * grub-core/gnulib/basename-lgpl.c: Imported.
16475 * grub-core/gnulib/basename.c: Likewise.
16476 * grub-core/gnulib/dirname-lgpl.c: Likewise.
16477 * grub-core/gnulib/dirname.c: Likewise.
16478 * grub-core/gnulib/dirname.h: Likewise.
16479 * grub-core/gnulib/stripslash.c: Likewise.
16480
16481 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 * grub-core/gnulib/error.c: Resynced.
16484 * grub-core/gnulib/getopt.c: Likewise.
16485 * grub-core/gnulib/getopt_int.h: Likewise.
16486 * grub-core/gnulib/regex.h: Likewise.
16487 * grub-core/gnulib/regex_internal.c: Likewise.
16488 * grub-core/gnulib/regex_internal.h: Likewise.
16489
16490 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16491
16492 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16493 CRC calculations and validity checks.
16494 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16495 calculations.
16496
16497 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16498
16499 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
16500
16501 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 Fix incorrect echo options handling.
16504 Reported by: Yves Blusseau.
16505
16506 * include/grub/command.h (grub_command_flags_t): New flags
16507 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
16508 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
16509 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
16510
16511 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
16514 users updated.
16515 (GRUB_COMMAND_FLAG_MENU): Likewise.
16516 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16517 (GRUB_COMMAND_FLAG_TITLE): Removed.
16518 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16519 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
16520 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
16521 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
16522 (grub_command_flags_t): New enum. All users updated.
16523
16524 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
16525
16526 Fix solaris compilation.
16527
16528 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
16529 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
16530 (grub-emu-list): Likewise.
16531
16532 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16533
16534 Remove deprecated root command.
16535
16536 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
16537 updated.
16538
16539 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * util/i386/pc/grub-setup.c: Merge this ...
16542 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
16543 * util/grub-setup.c: ... into this.
16544 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
16545 New struct.
16546
16547 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16550 possible.
16551
16552 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16555 allocate p.
16556
16557 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16560 explicit root argument to set to prevent UUID to be interpreted as
16561 argument to set.
16562
16563 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16566
16567 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 Don't export grub_gate_a20.
16570
16571 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16572 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16573 to ...
16574 (grub_gate_a20): ... this. All users updated.
16575 * include/grub/i386/pc/init.h: Removed. All users updated.
16576
16577 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16578
16579 Create euro.pf2 which supports most European languages.
16580
16581 * Makefile.am (grubdata_DATA): Add euro.pf2.
16582 (euro.pf2): New target.
16583 (CLEANFILES): Add euro.pf2.
16584
16585 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * configure.ac: Disable emu-usb by default to prevent inadvertent
16588 device takeover.
16589
16590 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 Disable usbserial on grub-emu since our libusb code isn't good enough
16593 yet.
16594
16595 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16596 (usbserial_pl2303): Likewise.
16597 (usbserial_ftdi): Likewise.
16598
16599 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * include/grub/disk.h (grub_disk): Remove has_partitions.
16602 All users updated.
16603 * disk/loopback.c (grub_loopback): Remove has_partitions.
16604 All users updated.
16605 (options): Remove partitions. All users updated.
16606 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16607 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16608 actual partition table is found.
16609
16610 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16611
16612 Remove readability checks (too many false negatives).
16613
16614 * util/grub-install.in: Remove readability checks.
16615 * util/grub-mkconfig.in: Likewise.
16616 * util/grub.d/10_hurd.in: Likewise.
16617 * util/grub.d/10_kfreebsd.in: Likewise.
16618 * util/grub.d/10_linux.in: Likewise.
16619 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16620 way.
16621
16622 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 Enable acpi shutdown on all ACPI platforms.
16625
16626 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16627 on coreboo, multiboot and EFI.
16628 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16629 (grub_acpi_halt): Likewise.
16630 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16631 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16632 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16633 * grub-core/lib/i386/halt.c (grub_halt)
16634 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16635
16636 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16639 context.
16640
16641 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16644 * grub-core/video/efi_uga.c: Likewise.
16645
16646 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 Filter devaliases and never open same device twice.
16649
16650 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16651 (last_ihandle): Likewise.
16652 (ofdisk_hash_ent): New member shortest.
16653 (ofdisk_hash_add): Add canonical path too.
16654 (scan): New function.
16655 (grub_ofdisk_iterate): Iterate over hashed entries.
16656 (compute_dev_path): Don't add :0.
16657 (grub_ofdisk_open): Don't really open the disk.
16658 (grub_ofdisk_close): Avoid closing unrelated disk.
16659 (grub_ofdisk_read): Implement reopen logic.
16660 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16661 New function.
16662 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16663 New proto.
16664
16665 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 Fix sparc64.
16668
16669 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16670 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16671 right address. Add sparc64_ieee1275_ldflags.
16672 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16673 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16674 to grub_host_to_target_addr
16675 (load_image): Likewise.
16676
16677 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/normal/completion.c (complete_file): Handle device
16680 containing slash.
16681 Fix based on patch by Doug Nazar.
16682
16683 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 grub-mknetdir script.
16686
16687 * Makefile.util.def (grub-mknetdir): New module.
16688 * tests/util/grub-shell.in: Support boot=net
16689 * util/grub-mknetdir.in: New file.
16690
16691 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 videoinfo on non-vbe.
16694
16695 * grub-core/Makefile.core.def (vbeinfo): Removed.
16696 (vbetest): Removed.
16697 (videoinfo): New module.
16698 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16699 * grub-core/commands/i386/pc/vbetest.c: Removed.
16700 * grub-core/commands/videoinfo.c: New file.
16701 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16702 specification.
16703 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16704 as vbetest.
16705 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16706 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16707 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16708 mode_number. New parameter mode. All users updated.
16709 (grub_video_gop_iterate): New function.
16710 (grub_video_efi_gop): New member iterate.
16711 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16712 (grub_vbe_set_video_mode): Remove setting useless fields.
16713 (vbe2videoinfo): New function.
16714 (grub_video_vbe_iterate): Likewise.
16715 (grub_video_vbe_setup): Use vbe2videoinfo.
16716 (grub_video_vbe_print_adapter_specific_info): New function.
16717 (grub_video_vbe_adapter): New fields iterate and
16718 print_adapter_specific_info.
16719 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16720 All users updated.
16721 (grub_video_mode_info): New field mode_number.
16722 (grub_video_adapter): New fields iterate and
16723 print_adapter_specific_info.
16724
16725 2010-09-13 Tristan Gingold <gingold@free.fr>
16726 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
16727 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16728
16729 * grub-core/commands/efi/lsefisystab.c: New file.
16730 * grub-core/commands/efi/lssal.c: Likewise.
16731 * grub-core/Makefile.core.def (lsacpi): New module.
16732 (lsefisystab): Likewise.
16733 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16734 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16735 (grub_efi_sal_system_table): New struct.
16736 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16737 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16738 (grub_efi_sal_system_table_platform_features): Likewise.
16739 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16740 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16741 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16742 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16743
16744 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 Support explicit user claim that a device is BIOS-visible.
16747
16748 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16749 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16750 * grub-core/kern/emu/hostdisk.c
16751 (convert_system_partition_to_system_disk): Support mdX.
16752 (find_system_device): New parameter add. All users updated.
16753 (grub_util_biosdisk_is_present): New function.
16754 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16755 proto.
16756
16757 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 Search hints support.
16760
16761 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16762 All users updated.
16763
16764 2010-09-13 Yves Blusseau <blusseau@zetam.org>
16765
16766 Bash completion script for util commands
16767
16768 * Makefile.am: Add util/bash-completion.d directory
16769 * configure.ac: Likewise.
16770 * util/bash-completion.d/Makefile.am: New file.
16771 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16772
16773 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16776 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16777 Reported by: Yves Blusseau.
16778
16779 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16782 partition size and offset.
16783
16784 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16787
16788 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16791
16792 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16795 (grub_xvasprintf): Likewise.
16796
16797 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16800
16801 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16804 args ending with NULL.
16805
16806 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16809 pointer.
16810
16811 2010-09-11 Szymon Janc <szymon@janc.net.pl>
16812
16813 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16814
16815 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 Shutdown using ACPI.
16818
16819 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16820 * grub-core/commands/acpihalt.c: New file.
16821 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16822 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16823 (grub_acpi_halt): New proto.
16824 (GRUB_ACPI_SLP_EN): New const.
16825 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16826 (GRUB_ACPI_OPCODE_*): New enum.
16827 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16828
16829 2010-09-11 Tristan Gingold <gingold@free.fr>
16830 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16831 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * commands/lsacpi.c: New file.
16834 * grub-core/Makefile.core.def (lsacpi): New module.
16835 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16836 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16837 (grub_acpi_madt_entry_header): New struct.
16838 (grub_acpi_madt): Likewise.
16839 (grub_acpi_madt_entry_interrupt_override): Likewise.
16840 (grub_acpi_madt_entry_sapic): Likewise.
16841 (grub_acpi_madt_entry_lsapic): Likewise.
16842 (grub_acpi_madt_entry_platform_int_source): Likewise.
16843 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16844 (PRIuGRUB_UINT32_T): Likewise.
16845 (PRIxGRUB_UINT64_T): Likewise.
16846
16847 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 Implement loading palette on ieee1275_fb.
16850
16851 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
16852 (have_setcolors): Likewise.
16853 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
16854 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
16855 (grub_video_ieee1275_set_palette): Implement.
16856
16857 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16858 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
16859
16860 * util/grub-install.in (grub_partition): New variable.
16861 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
16862 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
16863 Fixes a bug reported by Yves Blusseau.
16864
16865 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Fix emu on mipsel.
16868
16869 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
16870 =grub_cpu_flush_cache on all mips and not only yeeloong.
16871 * configure.ac (COND_mips): New conditional.
16872 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
16873 platforms.
16874 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
16875 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
16876 [GRUB_LINKER_HAVE_INIT]: New function.
16877 (grub_emu_post_init): Likewise.
16878 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
16879 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
16880 * include/grub/cache.h (_mips): Include mips/cache.h.
16881 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
16882 LVM and RAID prototypes.
16883 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
16884 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
16885 function.
16886
16887 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16888
16889 * util/grub-install.in: Don't try to verify core.img until after
16890 running grub-mkimage to create it.
16891
16892 2010-09-10 Robert Millan <rmh@gnu.org>
16893
16894 * util/grub.d/10_hurd.in: Add misc readability checks.
16895 * util/grub.d/10_kfreebsd.in: Likewise.
16896 * util/grub.d/10_linux.in: Likewise.
16897
16898 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16899
16900 * util/grub-install.in: ${imgext} won't be defined here until the
16901 install branch is merged. For the meantime, only verify core.img on
16902 i386-pc and sparc64-ieee1275 platforms.
16903
16904 2010-09-10 Robert Millan <rmh@gnu.org>
16905
16906 Solaris support in grub_find_zpool_from_dir(). Thanks
16907 Seth Goldberg for referring to getextmntent() facility.
16908
16909 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
16910 `sys/mkdev.h'.
16911 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
16912 `<sys/mnttab.h>'.
16913 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16914 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16915 method for finding zpool name.
16916
16917 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
16918
16919 grub-fstest needs the host and hostfs modules while other utilities
16920 actively require those modules to be absent, so grub-fstest needs
16921 its own initialisation and finalisation code.
16922
16923 * Makefile.am (grub_fstest.pp): New target.
16924 (grub_fstest_init.lst): Likewise.
16925 (grub_fstest_init.c): Likewise.
16926 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16927
16928 2010-09-10 Robert Millan <rmh@gnu.org>
16929
16930 * configure.ac: Check for `struct statfs.f_fstypename' and
16931 `struct statfs.f_mntfromname'.
16932
16933 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16934 kFreeBSD-specific code.
16935
16936 2010-09-10 Robert Millan <rmh@gnu.org>
16937
16938 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16939 on ZFS. Now non-main filesystems are supported as / too.
16940
16941 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
16942
16943 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16944 and grub-core/disk/host.c to ...
16945 (grub-fstest): ... here. Having the host disk implementation
16946 present confuses grub-probe and other utility programs.
16947
16948 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16949 when writing to a file, not when writing to stdout.
16950
16951 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16952
16953 * tests/partmap_test.in: New test for partitions.
16954 * Makefile.util.def: Rules for new test.
16955
16956 2010-09-09 Robert Millan <rmh@gnu.org>
16957
16958 * util/grub-probe.c (probe): Fix a pair of unhandled error
16959 conditions.
16960
16961 2010-09-09 Robert Millan <rmh@gnu.org>
16962
16963 Basic Btrfs support (detection and UUID).
16964
16965 * grub-core/fs/btrfs.c: New file.
16966 * Makefile.util.def (library): Register btrfs.c.
16967 * grub-core/Makefile.core.def: Likewise.
16968
16969 2010-09-08 Robert Millan <rmh@gnu.org>
16970
16971 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16972 with (optional) parameters to specify device and relative path.
16973 * util/grub-install.in: Use is_path_readable_by_grub() to
16974 verify readability of a few critical files.
16975 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16976 verify readability of grub.cfg.new.
16977
16978 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 Split minix.mod into minix.mod and minix2.mod.
16981
16982 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16983 * grub-core/Makefile.core.def (minix2): New module.
16984 * grub-core/fs/minix.c: Use definitions instead of runtime version
16985 checking.
16986 * grub-core/fs/minix2.c: New file.
16987
16988 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16989
16990 Add new --boot-directory option to replace --root-directory
16991
16992 * util/grub-install.in: Add new --boot-directory option
16993 * util/grub-reboot.in: Likewise.
16994 * util/grub-set-default.in: Likewise.
16995
16996 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16997
16998 * util/grub-mkconfig.in: Use new variable.
16999
17000 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17001
17002 * configure.ac: Define some useful variables.
17003
17004 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17007 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17008 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17009 Use terminfo and don't use cursor-on/cursor-off unless it's known
17010 to work.
17011 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17012 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17013
17014 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
17015
17016 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17017 starts with "(,", fill the drive containing the loaded image in
17018 between those two characters, but expect that a full partition
17019 specification including partition map names will follow.
17020
17021 2010-09-08 Robert Millan <rmh@gnu.org>
17022
17023 * configure.ac: Remove `--enable-grub-fstest' option.
17024 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17025
17026 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17027 `grub-fstest' instead of `grub-probe' for readability verification.
17028 * util/grub-probe.c (probe): Remove readability verification kludge.
17029
17030 2010-09-08 Robert Millan <rmh@gnu.org>
17031
17032 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17033 initializing `GRUB_FS'.
17034
17035 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17036
17037 Not command (!) support to GRUB script.
17038
17039 * tests/grub_script_not.in: New test.
17040 * Makefile.util.def: Rules for new test.
17041
17042 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17043 ! command as a special case.
17044 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17045
17046 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17047
17048 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17049 grub_free.
17050
17051 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17052
17053 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17054
17055 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17056
17057 * docs/grub.texi (Shell-like scripting): Documentation for break,
17058 continue, shift and return commands.
17059
17060 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 Rename CD-ROM to cd on BIOS.
17063
17064 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17065 "cd".
17066 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17067
17068 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17071 * util/grub-probe.c (main): Likewise.
17072 * util/i386/pc/grub-setup.c (main): Likewise.
17073 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17074 Reported and debugged by: alexxy
17075
17076 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17079 diagnostic info.
17080
17081 2010-09-05 Jo Shields <directhex@apebox.org>
17082
17083 * util/grub.d/30_os-prober.in: Add missing classes.
17084
17085 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * docs/grub.texi (Theme file format): Document new position format.
17088
17089 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17092 a table. Use @code instead of @verbatim.
17093
17094 2010-09-05 Colin D Bennett <colin@gibibit.com>
17095
17096 Gfxmenu documentation.
17097
17098 * docs/grub.texi (Theme file format): New chapter.
17099
17100 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17101
17102 * grub-core/Makefile.core.def (xzio): New module.
17103 * grub-core/io/xzio.c: New file.
17104 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17105 * grub-core/lib/xzembed/xz_config.h: Likewise.
17106 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17107 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17108 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17109 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17110 * grub-core/lib/xzembed/xz_private.h: Likewise.
17111 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17112 * include/grub/file.h (grub_file_filter_id): New compression filter
17113 GRUB_FILE_FILTER_XZIO.
17114
17115 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17118 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17119 size.
17120
17121 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17124 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17125
17126 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 Uncompressed checksum support.
17129
17130 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17131 (check_list): New parameter uncompress.
17132 (grub_cmd_hashsum): Handle --uncompress.
17133
17134 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Reintroduce testload.
17137
17138 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17139 from here ...
17140 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17141 (GRUB_MOD_INIT): New function.
17142 (GRUB_MOD_FINI): Likewise.
17143 * grub-core/Makefile.core.def (testload): New module.
17144
17145 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17146
17147 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17148 (uint8_t): New type.
17149 (uint16_t): Likewise.
17150 (uint32_t): Likewise.
17151 (uint64_t): Likewise.
17152
17153 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17154
17155 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17156
17157 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17160 Made static.
17161 (grub_gzfile_open): Removed. All users updated.
17162 (GRUB_MOD_INIT): New function.
17163 (GRUB_MOD_FINI): Likewise.
17164 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17165 (grub_file_filters_enabled): Likewise.
17166 (grub_file_open): Handle filters.
17167 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17168 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17169 * include/grub/file.h (grub_file_filter_id_t): New type.
17170 (grub_file_filter_t): Likewise.
17171 (grub_file_filters_all): New extern variable.
17172 (grub_file_filters_enabled): Likewise.
17173 (grub_file_filter_register): New inline function.
17174 (grub_file_filter_unregister): Likewise.
17175 (grub_file_filter_disable): Likewise.
17176 (grub_file_filter_disable_compression): Likewise.
17177 * include/grub/gzio.h: Removed.
17178
17179 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17180
17181 Filename expansion support for wildcards in GRUB script.
17182
17183 * tests/grub_script_expansion.in: New test.
17184 * Makefile.util.def: Rule for new test.
17185
17186 * grub-core/commands/wildcard.c: New file, implements filename
17187 expansion support for GRUB script.
17188 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17189 * grub-core/script/argv.c: Cosmetic changes.
17190 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17191 Refactored to perform wildcard expansion on arguments.
17192 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17193 struct.
17194
17195 * tests/util/grub-shell.in: Fix quoting for read input.
17196
17197 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17198
17199 Support for updating environment variables with matched substrings
17200 of regexp.
17201
17202 * tests/grub_cmd_regexp.in: New test.
17203 * Makefile.util.def: Rule for new test.
17204
17205 * grub-core/commands/regexp.c: New option -s to update environment
17206 variables with regexp matches.
17207
17208 2010-09-04 Szymon Janc <szymon@janc.net.pl>
17209
17210 * include/grub/file.h (grub_file): New member not_easly_seekable.
17211 (grub_file_seekable): New inline function.
17212 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17213 easily seekable.
17214 (grub_gzio_open): Set not_easly_seekable.
17215 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17216 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17217
17218 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17219
17220 Support for options to appear multiple times on cmdline.
17221
17222 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17223 * grub-core/commands/extcmd.c: Support for repeatable option.
17224 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17225 repeatable option support.
17226
17227 Refactor menuentry into a regular command.
17228
17229 * grub-core/commands/menuentry.c: New file, menuentry command
17230 implementation.
17231 * grub-core/Makefile.core.def: Rule update for normal.mod.
17232 * grub-core/normal/main.c: Moved menuentry creation to
17233 grub-core/commands/menuentry.c.
17234 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17235 (grub_menu_execute_entry_real): Removed.
17236 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17237 function.
17238 (grub_script_execute_menuentry): Removed.
17239 * grub-core/script/parser.y (menuentry): Removed.
17240 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17241 * grub-core/script/yylex.l (menuentry): Removed.
17242 * include/grub/menu.h (grub_menu_init): New prototype.
17243 (grub_menu_fini): New prototype.
17244 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17245 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17246 (grub_script_execute_sourcecode): New prototype.
17247
17248 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17249
17250 "return" command for GRUB script functions.
17251
17252 * tests/grub_script_return.in: New test.
17253 * Makefile.util.def: Rules for new test.
17254
17255 * grub-core/script/execute.c (grub_script_return): New function.
17256 * grub-core/script/main.c: Register/unregister return commaond.
17257 * include/grub/script_sh.h (grub_script_return): New prototype.
17258
17259 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17260
17261 "setparams" command to update positional parameters.
17262
17263 * tests/grub_script_setparams.in: New test.
17264 * Makefile.util.def: Rules for new test.
17265
17266 * grub-core/script/argv.c (grub_script_argv_make): New function.
17267 * grub-core/script/execute.c (replace_scope): New function.
17268 (grub_script_setparams): New function.
17269 * grub-core/script/lexer.c: Remove unused variables.
17270 * grub-core/script/main.c: Register/unregister setparams command.
17271 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17272 (grub_script_setparams): New prototype.
17273
17274 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17275
17276 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17277 grub_free order.
17278
17279 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17280
17281 Support for passing block of commands as an argument to extcmds.
17282
17283 * Makefile.util.def: Rules for new test.
17284 * tests/grub_script_blockarg.in: New test.
17285 * grub-core/tests/test_blockarg.c: New file, block argument
17286 command used in the test.
17287
17288 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17289 (grub_register_extcmd_prio): New function prototype.
17290 (grub_extcmd_dispatcher): New function prototype.
17291 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17292 type.
17293 * include/grub/script_sh.h (struct grub_script): New members
17294 `children', `next_siblings' and `refcnt' for block arguments and
17295 reference counting.
17296 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17297 (grub_script_arg): New member `script' for block argument.
17298 (grub_script_argv): New member `script' for block argument.
17299 (grub_parser_param): New member `scripts' for block argument.
17300 (grub_script_mem_free): New extern function prototype.
17301 (grub_script_ref): New function prototype.
17302 (grub_script_unref): New function prototype.
17303
17304 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17305 extcmd form to support block arguments.
17306 * grub-core/script/argv.c: Block arguments support.
17307 * grub-core/script/execute.c: Likewise.
17308 * grub-core/script/lexer.c: Likewise.
17309 * grub-core/script/main.c: Likewise.
17310 * grub-core/script/script.c: Likewise.
17311 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17312 non-terminals.
17313
17314 * grub-core/commands/acpi.c: Update extcmd implementations with
17315 grub_extcmd_context_t.
17316 * grub-core/commands/cat.c: Likewise.
17317 * grub-core/commands/echo.c: Likewise.
17318 * grub-core/commands/extcmd.c: Likewise.
17319 * grub-core/commands/hashsum.c: Likewise.
17320 * grub-core/commands/hdparm.c: Likewise.
17321 * grub-core/commands/help.c: Likewise.
17322 * grub-core/commands/hexdump.c: Likewise.
17323 * grub-core/commands/i386/cpuid.c: Likewise.
17324 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17325 * grub-core/commands/i386/pc/halt.c: Likewise.
17326 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17327 * grub-core/commands/iorw.c: Likewise.
17328 * grub-core/commands/keystatus.c: Likewise.
17329 * grub-core/commands/loadenv.c: Likewise.
17330 * grub-core/commands/ls.c: Likewise.
17331 * grub-core/commands/lspci.c: Likewise.
17332 * grub-core/commands/memrw.c: Likewise.
17333 * grub-core/commands/probe.c: Likewise.
17334 * grub-core/commands/search_wrap.c: Likewise.
17335 * grub-core/commands/setpci.c: Likewise.
17336 * grub-core/commands/sleep.c: Likewise.
17337 * grub-core/disk/loopback.c: Likewise.
17338 * grub-core/hello/hello.c: Likewise.
17339 * grub-core/loader/i386/bsd.c: Likewise.
17340 * grub-core/loader/xnu.c: Likewise.
17341 * grub-core/term/gfxterm.c: Likewise.
17342 * grub-core/term/serial.c: Likewise.
17343 * grub-core/tests/lib/functional_test.c: Likewise.
17344
17345 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17346
17347 Multi-line quoted strings support.
17348
17349 * grub-core/script/lexer.c (append_newline): Removed.
17350 (grub_script_lexer_yywrap): Refactored.
17351 (grub_script_lexer_init): Refactored.
17352 * grub-core/script/yylex.l (yywrap): New function.
17353 (grub_lexer_resplit): New function.
17354 (grub_lexer_unput): New function.
17355 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17356 and resplit.
17357 * tests/grub_script_echo1.in: Added few more testcases.
17358
17359 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 * grub-core/kern/misc.c: Don't add abort alias in utils.
17362 Reported by: echoline.
17363
17364 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17365
17366 Add missing files into "make dist" tarball for other platforms.
17367
17368 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17369 * conf/Makefile.common (dist_noinst_DATA): New variable.
17370 * conf/Makefile.extra-dist: Added missing make dist files.
17371 * grub-core/Makefile.core.def: Likewise.
17372
17373 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 Compress grub_prefix.
17376
17377 * grub-core/boot/i386/pc/lnxboot.S: Use
17378 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17379 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17380 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17381 GRUB_MACHINE_PREFIX_END. All users updated.
17382 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17383 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17384 + 0x40.
17385 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17386 * util/grub-mkimage.c (image_target_desc): Change data_end to
17387 prefix_end. All users updated.
17388
17389 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
17392 value.
17393 (grub_openbsd_boot): Likewise.
17394 (grub_netbsd_boot): Likewise.
17395 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
17396 (grub_xnu_boot): Likewise.
17397
17398 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * configure.ac: Clean LIBS variable after tests.
17401
17402 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
17405
17406 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
17409 echo if libdevmapper will be used.
17410
17411 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
17412
17413 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
17414 constant for the same file.
17415
17416 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
17419
17420 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17421
17422 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
17423 grub-core/*.pp.
17424
17425 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17426
17427 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
17428 required by the boot protocol.
17429
17430 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
17431 ebp and edi members.
17432 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
17433 state.ebp and state.edi.
17434 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
17435 %ebp and %edi according to grub_relocator32_ebp and
17436 grub_relocator32_edi respectively.
17437 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
17438 and state.edi.
17439
17440 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 Add i386-pc-pxe image target.
17443
17444 * util/grub-mkimage.c (image_target_desc): New enum value
17445 IMAGE_I386_PC_PXE.
17446 (image_targets): New target i386-pc-pxe.
17447 (generate_image): Handle i386-pc-pxe image.
17448
17449 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Fix grub_pxe_scan.
17452
17453 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
17454 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
17455 All users updated.
17456 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
17457 (grub_pxe_pxenv): Correct type.
17458
17459 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17460
17461 * NEWS: Document most of the important changes since 1.98.
17462
17463 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17464
17465 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
17466 generated manual page) a little.
17467
17468 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17469
17470 * docs/grub.texi: Add myself as an author.
17471
17472 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 * Makefile.util.def (libgrub.a): Add missing sunpc.
17475 Reported by: Seth Goldberg.
17476
17477 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17478
17479 Interrupt wrapping and code simplifications.
17480
17481 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
17482 x86_noieee1275 which are functionaly equivalent in this case.
17483 (grub-install): Make source on each platform explicit. Enable on
17484 all noemu.
17485 * gentpl.py (x86_efi_pc): Removed group.
17486 (x86_noefi): Likewise.
17487 (i386_noefi): Likewise.
17488 (x86_noieee1275): Likewise.
17489 (i386_noieee1275): Likewise.
17490 (i386_noefi_noieee1275): Likewise.
17491 (i386_pc_qemu_coreboot): Likewise.
17492 (i386_coreboot_multiboot): Likewise.
17493 (i386_pc_coreboot_multiboot_qemu): Likewise.
17494 (x86_noefi_mips): Likewise.
17495 (noieee1275): Likewise.
17496 (ieee1275_mips): Likewise.
17497 (noemu_noieee1275): Likewise.
17498 (cmos): New group.
17499 (usb): Likewise.
17500 (videoinkernel): Likewise.
17501 (videomodules): Likewise.
17502 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
17503 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
17504 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
17505 include/grub/loader.h, include/grub/msdos_partition.h,
17506 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
17507 include/grub/machine/console.h, include/grub/machine/vga.h,
17508 include/grub/machine/vbe.h, include/grub/machine/init.h,
17509 include/grub/machine/kernel.h, include/grub/cpu/time.h,
17510 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
17511 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
17512 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
17513 * grub-core/Makefile.core.def (kernel): Explicit the source for
17514 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
17515 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
17516 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
17517 Use videoinkernel tag.
17518 (usb): Enable on all usb.
17519 (usbserial_common): Likewise.
17520 (usbserial_pl2303): Likewise.
17521 (usbserial_ftdi): Likewise.
17522 (uhci): Enable on all x86.
17523 (ohci): Enable on all pci.
17524 (cmostest): Enable on all CMOS.
17525 (acpi): Include commands/acpi.c on all platforms.
17526 (halt): Add relevant lib/*/halt.c.
17527 (hdparm): Enable on all pci.
17528 (lspci): Likewise.
17529 (usbtest): Enable on all usb.
17530 (ata): Enable on all pci.
17531 (ata_pthru): Likewise.
17532 (usbms): Enable on all usb.
17533 (usb_keyboard): Likewise.
17534 (font): Use tag videomodules.
17535 (bufio): Likewise.
17536 (datetime): Use tag cmos. Enable on all noemu.
17537 (mmap): Use tags common and x86.
17538 (gfxterm): Use tag videomodules.
17539 (bitmap): Likewise.
17540 (bitmap_scale): Likewise.
17541 (video_fb): Likewise.
17542 (video): Likewise.
17543 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
17544 adjust padding accordingly. All users updated.
17545 (grub_ohci_transaction): Fix bad format specification.
17546 (GRUB_MOD_INIT): Add asserts for struct size.
17547 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17548 (grub_alloc_td): Likewise.
17549 (grub_free_queue): Likewise.
17550 (grub_uhci_transfer): Likewise.
17551 (grub_uhci_transaction): Fix bad format specification.
17552 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17553 (grub_usb_bulk_readwrite): Likewise.
17554 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17555 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17556 Made static.
17557 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17558 Made static.
17559 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17560 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17561 Transformed into C.
17562 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17563 Moved from here ...
17564 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17565 ... here. Transformed into C. Made static.
17566 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17567 Moved from here ...
17568 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17569 ... here. Transformed into C. Made static.
17570 * grub-core/kern/i386/pc/startup.S
17571 (grub_biosdisk_check_int13_extensions): Moved from here ...
17572 * grub-core/disk/i386/pc/biosdisk.c
17573 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17574 Made static.
17575 * grub-core/kern/i386/pc/startup.S
17576 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17577 * grub-core/disk/i386/pc/biosdisk.c
17578 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17579 Transformed into C. Made static.
17580 * grub-core/kern/i386/pc/startup.S
17581 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17582 * grub-core/disk/i386/pc/biosdisk.c
17583 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17584 Transformed into C. Made static.
17585 * grub-core/kern/i386/pc/startup.S
17586 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17587 * grub-core/disk/i386/pc/biosdisk.c
17588 (grub_biosdisk_get_diskinfo_standard): ... here.
17589 Transformed into C. Made static.
17590 * grub-core/kern/i386/pc/startup.S
17591 (grub_biosdisk_get_num_floppies): Moved from here ...
17592 * grub-core/disk/i386/pc/biosdisk.c
17593 (grub_biosdisk_get_num_floppies): ... here.
17594 Transformed into C. Made static.
17595 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17596 New function.
17597 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17598 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17599 Transformed into C. Made static.
17600 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17601 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17602 Transformed into C. Made static.
17603 * grub-core/kern/i386/ieee1275/init.c: Removed.
17604 * grub-core/kern/i386/misc.S: Likewise.
17605 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17606 Splitted from here ...
17607 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17608 Transformed into C. Made static. All users updated.
17609 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17610 Transformed into C. Made static. All users updated.
17611 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17612 Moved from here...
17613 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17614 Transformed into C. Made static. All users updated.
17615 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17616 Moved from here...
17617 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17618 Transformed into C. Made static. All users updated.
17619 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17620 Removed (replaced by C version).
17621 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17622 Moved from here...
17623 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17624 Transformed into C. Made static.
17625 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17626 Moved from here...
17627 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17628 ... here. Transformed into C.
17629 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17630 Moved from here...
17631 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17632 ... here. Transformed into C.
17633 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17634 Moved from here...
17635 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17636 ... here. Transformed into C. Made static.
17637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17638 Moved from here...
17639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17640 ... here. Transformed into C.
17641 * grub-core/kern/i386/pc/startup.S
17642 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17643 * grub-core/video/i386/pc/vbe.c
17644 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
17645 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17646 Moved from here...
17647 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17648 ... here. Transformed into C.
17649 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17650 Moved from here...
17651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17652 ... here. Transformed into C.
17653 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17654 Moved from here...
17655 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17656 ... here. Transformed into C.
17657 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17658 Moved from here...
17659 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17660 ... here. Transformed into C.
17661 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17662 Moved from here...
17663 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17664 ... here. Transformed into C. Made static.
17665 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17666 Moved from here...
17667 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17668 ... here. Transformed into C. Made static.
17669 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17670 Moved from here...
17671 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17672 ... here. Transformed into C. Made static.
17673 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17674 pxe_rm_entry as third argument.
17675 (grub_bios_interrupt): New function.
17676 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17677 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17678 of calling grub_stop.
17679 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17680 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17681 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17682 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17683 * grub-core/lib/i386/halt.c: Moved from here ...
17684 * grub-core/lib/i386/halt.c: ... here.
17685 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17686 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17687 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17688 grub_stop_floppy.
17689 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17690 * include/grub/i386/coreboot/init.h: Removed.
17691 * include/grub/i386/multiboot/init.h: Likewise.
17692 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17693 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17694 * include/grub/i386/pc/int.h: New file.
17695 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17696 (grub_pxe_scan): Removed.
17697 (grub_pxe_call): Update prototype.
17698 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17699 prototypes.
17700 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17701 * include/grub/i386/qemu/init.h: Removed.
17702 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17703 noreturn.
17704 (grub_halt): Likewise.
17705 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17706 (grub_reboot): Likewise.
17707 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17708 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
17709 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17710
17711 2010-08-30 Robert Millan <rmh@gnu.org>
17712
17713 * NEWS: Document addition of ZFS support in `grub-install' and
17714 `grub-mkconfig'.
17715
17716 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17717
17718 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17719 dprintf output.
17720
17721 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 Remove leftover embedding of font objects.
17724
17725 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17726 * util/grub-install.in (font): Removed.
17727 * util/grub-mkimage.c (generate_image): Remove font support. All users
17728 updated.
17729
17730 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 Remove leftover embedding of font objects.
17733
17734 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17735 * util/grub-install.in (font): Removed.
17736 * util/grub-mkimage.c (generate_image): Remove font support. All users
17737 updated.
17738
17739 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * docs/grub.texi (Network): Fix reference to pxe_blksize.
17742 Reported by: Ian Turner
17743
17744 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17747 timeout to avoid indefinite boot stalling.
17748
17749 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17752 (grub_env_write_color_highlight): Likewise.
17753
17754 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * grub-core/normal/term.c (print_more): Return to normal and not
17757 to standard state after printing "---MORE---".
17758
17759 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17762 Mask out the bit 0x80 since it has other meaning that specifiing color.
17763
17764 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 New relocator. Allows for more kernel support and more straightforward
17767 loader writing.
17768
17769 * Makefile.am (BOOTTARGET): New variable.
17770 (QEMU32): Likewise.
17771 (linux.init.x86_64): New target.
17772 (linux.init.i386): Likewise.
17773 (multiboot.elf): Likewise.
17774 (kfreebsd.elf): Likewise.
17775 (kfreebsd.aout): Likewise.
17776 (pc-chainloader.elf): Likewise.
17777 (pc-chainloader.bin): Likewise.
17778 (ntldr.elf): Likewise.
17779 (ntldr.bin): Likewise.
17780 (multiboot2.elf): Likewise.
17781 (kfreebsd.init.x86_64): Likewise.
17782 (kfreebsd.init.i386): Likewise.
17783 (knetbsd.init.i386): Likewise.
17784 (kopenbsd.init.i386): Likewise.
17785 (knetbsd.init.x86_64): Likewise.
17786 (kopenbsd.init.x86_64): Likewise.
17787 (linux-initramfs.i386): Likewise.
17788 (linux-initramfs.x86_64): Likewise.
17789 (kfreebsd-mfsroot.i386.img): Likewise.
17790 (knetbsd.image.i386): Likewise.
17791 (kopenbsd.image.i386): Likewise.
17792 (kopenbsd.image.x86_64): Likewise.
17793 (knetbsd.miniroot-image.i386.img): Likewise.
17794 (kfreebsd-mfsroot.x86_64.img): Likewise.
17795 (knetbsd.image.x86_64): Likewise.
17796 (knetbsd.miniroot-image.x86_64.img): Likewise.
17797 (kfreebsd-mfsroot.i386.gz): Likewise.
17798 (bootcheck-kfreebsd-i386): Likewise.
17799 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17800 (bootcheck-kfreebsd-x86_64): Likewise.
17801 (knetbsd.miniroot-image.i386.gz): Likewise.
17802 (bootcheck-knetbsd-i386): Likewise.
17803 (bootcheck-kopenbsd-i386): Likewise.
17804 (bootcheck-kopenbsd-x86_64): Likewise.
17805 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17806 (bootcheck-knetbsd-x86_64): Likewise.
17807 (bootcheck-linux-i386): Likewise.
17808 (bootcheck-linux-x86_64): Likewise.
17809 (bootcheck-linux16-i386): Likewise.
17810 (bootcheck-linux16-x86_64): Likewise.
17811 (bootcheck-multiboot): Likewise.
17812 (bootcheck-multiboot2): Likewise.
17813 (bootcheck-kfreebsd-aout): Likewise.
17814 (bootcheck-pc-chainloader): Likewise.
17815 (bootcheck-ntldr): Likewise.
17816 (CLEANFILES): Add new targets.
17817 (BOOTCHECKS): New variable.
17818 (.PHONY): Add bootchecks.
17819 (SUCCESSFUL_BOOT_STRING): New variable.
17820 (BOOTCHECK_TIMEOUT): Likewise.
17821 (bootcheck): New target
17822 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17823 * configure.ac: Correct efiemu excuse.
17824 * docs/grub.texi (Supported kernels): New chapter.
17825 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17826 include/grub/mm_private.h. Simplify inclusion of
17827 include/grub/boot.h, include/grub/loader.h
17828 and include/grub/msdos_partition.h
17829 (KERNEL_HEADER_FILES) [i386_coreboot]:
17830 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17831 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17832 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17833 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17834 include/grub/machine/loader.h.
17835 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17836 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17837 extra_dist.
17838 (pci.mod): Enable on i386-multiboot.
17839 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17840 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17841 i386-qemu.
17842 (relocator.mod): Rewritten.
17843 (aout.mod): Enable on all x86.
17844 (bsd.mod): Likewise.
17845 (ntldr.mod): New module.
17846 (linux.mod): Use loader/i386/linux.c on all x86.
17847 (xnu.mod): Enable on all x86.
17848 (vga_text.mod): disable on EFI and QEMU.
17849 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
17850 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
17851 * grub-core/efiemu/loadcore.c: Likewise.
17852 * grub-core/efiemu/main.c: Likewise.
17853 (grub_efiemu_exit_boot_services): Removed.
17854 (grub_efiemu_finish_boot_services): Likewise.
17855 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
17856 function.
17857 * grub-core/efiemu/i386/nocfgtables.c: New file.
17858 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
17859 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
17860 (grub_efi_finish_boot_services): Moved from here ...
17861 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
17862 Fille finish memory map and related data.
17863 (finish_mmap_buf): New variable.
17864 (grub_efi_uintn_t finish_mmap_size): Likewise.
17865 (grub_efi_uintn_t finish_key): Likewise.
17866 (grub_efi_uintn_t finish_desc_size): Likewise.
17867 (grub_efi_uint32_t finish_desc_version): Likewise.
17868 (grub_efi_is_finished): Likewise.
17869 (grub_efi_get_memory_map): Use saved memory map if EFI is already
17870 finished.
17871 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
17872 (grub_elf64_phdr_iterate): Likewise.
17873 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
17874 (grub_os_area_size): Likewise.
17875 (grub_machine_init): Don't reserve os area.
17876 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
17877 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17878 * grub-core/kern/i386/loader.S: Removed.
17879 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
17880 (grub_os_area_size): Likewise.
17881 (grub_machine_init): Don't reserve os area.
17882 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
17883 Don't call grub_dl_unload_all.
17884 Don't include loader.S.
17885 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
17886 Declare the memory after _end as available.
17887 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
17888 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
17889 (GRUB_MM_ALLOC_MAGIC): Moved from here...
17890 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
17891 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
17892 * include/grub/mm_private.h (grub_mm_header): ... here.
17893 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
17894 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
17895 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
17896 (grub_mm_region): ..here. Removed addr. Added pre_size.
17897 All users updated.
17898 * grub-core/kern/mm.c (base): Renamed to ...
17899 (grub_mm_base): ... this. Made global.
17900 (grub_real_malloc): Alloc from end of region.
17901 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
17902 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
17903 * grub-core/kern/powerpc/cache_flush.S: ... here.
17904 * grub-core/lib/efi/relocator.c: New file.
17905 * grub-core/lib/i386/relocator.c: Rewritten.
17906 * grub-core/lib/i386/relocator16.S: New file.
17907 * grub-core/lib/i386/relocator32.S: Likewise.
17908 * grub-core/lib/i386/relocator64.S: Likewise.
17909 * grub-core/lib/i386/relocator_asm.S: Rewritten.
17910 * grub-core/lib/i386/relocator_common.S: New file.
17911 * grub-core/lib/ieee1275/relocator.c: Likewise.
17912 * grub-core/lib/mips/relocator.c: Rewritten.
17913 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17914 stylistic adjustments.
17915 * grub-core/lib/powerpc/relocator.c: New file.
17916 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17917 * grub-core/lib/relocator.c: Rewritten.
17918 * grub-core/lib/x86_64/relocator_asm.S: New file.
17919 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17920 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17921 (bsd_tag): New struct.
17922 (tags): New variable.
17923 (tags_last): Likewise.
17924 (netbsd_module): New struct.
17925 (netbsd_mods): New variable.
17926 (netbsd_mods_last): Likewise.
17927 (openbsd_opts): New parameter "serial".
17928 (OPENBSD_SERIAL_ARG): New definition.
17929 (netbsd_opts): New parameter "serial".
17930 (NETBSD_SERIAL_ARG): New definition.
17931 (grub_freebsd_add_meta): Reorganised into ...
17932 (grub_bsd_add_meta): ...this. All users updated.
17933 (grub_freebsd_add_mmap): Reorganised into ...
17934 (generate_e820_mmap): ...this...
17935 (grub_bsd_add_mmap): ...and this. All users updated.
17936 (grub_freebsd_list_modules): Use tags.
17937 (grub_netbsd_add_meta_module): New function.
17938 (grub_netbsd_list_modules): Likewise.
17939 (grub_freebsd_boot): Use relocator and finish EFI.
17940 (grub_openbsd_boot): Likewise.
17941 (grub_netbsd_setup_video): New function.
17942 (grub_netbsd_add_modules): Likewise.
17943 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17944 and finish EFI.
17945 (grub_bsd_unload): Unload tags.
17946 (grub_bsd_load_aout): Use relocator.
17947 (grub_bsd_elf32_size_hook): New function.
17948 (grub_bsd_elf32_hook): Use relocator.
17949 (grub_bsd_elf64_size_hook): New function.
17950 (grub_bsd_elf64_hook): Use relocator.
17951 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17952 (grub_bsd_load): Zero-out openbsd_ramdisk.
17953 (grub_bsd_load): Use relocator.
17954 (grub_cmd_openbsd): Support serial.
17955 (grub_cmd_netbsd): Support modules.
17956 (grub_cmd_freebsd_module): Use relocator.
17957 (grub_netbsd_module_load): New function.
17958 (grub_cmd_netbsd_module): Likewise.
17959 (grub_cmd_openbsd_ramdisk): Likewise.
17960 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17961 kopenbsd_ramdisk.
17962 (GRUB_MOD_FINI): Unregister new commands.
17963 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17964 (grub_freebsd_load_elfmodule_obj): Use relocator.
17965 (grub_freebsd_load_elfmodule): Likewise.
17966 (grub_freebsd_load_elf_meta): Likewise.
17967 (grub_netbsd_load_elf_meta): New function.
17968 (grub_openbsd_find_ramdisk): Likewise.
17969 * grub-core/loader/i386/bsd_helper.S: Removed.
17970 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17971 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17972 * grub-core/loader/i386/efi/linux.c: Likewise.
17973 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17974 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17975 (DEFAULT_VIDEO_MODE): Likewise.
17976 (real_mode_target): New variable.
17977 (prot_mode_target): Likewise.
17978 (initrd_mem_target): Likewise.
17979 (relocator): Likewise.
17980 (efi_mmap_buf): Likewise.
17981 (efi_mmap_size): Likewise.
17982 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17983 (free_pages): Use relocator.
17984 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17985 (grub_linux_setup_video): Return error.
17986 (grub_linux_trampoline_start): Removed.
17987 (grub_linux_trampoline_end): Likewise.
17988 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17989 andd video parameters depending on firmware.
17990 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17991 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17992 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17993 (grub_cmd_initrd): Use relocator.
17994 * grub-core/loader/i386/linux_trampoline.S: Removed.
17995 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17996 (elf_sec_entsize): Likewise.
17997 (elf_sec_shstrndx): Likewise.
17998 (elf_sections): Likewise.
17999 (grub_multiboot_load): Use relocator.
18000 (grub_multiboot_get_mbi_size): Account for sections.
18001 (grub_multiboot_make_mbi): Use relocator and support sections.
18002 (grub_multiboot_add_elfsyms): New function.
18003 (grub_multiboot_free_mbi): Free sections.
18004 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18005 (grub_linux_real_target): Likewise.
18006 (grub_linux_real_chunk): Likewise.
18007 (grub_linux16_prot_size): Likewise.
18008 (grub_linux16_boot): Use relocator.
18009 (grub_linux_unload): Unload relocator.
18010 (grub_cmd_linux): Use relocator.
18011 (grub_cmd_initrd): Likewise.
18012 * grub-core/loader/i386/pc/ntldr.c: New file.
18013 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18014 Don't try to guess CPU frequency.
18015 (grub_xnu_set_video): Stretch bitmap.
18016 (grub_xnu_boot): Use relocator.
18017 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18018 (grub_linux_unload): Free relocator.
18019 (grub_linux_load32): Use relocator.
18020 (grub_linux_load64): Likewise.
18021 (grub_cmd_initrd): Likewise.
18022 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18023 (grub_multiboot_unload): Unload relocator.
18024 (grub_cmd_multiboot): Use relocator.
18025 (grub_cmd_module): Likewise.
18026 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18027 Use relocator and support sections.
18028 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18029 (elf_sec_entsize): Likewise.
18030 (elf_sec_shstrndx): Likewise.
18031 (elf_sections): Likewise.
18032 (grub_multiboot_load): Use relocator.
18033 (grub_multiboot_get_mbi_size): Account for sections.
18034 (grub_multiboot_make_mbi): Use relocator and support sections.
18035 (grub_multiboot_add_elfsyms): New function.
18036 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18037 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18038 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18039 Prototype changed. All users updated.
18040 (grub_xnu_align_heap): Simplified.
18041 (grub_xnu_writetree_toheap): Likewise.
18042 (grub_xnu_unload): Unload relocator.
18043 (grub_cmd_xnu_kernel): Use relocator.
18044 (grub_cmd_xnu_kernel64): Likewise.
18045 (grub_xnu_register_memory): Simplified.
18046 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
18047 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18048 EFI is finished.
18049 (grub_console_checkkey): Likewise.
18050 (grub_console_getkey): Likewise.
18051 (grub_console_getwh): Likewise.
18052 (grub_console_getxy): Likewise.
18053 (grub_console_gotoxy): Likewise.
18054 (grub_console_cls): Likewise.
18055 (grub_console_setcolorstate): Likewise.
18056 (grub_console_setcursor): Likewise.
18057 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18058 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18059 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18060 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18061 * grub-core/tests/boot/kernel-8086.S: Likewise.
18062 * grub-core/tests/boot/kernel-i386.S: Likewise.
18063 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18064 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18065 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18066 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18067 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18068 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18069 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18070 * grub-core/tests/boot/linux.cfg: Likewise.
18071 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18072 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18073 * grub-core/tests/boot/linux16.cfg: Likewise.
18074 * grub-core/tests/boot/multiboot.cfg: Likewise.
18075 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18076 * grub-core/tests/boot/ntldr.cfg: Likewise.
18077 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18078 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18079 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18080 New definition.
18081 * include/grub/dl.h (grub_dl_unload_all): Removed.
18082 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18083 (grub_efi_finish_boot_services): Change prototype.
18084 (grub_efi_is_finished): New variable.
18085 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18086 Changed prototype.
18087 (grub_efiemu_finish_boot_services): Removed.
18088 (grub_machine_efiemu_init_tables): New prototype.
18089 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18090 (grub_elf64_phdr_iterate): Likewise.
18091 * include/grub/i386/bsd.h: Include relocator.h.
18092 (freebsd_tag_header): New struct.
18093 (grub_openbsd_bios_mmap): Removed.
18094 (grub_unix_real_boot): Removed.
18095 (grub_freebsd_load_elfmodule32): Changed prototype.
18096 (grub_freebsd_load_elfmodule_obj64): Likewise.
18097 (grub_freebsd_load_elf_meta32): Likewise.
18098 (grub_freebsd_load_elf_meta64): Likewise.
18099 (grub_freebsd_add_meta): Removed.
18100 (grub_netbsd_load_elf_meta32): New prototype.
18101 (grub_netbsd_load_elf_meta64): Likewise.
18102 (grub_bsd_add_meta): Likewise.
18103 (grub_openbsd_ramdisk_descriptor): New struct.
18104 (grub_openbsd_find_ramdisk32): New prototype.
18105 (grub_openbsd_find_ramdisk64): Likewise.
18106 * include/grub/i386/coreboot/loader.h: Removed.
18107 * include/grub/i386/efi/loader.h: Likewise.
18108 * include/grub/i386/ieee1275/loader.h: Likewise.
18109 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18110 to grub_uint32_t.
18111 * include/grub/i386/loader.h: Removed.
18112 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18113 value.
18114 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18115 (grub_phys_addr_t): New type.
18116 (grub_vtop): New inline function.
18117 (grub_map_memory): Likewise.
18118 (grub_unmap_memory): Likewise.
18119 * include/grub/i386/multiboot/loader.h: Removed.
18120 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18121 (NETBSD_BTINFO_CONSOLE): New definition.
18122 (NETBSD_BTINFO_SYMTAB): Likewise.
18123 (NETBSD_BTINFO_MODULES): Likewise.
18124 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18125 (grub_netbsd_bootinfo): New struct.
18126 (grub_netbsd_btinfo_common): Use explicit bitsize.
18127 (grub_netbsd_btinfo_mmap_entry): Removed.
18128 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18129 (grub_netbsd_btinfo_bootdisk): New struct.
18130 (grub_netbsd_btinfo_symtab): Likewise.
18131 (grub_netbsd_btinfo_serial): Likewise.
18132 (grub_netbsd_btinfo_modules): Likewise.
18133 (grub_netbsd_btinfo_framebuf): Likewise.
18134 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18135 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18136 Likewise.
18137 (grub_openbsd_bootargs): Use explicit bitsize.
18138 (grub_openbsd_bootarg_console): New struct.
18139 (GRUB_OPENBSD_COM_MAJOR): New definition.
18140 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18141 * include/grub/i386/pc/efiemu.h: Removed.
18142 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18143 * include/grub/i386/qemu/loader.h: Removed.
18144 * include/grub/i386/relocator.h: Rewritten.
18145 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18146 * include/grub/mips/memory.h: New file.
18147 * include/grub/mips/multiboot.h: Rewritten.
18148 * include/grub/mips/relocator.h: Rewritten.
18149 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18150 (grub_vtop): New function.
18151 (grub_map_memory): Likewise.
18152 (grub_unmap_memory): Likewise.
18153 * include/grub/misc.h (ALIGN_DOWN): New definition.
18154 * include/grub/mm.h (grub_mm_check_real): New proto.
18155 (GRUB_MM_CHECK): New definition.
18156 * include/grub/mm_private.h: New file.
18157 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18158 (grub_multiboot_get_mbi_size): Removed.
18159 (grub_multiboot_make_mbi): Change prottype.
18160 (grub_multiboot_set_accepts_video): New proto.
18161 (grub_multiboot_add_elfsyms): Likewise.
18162 (grub_multiboot_payload_eip): New variable.
18163 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18164 New prototype.
18165 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18166 New definition.
18167 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18168 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18169 * include/grub/powerpc/ieee1275/loader.h: Removed.
18170 * include/grub/powerpc/memory.h: New file.
18171 * include/grub/powerpc/relocator.h: Likewise.
18172 * include/grub/relocator.h: Likewise.
18173 * include/grub/relocator_private.h: Likewise.
18174 * include/grub/sparc64/ieee1275/loader.h: Removed.
18175 * include/grub/x86_64/memory.h: New file.
18176 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18177 (grub_xnu_heap_malloc): Likewise.
18178 (grub_xnu_heap_real_start): Removed.
18179 (grub_xnu_heap_start): Likewise.
18180 (grub_xnu_relocator): New variable.
18181 (grub_xnu_heap_target_start): Likewise.
18182 * tests/util/grub-shell.in: Support non-pc.
18183 * util/grub-mkimage.c (image_targets): Fix multiboot target.
18184
18185 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18186
18187 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18188 on malloc error.
18189 (grub_bidi_logical_to_visual): Check that malloc succeded.
18190 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18191 puts.
18192 (grub_xputs_normal): Likewise.
18193
18194 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18197 extra_dist.
18198
18199 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18202
18203 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18206
18207 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18208
18209 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18210 dprintf.
18211
18212 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18213
18214 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18215
18216 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/normal/term.c (print_more): Fix a memory leak.
18219 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18220 (grub_xputs_normal): Likewise.
18221
18222 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18225 the begining of the string
18226
18227 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * grub-core/script/script.c (grub_script_parse): Free parsed on
18230 failure.
18231
18232 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18235 on failure.
18236
18237 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18240 return.
18241
18242 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18245 (scroll_up): Fix a memory leak.
18246
18247 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18248
18249 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18250 errors.
18251
18252 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 Handle USB pendrives exposed as floppies.
18255
18256 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18257 floppy.
18258 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18259 Check for partitions on all devices.
18260
18261 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18264 (readkey): Likewise.
18265
18266 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18267
18268 Multiple variable names support to "export" command.
18269
18270 * normal/context.c (grub_cmd_export): "export" command supports
18271 multiple variable names.
18272
18273 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18274
18275 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18276 --target=drive output to Mach device name.
18277
18278 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18279
18280 New Automake based build system for GRUB.
18281
18282 * ABOUT-NLS: New file.
18283 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18284 in Makefile.util.def file.
18285 * Makefile.util.def: New file. Autogen build definitions file for
18286 GRUB host utils.
18287 * conf/Makefile.common: New file. Common variables for GRUB host
18288 utils and target modules.
18289 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18290 * docs/Makefile.am: New file. Automake file for docs.
18291 * gentpl.py: New file. Python script to generate Autogen
18292 template.
18293 * grub-core/Makefile.am: New file. GRUB target modules' rules
18294 that doesn't fit in Makefile.core.def file.
18295 * grub-core/Makefile.core.def: New file. Autogen build
18296 definitions file for GRUB target modules.
18297 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18298 specific setjmp.S file.
18299 * po/Makefile.am: New file.
18300
18301 * .bzrignore: New ignores.
18302 * INSTALL: New requirements, without Ruby.
18303 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18304 * autogen.sh: Updated to invoke autogen as necessary.
18305 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18306 and defines for Automake conditionals.
18307 * geninit.sh: Refactoring.
18308
18309 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18310 necessary.
18311 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18312 New prototype.
18313
18314 * include/grub/test.h: Fix functional test modules' naming.
18315 * grub-core/tests/example_functional_test.c: Fix test module name.
18316
18317 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18318 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18319 * util/grub-editenv.c: Likewise.
18320 * util/grub-fstest.c: Likewise.
18321 * util/grub-mkdevicemap.c: Likewise.
18322 * util/grub-mkfont.c: Likewise.
18323 * util/grub-mkimage.c: Likewise.
18324 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18325 * util/grub-probe.c: Likewise.
18326 * util/grub-script-check.c: Likewise.
18327 * util/i386/pc/grub-setup.c: Likewise.
18328 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18329
18330 * tests/util/grub-shell.in: Fix override directory path.
18331 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18332 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18333
18334 * util/lvm.c: Update #includes.
18335 * util/raid.c: Likewise.
18336 * util/resolve.c: Likewise.
18337 * grub-core/bus/emu/pci.c: Likewise.
18338 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18339 * grub-core/lib/posix_wrap/string.h: Likewise.
18340 * grub-core/kern/emu/main.c: Likewise.
18341
18342 * grub-core/gensymlist.sh: New file. Script for generating kernel
18343 symbols file.
18344 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18345
18346 * grub-core/gentrigtables.c: Fix unused variable warnings.
18347
18348 * Makefile.in: Removed.
18349 * conf/any-emu.rmk: Removed.
18350 * conf/common.rmk: Removed.
18351 * conf/i386-coreboot.rmk: Removed.
18352 * conf/i386-efi.rmk: Removed.
18353 * conf/i386-ieee1275.rmk: Removed.
18354 * conf/i386-multiboot.rmk: Removed.
18355 * conf/i386-pc.rmk: Removed.
18356 * conf/i386-qemu.rmk: Removed.
18357 * conf/i386.rmk: Removed.
18358 * conf/mips-yeeloong.rmk: Removed.
18359 * conf/mips.rmk: Removed.
18360 * conf/powerpc-ieee1275.rmk: Removed.
18361 * conf/sparc64-ieee1275.rmk: Removed.
18362 * conf/tests.rmk: Removed.
18363 * conf/x86-efi.rmk: Removed.
18364 * conf/x86_64-efi.rmk: Removed.
18365 * gendistlist.sh: Removed.
18366 * geninitheader.sh: Removed.
18367 * genkernsyms.sh.in: Removed.
18368 * genmk.rb: Removed.
18369 * gensymlist.sh.in: Removed.
18370 * mkinstalldirs: Removed.
18371 * boot: Moved ...
18372 * grub-core/boot: ... to here.
18373 * bus: Moved ...
18374 * grub-core/bus: ... to here.
18375 * commands: Moved ...
18376 * grub-core/commands: ... to here.
18377 * disk: Moved ...
18378 * grub-core/disk: ... to here.
18379 * efiemu: Moved ...
18380 * grub-core/efiemu: ... to here.
18381 * font: Moved ...
18382 * grub-core/font: ... to here.
18383 * fs: Moved ...
18384 * grub-core/fs: ... to here.
18385 * gencmdlist.sh: Moved ...
18386 * grub-core/gencmdlist.sh: ... to here.
18387 * genemuinit.sh: Moved ...
18388 * grub-core/genemuinit.sh: ... to here.
18389 * genemuinitheader.sh: Moved ...
18390 * grub-core/genemuinitheader.sh: ... to here.
18391 * genfslist.sh: Moved ...
18392 * grub-core/genfslist.sh: ... to here.
18393 * genhandlerlist.sh: Moved ...
18394 * grub-core/genhandlerlist.sh: ... to here.
18395 * genmoddep.awk: Moved ...
18396 * grub-core/genmoddep.awk: ... to here.
18397 * genmodsrc.sh: Moved ...
18398 * grub-core/genmodsrc.sh: ... to here.
18399 * genpartmaplist.sh: Moved ...
18400 * grub-core/genpartmaplist.sh: ... to here.
18401 * genparttoollist.sh: Moved ...
18402 * grub-core/genparttoollist.sh: ... to here.
18403 * genterminallist.sh: Moved ...
18404 * grub-core/genterminallist.sh: ... to here.
18405 * gentrigtables.c: Moved ...
18406 * grub-core/gentrigtables.c: ... to here.
18407 * genvideolist.sh: Moved ...
18408 * grub-core/genvideolist.sh: ... to here.
18409 * gettext: Moved ...
18410 * grub-core/gettext: ... to here.
18411 * gfxmenu: Moved ...
18412 * grub-core/gfxmenu: ... to here.
18413 * gnulib: Moved ...
18414 * grub-core/gnulib: ... to here.
18415 * hello: Moved ...
18416 * grub-core/hello: ... to here.
18417 * hook: Moved ...
18418 * grub-core/hook: ... to here.
18419 * io: Moved ...
18420 * grub-core/io: ... to here.
18421 * kern: Moved ...
18422 * grub-core/kern: ... to here.
18423 * lib: Moved ...
18424 * grub-core/lib: ... to here.
18425 * loader: Moved ...
18426 * grub-core/loader: ... to here.
18427 * mmap: Moved ...
18428 * grub-core/mmap: ... to here.
18429 * normal: Moved ...
18430 * grub-core/normal: ... to here.
18431 * partmap: Moved ...
18432 * grub-core/partmap: ... to here.
18433 * parttool: Moved ...
18434 * grub-core/parttool: ... to here.
18435 * script: Moved ...
18436 * grub-core/script: ... to here.
18437 * term: Moved ...
18438 * grub-core/term: ... to here
18439 * tests/example_functional_test.c: Moved ...
18440 * grub-core/tests/example_functional_test.c: ... to here.
18441 * tests/lib/functional_test.c: Moved ...
18442 * grub-core/tests/lib/functional_test.c: ... to here.
18443 * tests/lib/test.c: Moved ...
18444 * grub-core/tests/lib/test.c: ... to here.
18445 * video: Moved ...
18446 * grub-core/video: ... to here.
18447
18448 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18449
18450 Replace --enable-grub-emu-modules with grub-emu-lite.
18451
18452 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
18453 cache.S.
18454
18455 * include/grub/emu/misc.h (grub_emu_init): New prototype.
18456 * kern/emu/full.c: New file. For grub-emu specific initialization.
18457 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
18458 * kern/emu/main.c: Call initialization function grub_emu_init.
18459
18460 * Makefile.in: Include grub-emu-lite in install.
18461 * commands/parttool.c: Use grub_no_autoload to differentiate
18462 between grub-emu and grub-emu-lite.
18463 * include/grub/misc.h: New variable grub_no_autoload.
18464
18465 * conf/any-emu.rmk: New rules for grub-emu-lite.
18466 * configure.ac: Remove --enable-grub-emu-modules.
18467 * genmk.rb: Cleanup unnecessary rules.
18468 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
18469
18470 * normal/main.c: Don't load list files on grub-emu-lite.
18471 * util/misc.c (grub_arch_sync_caches): Removed.
18472
18473 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
18474
18475 * kern/mips/startup.S (grub_prefix): Update comment to refer to
18476 grub-mkimage rather than grub-mkelfimage.
18477 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
18478
18479 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
18482 a key after CapsLock or NumLock. It's just a qemu bug.
18483
18484 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
18487 needed by libusb wrapper.
18488
18489 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18490
18491 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18492
18493 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
18496 --nounzip is passed.
18497
18498 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 USB hotunplugging and USB serial support.
18501
18502 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
18503 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
18504 (grub_uhci_transfer): Respect timeout and set *actual.
18505 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18506 non-standard length.
18507 (grub_usb_device_attach): Autoload modules.
18508 (GRUB_MOD_INIT): Set grub_term_poll_usb.
18509 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
18510 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
18511 users updated.
18512 (grub_usb_add_hub): Fill nports and children.
18513 (attach_root_port): Receive hub instead of controller.
18514 All users updated. Fill hub->devices.
18515 (grub_usb_root_hub): Allocate hub->devices.
18516 (detach_device): New function.
18517 (poll_nonroot_hub): Fill children and detach devices.
18518 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
18519 actual arguments. All users updated.
18520 (grub_usb_bulk_read_extended): New function.
18521 * bus/usb/serial/common.c: New file.
18522 * bus/usb/serial/ftdi.c: Likewise.
18523 * bus/usb/serial/pl2303.c: Likewise.
18524 * commands/terminal.c (handle_command): Support wildcard.
18525 * commands/usbtest.c: Output "Unknown" instead of empty string.
18526 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
18527 (usbserial_common_mod_SOURCES): New variable.
18528 (usbserial_common_mod_CFLAGS): Likewise.
18529 (usbserial_common_mod_LDFLAGS): Likewise.
18530 (pkglib_MODULES): Add usbserial_pl2303.mod.
18531 (usbserial_pl2303_mod_SOURCES): New variable.
18532 (usbserial_pl2303_mod_CFLAGS): Likewise.
18533 (usbserial_pl2303_mod_LDFLAGS): Likewise.
18534 (pkglib_MODULES): Add usbserial_ftdi.mod.
18535 (usbserial_ftdi_mod_SOURCES): New variable.
18536 (usbserial_ftdi_mod_CFLAGS): Likewise.
18537 (usbserial_ftdi_mod_LDFLAGS): Likewise.
18538 (pkglib_MODULES): Add serial.mod.
18539 (serial_mod_SOURCES): New variable.
18540 (serial_mod_CFLAGS): Likewise.
18541 (serial_mod_LDFLAGS): Likewise.
18542 * conf/i386-pc.rmk: Likewise.
18543 * conf/mips-yeeloong.rmk: Likewise.
18544 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
18545 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18546 * disk/usbms.c (first_available_slot): New variable.
18547 (grub_usbms_attach): Don't reuse free slots due to potential cache
18548 problems.
18549 * include/grub/serial.h: Moved to ..
18550 * include/grub/ns8250.h: ...this.
18551 * include/grub/serial.h: New file.
18552 * include/grub/term.h (grub_term_poll_usb): New variable.
18553 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18554 readkey. All users updated.
18555 (grub_terminfo_output_state): Pass term to put.
18556 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18557 (grub_usb_controller_dev): Add timeout and actual arguments to
18558 transfer. All users updated.
18559 (grub_usb_interface): New field detach_data.
18560 (grub_usb_device): New fields children and nports.
18561 (grub_usb_ep_type_t): New type.
18562 (grub_usb_get_ep_type): New function.
18563 (grub_usb_bulk_read_extended): Likewise.
18564 * include/grub/usbdesc.h (grub_usb_desc): New type.
18565 * include/grub/usbserial.h: New file.
18566 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18567 * kern/term.c (grub_term_poll_usb): New variable.
18568 (grub_getkey): Call grub_term_poll_usb if set.
18569 (grub_checkkey): Likewise.
18570 (grub_getkeystatus): Likewise.
18571 * term/serial.c: Moved controller-specific parts to ...
18572 * term/ns8250.c: ... here.
18573 * term/serial.c: Mostly rewritten.
18574 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18575 according to spec.
18576
18577 2010-08-20 Robert Millan <rmh@gnu.org>
18578
18579 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18580 a separate module and maybe other interesting combinations.
18581
18582 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18583 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18584 (kfreebsd_entry): Add generic filesystem module load routine.
18585 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18586
18587 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18588
18589 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18590 "numcenter" (I misunderstood the purpose of this entry).
18591 * docs/grub.texi (sendkey): Likewise.
18592
18593 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18594
18595 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18596 status flag options; simply omitting the option is equivalent and
18597 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18598 (keysym_table): Rename "num5numlock" to "numlock".
18599 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18600 can uniformly say that only the last of multiple `sendkey'
18601 invocations has any effect.
18602 * docs/grub.texi (sendkey): New section.
18603
18604 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
18605
18606 * commands/i386/pc/sendkey.c (options): Fix three typos.
18607
18608 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 Implement sendkey support.
18611
18612 * commands/i386/pc/sendkey.c: New file.
18613 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18614 (sendkey_mod_SOURCES): New variable.
18615 (sendkey_mod_CFLAGS): Likewise.
18616 (sendkey_mod_LDFLAGS): Likewise.
18617
18618 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18619
18620 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18621 fix warnings from Autoconf.
18622
18623 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18624
18625 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18626 to avoid false positives with some assemblers that output things
18627 like "someprefix_func" as part of their output.
18628
18629 2010-08-15 Robert Millan <rmh@gnu.org>
18630
18631 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18632 errors.
18633 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18634 grub_get_libzfs_handle() errors.
18635
18636 2010-08-14 Robert Millan <rmh@gnu.org>
18637
18638 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18639 filesystem is not ZFS.
18640
18641 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18642
18643 Fix for misspelled color names defaulting to black/black (bug
18644 reported by Doug Nazar)
18645
18646 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18647 status to prototype.
18648 * normal/color.c (grub_parse_color_name_pair): Return failure
18649 status.
18650 (grub_env_write_color_normal): Ignore bad color names.
18651 (grub_env_write_color_highlight): Likewise.
18652 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18653
18654 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18655
18656 "shift" command support to GRUB script.
18657
18658 * include/grub/script_sh.h (grub_script_shift): New prototype.
18659 * script/execute.c (grub_script_shift): New function.
18660 * script/main.c (grub_script_init): Register shift command.
18661 (grub_script_fini): Unregister shift command.
18662 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18663
18664 * tests/grub_script_shift.in: New testcase.
18665 * conf/tests.rmk: Rules for new testcase.
18666
18667 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18668
18669 "continue" command support to GRUB script.
18670
18671 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18672 (grub_script_break): Continue support.
18673 * script/main.c (grub_script_init): Register continue command.
18674 (grub_script_fini): Unregister continue command.
18675
18676 * tests/grub_script_continue.in: New testcase.
18677 * conf/tests.rmk: Rules for new testcase.
18678
18679 2010-08-12 BVK Chaitanya <bvk@dbook>
18680
18681 "break" command support to GRUB script.
18682
18683 * conf/common.rmk: Rule updates to grub-script-check.
18684 * include/grub/misc.h (grub_min): New function.
18685 * include/grub/script_sh.h (grub_script_init): New prototype.
18686 (grub_script_fini): New prototype.
18687 (grub_script_break): New prototype.
18688 * script/main.c (grub_script_init): New function.
18689 (grub_script_fini): New function.
18690 * script/execute.c (grub_script_break): New function.
18691 * normal/main.c: Calls to grub_script_{init,fini}.
18692 * util/grub-script-check.c (grub_script_break): New function.
18693
18694 * tests/grub_script_break.in: New testcase.
18695 * conf/tests.rmk: Rules for new test case.
18696
18697 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18698
18699 Function parameters support to GRUB script.
18700
18701 * script/yylex.l (VARIABLE): Regular expression update.
18702 * script/function.c (grub_script_function_call): Moved ...
18703 * script/execute.c (grub_script_function_call): ... to here.
18704 (grub_script_execute_arglist_to_argv): Removed.
18705 (grub_script_arglist_to_argv): New function.
18706 * script/argv.c: New file.
18707 (grub_script_argv_free): New function.
18708 (grub_script_argv_next): Likewise.
18709 (grub_script_argv_append): Likewise.
18710 (grub_script_argv_split_append): Likewise.
18711 * include/grub/script_sh.h (grub_script_argv): New struct.
18712 (grub_script_argv_free): New function.
18713 (grub_script_argv_next): Likewise.
18714 (grub_script_argv_append): Likewise.
18715 (grub_script_argv_split_append): Likewise.
18716
18717 * conf/common.rmk (normal.mod): New source script/argv.c.
18718
18719 * tests/grub_script_echo1.in: More tests.
18720 * tests/grub_script_vars1.in: Likewise.
18721 * tests/grub_script_functions.in: New test case.
18722 * conf/tests.rmk: Rules for new testcase.
18723
18724 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18725
18726 Remove grub_script_cmdblock struct.
18727
18728 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18729 * script/parser.y: Likewise.
18730 * script/execute.c: Rename cmdblock suffix to cmdlist.
18731 * script/script.c: Likewise.
18732 * util/grub-script-check.c: Likewise.
18733
18734 2010-08-11 Yves Blusseau <blusseau@zetam.org>
18735
18736 * .bzrignore: add grub-macho2img
18737
18738 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18741
18742 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 Remove the dump of sm712 initialisation sequence.
18745
18746 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18747 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18748 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18749 (GRUB_VGA_CR_*): Added many registers.
18750 (GRUB_VGA_SR_*): Likewise.
18751 (GRUB_VGA_GR_*): Likewise.
18752 (grub_vga_write_arx): New function.
18753 (grub_video_hw_config): New struct.
18754 (grub_vga_set_geometry): New function.
18755 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18756 GRUB_PCI_CLASS_SUBCLASS_VGA.
18757 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18758 * video/sm712.c (grub_sm712_write_reg): New function
18759 (grub_sm712_read_reg): Likewise.
18760 (grub_sm712_sr_write): Likewise.
18761 (grub_sm712_gr_write): Likewise.
18762 (grub_sm712_cr_write): Likewise.
18763 (grub_sm712_write_arx): Likewise.
18764 (grub_sm712_cr_shadow_write): Likewise.
18765 (grub_sm712_write_dda_lookup): Likewise.
18766 (grub_video_sm712_setup): Initialise the video rather then
18767 blindly replay the dump.
18768 (main) [TEST]: Add a routine to be able to compile as standalone for
18769 tests.
18770 * video/sm712_init.c (sm712_init): Removed.
18771 (sm712_sr_seq1): New array.
18772 (sm712_sr_seq2): Likewise.
18773
18774 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * include/grub/vga.h: Add missing grub/pci.h include.
18777
18778 2010-08-10 Yves Blusseau <blusseau@zetam.org>
18779
18780 * util/grub-macho2img.c (main): fix typo
18781
18782 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18783
18784 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18785 (grub_vga_gr_read): Likewise.
18786 (grub_vga_cr_write): Likewise.
18787 (grub_vga_cr_read): Likewise.
18788 (grub_vga_sr_write): Likewise.
18789 (grub_vga_sr_read): Likewise.
18790 (grub_vga_palette_read): Likewise.
18791 (grub_vga_palette_write): Likewise.
18792 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18793 (grub_sm712_sr_read): New function.
18794 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18795 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18796
18797 2010-08-09 Robert Millan <rmh@gnu.org>
18798
18799 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18800 out unused variables on non-ZFS build.
18801
18802 2010-08-08 Robert Millan <rmh@gnu.org>
18803
18804 Fix path generation for sub-filesystems in ZFS.
18805
18806 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18807 missing slash.
18808
18809 2010-08-08 Robert Millan <rmh@gnu.org>
18810
18811 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18812
18813 2010-08-08 Robert Millan <rmh@gnu.org>
18814
18815 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18816 exist, issue a proper error message (rely on `ls' for translated
18817 strings).
18818
18819 2010-08-08 Robert Millan <rmh@gnu.org>
18820
18821 Fix grub-probe invocation.
18822
18823 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18824
18825 2010-08-04 Robert Millan <rmh@gnu.org>
18826
18827 * configure.ac: Remove checks for getfsstat() and getmntany().
18828 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18829 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18830 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18831 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18832 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18833 function.
18834 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18835 via find_mount_point_from_dir() and getfsstat() / getmntany().
18836
18837 2010-08-04 Robert Millan <rmh@gnu.org>
18838
18839 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18840 (grub_find_zpool_from_mount_point): Merge into ...
18841 (grub_find_zpool_from_dir): ... this.
18842 * kern/emu/misc.c: Likewise.
18843
18844 * kern/emu/misc.c
18845 (grub_make_system_path_relative_to_its_root): Replace
18846 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
18847 with grub_find_zpool_from_dir().
18848 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
18849
18850 2010-08-04 Robert Millan <rmh@gnu.org>
18851
18852 Support OpenSolaris in ZFS device resolution.
18853
18854 * configure.ac: Check for getmntany().
18855 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
18856 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
18857 support.
18858
18859 2010-08-03 Robert Millan <rmh@gnu.org>
18860
18861 Fix grub-emu build.
18862
18863 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
18864 * include/grub/emu/misc.h: ... here.
18865
18866 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
18867 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
18868
18869 * util/misc.c: Remove `<grub/util/libzfs.h>'.
18870 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
18871 (grub_get_libzfs_handle): Move to ...
18872 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
18873 (grub_get_libzfs_handle): ... here.
18874
18875 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
18876
18877 * script/execute.c (grub_script_execute_cmdline): Check for NULL
18878 as command name case.
18879
18880 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
18881
18882 * disk/raid.c (insert_array): Select unique numbers for named arrays
18883 as well, for use as keys in the disk cache.
18884
18885 2010-08-01 Robert Millan <rmh@gnu.org>
18886
18887 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
18888 kFreeBSD device name, except on ZFS where the filesystem label is
18889 used.
18890 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
18891 `/boot/zfs/zpool.cache'.
18892 Set mountfrom kernel variable using ${kfreebsd_device}.
18893
18894 2010-08-01 Robert Millan <rmh@gnu.org>
18895
18896 Make it even harder to use uninitialized `libzfs_handle' (and
18897 make the interface a bit simpler).
18898
18899 * include/grub/util/misc.h (grub_util_init_libzfs)
18900 (libzfs_handle): Remove.
18901 (grub_get_libzfs_handle): New prototype.
18902
18903 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
18904 attribute.
18905 (grub_util_init_libzfs): Remove.
18906 (grub_get_libzfs_handle): New function.
18907
18908 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
18909 grub_get_libzfs_handle() to obtain a libzfs handle instead of
18910 accessing `libzfs_handle' directly.
18911
18912 2010-08-01 Robert Millan <rmh@gnu.org>
18913
18914 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18915 (grub_find_zpool_from_mount_point): New function prototypes.
18916
18917 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18918 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18919
18920 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18921 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18922 `static' attribute.
18923
18924 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18925 finding zpool from mount point into ...
18926 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18927
18928 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18929 requested path is part of a ZFS pool, use
18930 grub_find_zpool_from_mount_point() to detect its filesystem name,
18931 and generate a path with `/fsname@path' syntax.
18932
18933 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18936 (void) rather than () so that this is a proper prototype.
18937
18938 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18941
18942 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18945 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18946
18947 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18948
18949 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18950
18951 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18952
18953 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18954
18955 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18956
18957 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18958 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18959 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18960 disable gfxpayload.
18961 (Shell-like scripting): Add real content.
18962 (Serial terminal): Suggest `terminal_input serial; terminal_output
18963 serial' rather than putting the two commands on separate lines,
18964 since console input will be inoperative after the first command.
18965 (menuentry): Document --class, --users, and --hotkey options.
18966 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18967 Vladimir Serbinenko).
18968
18969 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18970 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18971
18972 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18973
18974 2010-08-01 Robert Millan <rmh@gnu.org>
18975
18976 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18977 (grub_find_zpool_from_mount_point): New function prototypes.
18978
18979 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18980 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18981
18982 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18983 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18984 `static' attribute.
18985
18986 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18987 finding zpool from mount point into ...
18988 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18989
18990 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18991 requested path is part of a ZFS pool, use
18992 grub_find_zpool_from_mount_point() to detect its filesystem name,
18993 and generate a path with `/fsname@path' syntax.
18994
18995 2010-08-01 Robert Millan <rmh@gnu.org>
18996
18997 Prevent accidental use of uninitialized libzfs_handle.
18998
18999 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19000 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19001 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19002
19003 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19004
19005 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19006 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19007
19008 2010-08-01 Robert Millan <rmh@gnu.org>
19009
19010 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
19011
19012 2010-07-31 Robert Millan <rmh@gnu.org>
19013
19014 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19015
19016 2010-07-31 Robert Millan <rmh@gnu.org>
19017
19018 * kern/emu/misc.c: Add missing license header.
19019
19020 2010-07-31 Robert Millan <rmh@gnu.org>
19021
19022 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19023
19024 * include/grub/util/libnvpair.h: Include `<config.h>'.
19025 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19026 declaring libnvpair prototypes ourselves.
19027 * include/grub/util/libzfs.h: Include `<config.h>'.
19028 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19029 declaring libzfs prototypes ourselves.
19030
19031 (libzfs_handle): Moved to ...
19032 * include/grub/util/misc.h (libzfs_handle): ... here.
19033 Include `<grub/util/libzfs.h>'.
19034
19035 2010-07-30 Robert Millan <rmh@gnu.org>
19036
19037 * include/grub/emu/misc.h: Add missing license header.
19038
19039 2010-07-30 Robert Millan <rmh@gnu.org>
19040
19041 Enable `grub-probe -t device' resolution on ZFS.
19042
19043 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19044 * include/grub/util/libnvpair.h: New file.
19045 * include/grub/util/libzfs.h: New file.
19046
19047 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19048 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19049 `<grub/util/libnvpair.h>'.
19050 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19051
19052 (find_mount_point_from_dir): New static function.
19053 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19054 function.
19055 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19056 find_root_device_from_libzfs() before ressorting to find_root_device().
19057
19058 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19059 prototype.
19060 * util/misc.c: Include `<grub/util/libzfs.h>'.
19061 (grub_util_init_libzfs): New function.
19062 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19063 [HAVE_LIBZFS] (fini_libzfs): New static function.
19064 (grub_util_init_libzfs): New function.
19065 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19066
19067 2010-07-30 Robert Millan <rmh@gnu.org>
19068
19069 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19070 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19071 `warn_unused_result' attribute.
19072 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19073 (grub_xasprintf, grub_xvasprintf): Likewise.
19074 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19075
19076 2010-07-29 Robert Millan <rmh@gnu.org>
19077
19078 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19079 (probe): Handle `PRINT_FS_LABEL'.
19080 (main): Handle `-t fs_label'.
19081
19082 2010-07-29 Robert Millan <rmh@gnu.org>
19083
19084 * configure.ac: Remove grub-mkisofs checks.
19085
19086 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19089 Reported by: Lennart Sorensen.
19090
19091 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19094 prior to terminal_input/terminal_output separation. It's been over 1.5
19095 years and those versions weren't widely deployed.
19096
19097 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
19098
19099 * disk/raid.c (insert_array): Don't count named arrays when looking
19100 for unused array numbers.
19101 Reported and tested by: Michael Guntsche.
19102
19103 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19106 implementation of this so that grub-emu links again, with a note
19107 that this should support hotplugging in the future.
19108
19109 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19110
19111 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19112
19113 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19114
19115 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19116 handle on failure.
19117 (grub_loopback_close): Remove empty function.
19118 (grub_loopback_dev): Remove close method.
19119
19120 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19121
19122 Disable EFI cursor when the EFI console becomes inactive.
19123
19124 * term/efi/console.c (grub_efi_console_init): New function.
19125 (grub_efi_console_fini): New function.
19126 (grub_console_term_output): Register init and fini methods.
19127
19128 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19131 sh script.
19132
19133 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19134
19135 * disk/loopback.c (grub_loopback): Replace filename with file.
19136 (delete_loopback): Handle new semantics.
19137 (grub_cmd_loopback): Likewise.
19138 (grub_loopback_iterate): Likewise.
19139 (grub_loopback_close): Likewise.
19140
19141 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19144 with -p "".
19145 Reported by: Tito Keitel.
19146
19147 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 * docs/grub.texi (Naming convention): Document new naming convention.
19150
19151 2010-07-20 Vadim Solomin <vadic052@gmail.com>
19152 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19153
19154 Generate device.map in something closer to the old ordering.
19155
19156 * util/deviceiter.c (struct device): New declaration.
19157 (compare_file_names): Rename to ...
19158 (compare_devices): ... this. Sort by kernel name in preference to
19159 the stable by-id name, but keep the latter as a fallback comparison.
19160 Update header comment.
19161 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19162 of `struct device' rather than of plain file names.
19163
19164 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19165
19166 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19167 on i386.
19168
19169 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19172 hardcoding size.
19173 (setv1table): Likewise.
19174
19175 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19176
19177 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19178 removing the homehost if present.
19179 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19180 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19181 removing the homehost if present.
19182 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19183 if possible.
19184 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19185
19186 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19187 parameter. Set its pointer target to 0.
19188 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19189 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19190 `data_offset' value from the superblock for 1.x metadata.
19191 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19192 data on the device.
19193 (insert_array): Record the start sector of data on the device.
19194 (grub_raid_register): Pass start_sector parameters to
19195 grub_raid_list->detect and insert_array.
19196 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19197 member.
19198 (struct grub_raid): Add start_sector parameter to `detect'.
19199
19200 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19201 __attribute__ ((packed)), leaving a comment.
19202 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19203 (grub_mdraid_detect_09): ... here and ...
19204 (grub_mdraid_detect_1x): ... here.
19205
19206 2010-07-20 Peter Henn <peter.henn@web.de>
19207
19208 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19209 chunk size and disk size, which are already given as sector counts
19210 as distinct from the 0.90 units. Fetch the correct device number
19211 from the role table instead of using the table index.
19212
19213 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
19214
19215 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19216 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19217 (WriteMostly1): New macro.
19218 Set array->name to NULL for metadata format 0.90. Add support for
19219 metadata 1.x. Fix some comments.
19220 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19221 few comments.
19222 * util/getroot.c (grub_util_get_grub_dev): Add support for
19223 /dev/md/name style devices.
19224
19225 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19226
19227 * .bzrignore: Ignore 20_linux_xen.
19228
19229 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
19230
19231 * util/import_unicode.py: Remove unnecessary imports.
19232
19233 2010-07-17 Aleš Nesrsta <starous@volny.cz>
19234
19235 Hotplugging and USB hub support.
19236
19237 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19238 (grub_ohci): Likewise.
19239 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19240 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19241 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19242 (GRUB_OHCI_CTRL_EDS): Likewise.
19243 (GRUB_OHCI_BULK_EDS): Likewise.
19244 (GRUB_OHCI_TDS): Likewise.
19245 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19246 (grub_ohci_ed_phys2virt): New function.
19247 (grub_ohci_virt_to_phys): Likewise.
19248 (grub_ohci_td_phys2virt): Likewise.
19249 (grub_ohci_td_virt2phys): Likewise.
19250 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19251 attachment.
19252 (grub_ohci_find_ed): New function.
19253 (grub_ohci_alloc_td): Likewise.
19254 (grub_ohci_free_td): Likewise.
19255 (grub_ohci_free_tds): Likewise.
19256 (grub_ohci_transfer): Use previously allocated memory.
19257 (grub_ohci_portstatus): Reset status changed bit.
19258 (grub_ohci_detect_dev): Supply status changed.
19259 (grub_ohci_fini_hw): Free memory.
19260 (grub_ohci_restore_hw): Reallocate memory.
19261 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19262 Reset status change.
19263 (grub_uhci_detect_dev): Supply status_change.
19264 * bus/usb/usb.c (attach_hooks): New var.
19265 (grub_usb_device_attach): New function.
19266 (grub_usb_register_attach_hook_class): Likewise.
19267 (grub_usb_unregister_attach_hook_class): Likewise.
19268 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19269 (grub_usb_add_hub): Reset connection changed bit.
19270 (attach_root_port): New function.
19271 (grub_usb_root_hub): Likewise.
19272 (poll_nonroot_hub): Likewise.
19273 (grub_usb_poll_devices): Likewise.
19274 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19275 * disk/usbms.c (grub_usbms_open): Use device hooks.
19276 (grub_usbms_iterate) :Poll devices.
19277 (grub_usbms_finddevs): Split into ...
19278 (grub_usbms_attach): ... this ...
19279 (grub_usbms_attach): ... and this.
19280 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19281 in detect_dev.
19282 (grub_usb_interface): New fields attached and detach_hook.
19283 (grub_usb_attach_hook_class): New type.
19284 (grub_usb_attach_desc): New struct.
19285 (grub_usb_register_attach_hook_class): New function.
19286 (grub_usb_unregister_attach_hook_class): Likewise.
19287 (grub_usb_poll_devices): Likewise.
19288 (grub_usb_device_attach): Likewise.
19289 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19290 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19291
19292 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19293
19294 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19295 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19296 delta determination style. Works with most NetBSD partitions too.
19297
19298 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19301 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19302
19303 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19306
19307 2010-07-14 Anton Blanchard <anton@samba.org>
19308
19309 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19310 ET_DYN files.
19311
19312 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19313
19314 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19315
19316 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19317
19318 * kern/partition.c (grub_partition_check_containment): New function to
19319 check that a partition is physically contained in a parent. Since
19320 offsets are relative (and non-negative), this reduces to checking that
19321 the partition ends before its parent.
19322 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19323 (grub_partition_iterate): Likewise.
19324 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19325 comments.
19326 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19327 partitions that start before their parent, and add debug printfs.
19328
19329 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19330
19331 * Makefile.in (.SUFFIX): Spell correctly, as ...
19332 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19333 bare module name without `.mod', e.g. `test') tried to invoke a
19334 Modula-2 compiler.
19335
19336 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19337
19338 * README: Point to the Info manual.
19339
19340 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
19341
19342 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19343 2nd superblock position from partition size.
19344
19345 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
19346
19347 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19348 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19349 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19350 outputs.
19351
19352 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 Restructure SCSI .id handling.
19355 Reported and tested by: Aleš Nesrsta.
19356
19357 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19358 (grub_atapi_dev): Changed .name to "ata". New field .id.
19359 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19360 (grub_usbms_dev): New field .id.
19361 * disk/scsi.c (grub_scsi_iterate): Generate name.
19362 (grub_scsi_open): Parse name.
19363 * include/grub/scsi.h (grub_make_scsi_id): New function.
19364 (grub_scsi_dev): Change iterate and open to number instead of naming
19365 busses. All users updated.
19366 (grub_scsi): Remove name. Add .bus.
19367
19368 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * commands/help.c (grub_cmd_help): Fix a typo.
19371
19372 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19375 Reported and tested by: Colin Watson.
19376
19377 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19380 in this context.
19381
19382 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
19385
19386 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
19387
19388 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
19389 indentation.
19390
19391 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
19394 and disk/raid6_recover.c.
19395 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19396 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19397
19398 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19399
19400 * term/gfxterm.c (repaint_schedulded): Rename to ...
19401 (repaint_scheduled): ... this. Update all callers.
19402 (repaint_was_schedulded): Rename to ...
19403 (repaint_was_scheduled): ... this. Update all callers.
19404
19405 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
19408 which we expect to be handled by upper layers.
19409
19410 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
19411
19412 * bus/usb/usbhub.c: #include time.h header.
19413
19414 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
19417 entry_name also for entries without stat blocks (e.g. ".."); fixes
19418 corruption of the first entry in a directory.
19419
19420 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19421
19422 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
19423 after setting gfxterm as the active terminal. GRUB_BACKGROUND
19424 doesn't work otherwise.
19425
19426 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19427
19428 * docs/grub.texi (Features): Update list of supported file systems.
19429 (GNU/Linux): Update for GRUB 2.
19430 (Serial terminal): Remove mention of --disable-serial, which was a
19431 GRUB Legacy configure option. Update instructions to use
19432 `terminal_input' and `terminal_output' rather than `terminal'.
19433 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
19434 configuration' and `Installing GRUB using grub-install'.
19435 (Menu entry editor): Update for GRUB 2.
19436 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
19437 Document new -a, -u, and -v options.
19438 (initrd): New section.
19439 (initrd16): New section.
19440 (linux): New section.
19441 (linux16): New section.
19442 (search): The `var' argument to `--set' is optional.
19443 (GRUB only offers a rescue shell): Go into a little more detail on
19444 drive ordering.
19445
19446 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19447
19448 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
19449
19450 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19451
19452 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
19453 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
19454
19455 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * util/i386/pc/grub-setup.c (setup): Rename prefix to
19458 install_prefix, in line with install_dos_part and install_bsd_part.
19459 Add new prefix variable, which is copied to install_prefix after
19460 comparing core.img in memory with the one read from disk in the
19461 no-embedding case, and use that rather than overwriting
19462 install_prefix immediately when installing to a partition.
19463 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
19464 Bicakci.
19465
19466 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19467
19468 * configure.ac: Avoid == in test command, it's not portable.
19469 * util/grub.d/30_os-prober.in: Likewise.
19470
19471 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
19472
19473 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
19474
19475 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19476
19477 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
19478 multiple (top-level) partmaps.
19479
19480 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * util/i386/efi/grub-install.in: Don't use empty grub_device.
19483 Reported by: Tino Keitel.
19484
19485 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19486
19487 Bidi and diacritics support.
19488
19489 * Makefile.in (widthspec.bin): New target.
19490 (widthspec.h): Likewise.
19491 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19492 * autogen.sh: Generate unidata.c.
19493 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19494 * commands/ls.c (grub_ls_list_devices): Likewise.
19495 (grub_ls_list_files): Likewise.
19496 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
19497 (grub_mini_cmd_lsmod): Likewise.
19498 * commands/read.c: Likewise.
19499 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
19500 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
19501 * lib/arg.c (grub_arg_show_help): Likewise.
19502 * lib/crypto.c (grub_password_get): Likewise.
19503 * normal/auth.c (grub_username_get): Likewise.
19504 * normal/misc.c (grub_normal_print_device_info): Likewise.
19505 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
19506 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
19507 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
19508 (normal/charset.c_DEPENDENCIES): New variable.
19509 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
19510 (pkglib_MODULES): Remove charset.mod.
19511 (charset_mod_SOURCES): Removed.
19512 (charset_mod_CFLAGS): Likewise.
19513 (charset_mod_LDFLAGS): Likewise.
19514 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
19515 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
19516 and term/tparm.c.
19517 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19518 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19519 (kernel_img_HEADERS): Add terminfo.h.
19520 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
19521 Fill ->font. Reverse ascii bitmaps.
19522 (grub_font_get_xheight): New function.
19523 * font/font.c (grub_font_get_string_width): Moved from here ...
19524 * gfxmenu/font.c (grub_font_get_string_width): ... here.
19525 * font/font.c (grub_font_draw_string): Moved from here ...
19526 * gfxmenu/font.c (grub_font_draw_string): ... here.
19527 * font/font.c (grub_font_dup_glyph): New function.
19528 (grub_font_blit_glyph): Likewise.
19529 (grub_font_blit_glyph_mirror): Likewise.
19530 (blit_comb): Likewise.
19531 (grub_font_construct_dry_run): Likewise.
19532 (grub_font_get_constructed_device_width): Likewise.
19533 (grub_font_construct_glyph): Likewise.
19534 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
19535 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
19536 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
19537 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
19538 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
19539 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
19540 (grub_font_get_xheight): New proto.
19541 (grub_font_get_constructed_device_width): Likewise.
19542 (grub_font_construct_glyph): Likewise.
19543 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
19544 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
19545 * include/grub/font.h (grub_font_draw_string): Moved from here ...
19546 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19547 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19548 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19549 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19550 (grub_console_getcharwidth): Likewise.
19551 * include/grub/misc.h (grub_xputs): New proto.
19552 (grub_puts): Inlined.
19553 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19554 (grub_normal_get_line_counter): Removed.
19555 (grub_install_newline_hook): Likewise.
19556 (grub_normal_get_char_counter): New proto.
19557 (grub_normal_reset_more): Likewise.
19558 (grub_xputs_normal): Likewise.
19559 * include/grub/powerpc/ieee1275/console.h: Removed.
19560 * include/grub/sparc64/ieee1275/console.h: Likewise.
19561 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19562 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19563 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19564 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19565 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19566 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19567 (grub_term_input): Pass reference to self. All users updated.
19568 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19569 Pass reference to self. New fields normal_color, highlight_color and
19570 data. All users updated.
19571 (grub_putchar): Removed.
19572 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19573 (grub_unicode_estimate_width): New function.
19574 (grub_term_getcharwidth): Add defaults.
19575 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19576 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19577 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19578 (grub_cls): Remove EXPORT_FUNC.
19579 (grub_setcolorstate): Inline.
19580 (grub_newline_hook): Removed.
19581 * include/grub/terminfo.h: Rewritten. All users updated.
19582 * include/grub/unicode.h: New file.
19583 * include/grub/video.h (grub_video_signed_rect): New type.
19584 * kern/emu/console.c (grub_console_highlight_color): Removed.
19585 (grub_console_normal_color): Likewise.
19586 (grub_console_standard_color): Made static.
19587 (grub_ncurses_putchar): Remove mapping.
19588 (grub_ncurses_getcharwidth): Removed.
19589 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19590 (grub_ncurses_setcolor): Removed.
19591 (grub_ncurses_getcolor): Likewise.
19592 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19593 (grub_console_putchar): ... this.
19594 (grub_console_putchar): Handle argument difference.
19595 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19596 console_init_early and console_init_lately.
19597 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19598 * kern/misc.c (grub_puts): Removed.
19599 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19600 (grub_vsnprintf_real): Remove str = NULL support.
19601 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19602 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19603 * kern/term.c (grub_putcode): Renamed to ...
19604 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19605 (grub_putchar): Removed.
19606 (grub_xputs_dumb): New function.
19607 (grub_xputs): New variable.
19608 * lib/charset.c: Move from here ...
19609 * normal/charset.c: ... to here.
19610 (grub_ucs4_to_utf8): New function.
19611 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19612 (join_types): New variable.
19613 (unpack_join): New function.
19614 (bidi_types): New variable.
19615 (unpack_bidi): New function.
19616 (get_bidi_type): Likewise.
19617 (get_join_type): Likewise.
19618 (is_mirrored): Likewise.
19619 (grub_unicode_get_comb_type): Likewise.
19620 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19621 (is_type_after): Likewise.
19622 (grub_unicode_aglomerate_comb): Likewise.
19623 (bidi_line_wrap): Likewise.
19624 (grub_bidi_line_logical_to_visual): Likewise.
19625 (grub_bidi_logical_to_visual): Likewise.
19626 (grub_unicode_mirror_code): Likewise.
19627 (grub_unicode_shape_code): Likewise.
19628 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19629 Don't use grub_putchar.
19630 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19631 (grub_normal_reader_init): Likewise.
19632 (grub_xputs_saved): New variable.
19633 (GRUB_MOD_INIT): Set grub_xputs.
19634 (GRUB_MOD_FINI): Restore grub_xputs.
19635 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19636 (menu_init): Avoid printing gfxmenu error.
19637 (show_menu): Use grub_normal_get_char_counter.
19638 * normal/menu_entry.c (update_screen): Fix out-of-array.
19639 (complete): Avoid NULL dereferencing.
19640 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19641 * normal/menu_text.c (print_spaces): Removed.
19642 (grub_print_ucs4): Likewise.
19643 (grub_print_message_indented): Use grub_print_ucs4.
19644 (print_message): Use grub_putcode.
19645 (print_entry): Hanlde diacritics.
19646 * normal/term.c (term_state): New type.
19647 (grub_more_lines): Removed.
19648 (term_states): New variable.
19649 (grub_normal_line_counter): Renamed to ..
19650 (grub_normal_char_counter): ...this. All users updated.
19651 (grub_normal_get_line_counter): Renamed to ...
19652 (grub_normal_get_char_counter): ... this.
19653 (grub_normal_reset_more): New function.
19654 (process_newline): Removed.
19655 (print_more): New function.
19656 (grub_install_newline_hook): Removed.
19657 (map_code): New function.
19658 (grub_puts_terminal): Use grub_print_ucs4.
19659 (putglyph): New function.
19660 (putcode_real): Likewise.
19661 (grub_putcode): Use putcode_real.
19662 (get_maxwidth): New function.
19663 (get_startwidth): Likewise.
19664 (print_ucs4_terminal): Likewise.
19665 (find_term_state): Likewise.
19666 (put_glyphs_terminal): Likewise.
19667 (print_backlog): Likewise.
19668 (print_ucs4_real): Likewise.
19669 (grub_print_ucs4): Likewise.
19670 (grub_xputs_normal): Likewise.
19671 * term/efi/console.c (grub_console_putchar): Output diacritics.
19672 (grub_console_getcharwidth): Removed.
19673 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19674 * term/gfxterm.c (clear_char): Free chars.
19675 (scroll_up): Avoid leaking memory.
19676 (grub_gfxterm_putchar): Support diacritics.
19677 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19678 * term/i386/pc/console.c (grub_console_term_output): Declare as
19679 GRUB_TERM_CODE_TYPE_VGA.
19680 * term/i386/pc/vga.c (grub_vga_term): Declare as
19681 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19682 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19683 GRUB_TERM_CODE_TYPE_VGA.
19684 * term/i386/vga_common.c (map_char): Removed.
19685 (grub_console_putchar): Likewise.
19686 (grub_console_getcharwidth): Likewise.
19687 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19688 (colors): Reordered to match terminfo.
19689 (grub_ofconsole_normal_color): Removed.
19690 (grub_ofconsole_writeesc): Likewise.
19691 (grub_ofconsole_highlight_color): Likewise.
19692 (grub_ofconsole_getcharwidth): Likewise.
19693 (grub_ofconsole_setcolorstate): Likewise.
19694 (grub_ofconsole_setcolor): Likewise.
19695 (grub_ofconsole_getcolor): Likewise.
19696 (grub_ofconsole_readkey): Renamed to ...
19697 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19698 key.
19699 (grub_ofconsole_checkkey): Removed.
19700 (grub_ofconsole_getkey): Likewise.
19701 (grub_ofconsole_getxy): Likewise.
19702 (grub_ofconsole_gotoxy): Likewise.
19703 (grub_ofconsole_cls): Likewise.
19704 (grub_ofconsole_refresh): Likewise.
19705 (grub_ofconsole_terminfo_input): New struct.
19706 (grub_ofconsole_terminfo_output): Likewise.
19707 (grub_ofconsole_term_input): Use terminfo.
19708 (grub_ofconsole_term_output): Likewise.
19709 (grub_console_init): Split into ...
19710 (grub_console_init_early): ...this and ...
19711 (grub_console_init_lately): ...this. Use terminfo.
19712 (grub_ofconsole_putchar): Renamed to ...
19713 (put): ... this. Remove mapping.
19714 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19715 * term/serial.c: Simplify using terminfo.
19716 (xpos): Removed.
19717 (ypos): Likewise.
19718 (keep_track): Likewise.
19719 (registered): Likewise.
19720 (input_buf): Likewise.
19721 (npending): Likewise.
19722 (serial_translate_key_sequence): Likewise.
19723 (fill_input_buf): Likewise.
19724 (grub_serial_checkkey): Likewise.
19725 (grub_serial_getkey): Likewise.
19726 (grub_serial_getxy): Likewise.
19727 (grub_serial_gotoxy): Likewise.
19728 (grub_serial_putchar): Likewise.
19729 (grub_serial_cls): Likewise.
19730 (grub_serial_setcolorstate): Likewise.
19731 (grub_serial_setcursor): Likewise.
19732 (serial_hw_init): Use serial_hw_fetch.
19733 (grub_serial_terminfo_input): New variable.
19734 (grub_serial_terminfo_output): Likewise.
19735 (grub_serial_term_input): Use terminfo.
19736 (grub_serial_term_output): Likewise.
19737 * term/terminfo.c (putstr): Use put.
19738 (grub_terminfo_all_free): New function
19739 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19740 (grub_terminfo_output_register): New function.
19741 (grub_terminfo_output_unregister): Likewise.
19742 (grub_terminfo_getxy): Likewise.
19743 (grub_terminfo_readkey): Likewise.
19744 (grub_terminfo_checkkey): Likewise.
19745 (grub_terminfo_getkey): Likewise.
19746 (grub_terminfo_input_init): Likewise.
19747 (print_terminfo): Likewise.
19748 (grub_cmd_terminfo): Handle encoding.
19749 (grub_terminfo_gotoxy): Track position.
19750 (grub_terminfo_cls): Likewise.
19751 (grub_terminfo_putchar): Likewise.
19752 (grub_terminfo_setcolorstate): Handle colors
19753 (grub_terminfo_cursor_on): This ...
19754 (grub_terminfo_cursor_off): ... and this merged into ...
19755 (grub_terminfo_setcursor): ... this.
19756 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19757 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19758 * unicode/BidiMirroring.txt: Likewise.
19759 * unicode/UnicodeData.txt: Likewise.
19760 * unicode/COPYING: Likewise.
19761 * util/grub-editenv.c (grub_putchar): Removed.
19762 (grub_xputs_real): New function.
19763 (grub_xputs): New variable.
19764 * util/grub-fstest.c (grub_putchar): Removed.
19765 (grub_xputs_real): New function.
19766 (grub_xputs): New variable.
19767 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19768 (grub_xputs_real): New function.
19769 (grub_xputs): New variable.
19770 * util/grub-probe.c (grub_putchar): Removed.
19771 (grub_xputs_real): New function.
19772 (grub_xputs): New variable.
19773 * util/grub-script-check.c (grub_putchar): Removed.
19774 (grub_xputs_real): New function.
19775 (grub_xputs): New variable.
19776 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19777 (grub_xputs_real): New function.
19778 (grub_xputs): New variable.
19779 * util/import_unicode.py: New file.
19780 * util/grub-mkfont.c (ft_errmsgs): New array.
19781 (grub_glyph_info): Make bitmap a pointer.
19782 (file_formats): New type WIDTH_SPEC.
19783 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19784 (options): Add width-spec.
19785 (help): Likewise.
19786 (add_char): Renamed to ...
19787 (add_glyph): ... this.
19788 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19789 (glyph_replace): New type.
19790 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19791 (add_char): New function.
19792 (add_subst): Likewise.
19793 (process_cursive): Likewise.
19794 (add_font): Handle GSUB.
19795 (write_font_width_spec): New function.
19796 (main): Sort glyphs.
19797 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19798 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19799 * kern/term.c (grub_cls): Moved from here...
19800 * normal/term.c (grub_cls): ... here.
19801
19802 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19803
19804 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19805 suitable for using within the format argument of printf when
19806 converting grub_size_t.
19807 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19808 "x" to convert grub_size_t arguments.
19809
19810 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19813 too long captions.
19814 (list_get_minimal_size): Take selection box into account.
19815
19816 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19819 NULL font.
19820
19821 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19822
19823 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19824 devices when iterating over /dev/disk/by-id; they will be handled
19825 later if appropriate, which they aren't always (e.g. LVM).
19826
19827 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19828
19829 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19830 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19831 fails.
19832 (grub_halt): Likewise.
19833 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19834 reset-all fails.
19835 (grub_halt): Don't return, even if all of shut-down, power-off, and
19836 poweroff fail.
19837
19838 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19839
19840 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19841 arguments, not three.
19842
19843 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19844
19845 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
19846 * util/grub.d/10_linux.in: Use it to check for LVM, so that
19847 LVM-on-RAID is handled correctly.
19848
19849 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19850
19851 * docs/grub.texi (Changes from GRUB Legacy): New section.
19852 (Future): Fix typo.
19853
19854 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19855
19856 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
19857 grub.d/README accidentally ends up executable for one reason or
19858 another. Ignore it.
19859
19860 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
19863 (gpt_partition_map_iterate): Support non-512B sectors.
19864
19865 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 * kern/efi/init.c (grub_efi_init): Disable watchdog.
19868 Tested by: Seth Goldberg.
19869
19870 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
19873 Properly align mbi.
19874 Reported by: Seth Goldberg.
19875
19876 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * util/grub-mkrescue.in: Avoid module duplication.
19879
19880 2010-07-01 Sean Finney <seanius@seanius.net>
19881
19882 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
19883
19884 2010-07-01 Sean Finney <seanius@seanius.net>
19885
19886 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
19887
19888 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * disk/lvm.c (grub_lvm_checkvalue): New function.
19891 (grub_lvm_check_flag): Likewise.
19892
19893 2010-07-01 Robert Millan <rmh@gnu.org>
19894
19895 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
19896 Support 'p' as partition separator on kernel of FreeBSD (used
19897 with GPT labels).
19898 (grub_util_biosdisk_get_grub_dev): Likewise.
19899
19900 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 Yeeloong firmware port.
19903
19904 * boot/mips/yeeloong/fwstart.S: New file.
19905 * bus/cs5536.c (gpiodump): New const.
19906 (set_io_space): New function.
19907 (set_iod): Likewise.
19908 (set_p2d): Likewise.
19909 (grub_cs5536_init_geode): Likewise.
19910 * commands/mips/yeeloong/lsspd.c: New file.
19911 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
19912 (serial_mod_SOURCES): New variable.
19913 (serial_mod_CFLAGS): Likewise.
19914 (serial_mod_LDFLAGS): Likewise.
19915 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19916 term/terminfo.c and term/tparm.c.
19917 (pkglib_IMAGES): Add fwstart.img.
19918 (fwstart_img_SOURCES): New variable.
19919 (fwstart_img_CFLAGS): Likewise.
19920 (fwstart_img_ASFLAGS): Likewise.
19921 (fwstart_img_LDFLAGS): Likewise.
19922 (fwstart_img_FORMAT): Likewise.
19923 (pkglib_MODULES): Add lsspd.mod.
19924 (lsspd_mod_SOURCES): New variable.
19925 (lsspd_mod_CFLAGS): Likewise.
19926 (lsspd_mod_LDFLAGS): Likewise.
19927 (pkglib_MODULES): Add halt.mod.
19928 (halt_mod_SOURCES): New variable.
19929 (halt_mod_CFLAGS): Likewise.
19930 (halt_mod_LDFLAGS): Likewise.
19931 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19932 (serial_mod_SOURCES): Removed.
19933 (serial_mod_CFLAGS): Likewise.
19934 (serial_mod_LDFLAGS): Likewise.
19935 * disk/ata.c (check_device): New function.
19936 (grub_ata_device_initialize): Use check_device.
19937 (grub_ata_iterate): Recheck devices.
19938 (grub_ata_open): Likewise.
19939 (grub_atapi_iterate): Likewise.
19940 (grub_atapi_open): Likewise.
19941 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19942 (GRUB_ATA_CH1_PORT1): Likewise.
19943 (GRUB_ATA_CH0_PORT2): Likewise.
19944 (GRUB_ATA_CH1_PORT2): Likewise.
19945 * include/grub/mips/loongson.h: New file.
19946 * include/grub/mips/yeeloong/ec.h: Likewise.
19947 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19948 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19949 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19950 * include/grub/misc.h (grub_halt): Declare as noreturn.
19951 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19952 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19953 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19954 (UART_ENABLE_DTRRTS): Likewise.
19955 (UART_ENABLE_MODEM): Removed.
19956 (UART_ENABLE_OUT2): New const.
19957 * include/grub/term.h (grub_term_register_input_active): New function.
19958 (grub_term_register_output_active): Likewise.
19959 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19960 argument.
19961 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19962 (init_pci): New function.
19963 (grub_machine_init): Execute platform init when firmware. Init serial.
19964 (grub_halt): Implement.
19965 (grub_exit): Likewise.
19966 (grub_reboot): Likewise.
19967 * term/serial.c (serial_hw_init): Update macros.
19968 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19969 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19970 (image_targets): New target mipsel-yeeloong-flash.
19971 (generate_image): Support IMAGE_YEELOONG_FLASH.
19972 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19973 (grub_video_sm712_setup): Init card.
19974 (grub_video_sm712_set_palette): Removed.
19975 * video/sm712_init.c: New file.
19976
19977 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
19978
19979 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19980 PATH when running help2man and then run it on the unadorned
19981 executable names, rather than passing $(builddir)/* paths to
19982 help2man. This avoids the build directory ending up in generated
19983 manual pages.
19984
19985 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19986
19987 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19988 to avoid accidents when debugging with 'sh -x'.
19989 * util/grub-mkrescue.in: Likewise.
19990 * util/grub.d/00_header.in: Likewise.
19991 * util/grub.d/10_hurd.in: Likewise.
19992 * util/grub.d/10_kfreebsd.in: Likewise.
19993 * util/grub.d/10_linux.in: Likewise.
19994 * util/grub.d/10_netbsd.in: Likewise.
19995 * util/grub.d/10_windows.in: Likewise.
19996 * util/grub.d/20_linux_xen.in: Likewise.
19997 * util/grub.d/30_os-prober.in: Likewise.
19998 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19999
20000 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
20001
20002 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20003 last character in the buffer.
20004 Reported by: Vladimir Serbinenko.
20005
20006 2010-06-29 Robert Millan <rmh@gnu.org>
20007
20008 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20009 (Command-line and menu entry commands): Document `badram' command.
20010
20011 2010-06-28 Robert Millan <rmh@gnu.org>
20012
20013 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20014 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20015 command using ${GRUB_BADRAM} as parameter.
20016
20017 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20018
20019 * docs/grub.texi (Device map): New section.
20020 (Themes): New section (stub).
20021 * Makefile.in (docs/grub.info): The info documentation now builds
20022 without errors. Make sure it stays that way.
20023
20024 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 Use normal parser for menu entries.
20027 Reported by: Thomas Frauendorfer
20028
20029 * include/grub/parser.h (grub_parser_execute): Don't export.
20030 * normal/menu.c (grub_menu_execute_entry_real): New function.
20031 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20032
20033 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * docs/grub.texi (Embedded configuration): New section (replacing
20036 old "Preset Menu" stub).
20037 (Images): New section.
20038 (configfile): Note that any menu entries defined in `file' are shown
20039 immediately.
20040
20041 2010-06-28 Josh Triplett <josh@joshtriplett.org>
20042
20043 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20044
20045 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * util/grub-install.in: Add --debug-image= option.
20048
20049 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20050
20051 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20052 possible on Linux.
20053
20054 * util/deviceiter.c (check_device): Rename to ...
20055 (check_device_readable_unique): ... this. Update all callers.
20056 Maintain and check a list of which devices (by canonicalized name)
20057 have already been seen.
20058 (clear_seen_devices): New function.
20059 (compare_file_names) [__linux__]: New function.
20060 (grub_util_iterate_devices): Clear the list of seen devices on exit
20061 and (just in case) on entry.
20062 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20063 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20064 seen-devices list, superseded by general code in check_device.
20065
20066 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20067
20068 * commands/cat.c (options): New variable.
20069 (grub_cmd_cat): Parse options. If the --dos option is given, print
20070 DOS-style "\r\n" line endings as simple newlines (Debian bug
20071 #586358).
20072 (GRUB_MOD_INIT): Use extcmd.
20073 (GRUB_MOD_FINI): Likewise.
20074 * docs/grub.texi (cat): Document --dos.
20075
20076 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 XEN with Linux grub-mkconfig support.
20079
20080 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20081 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20082 GRUB_CMDLINE_XEN_DEFAULT.
20083 * util/grub.d/20_linux_xen.in: New file.
20084
20085 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Initialise VGA video on qemu ourselves.
20088
20089 * boot/i386/qemu/boot.S: Don't call 0xc000.
20090 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20091 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20092 (kernel_img_HEADERS): Add pci.h.
20093 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20094 * configure.ac: Force unifont on qemu and yeeloong.
20095 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20096 (grub_vga_palette_write): Use correct register.
20097 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20098 Call grub_qemu_init_cirrus.
20099 * kern/i386/qemu/init.c: New file.
20100 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20101
20102 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20103
20104 2010-06-26 Pavel Roskin <proski@gnu.org>
20105
20106 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20107 13.
20108
20109 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20110
20111 * docs/grub.texi (Simple configuration): Explain that
20112 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20113 set to `true' to disable their respective recovery entries, not
20114 merely set.
20115
20116 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20117
20118 Make the `source' command slightly faster.
20119
20120 * normal/main.c (grub_normal_execute): Don't re-read list files when
20121 nested.
20122
20123 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20124
20125 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20126 field position and mask size to red fields from mode_info, not
20127 green.
20128 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20129 Remove redundant tag->common.framebuffer_type assignment.
20130 Reported by: Seth Goldberg.
20131
20132 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20133
20134 Sync up other versions of the Linux loader with Robert Millan's
20135 change of 2010-01-09, "Make loader output a bit more user-friendly".
20136
20137 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20138 grub_dprintf().
20139 (grub_cmd_linux): Likewise.
20140 (grub_cmd_initrd): Likewise.
20141 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20142 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20143
20144 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
20145
20146 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20147 larger than MEMORY_MAP_SIZE.
20148
20149 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20150
20151 Fix parallel build.
20152
20153 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20154 dependency.
20155 * script/parser.y: #include grub_script.tab.h header.
20156
20157 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 Support >3GiB and <16MiB RAM in i386-qemu.
20160
20161 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20162 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20163 (grub_lower_mem): Removed.
20164 (grub_upper_mem): Likewise.
20165 (mem_size): Made static.
20166 (above_4g): New variable.
20167 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20168 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20169 support.
20170
20171 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 Cirrus 5446 and Bochs video cards support.
20174
20175 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20176 video_bochs.mod
20177 (video_cirrus_mod_SOURCES): New variable.
20178 (video_cirrus_mod_CFLAGS): Likewise.
20179 (video_cirrus_mod_LDFLAGS): Likewise.
20180 (video_bochs_mod_SOURCES): Likewise.
20181 (video_bochs_mod_CFLAGS): Likewise.
20182 (video_bochs_mod_LDFLAGS): Likewise.
20183 * include/grub/vga.h: New file.
20184 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20185 (grub_video_fb_set_page_t): New type.
20186 (grub_video_fb_setup): New prototype.
20187 (grub_video_fb_swap_buffers): Likewise.
20188 (grub_video_fb_get_info_and_fini): Likewise.
20189 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20190 (CRTC_DATA_PORT): Likewise.
20191 (CRTC_CURSOR): Likewise.
20192 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20193 (CRTC_CURSOR_ADDR_LOW): Likewise.
20194 (CRTC_CURSOR_DISABLE): Likewise.
20195 (update_cursor): Use grub_vga_cr_write.
20196 (grub_vga_text_setcursor): Likewise.
20197 * video/bochs.c: New file.
20198 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20199 (palette): Likewise.
20200 (palette_size): Likewise.
20201 (framebuffer): New variable.
20202 (grub_video_fb_init): Use 'framebuffer'.
20203 (grub_video_fb_fini): Likewise.
20204 (grub_video_fb_get_info): Likewise.
20205 (grub_video_fb_get_palette): Likewise.
20206 (grub_video_fb_set_palette): Likewise.
20207 (grub_video_fb_set_viewport): Likewise.
20208 (grub_video_fb_get_viewport): Likewise.
20209 (grub_video_fb_map_color): Likewise.
20210 (grub_video_fb_map_rgb): Likewise.
20211 (grub_video_fb_map_rgba): Likewise.
20212 (grub_video_fb_unmap_color): Likewise.
20213 (grub_video_fb_unmap_color_int): Likewise.
20214 (grub_video_fb_fill_rect): Likewise.
20215 (grub_video_fb_blit_bitmap): Likewise.
20216 (grub_video_fb_blit_render_target): Likewise.
20217 (grub_video_fb_scroll): Likewise.
20218 (grub_video_fb_create_render_target): Likewise.
20219 (grub_video_fb_doublebuf_blit_init): Likewise.
20220 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20221 (doublebuf_pageflipping_update_screen): New function.
20222 (doublebuf_pageflipping_init): Likewise.
20223 (grub_video_fb_setup): Likewise.
20224 (grub_video_fb_swap_buffers): Likewise.
20225 (grub_video_fb_get_info_and_fini): Likewise.
20226 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20227 All users updated.
20228 (doublebuf_pageflipping_commit): Restructured into ...
20229 (doublebuf_pageflipping_set_page): ... this.
20230 (doublebuf_pageflipping_update_screen): Removed.
20231 (doublebuf_pageflipping_init): Likewise.
20232 (double_buffering_init): Likewise.
20233 (grub_video_vbe_setup): Use grub_video_fb_setup.
20234 (grub_video_vbe_swap_buffers): Removed.
20235 (grub_video_vbe_set_active_render_target): Likewise.
20236 (grub_video_vbe_get_active_render_target): Likewise.
20237 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20238 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20239 grub_video_fb_set_active_render_target and
20240 grub_video_fb_get_active_render_target.
20241 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20242 (SEQUENCER_DATA_PORT): Likewise.
20243 (MAP_MASK_REGISTER): Likewise.
20244 (CRTC_ADDR_PORT): Likewise.
20245 (CRTC_DATA_PORT): Likewise.
20246 (START_ADDR_HIGH_REGISTER): Likewise.
20247 (START_ADDR_LOW_REGISTER): Likewise.
20248 (GRAPHICS_ADDR_PORT): Likewise.
20249 (GRAPHICS_DATA_PORT): Likewise.
20250 (READ_MAP_REGISTER): Likewise.
20251 (INPUT_STATUS1_REGISTER): Likewise.
20252 (INPUT_STATUS1_VERTR_BIT): Likewise.
20253 (get_map_mask): Use grub_vga_sr_read.
20254 (set_map_mask): Use grub_vga_sr_write.
20255 (set_read_map): Use grub_vga_gr_write.
20256 (set_start_address): Use grub_vga_cr_write.
20257 * video/sm712.c (framebuffer): Remove leftover fields.
20258
20259 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
20260
20261 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20262 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20263 instead. Replace the gfxterm backend check with a check that
20264 ${GRUB_PREFIX}/video.lst is non-empty.
20265 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20266 again.
20267 (load_video): New generated function. Call it before loading
20268 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20269 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20270 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20271 * docs/grub.texi (Simple configuration): Document
20272 GRUB_VIDEO_BACKEND.
20273
20274 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 Use video functions in linux and xnu loaders.
20277
20278 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20279 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20280 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20281 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20282 loader/i386/pc/linux.c.
20283 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20284 (find_line_len): Removed.
20285 (find_framebuf): Likewise.
20286 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20287 * loader/i386/efi/xnu.c: Removed.
20288 * loader/i386/pc/xnu.c: Moved from here...
20289 * loader/i386/xnu.c: ...here.
20290
20291 Enable priorities in video drivers.
20292
20293 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20294 (grub_video_adapter): New field prio.
20295 (grub_video_register): Respect prio when inserting.
20296 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20297 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20298 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20299 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20300 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20301 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20302 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20303
20304 Fix SDL driver ID.
20305
20306 * include/grub/video.h (grub_video_driver_id_t): New value
20307 GRUB_VIDEO_DRIVER_SDL.
20308 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20309
20310 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20311
20312 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20313 argument to printf.
20314 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20315
20316 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20317
20318 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20319 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20320
20321 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20324 directly, and recommend grub-install instead.
20325 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20326
20327 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20328
20329 Fix i386-pc prefix handling with nested partitions (Debian bug
20330 #585068). Note that the case where the core image is booted using
20331 multiboot and relocated from its original location still requires
20332 more work.
20333
20334 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20335 with "(,", fill the boot drive in between those two characters, but
20336 expect that a full partition specification including partition map
20337 names will follow.
20338 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20339 specified, write a prefix without the drive name but including a
20340 full partition specification.
20341
20342 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
20343
20344 * util/grub-mkconfig.in: Ignore non-option arguments, for
20345 compatibility with older versions (before 2010-06-12) which did the
20346 same. In particular, this makes it easier to ship an update-grub
20347 wrapper which is compatible with that used with GRUB Legacy (Debian
20348 bug #586056).
20349
20350 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20351
20352 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20353 for manual page generation.
20354
20355 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20356
20357 * po/POTFILES: Remove leftover commands/handler.c.
20358
20359 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20360
20361 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20362 left this script non-functional.
20363
20364 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20365
20366 * docs/man/grub-emu.h2m: New file.
20367
20368 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
20369
20370 * docs/grub.texi (Commands): Document reduced command set in rescue
20371 mode.
20372 (cpuid): New section.
20373
20374 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20375
20376 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20377 new partition naming style.
20378 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20379
20380 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20381
20382 Add "-o grub.iso" like cmdline options support.
20383
20384 * util/grub-install.in: Improve cmdline option parsing.
20385 * util/grub-mkconfig.in: Likewise.
20386 * util/grub-mkrescue.in: Likewise.
20387 * util/grub-reboot.in: Likewise.
20388 * util/grub-set-default.in: Likewise.
20389 * util/i386/efi/grub-install.in: Likewise.
20390 * util/ieee1275/grub-install.in: Likewise.
20391 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20392
20393 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20394
20395 * .bzrignore: Ignore 41_custom.
20396
20397 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20398
20399 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
20400
20401 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20402
20403 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
20404 prototype declarations.
20405
20406 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
20407 generating fs, partmap, and video lists.
20408 * include/grub/fs.h (grub_fs_register): Omit prototype if
20409 GRUB_LST_GENERATOR is defined.
20410 * include/grub/partition.h (grub_partition_map_register): Likewise.
20411 * include/grub/video.h (grub_video_register): Likewise.
20412
20413 2010-06-12 Javier Martín <lordhabbit@gmail.com>
20414
20415 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
20416
20417 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20418
20419 * util/grub-mkrescue.in: Support --xorriso argument.
20420
20421 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
20424 Suggested by: Thomas Schmitt.
20425
20426 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
20429 Suggested by: Thomas Schmitt.
20430
20431 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 custom.cfg support.
20434
20435 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
20436 * util/grub.d/41_custom.in: New file.
20437
20438 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20439
20440 * util/grub-mkrescue.in (make_image): Remove sh module, which has
20441 been merged back into normal.
20442
20443 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20444
20445 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
20446 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
20447
20448 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20449
20450 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
20451 when generating manual pages.
20452 * docs/man/grub-bin2h.h2m: New file.
20453 * docs/man/grub-editenv.h2m: New file.
20454 * docs/man/grub-fstest.h2m: New file.
20455 * docs/man/grub-install.h2m: New file.
20456 * docs/man/grub-macho2img.h2m: New file.
20457 * docs/man/grub-mkconfig.h2m: New file.
20458 * docs/man/grub-mkdevicemap.h2m: New file.
20459 * docs/man/grub-mkfont.h2m: New file.
20460 * docs/man/grub-mkimage.h2m: New file.
20461 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
20462 * docs/man/grub-mkrelpath.h2m: New file.
20463 * docs/man/grub-mkrescue.h2m: New file.
20464 * docs/man/grub-ofpathname.h2m: New file.
20465 * docs/man/grub-pe2elf.h2m: New file.
20466 * docs/man/grub-probe.h2m: New file.
20467 * docs/man/grub-reboot.h2m: New file.
20468 * docs/man/grub-script-check.h2m: New file.
20469 * docs/man/grub-set-default.h2m: New file.
20470 * docs/man/grub-setup.h2m: New file.
20471
20472 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 Use FOR_* macros instead of *_iterate whenever possible.
20475
20476 * commands/handler.c: Removed.
20477 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
20478 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
20479 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20480 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
20481 (grub_probe_SOURCES): Remove kern/parser.c.
20482 (util/grub-script-check.c_DEPENDENCIES): Removed.
20483 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
20484 and grub_script_check_init.c.
20485 (grub_script_check_init.lst): Removed.
20486 (grub_script_check_init.h): Likewise.
20487 (grub_script_check_init.c): Likewise.
20488 (pkglib_MODULES): Remove handler.mod and sh.mod.
20489 (handler_mod_SOURCES): Removed.
20490 (handler_mod_CFLAGS): Likewise.
20491 (handler_mod_LDFLAGS): Likewise.
20492 (normal_mod_SOURCES): Remove normal/handler.c.
20493 Add script/main.c, script/script.c, script/execute.c,
20494 script/function.c, script/lexer.c, grub_script.tab.c
20495 and grub_script.yy.c.
20496 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20497 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20498 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
20499 (grub_setup_SOURCES): Remove kern/parser.c.
20500 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20501 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
20502 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20503 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20504 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20505 (grub_setup_SOURCES): Remove kern/parser.c.
20506 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20507 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
20508 * include/grub/command.h (grub_command_iterate): Removed.
20509 (FOR_COMMANDS): New macro.
20510 * include/grub/dl.h (grub_dl): New member next.
20511 (grub_dl_iterate): Removed.
20512 (grub_dl_head): New variable declaration.
20513 (FOR_DL_MODULES): New macro.
20514 * include/grub/fs.h: Include list.h.
20515 (grub_fs): Make next first element.
20516 (grub_fs_list): New variable declaration.
20517 (grub_fs_register): Make inline.
20518 (grub_fs_unregister): Likewise.
20519 (grub_fs_iterate): Removed.
20520 (FOR_FILESYSTEMS): New macro.
20521 * include/grub/handler.h: Removed.
20522 * include/grub/list.h (grub_list_hook_t): Removed.
20523 (grub_list_test_t): Likewise.
20524 (grub_list_pop): Likewise.
20525 (grub_list_iterate): Likewise.
20526 (grub_list_insert): Likewise.
20527 (FOR_LIST_ELEMENTS): New macro.
20528 * include/grub/parser.h (grub_parser_class): Removed.
20529 (grub_parser_register): Likewise.
20530 (grub_parser_unregister): Likewise.
20531 (grub_parser_get_current): Likewise.
20532 (grub_parser_set_current): Likewise.
20533 (grub_register_rescue_parser): Likewise.
20534 (grub_rescue_parse_line): New function.
20535 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
20536 * include/grub/script_sh.h (grub_script_function_list): New variable
20537 declaration.
20538 (FOR_SCRIPT_FUNCTIONS): New macro.
20539 (grub_script_function_iterate): Removed.
20540 (grub_normal_parse_line): New prototype.
20541 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
20542 (FOR_DISABLED_TERM_INPUTS): Likewise.
20543 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20544 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20545 * include/grub/video.h (grub_video_adapter): Move 'next' to first
20546 element.
20547 (grub_video_register): Inline.
20548 (grub_video_unregister): Likewise.
20549 (grub_video_adapter_list): New variable declaration.
20550 (grub_video_iterate): Removed.
20551 (FOR_VIDEO_ADAPTERS): New macro.
20552 * kern/dl.c (grub_dl_list): Removed. All users updated.
20553 (grub_dl_iterate): Removed.
20554 * kern/fs.c (grub_fs_list): Make global.
20555 (grub_fs_register): Removed.
20556 (grub_fs_unregister): Likewise.
20557 (grub_fs_iterate): Likewise.
20558 * kern/handler.c: Removed.
20559 * kern/list.c (grub_list_pop): Removed.
20560 (grub_list_iterate): Likewise.
20561 (grub_list_insert): Likewise.
20562 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20563 (grub_prio_list_insert): Don't use grub_list_insert.
20564 * kern/main.c (grub_register_rescue_parser): Don't call
20565 grub_register_rescue_parser.
20566 * kern/parser.c (grub_parser_class): Removed.
20567 (grub_parser_execute): Use grub_rescue_parse_line.
20568 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20569 (grub_rescue_parser): Removed.
20570 (grub_register_rescue_parser): Likewise.
20571 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20572 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20573 (grub_auth_check_authentication): Likewise.
20574 * normal/completion.c (iterate_command): Removed.
20575 (grub_normal_do_completion): Use FOR_COMMANDS.
20576 * normal/handler.c: Removed.
20577 * normal/main.c (read_config_file): Remove parser changing.
20578 (grub_normal_execute): Don't call read_handler_list.
20579 (grub_normal_read_line_real): Statically allocate prompt.
20580 (grub_cmdline_run): Use grub_normal_parse_line.
20581 (GRUB_MOD_FINI): Don't call free_handler_list.
20582 * normal/menu_entry.c (run): Likewise.
20583 * script/function.c (grub_script_function_list): Make global.
20584 (grub_script_function_iterate): Removed.
20585 * script/main.c (grub_normal_parse_line): Make global.
20586 (grub_sh_parser): Removed.
20587 (GRUB_MOD_INIT): Likewise.
20588 (GRUB_MOD_FINI): Likewise.
20589 * tests/lib/functional_test.c (grub_functional_test): Use
20590 FOR_LIST_ELEMENTS.
20591 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20592 (grub_test_run): Use FOR_LIST_ELEMENTS.
20593 * tests/lib/unit_test.c (main): Likewise.
20594 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20595 grub_list_pop.
20596 * util/grub-fstest.c (grub_term_input_class): Removed.
20597 (grub_term_output_class): Likewise.
20598 * util/grub-probe.c: Likewise.
20599 * util/i386/pc/grub-setup.c: Likewise.
20600 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20601 * util/grub-script-check.c (main): Don't call grub_init_all and
20602 grub_fini_all.
20603 * video/video.c (grub_video_adapter_list): Make global.
20604 (grub_video_register): Removed.
20605 (grub_video_unregister): Likewise.
20606 (grub_video_iterate): Likewise.
20607
20608 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20611 reported by Henrique Ferreiro.
20612
20613 2010-06-09 Robert Millan <rmh@gnu.org>
20614
20615 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20616 ones, when both are available.
20617
20618 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20619
20620 Make --version uniform and avoid hard-coded program name.
20621
20622 * util/grub-mkimage.c (main): Use `program_name' instead of
20623 hard-coded string.
20624 * util/i386/pc/grub-setup.c (main): Likewise.
20625 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20626 * util/grub-install.in: Save the basename of $0 in $self, and use the
20627 latter in informational messages. Use the same format for --version
20628 as the binary programs.
20629 * util/grub-mkconfig.in: Likewise.
20630 * util/grub-mkrescue.in: Likewise.
20631 * util/grub-reboot.in: Likewise.
20632 * util/grub-set-default.in: Likewise.
20633 * util/i386/efi/grub-install.in: Likewise.
20634 * util/ieee1275/grub-install.in: Likewise.
20635 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20636
20637 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20638
20639 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20640 embedding area. Use <= instead of == when checking for non-emptiness.
20641
20642 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20643
20644 * configure.ac: Add `.' to the directories searched for unifont.
20645
20646 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20647
20648 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20649 grub_script.yy.h.
20650
20651 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20652
20653 * docs/grub.texi (History): Expand to cover GRUB 2.
20654 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20655 commands, not `terminal'.
20656 (serial): Likewise.
20657 (terminal_input): New section.
20658 (terminal_output): New section.
20659 (uppermem): New section (stub).
20660 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20661
20662 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20663
20664 * docs/grub.texi (Security): Menu entries are unrestricted by
20665 default, not restricted to superusers as I had previously thought.
20666 Reword to account for this.
20667
20668 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * kern/emu/misc.c (device_mapper_null_log): New function.
20671 (grub_device_mapper_supported): New function.
20672 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20673 prototype.
20674 * kern/emu/hostdisk.c (find_partition_start): Check whether
20675 device-mapper is supported before trying to use it.
20676 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20677
20678 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20679
20680 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20681 (File name syntax): Likewise.
20682 (help): --all is no longer supported in GRUB 2. Be more precise
20683 about pattern matching.
20684
20685 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20686
20687 * normal/completion.c (grub_normal_do_completion): When completing
20688 arguments to "set" and the current word contains an equals sign,
20689 skip to after the equals sign before starting completion.
20690
20691 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20692
20693 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20694
20695 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20696
20697 * docs/grub.texi (Network): New section.
20698 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20699 `(nd)' as in GRUB Legacy.
20700 (pxe_unload): New section.
20701
20702 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20703
20704 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20705 in the rescue shell, so recommend using `set' instead. Thanks,
20706 Jordan Uggla.
20707
20708 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20709
20710 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20711 (password): New section.
20712 (password_pbkdf2): New section.
20713 (search): New section.
20714 (Security): New section.
20715 (Troubleshooting): New section, currently very incomplete.
20716 (Invoking grub-mkpasswd-pbkdf2): New section.
20717 (Internals): New section, currently very incomplete.
20718
20719 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20720
20721 * util/grub.d/00_header.in: Add some more quoting (of
20722 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20723 work again.
20724 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20725
20726 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20727
20728 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20729 to `count', fixing variable shadowing that broke the -c option.
20730
20731 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
20732
20733 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20734 in case they contain spaces.
20735
20736 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20737
20738 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20739 "part_" to partmap module names, in line with grub-install.
20740 Reported by: Jindřich Makovička (Debian bug #584426).
20741
20742 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20743
20744 * util/grub-mkimage.c: Make target-related error messages slightly
20745 more helpful; -O talks about "format". Explicitly point to the use
20746 of -O if no target is specified.
20747 Reported by: Didier Raboud (Debian bug #584415).
20748
20749 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
20750
20751 * INSTALL: Document several build requirements for optional features
20752 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20753
20754 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20755
20756 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20757 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20758 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20759
20760 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20761
20762 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20763 Thanks to Jordan Uggla for spotting this.
20764
20765 2010-06-02 Aleš Nesrsta <starous@volny.cz>
20766
20767 Finally make USB usable.
20768
20769 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20770 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20771 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20772 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20773 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20774 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20775 (GRUB_OHCI_FSMPS): Likewise.
20776 (GRUB_OHCI_PERIODIC_START): Likewise.
20777 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20778 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20779 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20780 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20781 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20782 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20783 (grub_ohci_transaction): Likewise.
20784 (grub_ohci_transfer): Improve condition detection algorithms.
20785 Handle toggle property. Program the transactions correctly.
20786 Improve error handling. Various important fixups.
20787 (grub_ohci_portstatus): Put register writes in right order.
20788 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20789 (grub_uhci_transfer): Don't show "failed" message on success.
20790 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20791 array.
20792 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20793 determine its size.
20794 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20795 before initialization is completed. Use IN direction for empty
20796 transfers. Use last_trans and compute toggle.
20797 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20798 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20799 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20800 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20801 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20802 (grub_usb_device): Increase toggle to 256.
20803 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20804 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20805 GRUB_USBMS_SUBCLASS_SFF8070.
20806 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20807 (grub_scsi_inquiry): New member page and alloc_length.
20808 (grub_scsi_request_sense): New structure.
20809 (grub_scsi_request_sense_data): Likewise.
20810 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20811 control.
20812 * disk/scsi.c (grub_scsi_request_sense): New function.
20813 (grub_scsi_test_unit_ready): Likewise.
20814 (grub_scsi_inquiry): Fill new fields.
20815 (grub_scsi_read_capacity): Likewise.
20816 (grub_scsi_read10): Add request sense at the end.
20817 (grub_scsi_read12): Likewise.
20818 (grub_scsi_write10): Likewise.
20819 (grub_scsi_write12): Likewise.
20820 (grub_scsi_open): Add Test Unit Ready.
20821 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20822 Support additional subclasses. Con't clear halt yet. Activate the
20823 proper config. Calculate LUNs correctly.
20824 (grub_usbms_transfer): Various important fixups.
20825
20826 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20829 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20830 (grub_ohci_fini_hw): New function.
20831 (grub_ohci_restore_hw): Likewise.
20832 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20833 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20834 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20835
20836 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 Dedicated DMA allocations.
20839
20840 * bus/pci.c (grub_memalign_dma32): New function
20841 (grub_dma_free): Likewise.
20842 (grub_dma_get_virt): Likewise.
20843 (grub_dma_get_phys): Likewise.
20844 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
20845 (grub_ohci_pci_iter): Use dma32_alloc.
20846 (grub_ohci_transfer): Likewise.
20847 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20848 (grub_usb_bulk_readwrite): Likewise.
20849 * include/grub/pci.h: Add declarations.
20850
20851 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 CS5536 support.
20854
20855 * bus/cs5536.c: New file.
20856 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
20857 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
20858 (cs5536_mod_SOURCES): New variable.
20859 (cs5536_mod_CFLAGS): Likewise.
20860 (cs5536_mod_LDFLAGS): Likewise.
20861 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
20862 machine/pci.h.
20863 (kernel_img_SOURCES): Add bus/cs5536.c.
20864 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
20865 usb_keyboard.mod.
20866 (usb_mod_SOURCES): New variable.
20867 (usb_mod_CFLAGS): New variable.
20868 (usb_mod_LDFLAGS): New variable.
20869 (usbtest_mod_SOURCES): New variable.
20870 (usbtest_mod_CFLAGS): New variable.
20871 (usbtest_mod_LDFLAGS): New variable.
20872 (ohci_mod_SOURCES): New variable.
20873 (ohci_mod_CFLAGS): New variable.
20874 (ohci_mod_LDFLAGS): New variable.
20875 (usbms_mod_SOURCES): New variable.
20876 (usbms_mod_CFLAGS): New variable.
20877 (usbms_mod_LDFLAGS): New variable.
20878 (usb_keyboard_mod_SOURCES): New variable.
20879 (usb_keyboard_mod_CFLAGS): New variable.
20880 (usb_keyboard_mod_LDFLAGS): New variable.
20881 * include/grub/smbus.h: New file.
20882 * include/grub/cs5536.h: New file.
20883
20884 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20885
20886 * util/grub.d/00_header.in: Add safety check to make sure that
20887 ${locale_dir} exists before trying to probe it.
20888
20889 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20890
20891 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
20892 per the GNU Coding Standards; this is now too obscure to be worth
20893 documenting.
20894 (QNX): Likewise.
20895 (chainloader): Remove cross-reference to `SCO UnixWare'.
20896
20897 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * docs/grub.texi (Chain-loading): New section.
20900 (DOS/Windows): New section, borrowed from GRUB Legacy with details
20901 adjusted for GRUB 2.
20902 (SCO UnixWare): Likewise.
20903 (QNX): Likewise.
20904 (chainloader): Add reference to `Block list syntax'.
20905 (drivemap): New section.
20906 (parttool): New section.
20907
20908 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20909
20910 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
20911 the grub shell'.
20912 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
20913 (Installing GRUB using grub-install): Remove reference to the grub
20914 shell; mention `grub-mkimage' and `grub-setup' instead.
20915 (Invoking grub-install): Likewise.
20916 (Interface): Add reference to `Menu entry editor'.
20917 (serial): Remove `--device' option.
20918
20919 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20920
20921 * docs/grub.texi (Configuration): New section, documenting
20922 configuration file generation using grub-mkconfig. I've left a slot
20923 for documenting the full shell scripting format but have not yet
20924 started on writing that up.
20925 (Invoking grub-mkconfig): New section.
20926
20927 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20930 (GNU GRUB manual): Likewise.
20931 (General commands): Update description of `terminfo' for GRUB 2.
20932
20933 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20934
20935 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20936 (GRUB_MOD_INIT): Fix capitalisation.
20937 * docs/grub.texi (Command-line and menu entry commands): Document
20938 gettext and gptsync commands.
20939
20940 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20941
20942 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20943 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20944
20945 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
20946
20947 Add btrfs probing support, currently only in the single-device case.
20948
20949 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20950 function.
20951 (grub_guess_root_device): Call find_root_device_from_mountinfo
20952 before looking in /dev.
20953
20954 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20957 GRUB_DISK_SIZE_UNKNOWN.
20958 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20959
20960 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
20961
20962 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20963 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20964 corrupted or not synced properly.
20965
20966 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20969 Reported by: Seth Goldberg.
20970
20971 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20972
20973 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20974 addition of dest.
20975 Reported by: Seth Goldberg.
20976
20977 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20980 Reported by: Seth Goldberg.
20981
20982 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20985 64-bit address as signed on MIPS.
20986
20987 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20988
20989 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20990 to the empty string.
20991
20992 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20993
20994 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20995
20996 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20997 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20998 * kern/misc.c (__enable_execute_stack): Disable on
20999 GRUB_MACHINE_EMU.
21000
21001 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
21002
21003 Make grub-probe work with symbolic links under /dev/mapper as well
21004 as with real block devices. The Linux world seems to be (at best)
21005 in transition here, and GRUB shouldn't get caught in the middle.
21006
21007 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21008 /dev/mapper.
21009
21010 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21013 input files (in which case exit zero).
21014
21015 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21016
21017 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21018 return NULL for various reasons even if it has a maximum-length
21019 buffer: for example, there might be a symlink loop, or the path
21020 might exceed PATH_MAX. If this happens, return NULL.
21021
21022 2010-05-27 Robert Millan <rmh@gnu.org>
21023
21024 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21025 partmap module to handle cross-partmap setups.
21026 Reported by Orestes Mas. Gràcies!
21027
21028 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21029
21030 * util/grub-mkrescue.in: Initialise override_dir rather than
21031 assuming that it's unset or empty in the environment.
21032
21033 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21034
21035 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21036 variable index into p_index to suppress a warning with -Wshadow.
21037
21038 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21039
21040 * INSTALL: Added flex >= 2.5.35 requirement.
21041
21042 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21045
21046 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 cmostest support.
21049
21050 * commands/i386/cmostest.c: New file.
21051 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21052 (cmostest_mod_SOURCES): New variable.
21053 (cmostest_mod_CFLAGS): Likewise.
21054 (cmostest_mod_LDFLAGS): Likewise.
21055 * conf/i386-pc.rmk: Likewise.
21056 * docs/grub.texi (Vendor power-on keys): New section.
21057 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21058 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21059 and GRUB_BUTTON_CMOS_ADDRESS.
21060 * util/grub.d/00_header.in: Handle powering-on by separate button.
21061
21062 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21065 Removed drawing_scrollbar argument. All users updated
21066 Fixes #29792.
21067 Reported by Jo Shields
21068
21069 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21070
21071 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21072 buffer since gfxterm handles double repaint.
21073
21074 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21077 * term/gfxterm.c (real_scroll): Likewise.
21078
21079 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21082 before calling BIOS.
21083
21084 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21085
21086 * include/grub/i18n.h: Always enable grub_gettext.
21087
21088 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21091 partition naming style.
21092
21093 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
21094
21095 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21096 not the first option.
21097
21098 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21099
21100 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21101
21102 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21103
21104 * util/misc.c: Move inclusion of <limits.h> to ...
21105 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21106
21107 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21108
21109 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21110 Fix merge error in NetBSD code.
21111 (find_partition_start) [__NetBSD__]: Likewise.
21112
21113 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21114
21115 Fix grub-mkrescue usage unit testing.
21116
21117 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21118
21119 2010-05-18 Christian Franke <franke@computer.org>
21120
21121 * util/grub.d/10_windows.in: Use path names instead of
21122 drive letters to prevent warning from Cygwin 1.7.
21123 Add drivemap command to menuentry if needed.
21124
21125 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21126
21127 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21128 gnumach and gnumach.gz.
21129
21130 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21131
21132 * include/grub/i18n.h (gettext): Inline instead of using #define.
21133 (grub_gettext): Likewise.
21134 (_): Likewise.
21135
21136 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21139 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21140 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21141 (main): Add a slash after pkglibdirroot.
21142
21143 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21144
21145 * util/grub-install.in: Add missing "in" keyword.
21146
21147 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21150 Reported by: Seth Goldberg.
21151
21152 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21155
21156 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21157
21158 * configure.ac: Check for Linux device-mapper support.
21159
21160 * util/hostdisk.c (device_is_mapped): New function.
21161 (find_partition_start): New function, partly broken out from
21162 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21163 device-mapper support added.
21164 (linux_find_partition): Use find_partition_start.
21165 (convert_system_partition_to_system_disk): Add `st' argument.
21166 Support Linux /dev/mapper/* devices if device-mapper support is
21167 available; only DM-RAID devices are understood at present.
21168 (find_system_device): Add `st' argument. Pass it to
21169 convert_system_partition_to_system_disk.
21170 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21171 find_system_device and convert_system_partition_to_system_disk. Use
21172 find_partition_start.
21173
21174 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21175 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21176 * util/deviceiter.c [__linux__]: Define MINOR.
21177 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21178 * util/mkdevicemap.c (grub_putchar): New function.
21179 (grub_getkey): New function.
21180 (grub_refresh): New function.
21181 (main): Set debug=all if -v -v is used.
21182
21183 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21184
21185 Fix build with non-GNU libcs.
21186
21187 * util/misc.c (canonicalize_file_name): Move to ...
21188 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21189 grub_make_system_path_relative_to_its_root.
21190
21191 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21192
21193 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21194 we handle finding grub-mkimage. Default to finding grub-mkimage in
21195 ${bindir} with program_transform_name applied, and provide a
21196 --grub-mkimage option to override this.
21197
21198 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 Remove grub-mkisofs.
21201
21202 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21203 (grub_mkisofs_SOURCES): Removed.
21204 (grub_mkisofs_CFLAGS): Removed.
21205 * util/mkisofs/defaults.h: Removed.
21206 * util/mkisofs/eltorito.c: Likewise.
21207 * util/mkisofs/exclude.h: Likewise.
21208 * util/mkisofs/hash.c: Likewise.
21209 * util/mkisofs/include/: Likewise.
21210 * util/mkisofs/include/fctldefs.h: Likewise.
21211 * util/mkisofs/include/mconfig.h: Likewise.
21212 * util/mkisofs/include/prototyp.h: Likewise.
21213 * util/mkisofs/include/statdefs.h: Likewise.
21214 * util/mkisofs/iso9660.h: Likewise.
21215 * util/mkisofs/joliet.c: Likewise.
21216 * util/mkisofs/match.c: Likewise.
21217 * util/mkisofs/match.h: Likewise.
21218 * util/mkisofs/mkisofs.c: Likewise.
21219 * util/mkisofs/mkisofs.h: Likewise.
21220 * util/mkisofs/msdos_partition.h: Likewise.
21221 * util/mkisofs/multi.c: Likewise.
21222 * util/mkisofs/name.c: Likewise.
21223 * util/mkisofs/rock.c: Likewise.
21224 * util/mkisofs/tree.c: Likewise.
21225 * util/mkisofs/write.c: Likewise.
21226
21227 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 Unify grub-mkimage accross platforms.
21230
21231 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21232 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21233 (grub_mkelfimage_SOURCES): Removed.
21234 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21235 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21236 (bin_UTILITIES): Add grub-mkimage.
21237 (grub_mkimage_SOURCES): New variable.
21238 (kernel_img_HEADERS): Remove machine/kernel.h.
21239 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21240 (pkglib_PROGRAMS): Add kernel.img.
21241 (kernel_img_HEADERS): Add machine/kernel.h.
21242 (kernel_img_FORMAT): Removed.
21243 (bin_UTILITIES): Remove grub-mkimage.
21244 (grub_mkimage_SOURCES): Removed.
21245 (grub_mkimage_CFLAGS): Likewise.
21246 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21247 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21248 (pkglib_PROGRAMS): Add kernel.img.
21249 (bin_UTILITIES): Remove grub-mkimage.
21250 (grub_mkimage_SOURCES): Removed.
21251 (grub_mkimage_CFLAGS): Likewise.
21252 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21253 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21254 (pkglib_PROGRAMS): Add kernel.img.
21255 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21256 (pkglib_PROGRAMS): Add kernel.img.
21257 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21258 (grub_mkimage_SOURCES): Removed.
21259 (grub_mkimage_CFLAGS): Likewise.
21260 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21261 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21262 (pkglib_PROGRAMS): Add kernel.img.
21263 (bin_UTILITIES): Remove grub-mkimage.
21264 (grub_mkimage_SOURCES): Removed.
21265 (grub_mkimage_CFLAGS): Likewise.
21266 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21267 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21268 (grub_mkimage_SOURCES): Removed.
21269 (grub_mkimage_CFLAGS): Likewise.
21270 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21271 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21272 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21273 (grub_pe32_optional_header): ... this.
21274 (grub_pe64_optional_header): ... and this. All users updated.
21275 (GRUB_PE32_PE32_MAGIC): Split into ..
21276 (GRUB_PE32_PE32_MAGIC): .. this.
21277 (GRUB_PE32_PE64_MAGIC): .. and this.
21278 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21279 * include/grub/elf.h (PT_GNU_STACK): New definition.
21280 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21281 * include/grub/i386/efi/kernel.h: Likewise.
21282 * include/grub/i386/kernel.h: Likewise.
21283 * include/grub/i386/pc/kernel.h: Likewise.
21284 * include/grub/i386/qemu/boot.h: Likewise.
21285 * include/grub/mips/kernel.h: Likewise.
21286 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21287 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21288 * include/grub/powerpc/kernel.h: Likewise.
21289 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21290 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21291 * include/grub/sparc64/kernel.h: Likewise.
21292 * include/grub/x86_64/efi/kernel.h: Likewise.
21293 * include/grub/x86_64/kernel.h: Likewise.
21294 * include/grub/offsets.h: New file.
21295 * include/grub/kernel.h (grub_module_info): Split into ...
21296 (grub_module_info32): ... this.
21297 (grub_module_info64): ... and this.
21298 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21299 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21300 (grub_boot_blocklist): Moved from here ...
21301 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21302 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21303 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21304 * include/grub/types.h (grub_target_to_host16): Removed.
21305 (grub_target_to_host32): Likewise.
21306 (grub_target_to_host64): Likewise.
21307 (grub_host_to_target16): Likewise.
21308 (grub_host_to_target32): Likewise.
21309 (grub_host_to_target64): Likewise.
21310 (grub_host_to_target_addr): Likewise.
21311
21312 Support grub-mkrescue for efi, coreboot and qemu.
21313
21314 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21315 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21316 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21317 * util/grub-mkrawimage.c: Moved from here ...
21318 * util/grub-mkimage.c: ... here. All users updated.
21319 (ALIGN_ADDR): Use image_target.
21320 (TARGET_NO_FIELD): New const.
21321 (image_target_desc): New type.
21322 (image_targets): New array.
21323 (grub_target_to_host64): Use image_target.
21324 (grub_target_to_host32): Likewise.
21325 (grub_target_to_host16): Likewise.
21326 (grub_host_to_target64): Likewise.
21327 (grub_host_to_target32): Likewise.
21328 (grub_host_to_target16): Likewise.
21329 (grub_host_to_target_addr): Likewise.
21330 (generate_image): Handle multiimage.
21331 (main): Require -O parameter. All users updated.
21332 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21333 util/efi/grub-mkimage.c
21334 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21335 New option --rom-directory.
21336 Use xorriso.
21337 * util/i386/efi/grub-mkimage.c: Removed.
21338 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21339 (grub_target_to_host32): Likewise.
21340 (grub_target_to_host64): Likewise.
21341 (grub_host_to_target16): Likewise.
21342 (grub_host_to_target32): Likewise.
21343 (grub_host_to_target64): Likewise.
21344 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21345 (grub_target_to_host32): Likewise.
21346 (grub_target_to_host64): Likewise.
21347 (grub_host_to_target16): Likewise.
21348 (grub_host_to_target32): Likewise.
21349 (grub_host_to_target64): Likewise.
21350
21351 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21352
21353 Source tree is reorganized for emu build.
21354
21355 * include/grub/util/console.h: Move from here...
21356 * include/grub/emu/console.h: ...to here.
21357 * include/grub/util/getroot.h: Move from here...
21358 * include/grub/emu/getroot.h: ...to here.
21359 * include/grub/util/hostdisk.h: Move from here...
21360 * include/grub/emu/hostdisk.h: ...to here.
21361 * util/console.c: Move from here...
21362 * kern/emu/console.c: ...to here.
21363 * util/getroot.c: Move from here...
21364 * kern/emu/getroot.c: ...to here.
21365 * util/grub-emu.c: Move from here...
21366 * kern/emu/main.c: ...to here.
21367 * util/hostdisk.c: Move from here...
21368 * kern/emu/hostdisk.c: ...to here.
21369 * util/hostfs.c: Move from here...
21370 * kern/emu/hostfs.c: ...to here.
21371 * util/mm.c: Move from here...
21372 * kern/emu/mm.c: ...to here.
21373 * util/pci.c: Move from here...
21374 * bus/emu/pci.c: ...to here.
21375 * util/sdl.c: Move from here...
21376 * video/emu/sdl.c: ...to here.
21377 * util/time.c: Move from here...
21378 * kern/emu/time.c: ...to here.
21379 * util/usb.c: Move from here...
21380 * bus/usb/emu/usb.c: ...to here.
21381
21382 * include/grub/emu/misc.h: New header for grub-emu functions.
21383 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21384
21385 * conf/any-emu.rmk: Rule updates for above renames.
21386 * conf/common.rmk: Likewise.
21387 * conf/i386-pc.rmk: Likewise.
21388 * conf/i386-qemu.rmk: Likewise.
21389 * conf/mips.rmk: Likewise.
21390 * conf/sparc64-ieee1275.rmk: Likewise.
21391 * conf/x86-efi.rmk: Likewise.
21392
21393 * disk/lvm.h: #include updates for above renames.
21394 * util/grub-mkrelpath.c: Likewise.
21395 * util/grub-probe.c: Likewise.
21396 * util/i386/pc/grub-setup.c: Likewise.
21397 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21398 * kern/emu/console.c: Likewise.
21399 * kern/emu/getroot.c: Likewise.
21400 * kern/emu/hostdisk.c: Likewise.
21401 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
21402
21403 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
21404 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
21405 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
21406 * util/misc.c: Remove grub-emu functions.
21407
21408 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 Fix gfxmenu crash.
21411 Reported by: Thorsten Grützmacher.
21412
21413 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
21414 timeout hook.
21415 (circprog_set_property): Register and unregister timeout hook.
21416 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
21417 (label_destroy): Free template. and unregister hook.
21418 (label_set_state): New function.
21419 (label_set_property): Handle templates and hooks.
21420 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
21421 timeout hook.
21422 (progress_bar_set_property): Register and unregister timeout hook.
21423 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
21424 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
21425 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
21426 (update_timeout_visit): Removed.
21427 (update_timeouts): New function.
21428 (redraw_timeouts): Likewise.
21429 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
21430 (grub_gfxmenu_clear_timeout): Likewise.
21431 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
21432 (grub_gfxmenu_timeout_notify): Likewise.
21433 (grub_gfxmenu_timeout_notifications): New external variable.
21434 (grub_gfxmenu_timeout_register): New function.
21435 (grub_gfxmenu_timeout_unregister): Likewise.
21436
21437 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21438
21439 Transform (broken) vga terminal into (working) vga video driver.
21440
21441 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
21442 video/i386/pc/vga.c.
21443 * include/grub/video.h (grub_video_driver_id):
21444 Add GRUB_VIDEO_DRIVER_VGA.
21445 * term/i386/pc/vga.c: Renamed to ...
21446 * video/i386/pc/vga.c: ...this
21447 (DEBUG_VGA): Removed.
21448 (CHAR_WIDTH): Likewise.
21449 (CHAR_HEIGHT): Likewise.
21450 (TEXT_WIDTH): Likewise.
21451 (TEXT_HEIGHT): Likewise.
21452 (DEFAULT_FG_COLOR): Likewise.
21453 (DEFAULT_BG_COLOR): Likewise.
21454 (colored_char): Likewise.
21455 (xpos): Likewise.
21456 (ypos): Likewise.
21457 (cursor_state): Likewise.
21458 (fg_color): Likewise.
21459 (bg_color): Likewise.
21460 (text_buf): Likewise.
21461 (page): Likewise.
21462 (font): Likewise.
21463 (framebuffer): New variable.
21464 (set_read_map): Disabled.
21465 (setup): New variable.
21466 (is_target): Likewise.
21467 (grub_vga_mod_init): Likewise.
21468 (grub_vga_mod_fini): Likewise.
21469 (check_vga_mem): Likewise.
21470 (write_char): Likewise.
21471 (write_cursor): Likewise.
21472 (scroll_up): Likewise.
21473 (grub_vga_putchar): Likewise.
21474 (grub_vga_getcharwidth): Likewise.
21475 (grub_vga_getwh): Likewise.
21476 (grub_vga_getxy): Likewise.
21477 (grub_vga_gotoxy): Likewise.
21478 (grub_vga_cls): Likewise.
21479 (grub_vga_setcolorstate): Likewise.
21480 (grub_vga_setcursor): Likewise.
21481 (grub_video_vga_init): New function.
21482 (grub_video_vga_setup): Likewise.
21483 (grub_video_vga_fini): Likewise.
21484 (update_target): Likewise.
21485 (grub_video_vga_blit_bitmap): Likewise.
21486 (grub_video_vga_blit_render_target): Likewise.
21487 (grub_video_vga_set_active_render_target): Likewise.
21488 (grub_video_vga_get_active_render_target): Likewise.
21489 (grub_video_vga_swap_buffers): Likewise.
21490 (grub_video_vga_set_palette): Likewise.
21491 (grub_video_vga_get_info_and_fini): Likewise.
21492 (grub_vga_term): Removed.
21493 (grub_video_vga_adapter): New variable.
21494 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21495 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
21496
21497 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 * video/readers/jpeg.c: Indented.
21500
21501 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 Various jpeg cleanups.
21504
21505 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
21506 (grub_jpeg_decode_quan_table): Use sizeof.
21507 (grub_jpeg_decode_du): Use ARRAY_SIZE.
21508
21509 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
21510
21511 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
21512 tables. Ignore non-last ac bit.
21513 (grub_jpeg_decode_quan_table): Likewise.
21514
21515 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
21518 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
21519 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21520 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
21521 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
21522 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
21523
21524 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
21527 error.
21528
21529 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
21532
21533 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
21536 condition.
21537
21538 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
21541 part.
21542
21543 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
21546 pointers.
21547
21548 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21551
21552 2010-05-01 Christian Franke <franke@computer.org>
21553
21554 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21555 Remove broken Cygwin path conversion.
21556 * util/misc.c: [__CYGWIN__] Add include and define.
21557 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21558 for Cygwin 1.7.
21559 (make_system_path_relative_to_its_root): Simplify loop, replace early
21560 return by break.
21561 [__CYGWIN__] Add conversion to win32 path.
21562 Include "/" case in trailing slash removal.
21563
21564 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21567 Reported by: Seth Goldberg
21568
21569 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * commands/help.c (grub_cmd_help): Fix a typo.
21572 Reported by: Seth Goldberg
21573
21574 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21577 name and add N_.
21578 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21579 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21580 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21581 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21582 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21583 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21584 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21585 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21586 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21587 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21588 * normal/context.c (GRUB_MOD_INIT): Likewise.
21589 * normal/main.c (GRUB_MOD_INIT): Likewise.
21590 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21591 * term/serial.c (GRUB_MOD_INIT): Likewise.
21592 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21593
21594 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21597 extra == 0.
21598
21599 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21600
21601 * commands/iorw.c: New file.
21602 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21603 (iorw_mod_SOURCES): New variable.
21604 (iorw_mod_CFLAGS): Likewise.
21605 (iorw_mod_LDFLAGS): Likewise.
21606
21607 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 Hotkey support
21610
21611 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21612 * normal/main.c (hotkey_aliases): New variable.
21613 (grub_normal_add_menu_entry): Parse "--hotkey".
21614 * normal/menu_text.c (run_menu): Handle hotkeys.
21615
21616 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * kern/i386/coreboot/init.c (grub_machine_init): Call
21619 grub_machine_mmap_init on qemu.
21620
21621 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21622
21623 * boot/i386/qemu/boot.S: Add a missing .code16.
21624
21625 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21626
21627 Use LBIO on coreboot.
21628
21629 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21630 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21631 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21632 New declaration.
21633 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21634 grub_machine_mmap_init on coreboot.
21635 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21636 GRUB_LINUXBIOS_MEMBER_LINK.
21637 (grub_machine_mmap_iterate): Fix declaration.
21638 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21639
21640 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 Split coreboot and multiboot ports.
21643
21644 * conf/i386-multiboot.rmk: New file.
21645 * configure.ac: Add multiboot port.
21646 * include/grub/i386/multiboot/boot.h: New file.
21647 * include/grub/i386/multiboot/console.h: Likewise.
21648 * include/grub/i386/multiboot/init.h: Likewise.
21649 * include/grub/i386/multiboot/kernel.h: Likewise.
21650 * include/grub/i386/multiboot/loader.h: Likewise.
21651 * include/grub/i386/multiboot/memory.h: Likewise.
21652 * include/grub/i386/multiboot/serial.h: Likewise.
21653 * include/grub/i386/multiboot/time.h: Likewise.
21654 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21655 * loader/multiboot.c: Likewise.
21656 * loader/multiboot_mbi2.c: Likewise.
21657 * util/grub-mkrescue.in: Generate multiboot rescue.
21658
21659 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21662
21663 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21664
21665 Merge handling of input and output terminals. Fix a hang.
21666
21667 * commands/terminal.c (abstract_terminal): New struct.
21668 (handle_command): New function. Based on grub_cmd_terminal_input.
21669 (grub_cmd_terminal_input): Use handle_command.
21670 (grub_cmd_terminal_output): Use handle_command.
21671
21672 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21673
21674 Fix comment handling.
21675
21676 * tests/grub_script_comments.in: New testcase.
21677 * conf/tests.rmk: Rules for new testcase.
21678 * script/yylex.l: Updated flex rules.
21679
21680 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21681
21682 * docs/grub.texi (play): Document that zero pitches produce rests.
21683 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21684 if argc is 1.
21685
21686 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21689 autogen issues.
21690
21691 2010-04-26 Christian Franke <franke@computer.org>
21692
21693 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21694 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21695 (grub_get_prefix): Remove function.
21696 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21697 make_system_path_relative_to_its_root ().
21698 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21699
21700 2010-04-24 Christian Franke <franke@computer.org>
21701
21702 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21703 (kernel_img_LDFLAGS): Remove -static-libgcc.
21704
21705 2010-04-24 Christian Franke <franke@computer.org>
21706
21707 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21708 and CHECK_END_SYMBOL if grub-emu is built.
21709 Unset TARGET_OBJ2ELF if grub-emu is built
21710 without module support.
21711
21712 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
21713
21714 Nilfs2 support.
21715
21716 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21717 (grub_fstest_SOURCES): Likewise.
21718 (pkglib_MODULES): Add nilfs2.mod.
21719 (nilfs2_mod_SOURCES): New variable.
21720 (nilfs2_mod_CFLAGS): Likewise.
21721 (nilfs2_mod_LDFLAGS): Likewise.
21722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21723 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21724 * fs/nilfs2.c: New file.
21725
21726 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21729 is not supported.
21730
21731 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21732
21733 Add grub-mkconfig support for NetBSD.
21734
21735 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21736 * util/grub-mkconfig.in: export new NetBSD specific variables.
21737 * po/POTFILES-shell: added 10_netbsd.in.
21738 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21739
21740 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21741
21742 Fix emu build with grub-emu-pci and grub-emu-modules.
21743
21744 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21745 functions.
21746 * include/grub/libpciaccess.h: New file.
21747 * conf/any-emu.rmk: Update kernel headers for emu build.
21748
21749 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21752
21753 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21756
21757 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21758
21759 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21760 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21761 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21762 util/ieee1275/ofpath.c.
21763 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21764 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21765 * include/grub/sparc64/ieee1275/boot.h
21766 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21767 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21768 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21769 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21770 const char *.
21771 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21772 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21773 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21774 install.
21775
21776 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21777
21778 * util/grub-mkconfig.in: Corrected two == equality tests.
21779 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21780 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21781 expect a number appended to it.
21782 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21783 expects a number appended to it.
21784
21785 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21786
21787 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21788
21789 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 * util/hostdisk.c (make_device_name): Change to new partition naming.
21792
21793 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21794
21795 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21796
21797 2010-04-17 Christian Franke <franke@computer.org>
21798
21799 * Makefile.in: Add missing localedir setting.
21800
21801 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
21802
21803 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21804 mistake in r2156. Noticed by Anthony Fok.
21805
21806 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21807 @localedir@.
21808 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21809
21810 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21811
21812 Fix a spurious, uninitialized variable warning.
21813
21814 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21815 Initialize variable, shdr.
21816 (grub_freebsd_load_elfmodule): Likewise.
21817 (grub_freebsd_load_elf_meta): Likewise.
21818
21819 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21820
21821 Fix for escaped dollar in double quoted strings.
21822
21823 * script/yylex.l: Updated flex rules.
21824 * conf/tests.rmk: Rule for new testcase.
21825 * tests/grub_script_dollar.in: New testcase.
21826
21827 2010-04-13 Carles Pina i Estany <carles@pina.cat>
21828 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
21829
21830 Enclose all translated strings in grub.cfg in single quotes, and
21831 escape them appropriately (Ubuntu bug #552921).
21832
21833 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21834 * util/grub.d/10_hurd.in: Use it.
21835 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21836 * util/grub.d/10_linux.in (linux_entry): Likewise.
21837
21838 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 Fix cygwin compilation.
21841
21842 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21843 * include/grub/misc.h (__register_frame_info)
21844 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
21845 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21846 * kern/misc.c (__register_frame_info)
21847 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
21848 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
21849
21850 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21851
21852 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
21853
21854 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Unify libgcc processing.
21857
21858 * Makefile.in (kernel_img_LDFLAGS): New variable.
21859 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
21860 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
21861 overwriting.
21862 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
21863 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
21864 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
21865 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
21866 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
21867 overwriting. Remove -lgcc and -static-libgcc
21868 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
21869 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21870 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
21871 (kernel_img_LDFLAGS): Append instead of overwriting.
21872 Remove -lgcc and -static-libgcc
21873 * conf/sparc64-ieee1275.rmk: Likewise.
21874 * include/grub/powerpc/libgcc.h: Move to ...
21875 * include/grub/libgcc.h: .. this.
21876 * include/grub/libgcc.h: Don't export most of the function on x86.
21877 (__bswapsi2): New export.
21878 (__bswapdi2): Likewise.
21879 * include/grub/mips/libgcc.h: Removed.
21880 * include/grub/sparc64/libgcc.h: Likewise.
21881
21882 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
21885 disk_info_msg (conflicts with gettexting into languages with cases).
21886
21887 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
21888
21889 Add grub-probe support for NetBSD.
21890
21891 * util/getroot.c (find_root_device): Convert block device to
21892 character device on NetBSD.
21893 * util/probe.c (probe): Require character device on NetBSD.
21894 * util/hostdisk.c: NetBSD specific headers.
21895 (configure_device_driver): new function to tune device driver
21896 parameters (currently only for NetBSD floppy driver).
21897 (grub_util_biosdisk_open): NetBSD specific code (get disk size
21898 via disklabel ioctl).
21899 (open_device): call configure_device_driver on NetBSD.
21900 (convert_system_partition_to_system_disk): NetBSD specific code.
21901 (device_is_wholedisk): Likewise.
21902 (grub_util_biosdisk_get_grub_dev): Likewise.
21903 (make_device_name): Fixed a typo in bsd_part_str.
21904 * configure.ac: check for opendisk() and getrawpartition() on
21905 NetBSD and set LIBUTIL.
21906 * Makefile.in: add LIBUTIL to LIBS.
21907
21908 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21909
21910 Documentation fix.
21911
21912 * util/grub-script-check.c: Better help message.
21913
21914 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21915
21916 Fix FreeBSD build.
21917
21918 * configure.ac: Flex version check.
21919 * conf/common.rmk: Add -Wno-error to sh.mod.
21920 * script/yylex.l: Remove all #pragma.
21921
21922 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21925 prototype.
21926 Reported by: Seth Goldberg.
21927
21928 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21931 Rename "module" to "module2".
21932 Reported by: Seth Goldberg.
21933
21934 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21937 EXPORT_FUNC.
21938 Reported by: Seth Goldberg.
21939
21940 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * lib/posix_wrap/locale.h: Add missing file.
21943 Reported by: Seth Goldberg.
21944
21945 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 grub-emu module load support.
21948
21949 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21950 NO_DYNAMIC_MODULES switched to this.
21951 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21952 (CFLAGS): Likewise.
21953 * conf/any-emu.rmk: Generate symlist.
21954 (kernel_img_HEADERS): Add util/datetime.h.
21955 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21956 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21957 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21958 kern/$(target_cpu)/cache.S.
21959 * configure.ac (grub-emu-modules): New option.
21960 * genmk.rb: Handle multiple source lists.
21961 * include/grub/sdl.h: New file.
21962 * include/grub/libusb.h: Likewise.
21963 * util/grub-emu.c (main): Hanle (host) root.
21964 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21965 GRUB_ERR_UNKNOWN_DEVICE.
21966 * util/misc.c: Move mm functions to ...
21967 * util/mm.c: ... here. All users updated.
21968
21969 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21972 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21973 missing files.
21974 (maintainer-clean): Remove libgcrypt-grub.
21975
21976 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21979
21980 2010-04-09 EFI Coder <eficoder@hotmail.com>
21981
21982 * normal/menu_text.c (print_message): Clean up the message and show
21983 the Fn information when on EFI
21984 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21985
21986 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21989 All users updated.
21990 * normal/crypto.c (read_crypto_list): Likewise.
21991 * normal/dyncmd.c (read_command_list): Likewise.
21992 * normal/term.c (read_terminal_list): Likewise.
21993 * normal/main.c (read_lists): Use explicit prefix.
21994 (read_lists_hook): Use read_lists.
21995 (grub_normal_execute): Likewise.
21996
21997 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21998
21999 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22000 Reported by: Thomas Schmitt.
22001 Add -no-emul-boot to grub-mkisofs parameters.
22002
22003 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * font/font.c: Indented.
22006
22007 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22008
22009 Elif support to GRUB script (by Deepak Vankadaru).
22010
22011 * tests/grub_script_if.in: New testcase.
22012 * conf/tests.rmk: Rule for new testcase.
22013 * script/parser.y: Grammar rules for elif.
22014
22015 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22016
22017 While and until loops support to GRUB script.
22018
22019 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22020 (grub_script_create_cmdwhile): New function prototype.
22021 (grub_script_execute_cmdwhile): New function prototype.
22022 * script/execute.c (grub_script_execute_cmdwhile): New function.
22023 * script/parser.y (command): New commands.
22024 (whilecmd): New grammar rule.
22025 (untilcmd): New grammar rule.
22026 * script/script.c (grub_script_create_cmdwhile): New function.
22027 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22028 function.
22029
22030 * tests/grub_script_while1.in: New testcase.
22031 * conf/tests.rmk: Rule for new testcase.
22032
22033 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22036 as *.jpg.
22037
22038 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
22039
22040 GRUB_BACKGROUND support.
22041
22042 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22043 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22044
22045 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 Load fonts and modules for gfxmenu in grub-mkconfig.
22048 Idea by: Mario Vazquez
22049
22050 * util/grub.d/00_header.in: Load pf2 and image modules.
22051
22052 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 grub-mkconfig multiple terminal support.
22055
22056 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22057 * util/grub.d/00_header.in: Likewise.
22058
22059 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22062 we use cd $(srcdir).
22063
22064 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
22065
22066 * util/grub.d/10_linux.in: Only use the first word of
22067 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22068 spaces in GRUB_DISTRIBUTOR.
22069 * util/grub.d/10_kfreebsd.in: Likewise.
22070 * util/grub.d/10_hurd.in: Likewise.
22071
22072 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22073
22074 Fix unit testing framework for Qemu 0.12.
22075
22076 * tests/util/grub-shell.in: Remove -serial stdio option.
22077
22078 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 POSIX header file wrappers.
22081
22082 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22083 equivalents.
22084 * lib/posix_wrap/ctype.h: Likewise.
22085 * lib/posix_wrap/errno.h: Likewise.
22086 * lib/posix_wrap/langinfo.h: Likewise.
22087 * lib/posix_wrap/limits.h: Likewise.
22088 * lib/posix_wrap/localcharset.h: Likewise.
22089 * lib/posix_wrap/stdint.h: Likewise.
22090 * lib/posix_wrap/stdio.h: Likewise.
22091 * lib/posix_wrap/stdlib.h: Likewise.
22092 * lib/posix_wrap/string.h: Likewise.
22093 * lib/posix_wrap/sys/types.h: Likewise.
22094 * lib/posix_wrap/unistd.h: Likewise.
22095 * lib/posix_wrap/wchar.h: Likewise.
22096 * lib/posix_wrap/wctype.h: Likewise.
22097 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22098 (grub_script.yy.h): Likewise.
22099 * script/yylex.l: Remove POSIX emulation #defines.
22100 * Makefile.in (POSIX_CFLAGS): New variable.
22101 (GNULIB_UTIL_CFLAGS): Likewise.
22102
22103 Regexp support.
22104
22105 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22106 (regexp_mod_SOURCES): New variable.
22107 (regexp_mod_CFLAGS): Likewise.
22108 (regexp_mod_LDFLAGS): Likewise.
22109 * commands/regexp.c: New file.
22110 * gnulib/regcomp.c: New file. Imported from gnulib.
22111 * gnulib/regex.c: Likewise.
22112 * gnulib/regex_internal.c: Likewise.
22113 * gnulib/regex_internal.h: Likewise.
22114 * gnulib/regexec.c: Likewise.
22115 * gnulib/regex.h: Likewise.
22116
22117 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22120 unsupported video mode types.
22121
22122 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22123
22124 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22125
22126 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22129 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22130
22131 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 Remove unused grub_vga_get_font.
22134
22135 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22136 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22137
22138 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22139
22140 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22141 * include/grub/misc.h: Likewise.
22142
22143 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22144
22145 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22146 for which failure is fatal.
22147
22148 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22149
22150 * util/grub-install.in: Use mkdir -p to create grub directory.
22151 * util/i386/efi/grub-install.in: Likewise.
22152 * util/ieee1275/grub-install.in: Likewise.
22153
22154 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22155
22156 * Makefile.in (LEX): new variable.
22157
22158 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22159
22160 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22161 `=' and added double quotes on operands of this equality test.
22162
22163 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 * Makefile.in (uninstall): Remove a leftover debug echo.
22166 Reported by: Grégoire Sutre
22167
22168 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22169
22170 MIPS multiboot2 support.
22171
22172 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22173 (multiboot2_mod_SOURCES): New variable.
22174 (multiboot2_mod_CFLAGS): Likewise.
22175 (multiboot2_mod_LDFLAGS): Likewise.
22176 (multiboot2_mod_ASFLAGS): Likewise.
22177 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22178 definition.
22179 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22180 (MULTIBOOT_MBI_REGISTER): Likewise.
22181 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22182 (MULTIBOOT_ELF32_MACHINE): Likewise.
22183 (MULTIBOOT_ELF64_MACHINE): Likewise.
22184 * include/grub/mips/multiboot.h: New file.
22185 * include/grub/video.h (grub_video_driver_id): New type
22186 GRUB_VIDEO_DRIVER_SM712.
22187 (grub_video_get_info_and_fini): Export.
22188 (grub_video_get_palette): Likewise.
22189 (grub_video_get_driver_id): Likewise.
22190 * include/multiboot2.h: Resynced with spec.
22191 * loader/i386/multiboot.c: Moved from here ...
22192 * loader/multiboot.c: ... here. All users updated.
22193 (grub_multiboot_boot): Use platform-specific macros.
22194 * loader/i386/multiboot_elfxx.c: Moved from here ...
22195 * loader/multiboot_elfxx.c: ... here. All users updated.
22196 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22197 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22198 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22199
22200 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 Import gnulib argp module.
22203
22204 * gnulib/argp-ba.c: New file.
22205 * gnulib/argp-eexst.c: Likewise.
22206 * gnulib/argp-fmtstream.c: Likewise.
22207 * gnulib/argp-fmtstream.h: Likewise.
22208 * gnulib/argp-fs-xinl.c: Likewise.
22209 * gnulib/argp-help.c: Likewise.
22210 * gnulib/argp-namefrob.h: Likewise.
22211 * gnulib/argp-parse.c: Likewise.
22212 * gnulib/argp-pin.c: Likewise.
22213 * gnulib/argp-pv.c: Likewise.
22214 * gnulib/argp-pvh.c: Likewise.
22215 * gnulib/argp-version-etc.c: Likewise.
22216 * gnulib/argp-version-etc.h: Likewise.
22217 * gnulib/argp-xinl.c: Likewise.
22218 * gnulib/argp.h: Likewise.
22219
22220 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * kern/device.c (grub_device_iterate): Clear errors after failed
22223 opening device.
22224
22225 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22228 returned by firmware.
22229
22230 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22233 compilation on coreboot and qemu
22234
22235 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22236
22237 * include/multiboot2.h: Resync with spec.
22238
22239 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 Multiboot2 tag support
22242
22243 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22244 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22245 Remove loader/multiboot_loader.c.
22246 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22247 (grub_multiboot2_real_boot): Likewise.
22248 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22249 (grub_get_multiboot_mmap_count): New proto.
22250 (grub_fill_multiboot_mmap): Likewise.
22251 (grub_multiboot_set_video_mode): Likewise.
22252 (grub_multiboot_set_console): Likewise.
22253 (grub_multiboot_load): Likewise.
22254 (grub_multiboot_load_elf): Likewise.
22255 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22256 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22257 * include/multiboot.h: Resynced with specification.
22258 * include/multiboot2.h: Resynced with specification.
22259 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22260 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22261 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22262 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22263 users updated.
22264 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22265 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22266 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22267 Removed.
22268 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22269 Moved from here...
22270 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22271 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22272 Moved from here...
22273 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22274 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22275 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22276 All users updated.
22277 * loader/i386/multiboot_mbi2.c: New file.
22278
22279 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 Resync with gnulib.
22282
22283 * Makefile.in (GNULIB_CFLAGS): New variable.
22284 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22285 (grub_script_check_CFLAGS): New variable.
22286 * gnulib/alloca.h: Resync with gnulib.
22287 * gnulib/error.c: Likewise.
22288 * gnulib/error.h: Likewise.
22289 * gnulib/fnmatch.c: Likewise.
22290 * gnulib/fnmatch_loop.c: Likewise.
22291 * gnulib/getdelim.c: Likewise.
22292 * gnulib/getline.c: Likewise.
22293 * gnulib/getopt.c: Likewise.
22294 * gnulib/getopt1.c: Likewise.
22295 * gnulib/getopt_int.h: Likewise.
22296 * gnulib/gettext.h: Likewise.
22297 * gnulib/progname.c: Likewise.
22298 * gnulib/progname.h: Likewise.
22299
22300 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22301
22302 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22303 which is the case with --disabled-nls.
22304
22305 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22306 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22307 * util/misc.c: Likewise.
22308 * util/mkisofs/mkisofs.c: Likewise.
22309 * util/mkisofs/mkisofs.h: Likewise.
22310
22311 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 Simplify Apple CC support.
22314
22315 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22316 Add 0 byte at the end not to have a symbol with empty target.
22317 * mmap/i386/pc/mmap_helper.S: Likewise.
22318 * genmk.rb: Ignore errors 2030 and 2050.
22319 * kern/i386/pc/startup.S: Use LOCAL when possible.
22320
22321 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22322
22323 Testcase and the fix for final semicolon on cmdline.
22324
22325 * tests/grub_script_final_semicolon.in: New testcase.
22326 * conf/tests.rmk: Rules for the new testcase.
22327 * script/parser.y: Grammar fix.
22328
22329 2010-03-26 BVK Chaitanya <bvk@localhost>
22330
22331 Blank lines testcase for GRUB script.
22332
22333 * tests/grub_script_blanklines.in: New testcase.
22334 * conf/tests.rmk: Rules for the new testcase.
22335
22336 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 Don't use __FILE__.
22339
22340 * genmk.rb: Add -DGRUB_FILE to all C targets.
22341 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22342 * include/grub/list.h: Likewise.
22343 * include/grub/misc.h: Likewise.
22344 * include/grub/mm.h: Likewise.
22345 * include/grub/test.h: Likewise.
22346 * kern/mm.c: Likewise.
22347 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22348
22349 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22350
22351 Sunpc partitions support.
22352
22353 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22354 (grub_fstest_SOURCES): Likewise.
22355 (pkglib_MODULES): Add part_sunpc.mod.
22356 (part_sunpc_mod_SOURCES): New variable.
22357 (part_sunpc_mod_CFLAGS): Likewise.
22358 (part_sunpc_mod_LDFLAGS): Likewise.
22359 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22360 * partmap/sunpc.c: New file.
22361
22362 2010-03-26 BVK Chaitanya <bvk@localhost>
22363
22364 For loop support to GRUB script.
22365
22366 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22367 (grub_script_create_cmdfor): New function prototype.
22368 (grub_script_execute_cmdfor): New function prototype.
22369 * script/execute.c (grub_script_execute_cmdfor): New function.
22370 * script/parser.y (command): New for command.
22371 (forcmd): New grammar rule.
22372 * script/script.c (grub_script_create_cmdfor): New function.
22373 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22374 function.
22375 * tests/grub_script_for1.in: New testcase.
22376 * conf/tests.rmk: Rules for new testcase.
22377
22378 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 Nested partitions
22381
22382 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22383 'partition' is NULL, grub_partition_get_start already does that.
22384 * commands/loadenv.c (check_blocklists): Likewise.
22385 (write_blocklists): Likewise.
22386 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
22387 (grub_fstest_SOURCES): Likewise.
22388 (pkglib_MODULES): Add part_bsd.mod.
22389 (part_bsd_mod_SOURCES): New variable.
22390 (part_bsd_mod_CFLAGS): Likewise.
22391 (part_bsd_mod_LDFLAGS): Likewise.
22392 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
22393 (grub_emu_SOURCES): Likewise.
22394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22395 * include/grub/bsdlabel.h: New file.
22396 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
22397 'get_name'.
22398 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
22399 (grub_partition_map_list): New variable.
22400 (grub_partition_map_register): Inline.
22401 (grub_partition_map_unregister): Likewise.
22402 (FOR_PARTITION_MAPS): New macro.
22403 (grub_partition_map_iterate): Removed.
22404 (grub_partition_get_start): Handle nested partitions.
22405 * include/grub/msdos_partition.h: Remove bsd-related entries.
22406 (grub_pc_partition): Remove.
22407 * kern/disk.c (grub_disk_close): Free partition data.
22408 (grub_disk_adjust_range): Handle nested partitions.
22409 * kern/partition.c (grub_partition_map_probe): New function.
22410 (grub_partition_probe): Parse name to number, handle subpartitions.
22411 (get_partmap): New function.
22412 (grub_partition_iterate): Handle subpartitions.
22413 (grub_partition_get_name): Likewise.
22414 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
22415 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
22416 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
22417 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
22418 Set 'number'.
22419 (acorn_partition_map_probe): Remove.
22420 (acorn_partition_map_get_name): Likewise.
22421 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
22422 Set 'number'.
22423 Set 'index' to 0 since there can be only one partition entry per sector.
22424 (amiga_partition_map_probe): Remove.
22425 (amiga_partition_map_get_name): Likewise.
22426 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
22427 Set 'number'.
22428 Set 'offset' and 'index' to real positions of partitions.
22429 (apple_partition_map_probe): Remove.
22430 (apple_partition_map_get_name): Likewise.
22431 * partmap/bsdlabel.c: New file.
22432 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
22433 Set 'number'.
22434 Allocate 'data' so it can be correctly freed.
22435 Set 'index' to offset inside sector.
22436 (gpt_partition_map_probe): Remove.
22437 (gpt_partition_map_get_name): Likewise.
22438 * partmap/msdos.c (grub_partition_parse): Remove.
22439 (pc_partition_map_iterate): Don't force raw access.
22440 Set 'number'.
22441 Make 'ext_offset' a local variable.
22442 (pc_partition_map_probe): Remove.
22443 (pc_partition_map_get_name): Remove.
22444 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
22445 Set 'number'.
22446 (sun_partition_map_probe): Remove.
22447 (sun_partition_map_get_name): Likewise.
22448 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
22449 (grub_pcpart_type): Likewise.
22450 * util/hostdisk.c (open_device): Handle new numbering scheme.
22451 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
22452 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
22453 * util/grub-probe.c (probe_partmap): Handle nested paritions.
22454 * util/grub-install.in: Insert all subpartition modules.
22455 * util/ieee1275/grub-install.in: Likewise.
22456
22457 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
22458
22459 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
22460 grammar.
22461
22462 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
22463
22464 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
22465
22466 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
22467
22468 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
22469 match where 'make install' puts them.
22470 * util/i386/efi/grub-install.in: Likewise.
22471
22472 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
22473
22474 * .bzrignore: Add gentrigtables, grub-script-check,
22475 grub_script_check_init.c, grub_script_check_init.h, and
22476 trigtables.c.
22477
22478 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
22479
22480 * kern/parser.c: Indented.
22481
22482 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
22485
22486 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22489 alpha_mask_size == 0 case.
22490
22491 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22492
22493 GRUB shell lexer and parser improvements.
22494
22495 * conf/any-emu.rmk: Build rule updates.
22496 * conf/common.rmk: Likewise.
22497 * conf/i386-coreboot.rmk: Likewise.
22498 * conf/i386-efi.rmk: Likewise.
22499 * conf/i386-ieee1275.rmk: Likewise.
22500 * conf/i386-pc.rmk: Likewise.
22501 * conf/powerpc-ieee1275.rmk: Likewise.
22502 * conf/x86_64-efi.rmk: Likewise.
22503
22504 * configure.ac: Configure check for flex.
22505
22506 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
22507 types.
22508 (grub_lexer_param): Struct member updates.
22509 (grub_parser_param): Likewise.
22510 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
22511 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
22512 (grub_script_lexer_init): Prototype update.
22513 (grub_script_lexer_record_start): Likewise.
22514 (grub_script_lexer_record_stop): Likewise.
22515 (grub_script_lexer_yywrap): New function prototype.
22516 (grub_script_lexer_fini): Likewise.
22517 (grub_script_execute_argument_to_string): Removed by...
22518 (grub_script_execute_argument_to_argv): ...better version.
22519
22520 * script/execute.c (ROUND_UPTO): New macro.
22521 (grub_script_execute_cmdline): Out of memory fixes.
22522 (grub_script_execute_menuentry): Likewise.
22523 (grub_script_execute_argument_to_string): Removed. Update all
22524 users by...
22525 (grub_script_execute_argument_to_argv): ...better version.
22526 * script/function.c (grub_script_function_create): Use
22527 grub_script_execute_argument_to_argv instead of
22528 grub_script_execute_argument_to_string.
22529
22530 * script/lexer.c (check_varstate): Removed.
22531 (check_textstate): Removed.
22532 (grub_script_lexer_record_start): Likewise.
22533 (grub_script_lexer_record_stop): Likewise.
22534 (recordchar): Replaced with...
22535 (grub_script_lexer_record): ...new function.
22536 (nextchar): Removed.
22537 (grub_script_lexer_init): Rewritten.
22538 (grub_script_yylex): Rewritten.
22539 (append_newline): New function.
22540 (grub_script_lexer_yywrap): New function.
22541 (grub_script_lexer_fini): New function.
22542 (grub_script_yyerror): Sets error flag.
22543
22544 * script/yylex.l: New file.
22545 (grub_lexer_yyfree): Wrapper for flex yyffre.
22546 (grub_lexer_yyalloc): Likewise.
22547 (grub_lexer_yyrealloc): Likewise.
22548 * script/parser.y: Refactored.
22549
22550 * script/script.c (grub_script_arg_add): Out of memory fixes.
22551 (grub_script_add_arglist): Likewise.
22552 (grub_script_create_cmdline): Likewise.
22553 (grub_script_create_cmdmenu): Likewise.
22554 (grub_script_add_cmd): Likewise.
22555 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22556 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22557 unnecessary code.
22558
22559 * tests/grub_script_echo1.in: New testcase.
22560 * tests/grub_script_vars1.in: New testcase.
22561 * tests/grub_script_echo_keywords.in: New testcase.
22562
22563 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22564
22565 Remove some redundancy in build system.
22566
22567 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22568 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22569 (TARGET_LDFLAGS): Add -nostdlib.
22570 (TARGET_IMG_LDFLAGS): Likewise.
22571 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22572 anything since mmap isn't available.
22573 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22574 Add util/time.c.
22575 (pkglib_MODULES): Remove reboot.mod.
22576 (reboot_mod_SOURCES): Removed.
22577 (reboot_mod_CFLAGS): Likewise.
22578 (reboot_mod_LDFLAGS): Likewise.
22579 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22580 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22581 (DEFSYMFILES): Add kernel_syms.lst.
22582 (kernel_img_HEADERS): Add common headers.
22583 (symlist.c): New target.
22584 (kernel_syms.lst): Likewise.
22585 (pkglib_MODULES): Add memdisk.mod.
22586 (memdisk_mod_SOURCES): New variable.
22587 (memdisk_mod_CFLAGS): Likewise.
22588 (memdisk_mod_LDFLAGS): Likewise.
22589 (pkglib_MODULES): Add reboot.mod.
22590 (reboot_mod_SOURCES): New variable.
22591 (reboot_mod_CFLAGS): Likewise.
22592 (reboot_mod_LDFLAGS): Likewise.
22593 (pkglib_MODULES): Add date.mod.
22594 (date_mod_SOURCES): New variable.
22595 (date_mod_CFLAGS): Likewise.
22596 (date_mod_LDFLAGS): Likewise.
22597 (pkglib_MODULES): Add datehook.mod.
22598 (datehook_mod_SOURCES): New variable.
22599 (datehook_mod_CFLAGS): Likewise.
22600 (datehook_mod_LDFLAGS): Likewise.
22601 (pkglib_MODULES): Add lsmmap.mod.
22602 (lsmmap_mod_SOURCES): New variable.
22603 (lsmmap_mod_CFLAGS): Likewise.
22604 (lsmmap_mod_LDFLAGS): Likewise.
22605 (pkglib_MODULES): Add boot.mod.
22606 (boot_mod_SOURCES): New variable.
22607 (boot_mod_CFLAGS): Likewise.
22608 (boot_mod_LDFLAGS): Likewise.
22609 * conf/i386-coreboot.rmk: Removed redundant parts.
22610 * conf/i386-ieee1275.rmk: Likewise.
22611 * conf/i386-pc.rmk: Likewise.
22612 * conf/mips-yeeloong.rmk: Likewise.
22613 * conf/mips.rmk: Likewise.
22614 * conf/powerpc-ieee1275.rmk: Likewise.
22615 * conf/sparc64-ieee1275.rmk: Likewise.
22616 * conf/x86_64-efi.rmk: Likewise.
22617 * conf/i386-coreboot.rmk: Moved qemu parts ..
22618 * conf/i386-qemu.rmk: ... here
22619 * conf/i386-efi.rmk: Moved common parts to...
22620 * conf/x86-efi.rmk: ... here.
22621 * conf/i386.rmk: Added modules common to all x86 variants.
22622 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22623 * disk/memdisk.c: Remove grub/machine/kernel.h.
22624 * gensymlist.sh.in: Include symbol.h.
22625 * hook/datehook.c: Correct module name.
22626 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22627 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22628 * include/grub/i386/efi/serial.h: New file.
22629 * include/grub/x86_64/efi/serial.h: Likewise.
22630 * util/time.c: Likewise.
22631 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22632
22633 2010-03-14 Colin King <colin.king@ubuntu.com>
22634 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22635
22636 Shrink the pre-partition-table part of boot.img by eight bytes.
22637
22638 * boot/i386/pc/boot.S (ERR): New macro.
22639 (chs_mode): Use ERR.
22640 (geometry_error): Likewise.
22641 (hd_probe_error): Remove. This is only used once, so we wrwite
22642 it inline instead.
22643 (read_error): Instead of printing read_error_string, just set up
22644 %si and fall through to ...
22645 (error_message): ... this new function, also used by ERR.
22646
22647 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22648
22649 Speed up consecutive hostdisk operations on the same device.
22650
22651 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22652 (grub_util_biosdisk_open): Initialise disk->data.
22653 (struct linux_partition_cache): New structure.
22654 (linux_find_partition): Cache partition start positions; these are
22655 expensive to compute on every read and write.
22656 (open_device): Cache open file descriptor in disk->data, so that we
22657 don't have to reopen it and flush the buffer cache for consecutive
22658 operations on the same device.
22659 (grub_util_biosdisk_close): New function.
22660 (grub_util_biosdisk_dev): Set `close' member.
22661
22662 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22663 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22664 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22665 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22666 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22667
22668 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22669
22670 Compile parts of grub-emu as modules.
22671
22672 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22673 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22674 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22675 (all-local): Add $(GRUB_EMU).
22676 (install-local): Install $(GRUB_EMU).
22677 (uninstall): Uninstall $(GRUB_EMU).
22678 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22679 * kern/dl.c: Likewise.
22680 * commands/sleep.c: Not include machine/time.h.
22681 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22682 (COMMON_CFLAGS): Likewise.
22683 (sbin_UTILITIES): Remove grub-emu.
22684 (grub_emu_SOURCES): Removed.
22685 (kernel_img_RELOCATABLE): New variable.
22686 (pkglib_PROGRAMS): Add kernel.img.
22687 (kernel_img_SOURCES): New variable
22688 (kernel_img_CFLAGS): Likewise.
22689 (kernel_img_LDFLAGS): Likewise.
22690 (TARGET_NO_STRIP): Likewise.
22691 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22692 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22693 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22694 (grub-emu): New target.
22695 (GRUB_EMU): New variable.
22696 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22697 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22698 * loader/xnu.c: Likewise.
22699 * include/grub/pci.h: Likewise.
22700 * genemuinit.sh: New file.
22701 * genemuinitheader.sh: Likewise.
22702 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22703 Support TARGET_NO_DYNAMIC_MODULES.
22704 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22705 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22706 * disk/loopback.c: Likewise.
22707 * font/font_cmd.c: Likewise.
22708 * partmap/acorn.c: Likewise.
22709 * partmap/amiga.c: Likewise.
22710 * partmap/apple.c: Likewise.
22711 * partmap/gpt.c: Likewise.
22712 * partmap/msdos.c: Likewise.
22713 * partmap/sun.c: Likewise.
22714 * parttool/msdospart.c: Likewise.
22715 * term/gfxterm.c: Likewise.
22716 * video/bitmap.c: Likewise.
22717 * video/readers/jpeg.c: Likewise.
22718 * video/readers/png.c: Likewise.
22719 * video/readers/tga.c: Likewise.
22720 * video/video.c: Likewise.
22721 * util/grub-emu.c (read_command_list): Removed.
22722 (main): Don't call util_init_nls.
22723 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22724 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22725
22726 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22727
22728 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22729 date.mod, datehook.mod.
22730 (datetime_mod_SOURCES): New variable.
22731 (datetime_mod_CFLAGS): Likewise.
22732 (datetime_mod_LDFLAGS): Likewise.
22733 (date_mod_SOURCES): Likewise.
22734 (date_mod_CFLAGS): Likewise.
22735 (date_mod_LDFLAGS): Likewise.
22736 (datehook_mod_SOURCES): Likewise.
22737 (datehook_mod_CFLAGS): Likewise.
22738 (datehook_mod_LDFLAGS): Likewise.
22739 * conf/sparc64-ieee1275.rmk: Likewise.
22740 * lib/ieee1275/datetime.c: New file.
22741
22742 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22743
22744 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22745 (ieee1275_fb_mod_SOURCES): New variable.
22746 (ieee1275_fb_mod_CFLAGS): Likewise.
22747 (ieee1275_fb_mod_LDFLAGS): Likewise.
22748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22749 New proto.
22750 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22751 (HEAP_MAX_ADDR): Likewise.
22752 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22753 type.
22754 Correct stop condition.
22755 (grub_ieee1275_devices_iterate): New function.
22756 * video/ieee1275.c: New file.
22757
22758 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22761
22762 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22763 as scratch.
22764 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22765 SCRATCH_PAD_DISKBOOT as scratch.
22766 (bootit): Pass Openfirmware pointer in %o4.
22767 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22768 of 0x200000.
22769 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22770 with util/grub-mkrawimage.c.
22771 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22772 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22773 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22774 (grub_aout_load) [GRUB_UTIL]: Likewise.
22775 * include/grub/kernel.h (grub_modules_get_end): New proto.
22776 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22777 (SCRATCH_PAD_BOOT): New definition.
22778 (SCRATCH_PAD_DISKBOOT): Likewise.
22779 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22780 * include/grub/sparc64/ieee1275/ieee1275.h
22781 (grub_ieee1275_original_stack): New variable
22782 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22783 New definition
22784 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22785 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22786 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22787 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22788 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22789 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22790 (grub_platform_image_format_t): New type.
22791 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22792 * kern/main.c (grub_modules_get_end)
22793 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22794 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22795 (codestart): Switch stacks.
22796 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22797 variable.
22798 (grub_heap_init): Use grub_modules_get_end.
22799 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22800 stack.
22801 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22802 (main): Likewise.
22803 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22804
22805 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
22806
22807 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22808
22809 2010-03-08 Matt Kraai <kraai@ftbfs.org>
22810
22811 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22812 bug #559005).
22813
22814 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 * genmoddep.awk: Output all missing symbols and not only first.
22817
22818 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22819
22820 * NEWS: Put the date of 1.98 release.
22821
22822 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22823
22824 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22825 ft2build.h.
22826
22827 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22830 completition in the middle of string.
22831
22832 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22833
22834 * util/grub-mkrescue.in: Use mktemp with explicit template.
22835
22836 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22837
22838 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22839
22840 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22841
22842 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22843 right pointer.
22844
22845 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 Fix FreeBSD compilation.
22848
22849 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
22850 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
22851
22852 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
22855
22856 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22857
22858 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
22859
22860 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22861
22862 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
22863
22864 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
22865
22866 Support relative image path in theme file.
22867
22868 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
22869 (image_set_property): Handle theme_dir and relative path.
22870
22871 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22872
22873 * configure.ac: Alias amd64 to x86_64.
22874
22875 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * NEWS: mention multiboot on EFI.
22878
22879 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 * kern/main.c (grub_load_modules): Handle errors from init functions of
22882 embeded modules.
22883
22884 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 * normal/autofs.c (autoload_fs_module): Handle errors.
22887
22888 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 Disable linux.mod on qemu-mips since it's not functional and leads
22891 to compilation failure.
22892
22893 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
22894 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
22895 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
22896 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
22897 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
22898 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
22899 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
22900 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
22901 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
22902 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
22903 Reported by: BVK Chaitanya
22904
22905 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
22906
22907 * INSTALL: Add gettext as a dependency and add qemu to a new section
22908 "Prerequisites for make-check".
22909
22910 2010-03-04 Christian Franke <franke@computer.org>
22911
22912 * util/grub-pe2elf.c: Add missing include "progname.h".
22913
22914 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22915
22916 * normal/crypto.c (read_crypto_list): Fix a typo.
22917 Reported by: Seth Goldberg.
22918
22919 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
22922 Reported by: Seth Goldberg.
22923
22924 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22925
22926 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22927 ascii.bitmaps.
22928
22929 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 * genmk.rb: Remove terminal*.lst in make clean.
22932 Reported by: Seth Goldberg.
22933
22934 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 * util/i386/efi/grub-install.in: Copy gettext files.
22937
22938 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22941
22942 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22943
22944 Wait for user entry basing on presence of output rather than on errors.
22945
22946 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22947 (grub_install_newline_hook): Likewise.
22948 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22949 * normal/menu.c (show_menu): Check line_counter to determine presence
22950 of output.
22951 * normal/term.c (grub_normal_line_counter): New variable.
22952 (grub_normal_get_line_counter): New function.
22953 (grub_install_newline_hook): Likewise.
22954
22955 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22956
22957 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22958
22959 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 * configure.ac: Update version to 1.98.
22962
22963 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22964
22965 * util/grub.d/10_linux.in (linux_entry): Don't default to
22966 gfxpayload=keep if Linux doesn't support video handover.
22967
22968 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 Don't compile video modules on yeeloong since video subsystem is part
22971 of kernel.
22972
22973 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22974 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22975 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22976 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22977 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22978 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22979 * include/grub/bitmap_scale.h: Likewise.
22980 * include/grub/bufio.h: Likewise.
22981 * include/grub/font.h: Likewise.
22982 * include/grub/gfxterm.h: Likewise.
22983 * include/grub/video.h: Likewise.
22984 * include/grub/vbe.h: Don't include video_fb.h.
22985 * video/i386/pc/vbe.c: Include video_fb.h.
22986 * commands/i386/pc/vbetest.c: Include video.h.
22987
22988 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22989
22990 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22991 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22992 default entry if GRUB_SAVEDEFAULT=true. This allows using
22993 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22994 saving a new default on every boot.
22995
22996 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22997
22998 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22999 * normal/term.c (read_terminal_list): Likewise.
23000 * normal/main.c (grub_normal_init_page): Likewise.
23001 (grub_normal_read_line_real): Likewise.
23002
23003 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23006 memory leak.
23007 Reported by: Seth Goldberg.
23008
23009 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23010
23011 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23012 duplicate declaration of `start'.
23013
23014 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23015
23016 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23017 filename.
23018 Reported by: Georgy Buranov
23019
23020 2010-02-20 Carles Pina i Estany <carles@pina.cat>
23021
23022 * util/grub-mkrawimage.c (usage): Change string formatting to
23023 improve gettext.
23024
23025 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23026
23027 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23028 backspace keys.
23029
23030 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23033 Reported by: Michael Suchanek.
23034
23035 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
23036
23037 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23038 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23039
23040 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 Remove any reference to non-free fonts.
23043
23044 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23045 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23046 uses non-free components.
23047 * font/font.c (grub_font_get_name): Remove example name.
23048 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23049 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23050 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23051 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23052
23053 2010-02-16 Georgy Buranov <gburanov@gmail.com>
23054
23055 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23056
23057 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23058
23059 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23060 Double divisor.
23061 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23062 features.
23063 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23064
23065 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23066
23067 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23068
23069 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23070
23071 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23072 * docs/grub.texi (Command-line and menu entry commands): Document play
23073 command.
23074
23075 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23076
23077 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23078 parse arguments as inline tempo and notes. Move code for playing notes
23079 to...
23080 (play): ... new function.
23081
23082 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23083
23084 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23085 grub_uint16_t instead of short.
23086 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23087 disk from little endian to cpu endianness.
23088
23089 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23090
23091 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23092 GRUB_TICKS_PER_SECOND instead of 120.
23093
23094 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23095
23096 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23097 escape sequence after \e.
23098
23099 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23100
23101 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23102 non-ASCII characters.
23103
23104 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23105
23106 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23107 set root in single quotes to prevent \, from being unescaped.
23108
23109 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23110
23111 Prevent unknown commands from stopping menuentry execution.
23112
23113 * script/execute.c (grub_script_execute_cmdline): Print error after
23114 unknown command.
23115
23116 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23117
23118 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23119 Reported by: Pavel Pisa.
23120
23121 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23122
23123 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23124
23125 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23126
23127 Merge grub_ieee1275_map_physical into grub_map and rename to
23128 grub_ieee1275_map
23129
23130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23131 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23132 Remove.
23133 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23134 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23135 necessary.
23136 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23137
23138 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23139
23140 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23141 opening and not after.
23142
23143 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23146 constants.
23147
23148 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23149
23150 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23151 (alloc_phys): Use ALIGN_UP instead of align_addr.
23152
23153 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23154
23155 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23156
23157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23160
23161 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23164 verbose dprintf.
23165
23166 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23167
23168 Fix over-4GiB seek on sparc64.
23169
23170 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23171 Replace pos_i and pos_lo with pos. All users updated.
23172 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23173 New constant.
23174 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23175 Likewise.
23176 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23177 and pos_lo.
23178
23179 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23180
23181 * util/grub-mkrawimage.c (main): Call set_program_name.
23182
23183 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23184
23185 Properly align 64-bit targets.
23186
23187 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23188 (generate_image): Use ALIGN_ADDR.
23189
23190 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23191
23192 Properly create cross-endian images.
23193
23194 * include/grub/types.h (grub_host_to_target_addr): New macro
23195 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23196
23197 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23198
23199 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23200
23201 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23202
23203 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23204
23205 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23206 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23207 (grub_linux_boot): Divide by 64K when on VESA.
23208
23209 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 Support GRUB_GFXPAYLOAD_LINUX.
23212
23213 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23214 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23215
23216 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23217
23218 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23219 to show messages instead of discarding them.
23220 Process errors after executing command and not before. Keep old method
23221 too as precaution.
23222
23223 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 * configure.ac: Check for ft2build.h.
23226
23227 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23230
23231 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * genkernsyms.sh.in: Use TARGET_CC.
23234
23235 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
23236
23237 * NEWS: Update.
23238
23239 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23240
23241 * include/grub/multiboot2.h: Remove leftover file.
23242 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23243 * include/grub/partition.h [GRUB_UTIL]: Likewise.
23244
23245 2010-02-07 Yves Blusseau <blusseau@zetam.org>
23246
23247 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
23248
23249 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 Fix warnings in grub-emu when compiling with maximum warning options.
23252
23253 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23254 (grub_arch_modules_addr): Return 0 and not NULL.
23255 * util/misc.c (ENABLE_RELOCATABLE): New definition.
23256 (xstrdup): Use newstr instead of dup.
23257 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23258 of disk to dsk to avoid shadowing.
23259 (find_free_slot): Fix prototype.
23260 * util/getroot.c (grub_util_is_dmraid): Make static.
23261 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23262 Add missing prototype.
23263 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
23264
23265 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23268 appropriately.
23269
23270 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23271
23272 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23273 code out.
23274
23275 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23278 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23279 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23280 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23281 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23282 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23283
23284 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23285
23286 * include/grub/err.h (grub_err_printf): Don't export.
23287
23288 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23291
23292 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23295 * kern/misc.c (grub_gettext_dummy): Make static.
23296
23297 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23300 by non-valid ones.
23301 * kern/term.c (grub_putchar): Likewise.
23302
23303 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23306 buggy hook call and memory leak.
23307
23308 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23311
23312 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23313
23314 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23315
23316 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23319 modevar.
23320 Return grub_errno on allocation error.
23321
23322 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23323
23324 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23325
23326 2010-02-06 Yves Blusseau <blusseau@zetam.org>
23327
23328 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23329 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23330
23331 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23334 non-pxe disk.
23335 (grub_pxefs_open): Likewise.
23336
23337 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23338
23339 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23340 * util/grub.d/10_kfreebsd.in: Likewise.
23341 * util/grub.d/10_linux.in: Likewise.
23342
23343 2010-02-06 Colin D Bennett <colin@gibibit.com>
23344
23345 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23346 (gfxmenu_mod_SOURCES): New variable.
23347 (gfxmenu_mod_CFLAGS): Likewise.
23348 (gfxmenu_mod_LDFLAGS): Likewise.
23349 * include/grub/term.h (grub_term_set_current_output): Declare
23350 argument as const.
23351 * docs/gfxmenu-theme-example.txt: New file.
23352 * gfxmenu/gfxmenu.c: Likewise.
23353 * gfxmenu/gui_box.c: Likewise.
23354 * gfxmenu/gui_canvas.c: Likewise.
23355 * gfxmenu/gui_circular_progress.c: Likewise.
23356 * gfxmenu/gui_image.c: Likewise.
23357 * gfxmenu/gui_label.c: Likewise.
23358 * gfxmenu/gui_list.c: Likewise.
23359 * gfxmenu/gui_progress_bar.c: Likewise.
23360 * gfxmenu/gui_string_util.c: Likewise.
23361 * gfxmenu/gui_util.c: Likewise.
23362 * gfxmenu/icon_manager.c: Likewise.
23363 * gfxmenu/model.c: Likewise.
23364 * gfxmenu/named_colors.c: Likewise.
23365 * gfxmenu/theme_loader.c: Likewise.
23366 * gfxmenu/view.c: Likewise.
23367 * gfxmenu/widget-box.c: Likewise.
23368 * include/grub/gfxmenu_model.h: Likewise.
23369 * include/grub/gfxmenu_view.h: Likewise.
23370 * include/grub/gfxwidgets.h: Likewise.
23371 * include/grub/gui.h: Likewise.
23372 * include/grub/gui_string_util.h: Likewise.
23373 * include/grub/icon_manager.h: Likewise.
23374
23375 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23376
23377 Agglomerate scrolling in gfxterm.
23378
23379 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23380 (grub_virtual_screen_setup): Initialise 'total_screen'.
23381 (write_char): Split to ...
23382 (paint_char): ... this ...
23383 (write_char): ... and this.
23384 (paint_char): Handle delayed scrolling.
23385 (draw_cursor): Likewise.
23386 (scroll_up): Split to ...
23387 (real_scroll): ... this ...
23388 (scroll_up): ... and this.
23389 (real_scroll): Handle multi-line scroll and draw below-the-bottom
23390 characters.
23391 (grub_gfxterm_refresh): Call real_scroll.
23392
23393 2010-02-06 Colin D Bennett <colin@gibibit.com>
23394
23395 * include/grub/misc.h (grub_iscntrl): New inline function.
23396 (grub_isalnum): Likewise.
23397 (grub_strtol): Likewise.
23398
23399 2010-02-06 Colin D Bennett <colin@gibibit.com>
23400
23401 * normal/menu_text.c (get_entry_number): Move from here ...
23402 * normal/menu.c (get_entry_number): ... moved here.
23403 * include/grub/menu.h (grub_menu_get_default_entry_index):
23404 New prototype.
23405 * normal/menu.c (grub_menu_get_default_entry_index): New function.
23406 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
23407 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
23408 (grub_menu_viewer_should_return): Likewise.
23409 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
23410 * normal/menu_text.c (run_menu): Enable menu switching.
23411 * normal/menu_viewer.c (should_return): New variable.
23412 (menu_viewer_changed): Likewise.
23413 (grub_menu_viewer_show_menu): Handle menu viewer changes.
23414 (grub_menu_viewer_should_return): New function.
23415 (menuviewer_write_hook): Likewise.
23416 (grub_menu_viewer_init): Likewise.
23417
23418 2010-02-06 Colin D Bennet <colin@gibibit.com>
23419 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Support for gfxterm in a window.
23422
23423 * include/grub/gfxterm.h: New file.
23424 * include/grub/video.h (struct grub_video_rect): New declaration.
23425 (grub_video_rect_t): Likewise.
23426 * term/gfxterm.c (struct grub_gfxterm_window): New type.
23427 (refcount): New variable.
23428 (render_target): Likewise.
23429 (window): Likewise.
23430 (repaint_callback): Likewise.
23431 (grub_virtual_screen_setup): Use 'render_target'.
23432 (init_window): New function.
23433 (grub_gfxterm_init_window): Likewise.
23434 (grub_gfxterm_init): Check reference counter.
23435 Use init_window.
23436 (destroy_window): New function.
23437 (grub_gfxterm_destroy_window): Likewise.
23438 (grub_gfxterm_fini): Check reference counter.
23439 Use destroy_window.
23440 (redraw_screen_rect): Restore viewport.
23441 Use 'render_target' and 'window'.
23442 Call 'repaint_callback'.
23443 (write_char): Use 'render_target'.
23444 (draw_cursor): Likewise.
23445 (scroll_up): Restore viewport.
23446 Use 'render_target' and 'window'.
23447 Call 'repaint_callback'.
23448 (grub_gfxterm_cls): Likewise.
23449 (grub_gfxterm_refresh): Use 'window'.
23450 (grub_gfxterm_set_repaint_callback): New function.
23451 (grub_gfxterm_background_image_cmd): Use 'window'.
23452 (grub_gfxterm_get_term): New function.
23453 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
23454
23455 2010-02-06 Colin D Bennett <colin@gibibit.com>
23456
23457 Bitmap scaling support.
23458
23459 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
23460 (bitmap_scale_mod_SOURCES): New variable.
23461 (bitmap_scale_mod_CFLAGS): Likewise.
23462 (bitmap_scale_mod_LDFLAGS): Likewise.
23463 * include/grub/bitmap_scale.h: New file.
23464 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
23465 (background_image_cmd_options): New variable.
23466 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
23467 (cmd): Rename and change type to ...
23468 (background_image_cmd_handle): ... this. All users updated.
23469 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
23470 * video/bitmap_scale.c: New file.
23471
23472 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23473
23474 SDL support.
23475
23476 * Makefile.in (LIBSDL): New variable.
23477 (enable_grub_emu_sdl): Likewise.
23478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
23479 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
23480 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
23481 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
23482 * util/sdl.c: New file.
23483
23484 2010-02-06 Colin D Bennett <colin@gibibit.com>
23485 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23486
23487 Double buffering support.
23488
23489 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23490 * include/grub/video.h: Update comment.
23491 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23492 New type.
23493 (grub_video_fb_doublebuf_blit_init): New prototype.
23494 * term/gfxterm.c (scroll_up): Support double buffering.
23495 (grub_gfxterm_refresh): Likewise.
23496 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
23497 (grub_video_fb_doublebuf_blit_init): Likewise.
23498 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
23499 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
23500 'displayed_page', 'render_page' and 'update_screen'.
23501 (grub_video_vbe_fini): Free offscreen buffer.
23502 (doublebuf_pageflipping_commit): New function.
23503 (doublebuf_pageflipping_update_screen): Likewise.
23504 (doublebuf_pageflipping_init): Likewise.
23505 (double_buffering_init): Likewise.
23506 (grub_video_vbe_setup): Enable doublebuffering.
23507 (grub_video_vbe_swap_buffers): Implement.
23508 (grub_video_vbe_set_active_render_target): Handle double buffering.
23509 (grub_video_vbe_get_active_render_target): Likewise.
23510 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
23511 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
23512 (grub_video_vbe_enable_double_buffering): Likewise.
23513 (grub_video_vbe_swap_buffers): Use update_screen.
23514 (grub_video_set_mode): Use double buffering.
23515
23516 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23517
23518 * maintainance/gentrigtables.py: Remove.
23519 * lib/trig.c: Likewise.
23520
23521 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
23522
23523 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
23524 `trigtables.c'.
23525 (trigtables.c): New rule.
23526 (gentrigtables): Likewise.
23527 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
23528
23529 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23530
23531 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
23532 integer constants.
23533
23534 2010-02-06 Colin D Bennet <colin@gibibit.com>
23535
23536 Trigonometry support.
23537
23538 * include/grub/trig.h: New file.
23539 * lib/trig.c: Likewise.
23540 * maintainance/gentrigtables.py: Likewise.
23541 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
23542 (trig_mod_SOURCES): New variable.
23543 (trig_mod_CFLAGS): Likewise.
23544 (trig_mod_LDFLAGS): Likewise.
23545
23546 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23549 disk devices.
23550
23551 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23554 error.
23555
23556 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23557
23558 * util/hostdisk.c (open_device): Don't use partition device when reading
23559 before the partition.
23560 (grub_util_biosdisk_read): Don't read from partition and before the
23561 partition in single operation.
23562 (grub_util_biosdisk_write): Don't write to partition and before the
23563 partition in single operation.
23564
23565 2010-02-03 Torsten Landschoff <torsten@debian.org>
23566
23567 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23568 last sectors.
23569
23570 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23571
23572 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23573 CDROM reads.
23574 (grub_biosdisk_write): Refuse to write to CDROM.
23575
23576 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23577
23578 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23579
23580 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * font/font.c (find_glyph): Check that bmp_idx is available before
23583 using it.
23584 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23585 with (font == NULL).
23586
23587 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
23588
23589 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23590
23591 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23592
23593 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23594 * util/grub-script-check.c (getline): Fix empty lines case.
23595
23596 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23597
23598 * Makefile.in (check): Exit with fail status when one of the tests
23599 fails.
23600 * tests/example_functional_test.c (example_test): Fix reversed assert.
23601 * tests/example_unit_test.c (example_test): Likewise.
23602
23603 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
23604
23605 * util/grub.d/10_linux.in: This script does not use any of the
23606 contents of gettext.sh, only the external command `gettext', so stop
23607 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23608 the same prefix as GRUB.)
23609 * util/grub.d/10_kfreebsd.in: Likewise.
23610
23611 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23612
23613 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23614 of the line.
23615
23616 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23619 last sectors.
23620
23621 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23622
23623 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23624 having a 4KiB and not 32KiB buffer size.
23625
23626 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23627
23628 * util/hostfs.c: Include `<errno.h>'.
23629 (grub_hostfs_read): Handle errors from fseeko() and fread().
23630
23631 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23632
23633 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23634 loop when using read hooks on files whose size isn't sector-aligned.
23635
23636 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23637
23638 Remove unused parameter.
23639
23640 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23641 (grub_iso9660_open): Remove initialization of `data->length'.
23642
23643 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23644
23645 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23646 memleak conditions.
23647
23648 2010-01-27 Carles Pina i Estany <carles@pina.cat>
23649
23650 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23651 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23652
23653 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23654
23655 * util/bin2h.c (usage): Fix warning (space after backslash).
23656
23657 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23658
23659 * font/font.c: Include `grub/fontformat.h.
23660 Remove font file format constants.
23661 (grub_font_load): Use the new macros.
23662 * include/grub/fontformat.h: New file.
23663 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23664 (write_font_pf2): Use the new macros.
23665
23666 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23667
23668 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23669 does.
23670
23671 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23672
23673 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23674
23675 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23676 (_start): Macroify `0x7F'.
23677
23678 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23679 (make_install_device): Use "(pxe)" as fallback prefix when booting
23680 via PXE.
23681
23682 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 * configure.ac: Reset LIBS after check for libgcc symbols.
23685
23686 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
23687
23688 * util/hostdisk.c (open_device): Add trailing newline to debug
23689 message.
23690
23691 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23692
23693 * configure.ac: Check for `limits.h'.
23694 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23695
23696 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23697
23698 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23699 capitalize error strings.
23700
23701 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23702
23703 * util/grub.d/10_hurd.in: Add a recovery mode.
23704
23705 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * configure.ac: Check for libgcc symbols with -nostdlib.
23708
23709 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23710
23711 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23712
23713 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23714
23715 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23716 stack since heap may be unavailable at that point.
23717 (grub_ofconsole_gotoxy): Likewise.
23718
23719 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23720
23721 * configure.ac: Check for _restgpr_14_x.
23722 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23723 and _savegpr_* prototypes.
23724
23725 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23726
23727 Use generic grub_reboot() for i386-efi.
23728
23729 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23730 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23731 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23732
23733 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23736 presence of "prefix" variable as it breaks when normal.mod is
23737 embedded.
23738
23739 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23740
23741 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23742 stack since heap is unavailable at that point.
23743
23744 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23745
23746 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23747 (grub_freebsd_bootinfo): Rewritten.
23748 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23749
23750 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23753
23754 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23755
23756 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23757 domain now.
23758
23759 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
23760
23761 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23762 around for handling "/" to the correct fix. Fix a memory leak. Use
23763 xstrdup instead of strdup.
23764
23765 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23766
23767 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23768
23769 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23772
23773 * font/font.c (struct grub_font): New member 'bmp_idx'.
23774 (font_init): Initialise 'bmp_idx'.
23775 (load_font_index): Fill 'bmp_idx'.
23776 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23777
23778 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23781 unnecessary calls.
23782
23783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 Move context handling out of the kernel.
23786
23787 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23788 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23789 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23790 * conf/i386-efi.rmk: Likewise.
23791 * conf/i386-ieee1275.rmk: Likewise.
23792 * conf/i386-pc.rmk: Likewise.
23793 * conf/powerpc-ieee1275.rmk: Likewise.
23794 * conf/sparc64-ieee1275.rmk: Likewise.
23795 * conf/x86_64-efi.rmk: Likewise.
23796 * include/grub/env.h: Include grub/menu.h.
23797 (grub_env_var_type): Removed.
23798 (grub_env_var): Replaced field 'type' with 'global'.
23799 (grub_env_find): New prototype.
23800 (grub_env_context_open): Remove EXPORT_FUNC.
23801 (grub_env_context_close): Likewise.
23802 (grub_env_export): Likewise.
23803 (grub_env_set_data_slot): Removed.
23804 (grub_env_get_data_slot): Likewise.
23805 (grub_env_unset_data_slot): Likewise.
23806 (grub_env_unset_menu): New prototype.
23807 (grub_env_set_menu): Likewise.
23808 (grub_env_get_menu): Likewise.
23809 * include/grub/env_private.h: New file.
23810 * include/grub/normal.h (grub_context_init): New prototype.
23811 (grub_context_fini): Likewise.
23812 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23813 * normal/context.c (grub_cmd_export): ... to here.
23814 * kern/env.c: Include env_private.h.
23815 (HASHSZ): Moved to include/grub/env_private.h.
23816 (grub_env_context): Likewise.
23817 (grub_env_sorted_var): Likewise.
23818 (current_context): Renamed from this ...
23819 (grub_current_context): ...to this. 'static' removed. All users updated.
23820 (grub_env_find): Removed 'static'.
23821 (grub_env_context_open): Moved to normal/context.c.
23822 (grub_env_context_close): Likewise.
23823 (grub_env_export): Likewise.
23824 (mangle_data_slot_name): Removed.
23825 (grub_env_set_data_slot): Likewise.
23826 (grub_env_get_data_slot): Likewise.
23827 (grub_env_unset_data_slot): Likewise.
23828 * kern/main.c (grub_set_root_dev): Don't export root.
23829 It will be done later.
23830 (grub_main): Don't export prefix.
23831 It will be done later.
23832 * normal/context.c: New file.
23833 * normal/main.c (free_menu): Use grub_env_unset_menu.
23834 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23835 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23836 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23837 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23838
23839 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23840
23841 setpci support.
23842
23843 * commands/setpci.c: New file.
23844 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
23845 (setpci_mod_SOURCES): New variable.
23846 (setpci_mod_CFLAGS): Likewise.
23847 (setpci_mod_LDFLAGS): Likewise.
23848
23849 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23850
23851 Byte-addressable PCI configuration space.
23852
23853 * bus/pci.c (grub_pci_make_address): Use byte address instead of
23854 dword address.
23855 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
23856 GRUB_PCI_REG_CACHELINE.
23857 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
23858 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
23859 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
23860 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
23861 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
23862 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
23863 grub_pci_make_address.
23864 (lock_rom_area): Likewise.
23865 * commands/lspci.c (grub_lspci_iter): Use macroses
23866 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
23867 of grub_pci_make_address.
23868 * disk/ata.c (grub_ata_pciinit): Likewise.
23869 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
23870 (GRUB_PCI_REG_VENDOR): Likewise.
23871 (GRUB_PCI_REG_DEVICE): Likewise.
23872 (GRUB_PCI_REG_COMMAND): Likewise.
23873 (GRUB_PCI_REG_STATUS): Likewise.
23874 (GRUB_PCI_REG_REVISION): Likewise.
23875 (GRUB_PCI_REG_CLASS): Likewise.
23876 (GRUB_PCI_REG_CACHELINE): Likewise.
23877 (GRUB_PCI_REG_LAT_TIMER): Likewise.
23878 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
23879 (GRUB_PCI_REG_BIST): Likewise.
23880 (GRUB_PCI_REG_ADDRESSES): Likewise.
23881 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23882 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23883 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23884 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23885 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23886 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
23887 (GRUB_PCI_REG_CIS_POINTER): Likewise.
23888 (GRUB_PCI_REG_SUBVENDOR): Likewise.
23889 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
23890 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
23891 (GRUB_PCI_REG_CAP_POINTER): Likewise.
23892 (GRUB_PCI_REG_IRQ_LINE): Likewise.
23893 (GRUB_PCI_REG_IRQ_PIN): Likewise.
23894 (GRUB_PCI_REG_MIN_GNT): Likewise.
23895 (GRUB_PCI_REG_MAX_LAT): Likewise.
23896 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
23897 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
23898 * video/efi_uga.c (find_framebuf): Likewise.
23899 * video/sm712.c (grub_video_sm712_setup): Likewise.
23900 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
23901 space.
23902
23903 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23904
23905 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
23906 can be reliably determined to be supported.
23907
23908 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23909
23910 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
23911 that VESA is supported.
23912 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
23913 supported.
23914
23915 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23918
23919 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23920
23921 * util/misc.c (make_system_path_relative_to_its_root): Work around
23922 special-casing of "/", as previous incarnation of this routine did.
23923
23924 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23925
23926 Fix any-emu compilation.
23927
23928 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23929 * grub_bin2h_SOURCES: New variable.
23930
23931 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23932
23933 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23934
23935 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23936
23937 * util/grub.d/00_header.in: Fix handling of locale_dir.
23938
23939 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23942 as possible unifont location (Gentoo).
23943 Reported by: Alexander Brüning
23944
23945 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Don't try to generate lists for kernel.img.
23948
23949 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23950 (pkglib_MODULES): Remove kernel.img.
23951 (kernel_img_EXPORTS): Removed.
23952 (kernel_img_RELOCATABLE): New variable.
23953 * conf/x86_64-efi.rmk: Likewise.
23954 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23955
23956 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23957
23958 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23959 grub_xasprintf or grub_snprintf.
23960 (grub_vsprintf): Likewise.
23961 (grub_snprintf): New proto.
23962 (grub_vsnprintf): Likewise.
23963 (grub_xasprintf): Likewise.
23964 (grub_xvasprintf): Likewise.
23965 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23966 (grub_sprintf): Removed.
23967 (grub_vsnprintf): New function.
23968 (grub_snprintf): Likewise.
23969 (grub_xvasprintf): Likewise.
23970 (grub_xasprintf): Likewise.
23971 (grub_vsprintf): Renamed to ...
23972 (grub_vsnprintf_real): ...this. New argument max_len.
23973
23974 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23975
23976 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23977 fix grub-script-check warning.
23978
23979 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23980
23981 * include/grub/font.h (grub_font_load): Fix prototype.
23982
23983 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23984
23985 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23986
23987 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23988
23989 * include/grub/x86_64/at_keyboard.h: New file.
23990
23991 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23992
23993 * loader/mips/linux.c: Include missing grub/i18n.h.
23994
23995 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23996
23997 * normal/menu.c (notify_execution_failure): Clarify error message.
23998
23999 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24000
24001 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24002 return value (and revert all return statements). Update users.
24003
24004 2010-01-20 Dan Merillat <debian@dan.merillat.org>
24005
24006 * kern/device.c (grub_device_iterate): Allocate new part_ent
24007 structure based on sizeof (*p) rather than sizeof (p->next), to
24008 account for structure padding.
24009
24010 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24011 disk is NULL, which might happen for LVM physical volumes with no
24012 LVM signature.
24013
24014 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24015
24016 * loader/mips/linux.c (grub_cmd_initrd)
24017 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24018
24019 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24020
24021 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24022 (grub_video_video_init, grub_video_bitmap_init)
24023 (grub_font_manager_init, grub_term_gfxterm_init)
24024 (grub_at_keyboard_init): New extern declarations.
24025 (grub_machine_init): Initialize gfxterm and at_keyboard.
24026
24027 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24028
24029 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24030 `gfxterm.mod' into core image.
24031
24032 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24033 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24034 (kernel_img_FORMAT): Copy to ...
24035
24036 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24037 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24038 (kernel_img_FORMAT): ... here, and ...
24039
24040 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24041 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24042 (kernel_img_FORMAT): ... here.
24043
24044 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24045 and input (at_keyboard) terminals in kernel.
24046 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24047
24048 (pkglib_MODULES): Remove `pci.mod'.
24049 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24050 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24051 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24052 (at_keyboard_mod_LDFLAGS): Remove variables.
24053
24054 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
24055
24056 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24057
24058 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 * include/grub/mips/libgcc.h: Only export symbols for functions
24061 that libgcc provides.
24062
24063 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 MIPS support.
24066
24067 * bus/bonito.c: New file.
24068 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24069 GRUB_PCI_NUM_DEVICES.
24070 * term/i386/pc/serial.c: Move to ...
24071 * term/serial.c: ... here. All users updated.
24072 * util/i386/pc/grub-mkimage.c: Move to ...
24073 * util/grub-mkrawimage.c: ... here. All users updated.
24074 * term/i386/pc/at_keyboard.c: Move to ...
24075 * term/at_keyboard.c: ... here. All users updated.
24076 * conf/mips-qemu-mips.rmk: New file.
24077 * conf/mips-yeeloong.rmk: Likewise.
24078 * conf/mips.rmk: Likewise.
24079 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24080 mipsel-qemu-mips.
24081 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24082 to port addresses.
24083 (grub_ata_pciinit): Support CS5536.
24084 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24085 * font/font_cmd.c (loadfont_command): Open file before passing it to
24086 grub_font_load.
24087 (pseudo_file_read): New function.
24088 (pseudo_file_close): Likewise.
24089 (pseudo_fs): New structure.
24090 (load_font_module): New function.
24091 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24092 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24093 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24094 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24095 * include/grub/i386/at_keyboard.h: Split into ...
24096 * include/grub/at_keyboard.h: ... this ...
24097 * include/grub/i386/at_keyboard.h: ... and this.
24098 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24099 New prototype.
24100 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24101 updated.
24102 (grub_elf64_size): Likewise.
24103 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24104 filename.
24105 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24106 * include/grub/i386/coreboot/serial.h: Rewritten.
24107 * include/grub/i386/ieee1275/serial.h: Include
24108 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24109 * include/grub/i386/pc/serial.h: Moved from here ...
24110 * include/grub/serial.h: ... to here. All users updated.
24111 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24112 (GRUB_PCI_NUM_BUS): Likewise.
24113 (GRUB_PCI_NUM_DEVICES): Likewise.
24114 (grub_pci_device_map_range): Add missing volatile keyword.
24115 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24116 * include/grub/mips/at_keyboard.h: New file.
24117 * include/grub/mips/cache.h: Likewise.
24118 * include/grub/mips/io.h: Likewise.
24119 * include/grub/mips/kernel.h: Likewise.
24120 * include/grub/mips/libgcc.h: Likewise.
24121 * include/grub/mips/pci.h: Likewise.
24122 * include/grub/mips/qemu-mips/boot.h: Likewise.
24123 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24124 * include/grub/mips/qemu-mips/loader.h: Likewise.
24125 * include/grub/mips/qemu-mips/memory.h: Likewise.
24126 * include/grub/mips/qemu-mips/serial.h: Likewise.
24127 * include/grub/mips/qemu-mips/time.h: Likewise.
24128 * include/grub/mips/relocator.h: Likewise.
24129 * include/grub/mips/time.h: Likewise.
24130 * include/grub/mips/types.h: Likewise.
24131 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24132 * include/grub/mips/yeeloong/boot.h: Likewise.
24133 * include/grub/mips/yeeloong/kernel.h: Likewise.
24134 * include/grub/mips/yeeloong/loader.h: Likewise.
24135 * include/grub/mips/yeeloong/memory.h: Likewise.
24136 * include/grub/mips/yeeloong/pci.h: Likewise.
24137 * include/grub/mips/yeeloong/serial.h: Likewise.
24138 * include/grub/mips/yeeloong/time.h: Likewise.
24139 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24140 * kern/elf.c (grub_elf32_size): New parameter. All users
24141 updated.
24142 (grub_elf64_size): Likewise.
24143 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24144 Load modules before saying "Welcome to GRUB!".
24145 Call grub_refresh after saying "Welcome to GRUB!".
24146 * kern/mips/cache.S: New file.
24147 * kern/mips/cache_flush.S: Likewise.
24148 * kern/mips/dl.c: Likewise.
24149 * kern/mips/init.c: Likewise.
24150 * kern/mips/qemu-mips/init.c: Likewise.
24151 * kern/mips/startup.S: Likewise.
24152 * kern/mips/yeeloong/init.c: Likewise.
24153 * kern/term.c (grub_putcode): Handle NULL terminal.
24154 (grub_getcharwidth): Likewise.
24155 (grub_getkey): Likewise.
24156 (grub_checkkey): Likewise.
24157 (grub_getkeystatus): Likewise.
24158 (grub_getxy): Likewise.
24159 (grub_getwh): Likewise.
24160 (grub_gotoxy): Likewise.
24161 (grub_cls): Likewise.
24162 (grub_setcolorstate): Likewise.
24163 (grub_setcolor): Likewise.
24164 (grub_getcolor): Likewise.
24165 (grub_refresh): Likewise.
24166 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24167 (write_jump): Add hatch nop.
24168 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24169 * lib/mips/setjmp.S: New file.
24170 * loader/mips/linux.c: Likewise.
24171 * term/i386/pc/at_keyboard.c: Move from here ...
24172 * term/at_keyboard.c: ... to here.
24173 * term/i386/pc/serial.c: Moved from here ...
24174 * term/serial.c: ... to here. All users updated.
24175 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24176 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24177 (serial_translate_key_sequence): Avoid deadlock.
24178 (grub_serial_getkey): Handle backspace.
24179 (grub_serial_putchar): Fix newline handling.
24180 * util/i386/pc/grub-mkimage.c: Move from here ...
24181 * util/grub-mkrawimage.c: ... to here. All users updated.
24182 (generate_image): New parameters 'font_path' and 'format'.
24183 Support embedding font.
24184 Use grub_host_to_target* instead of grub_cpu_to_le*.
24185 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24186 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24187 (options): New option "--font".
24188 (usage): Likewise.
24189 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24190 (main): Handle "--font".
24191 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24192 (grub_virtual_screen_setup): Set bg_color_display.
24193 (redraw_screen_rect): Use bg_color_display instead of incorrect
24194 bg_color.
24195 (grub_gfxterm_cls): Likewise.
24196 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24197 Support embedding config file.
24198 (add_segments): Likewise.
24199 (options): New option "--config".
24200 (main): Handle "--config".
24201 * video/sm712.c: New file.
24202
24203 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24204
24205 Fix parallel builds.
24206
24207 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24208 font.c depend on ascii.h).
24209
24210 2010-01-12 Carles Pina i Estany <carles@pina.cat>
24211
24212 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24213
24214 2010-01-11 Carles Pina i Estany <carles@pina.cat>
24215
24216 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24217 By default: disabled.
24218 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24219 parameter.
24220
24221 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24222
24223 * font/font.c: Update copyright years.
24224 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24225
24226 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24227
24228 * font/font.c: Include `ascii.h'.
24229 (ASCII_BITMAP_SIZE): New macro.
24230 (ascii_font_glyph): Define.
24231 (ascii_glyph_lookup): New function.
24232 (grub_font_get_string_width): Change comment. If glyph not found, use
24233 ascii_glyph_lookup.
24234 (grub_font_get_glyph_with_fallback): If glyph not available returns
24235 ascii_glyph_lookup.
24236 * util/grub-mkfont.c (file_formats): New enum.
24237 (options): Add `ascii-bitmaps' new option.
24238 (usage): Add `asii-bitmaps' new option.
24239 (write_font_ascii_bitmap): New function.
24240 (write_font): Rename to ...
24241 (write_font_p2): ... this. Remove print_glyphs call.
24242 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24243 used. Call print_glyphs.
24244 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24245
24246 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24247
24248 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24249 (grub_bin2h_SOURCES): New variable.
24250 * util/bin2h.c: New file.
24251
24252 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * include/multiboot.h: Resynced with spec.
24255 * include/multiboot2.h: Likewise.
24256 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24257 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24258
24259 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24260
24261 * include/grub/term.h (grub_term_register_input,
24262 grub_term_register_output): Check return of terminal init()
24263 routines, and abort if errors are raised.
24264
24265 * commands/terminal.c: Update copyright year.
24266
24267 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24268
24269 * commands/terminal.c (grub_cmd_terminal_input)
24270 (grub_cmd_terminal_output): Check return of terminal init()
24271 routines, and abort if errors are raised.
24272
24273 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24274
24275 * include/grub/i386/bsd.h: Fix include pathes.
24276
24277 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 Add missing *BSD copyright headers.
24280
24281 * include/grub/aout.h: Add BSD licence.
24282 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24283 * include/grub/i386/freebsd_linker.h: ... here,
24284 * include/grub/i386/freebsd_reboot.h: ... here,
24285 * include/grub/i386/netbsd_bootinfo.h: ... here,
24286 * include/grub/i386/netbsd_reboot.h: ... here,
24287 * include/grub/i386/openbsd_bootarg.h: ... here,
24288 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24289 licence to each file.
24290
24291 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24292
24293 * acinclude.m4: Remove `nop' assembly instruction; it's not
24294 implemented by all architectures.
24295
24296 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24297
24298 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24299 ELILO. This is no longer necessary.
24300
24301 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24302
24303 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24304
24305 * util/grub-script-check.c: grub-script-check tool.
24306 * conf/common.rmk: Make rules for grub-script-check.
24307
24308 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24309
24310 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24311 spotting it back in 2008. Shame on me for forgetting he did.
24312
24313 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24314
24315 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24316
24317 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24318 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24319 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24320 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24321 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24322 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24323
24324 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24325
24326 * include/grub/test.h: Add license header.
24327 * tests/example_functional_test.c: Likewise.
24328 * tests/example_unit_test.c: Likewise.
24329 * tests/lib/functional_test.c: Likewise.
24330 * tests/lib/test.c: Likewise.
24331 * tests/lib/unit_test.c: Likewise.
24332
24333 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24334
24335 Use flag-based instead of hook-based video mode selection and "auto"
24336 keyword.
24337
24338 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24339 (grub_video_set_mode): Changed prototype. All users updated.
24340 (grub_video_check_mode_flag): New inline function.
24341 * video/video.c (parse_modespec): New function.
24342 (grub_video_set_mode): Parse flags and keywords.
24343
24344 2010-01-17 Carles Pina i Estany <carles@pina.cat>
24345
24346 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24347 fprintf call.
24348
24349 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24350
24351 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24352
24353 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24354
24355 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24356 string.
24357 * util/grub-emu.c (usage): Likewise.
24358 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24359 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24360 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24361 * util/i386/pc/grub-setup.c (usage): Likewise.
24362
24363 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24364
24365 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24366 the message.
24367 (grub_util_info): Likewise.
24368 (grub_util_error): Likewise.
24369 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24370 and/or new lines in `grub_util_warna', `grub_util_info',
24371 `grub_util_error' calls.
24372 * util/getroot.c: Likewise.
24373 * util/grub-editenv.c: Likewise.
24374 * util/grub-emu.c: Likewise.
24375 * util/grub-fstest.c: Likewise.
24376 * util/grub-mkdevicemap.c: Likewise.
24377 * util/grub-mkfont.c: Likewise.
24378 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24379 * util/grub-mkrelpath.c: Likewise.
24380 * util/grub-pe2elf.c: Likewise.
24381 * util/grub-probe.c: Likewise.
24382 * util/hostdisk.c: Likewise.
24383 * util/i386/efi/grub-mkimage.c: Likewise.
24384 * util/i386/pc/grub-mkimage.c: Likewise.
24385 * util/i386/pc/grub-setup.c: Likewise.
24386 * util/ieee1275/ofpath.c: Likewise.
24387 * util/mkisofs/eltorito.c: Likewise.
24388 * util/mkisofs/rock.c: Likewise.
24389 * util/mkisofs/write.c: Likewise.
24390 * util/raid.c: Likewise.
24391 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24392 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24393
24394 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24395
24396 Enable multiboot on non-pc.
24397
24398 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
24399 multiboot.mod and multiboot2.mod to ...
24400 * conf/i386.rmk (pkglib_MODULES): ... here.
24401 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
24402 Moved to ...
24403 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
24404 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
24405 Moved to ...
24406 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
24407 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
24408 Moved to ...
24409 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
24410 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
24411 Moved to ...
24412 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
24413 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
24414 relocator.mod.
24415 (ata_mod_SOURCES): Removed.
24416 (ata_mod_CFLAGS): Likewise.
24417 (ata_mod_LDFLAGS): Likewise.
24418 (relocator_mod_SOURCES): Removed.
24419 (relocator_mod_CFLAGS): Likewise.
24420 (relocator_mod_ASFLAGS): Likewise.
24421 (relocator_mod_LDFLAGS): Likewise.
24422 Include i386.mk.
24423 * include/grub/x86_64/multiboot.h: New file.
24424 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
24425 Terminate EFI.
24426
24427 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24428
24429 Video multiboot support.
24430
24431 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
24432 New prototype.
24433 * include/multiboot.h: Resynced with multiboot specification.
24434 * include/multiboot2.h: Likewise.
24435 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
24436 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
24437 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
24438 (HAS_VGA_TEXT): Likewise.
24439 (accepts_video): New variable.
24440 (grub_multiboot_set_accepts_video): New function.
24441 (grub_multiboot_get_mbi_size): Account for video structures.
24442 (set_video_mode): New function.
24443 (retrieve_video_parameters): Likewise.
24444 (grub_multiboot_make_mbi): Fill video fields.
24445
24446 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 Video driver ids.
24449
24450 * include/grub/video.h (grub_video_driver_id): New type.
24451 (grub_video_adapter): New member 'id'. All users updated.
24452 (grub_video_get_driver_id): New proto.
24453 * video/video.c (grub_video_get_driver_id): New function.
24454
24455 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24456
24457 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
24458 `var=val'.
24459
24460 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24461
24462 * normal/cmdline.c (print_completion): Gettextizze.
24463
24464 2001-01-14 Carles Pina i Estany <carles@pina.cat>
24465
24466 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
24467
24468 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24469
24470 * gettext/gettext.c (grub_gettext_translate): Push and pop
24471 grub_errno.
24472 (grub_gettext_delete_list): Change comment style.
24473 * kern/err.c (grub_error): Gettextizze.
24474 (grub_fatal): Gettextizze.
24475
24476 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24477
24478 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
24479 (grub_linux16_real_boot): ... this.
24480 * kern/i386/loader.S: Likewise.
24481 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
24482 (grub_linux16_boot): New function. Switches to text mode and calls
24483 grub_linux16_real_boot().
24484
24485 * loader/i386/bsd.c: Include `<grub/video.h>'.
24486 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
24487 text mode before calling grub_unix_real_boot().
24488
24489 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24490 (grub_multiboot_boot): Switch to text mode before calling
24491 grub_relocator32_boot().
24492
24493 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24494 (grub_chainloader_boot): Switch to text mode before calling
24495 grub_chainloader_real_boot().
24496
24497 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24498 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24499
24500 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
24501 non-empty value.
24502
24503 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24504 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24505
24506 * util/grub.d/00_header.in: Define a "savedefault" function for use
24507 in menu entries.
24508 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
24509
24510 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24511 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24512
24513 * util/grub-mkconfig_lib.in (save_default_entry): Only set
24514 saved_entry if boot_once is unset.
24515 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
24516 previous saved entry (i.e. grub-reboot).
24517
24518 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24519
24520 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
24521
24522 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24523
24524 * util/grub.d/00_header.in: Use `set var=val' rather than plain
24525 `var=val'.
24526 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
24527
24528 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24529
24530 * util/grub-reboot.in: Fix --version output.
24531 * util/grub-set-default.in: Likewise.
24532
24533 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24534
24535 * util/grub.d/00_header.in: Silently ignore zero-sized environment
24536 blocks.
24537
24538 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24539
24540 * util/grub.d/00_header.in: Quote the value assigned to `default',
24541 in case it contains spaces.
24542
24543 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24544
24545 * util/grub.d/30_os-prober.in: Fix merge error that moved a
24546 `save_default_entry' call from the macosx case to the linux case.
24547
24548 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
24549 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
24550
24551 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24552 in `chosen' environment variable.
24553 * normal/menu_text.c (get_entry_number): Check if the variable
24554 matches the title of a menu entry.
24555 (run_menu): Pass menu to get_entry_number.
24556
24557 * util/grub-reboot.in: New file.
24558 * util/grub-set-default.in: New file.
24559 * conf/common.rmk (grub-reboot): New utility.
24560 (grub-set-default): New utility.
24561
24562 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24563 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24564 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24565 move it to `saved_entry' for the next boot. Load environment on
24566 initialisation.
24567 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24568 * util/grub.d/10_hurd.in: Likewise.
24569 * util/grub.d/10_linux.in (linux_entry): Likewise.
24570 * util/grub.d/10_windows.in: Likewise.
24571 * util/grub.d/30_os-prober.in: Likewise.
24572
24573 * util/grub-install.in: Create environment block.
24574 * util/i386/efi/grub-install.in: Likewise.
24575 * util/ieee1275/grub-install.in: Likewise.
24576 * util/sparc64/ieee1275/grub-install.in: Likewise.
24577
24578 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24579
24580 Unit testing framework for GRUB.
24581
24582 * Makefile.in: Test framework build rules for 'make check'.
24583 * conf/tests.rmk: Build rules for individual tests and framework.
24584
24585 * include/grub/test.h: Header file for whitebox tests.
24586 * tests/lib/functional_test.c: Framework support for whitebox
24587 functional tests.
24588 * tests/lib/test.c: Common whitebox testing code for unit and
24589 functional tests.
24590 * tests/lib/unit_test.c: Framework support for whitebox unit
24591 tests.
24592
24593 * tests/util/grub-shell-tester.in: Support utility for grub-script
24594 tests.
24595 * tests/util/grub-shell.in: Utility to execute grub-script
24596 commands in a Qemu instance.
24597
24598 * tests/example_functional_test.c: Example whitebox functional
24599 test.
24600 * tests/example_grub_script_test.in: Example grub-script test.
24601 * tests/example_scripted_test.in: Example scripted test.
24602 * tests/example_unit_test.c: Example whitebox unit test.
24603
24604 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24605
24606 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24607 Add loader/i386/multiboot_mbi.c.
24608 (multiboot2_mod_SOURCES): Likewise.
24609 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24610 (multiboot2_mod_SOURCES): Likewise.
24611 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24612 (grub_multiboot_make_mbi): Likewise.
24613 (grub_multiboot_free_mbi): Likewise.
24614 (grub_multiboot_init_mbi): Likewise.
24615 (grub_multiboot_add_module): Likewise.
24616 (grub_multiboot_set_bootdev): Likewise.
24617 * loader/i386/multiboot.c (mbi): Removed.
24618 (mbi_dest): Likewise.
24619 (alloc_mbi): New variable.
24620 (grub_multiboot_payload_size): Removed. All users updated.
24621 (grub_multiboot_pure_size): New variable.
24622 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24623 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24624 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24625 (grub_fill_multiboot_mmap): Likewise.
24626 (grub_multiboot_get_bootdev): Likewise.
24627 (grub_multiboot): Use multiboot_mbi functions.
24628 * loader/i386/multiboot_mbi.c: New file.
24629
24630 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24631
24632 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24633 it would result in module crash.
24634
24635 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24636
24637 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24638 (grub_ofconsole_getwh): Split to ...
24639 (grub_ofconsole_getwh): ... this.
24640 (grub_ofconsole_dimensions): ...and this.
24641 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24642
24643 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24644
24645 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24646
24647 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24648
24649 * loader/i386/pc/multiboot2.c: Removed stalled file.
24650
24651 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24654 Reported by: Grégoire Sutre
24655
24656 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24657
24658 * util/misc.c (canonicalize_file_name): New function.
24659 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24660 instead of realpath().
24661
24662 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
24663
24664 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24665 and make it clearer that it's optional. Based on confusion
24666 witnessed on IRC.
24667
24668 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24671 in premature implicit newline.
24672
24673 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24676 which resulted in garbled command line at the end of screen.
24677
24678 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24681 initialization with similar approach as with other Linux loaders.
24682
24683 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24684
24685 Fix i386-ieee1275 build.
24686
24687 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24688 and grub_term_height() for video_{width,height} initialization.
24689
24690 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 Fix grub-emu build.
24693
24694 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24695
24696 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24697 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24698
24699 Support for multiple terminals.
24700
24701 * Makefile.in (pkglib_DATA): terminal.lst.
24702 (terminal.lst): New target.
24703 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24704 (GRUB_MOD_INIT(handler)): Likewise.
24705 (GRUB_MOD_FINI(handler)): Likewise.
24706 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24707 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24708 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24709 (grub_cmd_sleep): Use grub_term_save_pos.
24710 * commands/terminal.c: New file.
24711 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24712 commands/terminal.c and lib/charset.c.
24713 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24714 (pkglib_MODULES): Add terminal.mod.
24715 (terminal_mod_SOURCES): New variable.
24716 (terminal_mod_CFLAGS): Likewise.
24717 (terminal_mod_LDFLAGS): Likewise.
24718 * genhandlerlist.sh: Don't handle terminals.
24719 * genmk.rb: Generate terminal-*.lst.
24720 * genterminallist.sh: New file.
24721 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24722 (grub_is_valid_utf8): Likewise.
24723 (grub_utf8_to_ucs4_alloc): Likewise.
24724 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24725 (grub_menu_register_viewer): Changed argument.
24726 (grub_menu_try_text): New proto.
24727 (grub_gfxmenu_try_hook): New declaration.
24728 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24729 (grub_menu_init_page): Additional argument term.
24730 (grub_normal_init_page): Likewise.
24731 (grub_cmdline_get): Arguments simplified.
24732 (grub_utf8_to_ucs4_alloc): Removed.
24733 (grub_print_ucs4): Additional argument term.
24734 (grub_getstringwidth): Likewise.
24735 (grub_print_message_indented): Likewise.
24736 (grub_menu_text_register_instances): New proto.
24737 (grub_show_menu): Likewise.
24738 (read_terminal_list): Likewise.
24739 (grub_set_more): Likewise.
24740 * include/grub/parser.h: Include handler.h.
24741 * include/grub/reader.h: Rewritten.
24742 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24743 (GRUB_TERM_WIDTH): Changed to function.
24744 (GRUB_TERM_HEIGHT): Likewise.
24745 (GRUB_TERM_BORDER_WIDTH): Likewise.
24746 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24747 (GRUB_TERM_NUM_ENTRIES): Likewise.
24748 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24749 (GRUB_TERM_CURSOR_X): Likewise.
24750 (grub_term_input_class): Likewise.
24751 (grub_term_output_class): Likewise.
24752 (grub_term_outputs_disabled): New declaration.
24753 (grub_term_inputs_disabled): Likewise.
24754 (grub_term_outputs): Likewise.
24755 (grub_term_inputs): Likewise.
24756 (grub_term_register_input): Rewritten.
24757 (grub_term_register_output): Likewise.
24758 (grub_term_unregister_input): Likewise.
24759 (grub_term_unregister_output): Likewise.
24760 (FOR_ACTIVE_TERM_INPUTS): New macro.
24761 (FOR_DISABLED_TERM_INPUTS): Likewise.
24762 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24763 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24764 * include/grub/terminfo.h: Add oterm argument to all protypes.
24765 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24766 Use grub_rescue_run.
24767 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24768 All users updated.
24769 * kern/reader.c: Removed. All users updated.
24770 * kern/rescue_reader.c (grub_rescue_init): Removed.
24771 (grub_rescue_reader): Likewise.
24772 (grub_register_rescue_reader): Likewise.
24773 (grub_rescue_run): New function based on kern/reader.c.
24774 * kern/term.c: Adapted for multiterm.
24775 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24776 (grub_is_valid_utf8): Likewise.
24777 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24778 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24779 right terminal.
24780 * loader/i386/linux.c (grub_linux_boot): Likewise.
24781 * normal/auth.c (grub_username_get): New function.
24782 (grub_auth_check_authentication): Use grub_username_get.
24783 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24784 * normal/color.c: Adapt for multiterm.
24785 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24786 (grub_normal_init_page): Additional argument term.
24787 (read_lists): Call read_terminal_lists.
24788 (grub_enter_normal_mode): Call grub_cmdline_run.
24789 Handle grub_normal_exit_level.
24790 (grub_cmd_normal): Make reentrant.
24791 (grub_cmd_normal_exit): New function.
24792 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24793 * normal/menu.c: Adapt for multiterm.
24794 * normal/menu_entry.c: Likewise.
24795 * normal/menu_text.c: Likewise.
24796 * normal/menu_viewer.c: Removed. All users updated.
24797 * normal/term.c: New file.
24798 * util/console.c: Change order of includes to workaround a bug in
24799 ncurses headers.
24800 * term/terminfo.c: New argument oterm on all exported functions.
24801 All users updated.
24802 * util/grub-editenv.c (grub_term_input_class): Removed.
24803 (grub_term_output_class): Likewise.
24804
24805 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24806
24807 Make loader output a bit more user-friendly.
24808
24809 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24810 is being loaded. Likewise for the Hurd.
24811
24812 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24813 that kernel of FreeBSD ${version} is being loaded.
24814
24815 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24816 grub_dprintf().
24817 (grub_cmd_initrd): Likewise.
24818 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24819 that Linux ${version} is being loaded. Likewise for initrd.
24820
24821 2010-01-09 Carles Pina i Estany <carles@pina.cat>
24822
24823 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24824
24825 2010-01-08 Carles Pina i Estany <carles@pina.cat>
24826
24827 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24828 (GRUB_MOD_INIT): Gettextizze.
24829 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24830 (GRUB_MOD_INIT): Gettextizze.
24831 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24832 (grub_cmd_linux): Capitalise Linux.
24833 (GRUB_MOD_INIT): Gettextizze.
24834 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24835 (grub_cmd_linux): Capitalise Linux.
24836 (GRUB_MOD_INIT): Gettextizze.
24837 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24838 (grub_cmd_linux): Capitalise Linux.
24839 (GRUB_MOD_INIT): Gettextizze.
24840 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24841 (GRUB_MOD_INIT): Gettextizze.
24842 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24843 (grub_cmd_linux): Capitalise Linux.
24844 (GRUB_MOD_INIT): Gettextizze.
24845 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
24846 (grub_cpu_xnu_init): Gettextizze.
24847 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
24848 (GRUB_MOD_INIT): Gettextizze.
24849 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
24850 (GRUB_MOD_INIT): Gettextizze.
24851 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
24852 (grub_linux_load64): Capitalise Linux.
24853 (GRUB_MOD_INIT): Gettextizze.
24854 * loader/xnu.c: Include `<grub/i18n.h>'.
24855 (GRUB_MOD_INIT): Gettextizze.
24856 * po/POTFILES: Add `loader/efi/appleloader.c',
24857 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
24858 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
24859 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
24860 `loader/i386/xnu.c', `loader/multiboot_loader.c',
24861 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
24862 and `loader/xnu.c'.
24863
24864 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24865
24866 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
24867
24868 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
24869
24870 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
24871 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
24872 * util/mkisofs/mkisofs.c (main): Readjust --version output.
24873
24874 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24875
24876 Reset Multiboot 2 support. New loader implements the draft in
24877 /branches/multiboot2 and shares as much code as possible with the
24878 production Multiboot 1 implementation.
24879
24880 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
24881 * loader/multiboot2.c: Likewise.
24882 * loader/i386/multiboot_helper.S: Likewise.
24883 * include/multiboot2.h: Replace with latest version from the draft
24884 in /branches/multiboot2.
24885
24886 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
24887 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
24888 and `loader/multiboot2.c'.
24889 (pkglib_MODULES): Add `multiboot2.mod'.
24890 (multiboot2_mod_SOURCES): New variable.
24891 (multiboot2_mod_LDFLAGS): Likewise.
24892 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
24893
24894 * conf/i386-pc.rmk: Likewise.
24895
24896 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24897 (multiboot_mod_SOURCES): Remove variable.
24898 (multiboot_mod_LDFLAGS): Likewise.
24899 (multiboot_mod_CFLAGS): Likewise.
24900
24901 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
24902 `<multiboot2.h>' instead of `<multiboot.h>'.
24903 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
24904 (MULTIBOOT_HEADER_MAGIC): New macros.
24905
24906 * loader/multiboot_loader.c (module_version_status): Remove variable.
24907 (find_multi_boot2_header): Remove function.
24908 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
24909 logic. Always check for the Multiboot version we're compiling for.
24910 (grub_cmd_module_loader): Likewise.
24911 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
24912 command instead of `multiboot'.
24913
24914 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24915
24916 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24917 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24918 all users.
24919
24920 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24921 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 Fix breakage introduced with previous commit.
24924
24925 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24926 commands.
24927 * normal/handler.c (read_handler_list): Revert part of previous commit
24928 affecting this file.
24929 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24930 (grub_normal_execute): ... here.
24931
24932 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24933
24934 Merge prefix-redefinition-fix branch.
24935
24936 * normal/autofs.c (read_fs_list): Make function capable of being
24937 run multiple times, gracefuly replacing the previous data
24938 structures.
24939 * normal/dyncmd.c (read_command_list): Likewise.
24940 * normal/handler.c (read_handler_list): Likewise.
24941 * normal/main.c (read_lists): New function. Calls all the
24942 list reading functions.
24943 (grub_normal_execute): Use read_lists() instead of calling all
24944 list reading functions explicitly. Register read_lists() as a
24945 variable hook attached to ${prefix}.
24946
24947 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 Merge crypto branch.
24950
24951 * Makefile.in (pkglib_DATA): Add crypto.lst.
24952 (crypto.lst): New target.
24953 * commands/hashsum.c: New file.
24954 * commands/password.c (check_password): Use grub_crypto_memcmp.
24955 * commands/password_pbkdf2.c: New file.
24956 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24957 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24958 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24959 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24960 -I$(srcdir)/lib/libgcrypt_wrap.
24961 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24962 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24963 password_pbkdf2.mod.
24964 (crypto_mod_SOURCES): New variable.
24965 (crypto_mod_CFLAGS): Likewise.
24966 (crypto_mod_LDFLAGS): Likewise.
24967 (hashsum_mod_SOURCES): New variable.
24968 (hashsum_mod_CFLAGS): Likewise.
24969 (hashsum_mod_LDFLAGS): Likewise.
24970 (pbkdf2_mod_SOURCES): New variable.
24971 (pbkdf2_mod_CFLAGS): Likewise.
24972 (pbkdf2_mod_LDFLAGS): Likewise.
24973 (password_pbkdf2_mod_SOURCES): New variable.
24974 (password_pbkdf2_mod_CFLAGS): Likewise.
24975 (password_pbkdf2_mod_LDFLAGS): Likewise.
24976 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24977 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24978 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24979 Include conf/gcry.rmk.
24980 * include/grub/auth.h: Rewritten.
24981 * include/grub/crypto.h: New file.
24982 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24983 * include/grub/normal.h (read_crypto_list): New prototype.
24984 * lib/crypto.c: New file.
24985 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24986 * lib/pbkdf2.c: Likewise.
24987 * normal/auth.c (grub_auth_strcmp): Removed.
24988 (grub_iswordseparator): Likewise.
24989 (grub_auth_strword): Likewise.
24990 (is_authenticated): Use grub_strword.
24991 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24992 and grub_strword. Pass entered password to authentication callback.
24993 * normal/crypto.c: New file.
24994 * normal/main.c: Call read_crypto_list.
24995 * util/grub-mkpasswd-pbkdf2.c: New file.
24996 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24997
24998 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 Fix descent and ascent calculation.
25001
25002 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25003 (options): New option "asce".
25004 (usage): Likewise.
25005 (add_char): Ignore invalid glyphs for descent calculation.
25006 Calculate ascent from actual content.
25007 (print_glyphs): Use 'asce'.
25008 (write_font): Likewise. Allow ascent override.
25009 (main): Handle "asce" option.
25010
25011 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25012
25013 * kern/err.c: Include `<grub/i18n.h>'.
25014 (grub_print_error): Add full stop. Gettextizze.
25015 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25016 (grub_bsd_load_elf): Capitalise ELF.
25017 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25018 (grub_cmd_freebsd_module): Likewise.
25019 (grub_cmd_freebsd_module_elf): Likewise.
25020 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25021
25022 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25023
25024 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25025 * commands/search_file.c (HELP_MESSAGE): New macro.
25026 * commands/search_label.c (HELP_MESSAGE): Likewise.
25027 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25028 * po/POTFILES: Add `commands/search_file.c',
25029 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25030 `commands/search.c'.
25031
25032 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25033
25034 * config.rpath: Update from Gnulib.
25035
25036 2010-01-05 Yves Blusseau <blusseau@zetam.org>
25037
25038 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25039
25040 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25041
25042 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25043
25044 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25047 arguments to fread so that we get a return value in bytes, rather
25048 than something that will normally be rounded down to 0.
25049 Adjust error handling to avoid producing garbage when size_t is not
25050 the same size as long long.
25051
25052 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25053
25054 * util/mkisofs/write.c (padblock_write): Check return value of
25055 fread.
25056
25057 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25058
25059 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25060 floppy images now.
25061
25062 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25063
25064 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25065
25066 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25067 instead of manual alignment.
25068 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25069 verbose). Avoid attempts to read past end of the device
25070 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25071 but GRUB_DISK_CACHE_SIZE may exceed that).
25072
25073 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25074
25075 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25076 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25077 it to upper layer.
25078
25079 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25080
25081 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25082 New constant.
25083 (grub_efi_piwg_device_path): New structure
25084 (grub_efi_piwg_device_path_t): New type.
25085 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25086 (devpath_1): Transform to a structure. All users updated.
25087 (devpath_2): Likewise.
25088 (devpath_3): Likewise.
25089 (devpath_4): Likewise.
25090 (devpath_5): Likewise.
25091
25092 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 * loader/efi/appleloader.c: Restored. Update all users.
25095
25096 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25097
25098 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25099
25100 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25101 (struct boot_blocklist): Move from here ...
25102 * include/grub/i386/pc/boot.h [ASM_FILE]
25103 (struct grub_boot_blocklist): ... to here. Update all users.
25104 (setup): Only initialize `start' member of `first_block'
25105 structure. Add assert() calls to verify the other members.
25106
25107 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25108 (generate_image): Fix broken blocklist length initialization.
25109 Add assert() call to verify blocklist `segment' field.
25110
25111 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25112
25113 * loader/efi/appleloader.c: Remove. Update all users.
25114
25115 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25116
25117 * boot/i386/pc/boot.S: Update copyright year.
25118 * boot/i386/pc/cdboot.S: Likewise.
25119 * boot/i386/pc/diskboot.S: Likewise.
25120 * boot/i386/pc/lnxboot.S: Likewise.
25121 * boot/i386/pc/pxeboot.S: Likewise.
25122 * bus/pci.c: Likewise.
25123 * commands/cmp.c: Likewise.
25124 * commands/help.c: Likewise.
25125 * commands/hexdump.c: Likewise.
25126 * commands/i386/pc/halt.c: Likewise.
25127 * commands/i386/pc/play.c: Likewise.
25128 * commands/i386/pc/vbeinfo.c: Likewise.
25129 * commands/ls.c: Likewise.
25130 * commands/test.c: Likewise.
25131 * disk/dmraid_nvidia.c: Likewise.
25132 * disk/i386/pc/biosdisk.c: Likewise.
25133 * disk/ieee1275/nand.c: Likewise.
25134 * disk/ieee1275/ofdisk.c: Likewise.
25135 * disk/lvm.c: Likewise.
25136 * disk/raid.c: Likewise.
25137 * disk/raid6_recover.c: Likewise.
25138 * disk/scsi.c: Likewise.
25139 * fs/affs.c: Likewise.
25140 * fs/cpio.c: Likewise.
25141 * fs/ext2.c: Likewise.
25142 * fs/hfs.c: Likewise.
25143 * fs/iso9660.c: Likewise.
25144 * fs/ntfs.c: Likewise.
25145 * fs/sfs.c: Likewise.
25146 * fs/udf.c: Likewise.
25147 * fs/ufs.c: Likewise.
25148 * fs/xfs.c: Likewise.
25149 * gencmdlist.sh: Likewise.
25150 * genmk.rb: Likewise.
25151 * include/grub/disk.h: Likewise.
25152 * include/grub/efi/api.h: Likewise.
25153 * include/grub/efi/efi.h: Likewise.
25154 * include/grub/efi/pe32.h: Likewise.
25155 * include/grub/elf.h: Likewise.
25156 * include/grub/fs.h: Likewise.
25157 * include/grub/i386/at_keyboard.h: Likewise.
25158 * include/grub/i386/pc/memory.h: Likewise.
25159 * include/grub/i386/pc/vbe.h: Likewise.
25160 * include/grub/i386/pci.h: Likewise.
25161 * include/grub/i386/tsc.h: Likewise.
25162 * include/grub/ieee1275/ieee1275.h: Likewise.
25163 * include/grub/ntfs.h: Likewise.
25164 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25165 * include/grub/sparc64/libgcc.h: Likewise.
25166 * include/grub/symbol.h: Likewise.
25167 * include/grub/types.h: Likewise.
25168 * include/multiboot2.h: Likewise.
25169 * io/gzio.c: Likewise.
25170 * kern/device.c: Likewise.
25171 * kern/disk.c: Likewise.
25172 * kern/efi/efi.c: Likewise.
25173 * kern/efi/mm.c: Likewise.
25174 * kern/elf.c: Likewise.
25175 * kern/file.c: Likewise.
25176 * kern/i386/dl.c: Likewise.
25177 * kern/i386/pc/init.c: Likewise.
25178 * kern/i386/pc/startup.S: Likewise.
25179 * kern/ieee1275/ieee1275.c: Likewise.
25180 * kern/ieee1275/init.c: Likewise.
25181 * kern/main.c: Likewise.
25182 * kern/mm.c: Likewise.
25183 * kern/powerpc/dl.c: Likewise.
25184 * kern/sparc64/dl.c: Likewise.
25185 * kern/x86_64/dl.c: Likewise.
25186 * lib/hexdump.c: Likewise.
25187 * loader/efi/appleloader.c: Likewise.
25188 * loader/i386/ieee1275/linux.c: Likewise.
25189 * loader/i386/pc/chainloader.c: Likewise.
25190 * loader/i386/pc/linux.c: Likewise.
25191 * loader/i386/pc/multiboot2.c: Likewise.
25192 * loader/ieee1275/multiboot2.c: Likewise.
25193 * loader/multiboot2.c: Likewise.
25194 * loader/multiboot_loader.c: Likewise.
25195 * loader/powerpc/ieee1275/linux.c: Likewise.
25196 * normal/completion.c: Likewise.
25197 * normal/menu_entry.c: Likewise.
25198 * partmap/apple.c: Likewise.
25199 * util/grub.d/10_hurd.in: Likewise.
25200 * util/hostfs.c: Likewise.
25201 * video/readers/png.c: Likewise.
25202
25203 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
25204
25205 * include/grub/misc.h (GNUC_PREREQ): New macro.
25206 (ATTRIBUTE_ERROR): New macro.
25207 * include/grub/list.h (grub_bad_type_cast_real): Use
25208 ATTRIBUTE_ERROR.
25209
25210 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25211
25212 * normal/menu_text.c (print_message): Change messages.
25213
25214 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25215
25216 * normal/menu_entry.c (store_completion): Gettextizze.
25217
25218 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25219
25220 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25221
25222 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25223
25224 * po/POTFILES: Sort correctly.
25225
25226 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25227
25228 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25229 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25230 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25231 full stop.
25232 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25233 summary. Gettextizze the strings.
25234 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25235 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25236 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25237 full stop.
25238 (GRUB_MOD_INIT): Remove command name from summary.
25239 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25240 summary.
25241 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25242 * term/i386/pc/serial.c (options): Add full stops.
25243 (GRUB_MOD_INIT): Remove command name from the summary.
25244
25245 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25246
25247 * commands/acpi.c: Gettextizze help strings and/or options. Include
25248 `grub/i18n.h' if needed.
25249 * commands/blocklist.c: Likewise.
25250 * commands/boot.c: Likewise.
25251 * commands/cat.c: Likewise.
25252 * commands/cmp.c: Likewise.
25253 * commands/configfile.c: Likewise.
25254 * commands/crc.c: Likewise.
25255 * commands/date.c: Likewise.
25256 * commands/echo.c: Likewise.
25257 * commands/efi/fixvideo.c: Likewise.
25258 * commands/efi/loadbios.c: Likewise.
25259 * commands/gptsync.c: Likewise.
25260 * commands/halt.c: Likewise.
25261 * commands/handler.c: Likewise.
25262 * commands/hdparm.c: Likewise.
25263 * commands/hexdump.c: Likewise.
25264 * commands/i386/cpuid.c: Likewise.
25265 * commands/i386/pc/drivemap.c: Likewise.
25266 * commands/i386/pc/halt.c: Likewise.
25267 * commands/i386/pc/pxecmd.c: Likewise.
25268 * commands/i386/pc/vbeinfo.c: Likewise.
25269 * commands/i386/pc/vbetest.c: Likewise.
25270 * commands/ieee1275/suspend.c: Likewise.
25271 * commands/keystatus.c: Likewise.
25272 * commands/loadenv.c: Likewise.
25273 * commands/ls.c: Likewise.
25274 * commands/lsmmap.c: Likewise.
25275 * commands/lspci.c: Likewise.
25276 * commands/memrw.c: Likewise.
25277 * commands/minicmd.c: Likewise.
25278 * commands/parttool.c: Likewise.
25279 * commands/password.c: Likewise.
25280 * commands/probe.c: Likewise.
25281 * commands/read.c: Likewise.
25282 * commands/reboot.c: Likewise.
25283 * commands/search.c: Likewise.
25284 * commands/sleep.c: Likewise.
25285 * commands/test.c: Likewise.
25286 * commands/true.c: Likewise.
25287 * commands/usbtest.c: Likewise.
25288 * commands/videotest.c: Likewise.
25289 * commands/xnu_uuid.c: Likewise.
25290 * disk/loopback.c: Likewise.
25291 * hello/hello.c: Likewise.
25292 * loader/i386/bsd.c: Likewise.
25293 * term/i386/pc/serial.c: Likewise.
25294 * po/POTFILES: Add new files.
25295
25296 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
25297
25298 * term/i386/pc/at_keyboard.c
25299 (keyboard_controller_wait_untill_ready): Rename to ...
25300 (keyboard_controller_wait_until_ready): ... this. Update all users.
25301
25302 2010-01-01 Carles Pina i Estany <carles@pina.cat>
25303
25304 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25305 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25306 string using string width.
25307 * normal/menu_text.c (grub_print_message_indented): Use
25308 grub_print_spaces and not print_spaces.
25309 (print_timeout): Likewise.
25310 (print_spaces): Move to...
25311 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25312
25313 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25314
25315 Import from Gnulib.
25316
25317 * gnulib/getdelim.c: New file.
25318 * gnulib/getline.c: Likewise.
25319
25320 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25321
25322 * include/grub/list.h (grub_assert_fail): Removed.
25323 (grub_bad_type_cast_real): New function.
25324 (grub_bad_type_cast): New macro.
25325 (GRUB_AS_LIST): Use grub_bad_type_cast.
25326 (GRUB_AS_LIST_P): Likewise.
25327 (GRUB_AS_NAMED_LIST): Likewise.
25328 (GRUB_AS_NAMED_LIST_P): Likewise.
25329 (GRUB_AS_PRIO_LIST): Likewise.
25330 (GRUB_AS_PRIO_LIST_P): Likewise.
25331 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
25332
25333 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25334
25335 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25336 Fix syntax error.
25337
25338 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25339
25340 * configure.ac: Check for TARGET_CFLAGS initialization before we
25341 initialize it ourselves (sigh).
25342 Move a few modifications to TARGET_CFLAGS to be unconditional
25343 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25344 eh_frame)
25345
25346 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25347 * term/i386/pc/at_keyboard.c
25348 (keyboard_controller_wait_untill_ready): Likewise.
25349 (keyboard_controller_led): Rename `led_status' paramter to avoid
25350 name conflict.
25351
25352 2009-12-28 Carles Pina i Estany <carles@pina.cat>
25353
25354 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25355 quotes.
25356
25357 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25358
25359 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25360
25361 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * normal/menu_text.c (grub_print_message_indented): Prevent
25364 past-the-end-of-array dereference.
25365
25366 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25367
25368 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25369 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25370
25371 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25372
25373 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25374 * normal/main.c (grub_normal_read_line): Remove a space from the
25375 default prompt.
25376
25377 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25378
25379 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25380 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25381 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25382 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25383 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25384 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25385 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25386
25387 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25388
25389 * video/readers/jpeg.c (cmd): Declare.
25390 (grub_cmd_jpegtest): Use `grub_command_t' type.
25391 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25392 Assign to `cmd'.
25393 (GRUB_MOD_FINI): Use `cmd' to unregister.
25394 * video/readers/png.c (cmd): Declare.
25395 (grub_cmd_pngtest): Use `grub_command_t' type.
25396 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25397 Assign to `cmd'.
25398 (GRUB_MOD_FINI): Use `cmd' to unregister.
25399 * video/readers/tga.c (cmd): Declare.
25400 (grub_cmd_tgatest): Use `grub_command_t' type.
25401 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25402 Assign to `cmd'.
25403 (GRUB_MOD_FINI): Use `cmd' to unregister.
25404
25405 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25406
25407 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
25408 stops.
25409 * kern/corecmd.c (grub_register_core_commands): Likewise.
25410 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
25411 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25412 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
25413 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25414 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25415 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
25416 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25417 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
25418 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25419 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25420 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25421 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25422 * normal/handler.c (insert_handler): Likewise.
25423 * normal/main.c (GRUB_MOD_INIT): Likewise.
25424 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25425
25426 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25427
25428 * commands/help.c (grub_cmd_help): Print the command name before the
25429 summary.
25430 (GRUB_MOD_INIT): Remove command name from the summary.
25431 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
25432 string as summary.
25433 * lib/arg.c (find_long): Print the command name before the summary.
25434 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
25435 summary.
25436 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
25437 * commands/cat.c (GRUB_MOD_INIT): Likewise.
25438 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
25439 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25440 * commands/crc.c (GRUB_MOD_INIT): Likewise.
25441 * commands/date.c (GRUB_MOD_INIT): Likewise.
25442 * commands/echo.c (GRUB_MOD_INIT): Likewise.
25443 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
25444 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25445 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25446 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
25447 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
25448 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
25449 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
25450 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25451 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
25452 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
25453 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
25454 * commands/ls.c (GRUB_MOD_INIT): Likewise.
25455 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25456 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25457 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25458 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
25459 * commands/password.c (GRUB_MOD_INIT): Likewise.
25460 * commands/probe.c (GRUB_MOD_INIT): Likewise.
25461 * commands/read.c (GRUB_MOD_INIT): Likewise.
25462 * commands/search.c (GRUB_MOD_INIT): Likewise.
25463 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
25464 * commands/test.c (GRUB_MOD_INIT): Likewise.
25465 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
25466 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25467 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25468 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
25469 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25470 * lib/arg.c (GRUB_MOD_INIT): Likewise.
25471 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
25472 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25473 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25474 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25475 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25476 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
25477 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
25478 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
25479
25480 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25481
25482 Use search command for preliminar UUID search.
25483
25484 * commands/search.c: Split into ...
25485 * commands/search_wrap.c: ...this
25486 * commands/search.c: ...and this.
25487 * commands/search_file.c: New file.
25488 * commands/search_label.c: New file.
25489 * commands/search_uuid.c: New file.
25490 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25491 Add commands/search_wrap.c, commands/search_file.c,
25492 commands/search_label.c and commands/search_uuid.c.
25493 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25494 (search_mod_SOURCES): Set to commands/search_wrap.c.
25495 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
25496 search_label.mod.
25497 (search_fs_file_mod_SOURCES): New variable.
25498 (search_fs_file_mod_CFLAGS): Likewise.
25499 (search_fs_file_mod_LDFLAGS): Likewise.
25500 (search_label_mod_SOURCES): Likewise.
25501 (search_label_mod_CFLAGS): Likewise.
25502 (search_label_mod_LDFLAGS): Likewise.
25503 (search_fs_uuid_mod_SOURCES): New variable.
25504 (search_fs_uuid_mod_CFLAGS): Likewise.
25505 (search_fs_uuid_mod_LDFLAGS): Likewise.
25506 (fs_file_mod_SOURCES): Removed.
25507 (fs_file_mod_CFLAGS): Likewise.
25508 (fs_file_mod_LDFLAGS): Likewise.
25509 (fs_uuid_mod_SOURCES): Removed.
25510 (fs_uuid_mod_CFLAGS): Likewise.
25511 (fs_uuid_mod_LDFLAGS): Likewise.
25512 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
25513 Set to util/grub-install.in.
25514 * disk/fs_file.c: Removed.
25515 * disk/fs_uuid.c: Likewise.
25516 * include/grub/search.h: New file.
25517 * util/grub-install.in: Handle sparc64.
25518 Create and use load.cfg.
25519 * util/sparc64/ieee1275/grub-install.in: Removed.
25520
25521 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25522
25523 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
25524 Ignore return status if CF is cleared.
25525 (grub_biosdisk_get_diskinfo_standard): Likewise.
25526
25527 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25528
25529 * term/i386/pc/at_keyboard.c
25530 (keyboard_controller_wait_untill_ready): New function.
25531 (grub_keyboard_controller_write, grub_keyboard_controller_read)
25532 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
25533 for keyboard polling, rather than duplicate the same loop. This
25534 saves a few bytes in code size.
25535
25536 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 Support for (pxe[:server[:gateway]]) syntax and
25539 use environment variable for PXE.
25540
25541 * commands/i386/pc/pxecmd.c (options): Removed.
25542 (print_ip): Removed.
25543 (grub_cmd_pxe): Removed
25544 (grub_cmd_pxe_unload): New function.
25545 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
25546 (grub_pxe_your_ip): Made static.
25547 (grub_pxe_default_server_ip): Likewise.
25548 (grub_pxe_default_gateway_ip): Likewise.
25549 (grub_pxe_blksize): Likewise.
25550 (parse_ip): New function.
25551 (grub_pxe_open): Support server and gateway specification.
25552 (grub_pxe_close): Free disk->data.
25553 (grub_pxefs_open): Use disk->data.
25554 (grub_pxefs_read): Likewise.
25555 (grub_env_write_readonly): New function.
25556 (set_mac_env): Likewise.
25557 (set_env_limn_ro): Likewise.
25558 (parse_dhcp_vendor): Likewise.
25559 (grub_pxe_detect): Set the environment variables.
25560 (set_ip_env): New function.
25561 (write_ip_env): Likewise.
25562 (grub_env_write_pxe_default_server): Likewise.
25563 (grub_env_write_pxe_default_gateway): Likewise.
25564 (grub_env_write_pxe_blocksize): Likewise.
25565 (GRUB_MOD_INIT(pxe)): Set environment variables.
25566 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25567 (grub_pxe_mac_addr_t): ... this. All users updated.
25568 (grub_pxe_your_ip): Removed.
25569 (grub_pxe_server_ip): Likewise.
25570 (grub_pxe_gateway_ip): Likewise.
25571 (grub_pxe_blksize): Likewise.
25572
25573 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25574
25575 * commands/help.c: Include `<grub/i18n.h>'.
25576 (grub_cmd_help): Gettextizze.
25577 (GRUB_MOD_INIT): Likewise.
25578 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25579 (GRUB_MOD_INIT): Gettextizze.
25580 * commands/search.c: Include `<grub/i18n.h>'.
25581 (options): Gettextizze.
25582 (GRUB_MOD_INIT): Gettextizze.
25583 * lib/arg.c: Include `<grub/i18n.h>'.
25584 (help_options): Gettextizze.
25585 (find_long): Likewise.
25586 (grub_arg_show_help): Likewise.
25587 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25588 (read_command_list): Gettextizze.
25589 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
25590 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
25591
25592 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25593
25594 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25595 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25596 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25597 (led_status): New variable.
25598 (keyboard_controller_led): New function.
25599 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25600 update led status for caps lock, num lock and scroll lock.
25601
25602 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
25603
25604 * util/hostdisk.c (open_device): Fix a comment.
25605
25606 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25607
25608 * util/grub-install.in (host_os): New variable.
25609 * util/i386/efi/grub-install.in (host_os): Likewise.
25610
25611 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25612
25613 * util/mkisofs/write.c (padblock_write): Abort when given an
25614 excedingly large embed image, instead of silently truncating it.
25615
25616 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25617
25618 * include/multiboot.h: Indentation fixes.
25619
25620 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25621
25622 * include/multiboot.h (struct multiboot_aout_symbol_table)
25623 (struct multiboot_elf_section_header_table): New structure
25624 declarations (stolen from GRUB Legacy).
25625 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25626 table information.
25627
25628 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25629 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25630 type aliases.
25631
25632 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25633
25634 * include/multiboot.h: Make comments src2texi-friendly.
25635
25636 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25637
25638 For consistency with [multiboot]/docs/boot.S.
25639
25640 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25641 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25642 (MULTIBOOT_MAGIC2): Rename from this ...
25643 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25644
25645 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25646
25647 * include/multiboot.h: Remove `<grub/types.h>'.
25648 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25649 types. Update all users.
25650
25651 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25652
25653 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25654 `couldn't' and `can not' by `cannot'.
25655 * commands/i386/pc/drivemap.c: Likewise.
25656 * disk/ata.c: Likewise.
25657 * disk/ieee1275/nand.c: Likewise.
25658 * fs/affs.c: Likewise.
25659 * fs/fat.c: Likewise.
25660 * fs/hfs.c: Likewise.
25661 * fs/hfsplus.c: Likewise.
25662 * fs/iso9660.c: Likewise.
25663 * fs/jfs.c: Likewise.
25664 * fs/minix.c: Likewise.
25665 * fs/reiserfs.c: Likewise.
25666 * fs/sfs.c: Likewise.
25667 * fs/udf.c: Likewise.
25668 * fs/ufs.c: Likewise.
25669 * fs/xfs.c: Likewise.
25670 * loader/powerpc/ieee1275/linux.c: Likewise.
25671 * loader/sparc64/ieee1275/linux.c: Likewise.
25672 * util/grub-probe.c: Likewise.
25673 * util/misc.c: Likewise.
25674
25675 2009-12-24 Carles Pina i Estany <carles@pina.cat>
25676
25677 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25678 grub_errno calls.
25679 * commands/acpi.c: Likewise.
25680 * commands/blocklist.c: Likewise.
25681 * commands/efi/loadbios.c: Likewise.
25682 * commands/i386/pc/drivemap.c: Likewise.
25683 * commands/loadenv.c: Likewise.
25684 * commands/memrw.c: Likewise.
25685 * commands/password.c: Likewise.
25686 * commands/videotest.c: Likewise.
25687 * disk/ata.c: Likewise.
25688 * disk/ata_pthru.c: Likewise.
25689 * disk/dmraid_nvidia.c: Likewise.
25690 * disk/ieee1275/nand.c: Likewise.
25691 * disk/ieee1275/ofdisk.c: Likewise.
25692 * disk/loopback.c: Likewise.
25693 * disk/lvm.c: Likewise.
25694 * disk/mdraid_linux.c: Likewise.
25695 * disk/raid.c: Likewise.
25696 * disk/raid6_recover.c: Likewise.
25697 * disk/scsi.c: Likewise.
25698 * efiemu/main.c: Likewise.
25699 * efiemu/mm.c: Likewise.
25700 * efiemu/pnvram.c: Likewise.
25701 * efiemu/symbols.c: Likewise.
25702 * font/font.c: Likewise.
25703 * fs/cpio.c: Likewise.
25704 * fs/hfsplus.c: Likewise.
25705 * fs/iso9660.c: Likewise.
25706 * fs/jfs.c: Likewise.
25707 * fs/minix.c: Likewise.
25708 * fs/ntfs.c: Likewise.
25709 * fs/ntfscomp.c: Likewise.
25710 * fs/reiserfs.c: Likewise.
25711 * fs/ufs.c: Likewise.
25712 * fs/xfs.c: Likewise.
25713 * gettext/gettext.c: Likewise.
25714 * include/grub/auth.h: Likewise.
25715 * kern/elf.c: Likewise.
25716 * kern/file.c: Likewise.
25717 * kern/ieee1275/init.c: Likewise.
25718 * kern/ieee1275/mmap.c: Likewise.
25719 * kern/ieee1275/openfw.c: Likewise.
25720 * kern/powerpc/dl.c: Likewise.
25721 * kern/sparc64/dl.c: Likewise.
25722 * lib/arg.c: Likewise.
25723 * loader/i386/bsd.c: Likewise.
25724 * loader/i386/bsdXX.c: Likewise.
25725 * loader/i386/efi/linux.c: Likewise.
25726 * loader/i386/efi/xnu.c: Likewise.
25727 * loader/i386/ieee1275/linux.c: Likewise.
25728 * loader/i386/linux.c: Likewise.
25729 * loader/i386/multiboot.c: Likewise.
25730 * loader/i386/pc/linux.c: Likewise.
25731 * loader/i386/pc/multiboot2.c: Likewise.
25732 * loader/i386/xnu.c: Likewise.
25733 * loader/ieee1275/multiboot2.c: Likewise.
25734 * loader/macho.c: Likewise.
25735 * loader/machoXX.c: Likewise.
25736 * loader/multiboot2.c: Likewise.
25737 * loader/multiboot_loader.c: Likewise.
25738 * loader/powerpc/ieee1275/linux.c: Likewise.
25739 * loader/sparc64/ieee1275/linux.c: Likewise.
25740 * loader/xnu.c: Likewise.
25741 * loader/xnu_resume.c: Likewise.
25742 * mmap/i386/pc/mmap.c: Likewise.
25743 * normal/menu_viewer.c: Likewise.
25744 * partmap/acorn.c: Likewise.
25745 * partmap/amiga.c: Likewise.
25746 * partmap/apple.c: Likewise.
25747 * script/lexer.c: Likewise.
25748 * term/gfxterm.c: Likewise.
25749 * term/i386/pc/serial.c: Likewise.
25750 * term/i386/pc/vga.c: Likewise.
25751 * term/ieee1275/ofconsole.c: Likewise.
25752 * term/terminfo.c: Likewise.
25753 * video/bitmap.c: Likewise.
25754 * video/efi_gop.c: Likewise.
25755 * video/efi_uga.c: Likewise.
25756 * video/fb/video_fb.c: Likewise.
25757 * video/i386/pc/vbe.c: Likewise.
25758 * video/readers/tga.c: Likewise.
25759 * video/video.c: Likewise.
25760
25761 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
25762
25763 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25764 * commands/lspci.c: Likewise.
25765 * commands/probe.c: Likewise.
25766 * commands/xnu_uuid.c: Likewise.
25767 * conf/i386-coreboot.rmk: Likewise.
25768 * conf/i386-efi.rmk: Likewise.
25769 * conf/i386-ieee1275.rmk: Likewise.
25770 * conf/i386-pc.rmk: Likewise.
25771 * conf/powerpc-ieee1275.rmk: Likewise.
25772 * conf/sparc64-ieee1275.rmk: Likewise.
25773 * conf/x86_64-efi.rmk: Likewise.
25774 * fs/i386/pc/pxe.c: Likewise.
25775 * gettext/gettext.c: Likewise.
25776 * include/grub/efi/graphics_output.h: Likewise.
25777 * include/grub/i386/pc/memory.h: Likewise.
25778 * kern/env.c: Likewise.
25779 * kern/i386/qemu/startup.S: Likewise.
25780 * lib/i386/pc/biosnum.c: Likewise.
25781 * lib/i386/relocator.c: Likewise.
25782 * lib/i386/relocator_asm.S: Likewise.
25783 * lib/relocator.c: Likewise.
25784 * loader/i386/bsd.c: Likewise.
25785 * loader/i386/multiboot.c: Likewise.
25786 * loader/i386/pc/chainloader.c: Likewise.
25787 * loader/i386/xnu.c: Likewise.
25788 * loader/xnu.c: Likewise.
25789 * normal/main.c: Likewise.
25790 * normal/menu_text.c: Likewise.
25791 * util/getroot.c: Likewise.
25792 * util/grub-mkconfig_lib.in: Likewise.
25793 * util/grub.d/00_header.in: Likewise.
25794 * util/i386/pc/grub-mkimage.c: Likewise.
25795 * util/mkisofs/eltorito.c: Likewise.
25796 * util/mkisofs/exclude.h: Likewise.
25797 * util/mkisofs/hash.c: Likewise.
25798 * util/mkisofs/iso9660.h: Likewise.
25799 * util/mkisofs/joliet.c: Likewise.
25800 * util/mkisofs/mkisofs.c: Likewise.
25801 * util/mkisofs/mkisofs.h: Likewise.
25802 * util/mkisofs/multi.c: Likewise.
25803 * util/mkisofs/name.c: Likewise.
25804 * util/mkisofs/rock.c: Likewise.
25805 * util/mkisofs/tree.c: Likewise.
25806 * util/mkisofs/write.c: Likewise.
25807 * video/efi_gop.c: Likewise.
25808
25809 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25812 size counting.
25813
25814 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25815
25816 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25817 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25818
25819 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25822 (GRUB_MOD_INIT(memrw)): Update help line.
25823
25824 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25825
25826 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25827 Use grub_extcmd_t. All users updated.
25828 (options): New variable.
25829 (grub_cmd_read): Restructure for readability. Support "-v" option.
25830 (grub_cmd_write): Restructure for readability.
25831
25832 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25833
25834 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25835
25836 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25837
25838 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25839 with the actual contents of the correspondending make variable.
25840 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25841 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25842 specifying `*.lst' and `efiemu??.o'
25843
25844 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25845
25846 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
25847 after function name.
25848 Noticed by Rene Engelhard <rene@debian.org>.
25849
25850 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25851
25852 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
25853 (options): New variable.
25854 (iospace): Likewise.
25855 (grub_lspci_iter): List IO spaces if "-i" was given.
25856 (grub_cmd_lspci): Parse options.
25857 (GRUB_MOD_INIT(lspci)): Use extcmd.
25858 (GRUB_MOD_FINI(lspci)): Likewise.
25859
25860 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25861
25862 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
25863 `function' keyword.
25864 Patch by Tony Mancill <tmancill@debian.org>.
25865
25866 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
25869 (grub_uhci_portstatus): Likewise.
25870 (grub_uhci_portstatus): Add necessary delay.
25871 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
25872
25873 2009-12-21 Carles Pina i Estany <carles@pina.cat>
25874
25875 * commands/acpi.c (options): Fix capitalizations and/or full stops.
25876 (GRUB_MOD_INIT): Likewise.
25877 * commands/boot.c (GRUB_MOD_INIT): Likewise.
25878 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
25879 * commands/echo.c (options): Fix capitalizations and/or full stops.
25880 * commands/efi/loadbios.c (enable_rom_area): Likewise.
25881 (enable_rom_area): Likewise.
25882 (GRUB_MOD_INIT): Likewise.
25883 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25884 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
25885 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25886 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
25887 * commands/hexdump.c (options): Likewise.
25888 * commands/i386/cpuid.c (options): Likewise.
25889 (GRUB_MOD_INIT): Likewise.
25890 * commands/i386/pc/drivemap.c (options): Likewise.
25891 (GRUB_MOD_INIT): Likewise.
25892 * commands/i386/pc/halt (options): Likewise.
25893 (GRUB_MOD_INIT): Likewise.
25894 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25895 * commands/i386/pc/pxecmd.c (options): Likewise.
25896 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
25897 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
25898 * commands/keystatus.c (options): Likewise.
25899 (GRUB_MOD_INIT): Likewise.
25900 * commands/loadenv.c (options): Likewise.
25901 * commands/ls.c (options): Likewise.
25902 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25903 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25904 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25905 * commands/parttool.c (helpmsg): Likewise.
25906 * commands/probe.c (options): Likewise.
25907 * commands/read.c (GRUB_MOD_INIT): Likewise.
25908 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
25909 * commands/search.c (options): Likewise.
25910 * commands/sleep.c (options): Likewise.
25911 * commands/test.c (GRUB_MOD_INIT): Likewise.
25912 * commands/true.c (GRUB_MOD_INIT): Likewise.
25913 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25914 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25915 * lib/arg.c (help_options): Likewise.
25916 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25917 `$(XGETTEXT)'.
25918 * po/POTFILES: Add `commands/loadenv.c'.
25919
25920 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
25921
25922 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
25923 instead of specifying them explicit.
25924
25925 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25926
25927 * NEWS: Add grub-probe support for GNU/Hurd.
25928
25929 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25930
25931 * NEWS: gettext was added after 1.97.
25932
25933 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25934
25935 * util/mkisofs/msdos_partition.h: New file (based on
25936 include/grub/msdos_partition.h).
25937 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25938 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25939 (ld_options, main): Recognize --protective-msdos-label.
25940 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25941 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25942 (padblock_write): If `use_protective_msdos_label' is set, patch a
25943 protective DOS-style label in the output image.
25944
25945 * util/grub-mkrescue.in: Use --protective-msdos-label.
25946
25947 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25948
25949 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25950 boot.
25951
25952 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25953
25954 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25955 variables.
25956 (ld_options, main): Recognize `--embedded-boot'.
25957 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25958 declarations.
25959 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25960 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25961 (padblock_write): Likewise. Rewrite to support embedded boot image.
25962
25963 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25964 for BIOS-based disk boot instead of only ElTorito.
25965
25966 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25967
25968 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25969 build (not needed for bootstrap).
25970
25971 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25972
25973 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25974 from i386-pc build (not needed for bootstrap).
25975 Rewrite a pair of strings.
25976
25977 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25978
25979 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25980
25981 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25984
25985 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25986
25987 * kern/env.c (grub_env_context_open): Mark exported variable for
25988 reexport.
25989
25990 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25991
25992 * kern/env.c (grub_env_export): Create nonexistent variables before
25993 exporting.
25994
25995 2009-12-20 Carles Pina i Estany <carles@pina.cat>
25996
25997 * include/grub/auth.h: Include `<grub/i18n.h>'.
25998 (GRUB_GET_PASSWORD): Gettextizze string.
25999 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26000 menu_text.c.
26001 (grub_utf8_to_ucs4_alloc): Fix indentation.
26002 (grub_print_ucs4): Likewise.
26003 (grub_getstringwidth): Likewise.
26004 (print_message_indented): New declaration.
26005 * normal/auth.c: Include `<grub/i18n.h>'.
26006 (grub_auth_check_authentication): Gettexttize string.
26007 * normal/cmdline.c: Include `<grub/i18n.h>'.
26008 (grub_cmdline_get): Gettextizze.
26009 * normal/color.c: Include `<grub/i18n.h>'.
26010 (grub_parse_color_name_pair): Gettexttize strings.
26011 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26012 string (use `print_message_indented').
26013 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26014 `include/grub/normal.h'.
26015 (print_message_indented): Renamed to ...
26016 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26017 used in normal/main.c).
26018 (print_message): Use `grub_print_message_indented' instead of
26019 `print_message_indented'.
26020 (print_timeout): Likewise.
26021 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26022 (grub_normal_print_device_info): Gettexttize strings.
26023 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26024
26025 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26026
26027 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26028 of arguments. Return number of tokens and not arguments. All users
26029 updated.
26030
26031 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26034 non-MSDOS paritions.
26035
26036 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26037
26038 * include/grub/types.h (UNUSED): Removed since it conflicts with
26039 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26040 Reported by Grégoire Sutre.
26041
26042 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26043
26044 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26045 (grub_print_ucs4_alloc): Likewise.
26046 (grub_getstringwidth): Likewise.
26047 * normal/main.c (grub_normal_init_page): Gettextize version string.
26048 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26049 (getstringwidth): Renamed to ...
26050 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26051 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26052 (grub_print_ucs4): Remove `static' qualifer (now used in
26053 normal/main.c).
26054 * po/POTFILES: Add normal/main.c.
26055
26056 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26057
26058 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26059 (print_message_indented): Add `margin_left' and `margin_right'
26060 parameters.
26061 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26062 strings.
26063 (print_timeout): Use `print_message_indented' to print the message.
26064 Deletes `second_stage' parameter.
26065 (run_menu): Update `print_timeout' calls.
26066
26067 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 Fix console palette on OpenFirmware.
26070
26071 * term/ieee1275/ofconsole.c (MAX): Removed.
26072 (colors): Redone based on VGA palette.
26073 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26074 colors are supported.
26075 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26076
26077 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26078
26079 Fix potential EfiEmu double prepare.
26080
26081 * efiemu/main.c (prepared): New variable
26082 (grub_efiemu_unload): Set prepare to '0'.
26083 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26084
26085 set_virtual_address_map support.
26086
26087 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26088 prototype.
26089 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26090 prototype.
26091 (grub_efiemu_crc32): Likewise.
26092 (grub_efiemu_crc64): Likewise.
26093 (grub_efiemu_set_virtual_address_map): Likewise.
26094 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26095 New definition.
26096 (grub_autoefi_set_virtual_address_map): Likewise.
26097 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26098 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26099 Restructure flow to accomodate it.
26100 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26101 (grub_efiemu_crc): Recompute CRC32.
26102 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26103 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26104 * efiemu/symbols.c (relocated_handle): New variable.
26105 (grub_efiemu_free_syms): Free relocated_handle.
26106 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26107 (grub_efiemu_write_sym_markers): New function.
26108 (grub_efiemu_set_virtual_address_map): Likewise.
26109
26110 Newer XNU parameters.
26111
26112 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26113 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26114 (grub_xnu_fill_devicetree): New prototype.
26115 (grub_xnu_heap_real_start): New variable.
26116 * loader/xnu.c (get_name_ptr): New function.
26117 (grub_xnu_load_driver): Fill namelen and name.
26118
26119 64-bit xnu support.
26120
26121 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26122 and 'loader/macho64.c'.
26123 * conf/i386-pc.rmk: Likewise.
26124 * conf/x86_64-efi.rmk: Likewise.
26125 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26126 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26127 * include/grub/macho.h (grub_macho_segment64): New structure.
26128 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26129 (grub_macho_size32): ... to this.
26130 (grub_macho32_get_entry_point): Renamed from ...
26131 (grub_macho_get_entry_point32): ... to this.
26132 (grub_macho_contains_macho64): New prototype.
26133 (grub_macho_size64): Likewise.
26134 (grub_macho_get_entry_point64): Likewise.
26135 (grub_macho32_load): Renamed from ...
26136 (grub_macho_load32): ... to this.
26137 (grub_macho32_filesize): Renamed from ...
26138 (grub_macho_filesize32): ... to this.
26139 (grub_macho32_readfile): Renamed from ...
26140 (grub_macho_readfile32): ... to this.
26141 (grub_macho_filesize64): New prototype.
26142 (grub_macho_readfile64): Likewise.
26143 (grub_macho_parse32): Likewise.
26144 (grub_macho_parse64): Likewise.
26145 * loader/macho.c: Split into ...
26146 * loader/machoXX.c: ... and this. Replace 32 with XX.
26147 * loader/macho32.c: New file.
26148 * loader/macho64.c: Likewise.
26149 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26150 (grub_cmd_xnu_kernel): Make 32-bit only.
26151 (grub_cmd_xnu_kernel64): New function.
26152 (grub_xnu_load_driver): Support Mach-O 64.
26153 (grub_cmd_xnu_mkext): Likewise.
26154 * util/grub.d/30_os-prober.in (osx_entry): New function.
26155 Generate entries for 64-bit boot too.
26156
26157 Eliminate ad-hoc tree format in XNU and EfiEmu.
26158
26159 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26160 * efiemu/pnvram.c: Rewritten to use environment variables.
26161 All users updated.
26162
26163 Inline utf16_to_utf8.
26164
26165 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26166 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26167 All users updated.
26168 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26169
26170 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26171 * commands/usbtest.c (grub_usb_get_string): ... move here.
26172 (usb_print_str): Fix error handling.
26173 * include/grub/usb.h (grub_usb_get_string): Remove.
26174
26175 UTF-8 to UTF-16 transformation.
26176
26177 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26178 (charset_mod_SOURCES): New variable.
26179 (charset_mod_CFLAGS): Likewise.
26180 (charset_mod_LDFLAGS): Likewise.
26181 * include/grub/utf.h: New file.
26182 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26183
26184 Support for device properties.
26185
26186 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26187 (grub_xnu_devprop_device_header): Likewise.
26188 (grub_xnu_devprop_device_descriptor): Likewise.
26189 (grub_xnu_devprop_add_device): New prototype.
26190 (grub_xnu_devprop_remove_device): Likewise.
26191 (grub_xnu_devprop_remove_property): Likewise.
26192 (grub_xnu_devprop_add_property_utf8): Likewise.
26193 (grub_xnu_devprop_add_property_utf16): Likewise.
26194 (grub_cpu_xnu_init): Likewise.
26195 (grub_cpu_xnu_fini): Likewise.
26196 (grub_cpu_xnu_unload): Likewise.
26197 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26198 (property_descriptor): Likewise.
26199 (devices): New variable.
26200 (grub_xnu_devprop_remove_property): New function.
26201 (grub_xnu_devprop_add_device): Likewise.
26202 (grub_xnu_devprop_remove_device): Likewise.
26203 (grub_xnu_devprop_add_property): Likewise.
26204 (grub_xnu_devprop_add_property_utf8): Likewise.
26205 (grub_xnu_devprop_add_property_utf16): Likewise.
26206 (hextoval): Likewise.
26207 (grub_cpu_xnu_fill_devprop): Likewise.
26208 (grub_cmd_devprop_load): Likewise.
26209 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26210 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26211 (cmd_devprop_load): New variable.
26212 (grub_cpu_xnu_init): New function.
26213 (grub_cpu_xnu_fini): Likewise.
26214 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26215 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26216 (grub_cmd_xnu_devtree): Likewise.
26217 (hextoval): New function.
26218 (unescape): Likewise.
26219 (grub_xnu_fill_devicetree): Likewise.
26220
26221 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26222 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26223
26224 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26225
26226 Workaround for broken ATI VBE.
26227
26228 * video/i386/pc/vbe.c (last_set_mode): New variable.
26229 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26230 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26231 (grub_video_vbe_setup): Don't check for reserved flag.
26232
26233 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
26234
26235 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26236 the `find' command.
26237
26238 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26239
26240 UUID support for HFS.
26241
26242 * fs/hfs.c (grub_hfs_uuid): New function.
26243 (grub_hfs_fs): New value .uuid.
26244 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26245
26246 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
26247
26248 Fix a segfault with parsing unknown long options.
26249
26250 * util/grub-mkrelpath.c (options): Zero terminate it.
26251
26252 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26253
26254 * include/grub/misc.h (grub_puts): New declaration.
26255 (grub_puts_): Likewise.
26256 * kern/misc.c (grub_puts): New definition.
26257 (grub_puts_): Likewise.
26258
26259 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26260
26261 * util/grub-probe.c (probe): Improve error message.
26262
26263 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26264
26265 * loader/i386/multiboot_elfxx.c
26266 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26267 initialization.
26268
26269 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 Relocator framework
26272
26273 * loader/i386/xnu_helper.S: Removed. All users updated.
26274 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26275 (relocator_mod_SOURCES): New variable.
26276 (relocator_mod_CFLAGS): Likewise.
26277 (relocator_mod_LDFLAGS): Likewise.
26278 (relocator_mod_ASFLAGS): Likewise.
26279 * conf/x86_64.rmk: Likewise.
26280 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26281 (grub_multiboot_payload_entry_offset): Likewise.
26282 (grub_multiboot_forward_relocator): Likewise.
26283 (grub_multiboot_forward_relocator_end): Likewise.
26284 (grub_multiboot_backward_relocator): Likewise.
26285 (grub_multiboot_backward_relocator_end): Likewise.
26286 (grub_multiboot_payload_eip): New variable.
26287 (grub_multiboot_payload_orig): Likewise.
26288 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26289 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26290 * include/grub/i386/memory.h
26291 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26292 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26293 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26294 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26295 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26296 * include/grub/i386/relocator.h: New file.
26297 * include/grub/x86_64/relocator.h: Likewise.
26298 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26299 (XNU_RELOCATOR): New macro.
26300 (grub_xnu_launcher_start): Remove.
26301 (grub_xnu_launcher_end): Likewise.
26302 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26303 (grub_xnu_heap_real_start): Remove.
26304 (grub_xnu_heap_start): Change to void *. All users updated.
26305 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26306 * lib/i386/relocator.c: New file.
26307 * lib/i386/relocator_asm.S: Likewise.
26308 * lib/i386/relocator_backward.S: Likewise.
26309 * lib/mips/relocator.c: Likewise.
26310 * lib/mips/relocator_asm.S: Likewise.
26311 * lib/relocator.c: Likewise.
26312 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26313 (entry): Removed.
26314 (playground): Likewise.
26315 (grub_multiboot_payload_orig): New variable.
26316 (grub_multiboot_payload_dest): Likewise.
26317 (grub_multiboot_payload_size): Likewise.
26318 (grub_multiboot_payload_eip): Likewise.
26319 (grub_multiboot_payload_esp): Likewise.
26320 (grub_multiboot_boot): Use grub_relocator32_boot.
26321 (grub_multiboot_unload): Free relocators.
26322 (grub_multiboot): Setup stack. Use relocators.
26323 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26324 (grub_multiboot_load_elfXX): Use relocators.
26325 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26326 (grub_multiboot_payload_size): Likewise.
26327 (grub_multiboot_payload_dest): Likewise.
26328 (grub_multiboot_payload_entry_offset): Likewise.
26329 (grub_multiboot_forward_relocator): Likewise.
26330 (grub_multiboot_backward_relocator): Likewise.
26331 (grub_multiboot_real_boot): Likewise.
26332 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26333 (grub_xnu_entry_point): Likewise.
26334 (grub_xnu_arg1): Likewise.
26335 (grub_xnu_stack): Likewise.
26336 (grub_xnu_launch): Removed.
26337 (grub_xnu_boot_resume): New function.
26338 (grub_xnu_boot): Use relocators.
26339 * loader/i386/xnu_helper.S: Removed.
26340 * loader/xnu.c (grub_xnu_heap_start): New variable.
26341 (grub_xnu_heap_size): Likewise.
26342 (grub_xnu_heap_malloc): Use relocators.
26343 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26344
26345 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26348 anything.
26349
26350 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26351
26352 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26353 GRUB_ERR_NONE before calling grub_env_set.
26354
26355 2009-12-12 Robert Millan <rmh@aybabtu.com>
26356
26357 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26358 * genmk.rb (video): New variable.
26359 (CLEANFILES, VIDEOFILES): Add #{video}.
26360 (#{video}): New target rule.
26361 * genvideolist.sh: New file.
26362 * Makefile.in (pkglib_DATA): Add video.lst.
26363 (video.lst): New target rule.
26364 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26365 `video.lst'.
26366 * util/grub.d/30_os-prober.in: Replace `vbe' with
26367 ${GRUB_VIDEO_BACKEND}.
26368
26369 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26370
26371 * THANKS: Add David Miller.
26372
26373 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 libpciaccess support.
26376
26377 * Makefile.in (LIBPCIACCESS): New variable.
26378 (enable_grub_emu_pci): Likewise.
26379 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26380 util/pci.c and commands/lspci.c.
26381 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26382 * configure.ac (grub-emu-pci): New option.
26383 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26384 (grub_pci_device_unmap_range): Likewise.
26385 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
26386 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
26387 (grub_pci_address_t) [!GRUB_UTIL]: New type.
26388 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
26389 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
26390 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
26391 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
26392 * include/grub/pciutils.h: New file.
26393 * util/pci.c: Likewise.
26394
26395 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
26396
26397 * util/misc.c: Don't include <errno.h> twice.
26398
26399 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
26400
26401 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
26402 name in an error message.
26403 (grub_biosdisk_rw): Likewise.
26404
26405 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26406
26407 Eliminate NTFS 4Gib barrier.
26408
26409 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
26410 (read_run_data): Likewise.
26411 (grub_ntfs_read_run_list): Likewise.
26412 (grub_ntfs_read_block): Likewise.
26413 (grub_ntfs_iterate_dir): Likewise.
26414 (read_mft): Likewise.
26415 (read_data): Likewise.
26416 Use COM_LOG_LEN.
26417 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
26418 to avoid 64-bit division
26419 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
26420 (grub_ntfs_rlst): Use grub_disk_addr_t.
26421
26422 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26423
26424 Eliminate grub-fstest 4Gib barrier.
26425
26426 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
26427 (read_file): Fix error reporting.
26428
26429 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26430
26431 Eliminate hexdump 4Gib barrier.
26432
26433 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
26434 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
26435
26436 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26437
26438 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
26439 Fixes amarsh bug.
26440
26441 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
26442
26443 Remove miscellaneous files in distclean target.
26444
26445 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
26446
26447 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
26448
26449 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
26450 if they're already set. This resolves the conflict between my
26451 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
26452 fixing the --grub-probe option again.
26453 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
26454 change on 2009-10-06, so that we now once again source
26455 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26456
26457 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
26458
26459 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
26460 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
26461 `util/devicemap.c'.
26462
26463 2009-12-08 Carles Pina i Estany <carles@pina.cat>
26464
26465 * include/grub/misc.h (grub_printf_): New declaration.
26466 * kern/misc.c (grub_printf_): New definition.
26467 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
26468 instead of `grub_printf' and `_'.
26469 * normal/menu_entry.c (store_completion): Likewise.
26470 (run): Likewise.
26471 (grub_menu_entry_run): Likewise.
26472 * normal/menu_text.c (grub_wait_after_message): Likewise.
26473 (notify_booting): Likewise.
26474 (notify_fallback): Likewise.
26475 (notify_execution_failure): Likewise.
26476
26477 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
26478
26479 * configure.ac: Check for vasprintf.
26480 * util/misc.c (asprintf): Move allocation from here ...
26481 (vasprintf): ... to here. New function.
26482 (xasprintf): New function.
26483 * include/grub/util/misc.h (vasprintf, xasprintf): Add
26484 prototypes.
26485 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26486 * util/grub-mkfont.c (write_font): Likewise.
26487 * util/grub-probe.c (probe): Likewise.
26488 * util/hostdisk.c (make_device_name): Likewise.
26489
26490 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
26491
26492 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26493 anything even prefixed with 'cdrom' as a cdrom.
26494
26495 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
26496
26497 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
26498 mount points.
26499
26500 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26501
26502 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
26503 grub_gettext_msg_list.
26504 (grub_gettext_gettranslation_from_position): Return const char *
26505 and not char *.
26506 (grub_gettext_translate): Add the translated strings into a list,
26507 returns from the list if existing there.
26508 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
26509 (grub_gettext_delete_list): Delete the list.
26510 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
26511 lang environment variable is changed.
26512 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
26513
26514 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26515
26516 Rename kernel.mod to kernel.img.
26517
26518 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
26519 (kernel_mod_EXPORTS): Rename to ...
26520 (kernel_img_EXPORTS): ... this.
26521 (kernel_mod_SOURCES): Rename to ...
26522 (kernel_img_SOURCES): ... this.
26523 (kernel_mod_HEADERS): Rename to ...
26524 (kernel_img_HEADERS): ... this. All users updated.
26525 (kernel_mod_CFLAGS): Rename to ...
26526 (kernel_img_CFLAGS): ... this.
26527 (kernel_mod_ASFLAGS): Rename to ...
26528 (kernel_img_ASFLAGS): ... this.
26529 (kernel_mod_LDFLAGS): Rename to ...
26530 (kernel_img_LDFLAGS): ... this.
26531 * conf/x86_64-efi.rmk: Likewise.
26532 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
26533 (read_kernel_image): ... this. All users updated.
26534 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
26535
26536 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26537
26538 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
26539 (print_spaces): New function.
26540 (grub_print_ucs4): New function.
26541 (getstringwidth): New function.
26542 (print_message_indented): New function.
26543 (print_message): Gettexttize strings using print_message_indented.
26544 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
26545 width.
26546 (get_entry_number): Gettextize and uses dynamic terminal width.
26547 (notify_booting, notify_fallback, notify_execution_failure):
26548 Gettextize.
26549 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26550 string.
26551 (run): Likewise.
26552 (grub_menu_entry_run): Likewise.
26553 * PO/POTFILES: Add normal/menu_entry.c.
26554
26555 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26556
26557 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26558
26559 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26560
26561 * util/grub-install.in: Install gettext .mo files.
26562 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26563
26564 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26565
26566 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26567 grub_dprintf.
26568
26569 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26570
26571 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26572 non-firmware-dependant one in realmode.S takes precedence.
26573
26574 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26575
26576 * commands/halt.c: Replace misc arch-specific headers with
26577 `<grub/misc.h>'.
26578 * commands/reboot.c: Likewise.
26579 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26580 `<grub/misc.h>'.
26581 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26582 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26583 (kernel_img_SOURCES): ... to here.
26584
26585 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26586 * include/grub/i386/pc/init.h: Likewise.
26587 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26588 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26589
26590 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26591
26592 * include/grub/i386/halt.h: Remove.
26593 * include/grub/i386/reboot.h: Likewise.
26594
26595 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26596
26597 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
26598
26599 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26600 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26601 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26602 "progname.h"
26603 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26605 (usage): Add missing comma in printf.
26606
26607 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26608
26609 Use the same reboot approach on i386 coreboot and qemu as we do on
26610 BIOS.
26611
26612 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26613 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26614 * kern/i386/reboot.c: Remove.
26615 * include/grub/i386/reboot.h (grub_reboot): Export function.
26616 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26617 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26618 0xf000:0xfff0 instead of 0xffff:0x0000.
26619 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26620 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26621
26622 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26623
26624 Fix $srcdir != $objdir build.
26625
26626 * Makefile.in (po/%.po): Rewrite as ...
26627 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26628
26629 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26630
26631 Fix GNU/Hurd grub-install crash.
26632 * util/grub-probe.c (probe): Try to access `path' only when it is not
26633 NULL.
26634
26635 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26636
26637 Correct module naming.
26638
26639 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26640 (GRUB_MOD_INIT(efi_uga)): ... to this
26641 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26642 (GRUB_MOD_FINI(efi_uga)): ... to this
26643 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26644 (GRUB_MOD_INIT(efi_gop)): ... to this
26645 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26646 (GRUB_MOD_FINI(efi_gop)): ... to this
26647
26648 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26649
26650 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26651 translatable.
26652 (usage): Translate `arg' strings using gettext().
26653 Thanks to Jordi Mallach for the suggestion.
26654
26655 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 GOP support. Based on patch from Bean
26658 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26659
26660 * video/efi_gop.c: New file.
26661 * include/grub/efi/graphics_output.h: Likewise.
26662 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26663 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26664 variables.
26665 * conf/x86_64-efi.rmk: Likewise.
26666
26667 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 Rename efi_fb to efi_uga.
26670
26671 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26672 'efi_uga.mod'.
26673 (efi_fb_mod_SOURCES): Rename this ...
26674 (efi_uga_mod_SOURCES): ... to this.
26675 (efi_fb_mod_CFLAGS): Rename this ...
26676 (efi_uga_mod_CFLAGS): ... to this.
26677 (efi_fb_mod_LDFLAGS): Rename this ...
26678 (efi_uga_mod_LDFLAGS): ... to this.
26679 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26680 'efi_uga.mod'.
26681 (efi_fb_mod_SOURCES): Rename this ...
26682 (efi_uga_mod_SOURCES): ... to this.
26683 (efi_fb_mod_CFLAGS): Rename this ...
26684 (efi_uga_mod_CFLAGS): ... to this.
26685 (efi_fb_mod_LDFLAGS): Rename this ...
26686 (efi_uga_mod_LDFLAGS): ... to this.
26687 * video/efi_fb.c: Move this ...
26688 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26689
26690 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26691
26692 * po/README: New file. Explain our PO file workflow.
26693
26694 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 * po/ChangeLog: Remove. Move relevant entries back to ...
26697 * ChangeLog: ... here.
26698 * po/ca.po: Remove (now handled by TLP).
26699 * po/id.po: Likewise.
26700 * po/zh_CN.po: Likewise.
26701 * Makefile.in (LINGUAS): Initialize in a way that supports
26702 empty set.
26703
26704 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26705
26706 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26707 reliing on po/LINGUAS.
26708 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26709 (po/%.po): ... this.
26710
26711 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26712
26713 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26714 (main): Use `program_name' instead of nonexistent `progname'.
26715
26716 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26717
26718 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26719 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26720
26721 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26722
26723 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26724 commit.
26725 * conf/i386-efi.rmk: Likewise.
26726 * conf/i386-ieee1275.rmk: Likewise.
26727 * conf/powerpc-ieee1275.rmk: Likewise.
26728 * conf/sparc64-ieee1275.rmk: Likewise.
26729 * conf/x86_64-efi.rmk: Likewise.
26730
26731 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26732
26733 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26734
26735 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26736
26737 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26738
26739 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26740
26741 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26742 (grub_mkdevicemap_SOURCES): New variable.
26743 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26744 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26745 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26746 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26747 (grub_mkdevicemap_SOURCES): Remove.
26748 * conf/i386-efi.rmk: Likewise.
26749 * conf/i386-ieee1275.rmk: Likewise.
26750 * conf/i386-pc.rmk: Likewise.
26751 * conf/powerpc-ieee1275.rmk: Likewise.
26752 * conf/sparc64-ieee1275.rmk: Likewise.
26753 * conf/x86_64-efi.rmk: Likewise.
26754 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26755 (usage): Fix strings to use `program_name'.
26756 (main): Initialize gettext.
26757 * util/grub-editenv.c: Likewise.
26758 * util/grub-emu.c: Likewise.
26759 * util/grub-fstest.c: Likewise.
26760 * util/grub-mkdevicemap.c: Likewise.
26761 * util/grub-mkfont.c: Likewise.
26762 * util/grub-mkrelpath.c: Likewise.
26763 * util/grub-pe2elf.c: Likewise.
26764 * util/grub-probe.c: Likewise.
26765 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26766 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26767 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26768
26769 * util/misc.c: Include `"progname.h"'.
26770 (progname): Remove variable.
26771 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26772
26773 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26774
26775 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26776 printf and print a newline after the menuentry header line.
26777 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26778
26779 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26780
26781 autoconf >= 2.60 support $(localedir).
26782
26783 * INSTALL: Note that autoconf 2.60 is required.
26784 * configure.ac (AC_PREREQ): Bump to 2.60.
26785 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26786 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26787
26788 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26789
26790 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26791 aclocal is run.
26792
26793 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26794
26795 * normal/main.c (grub_normal_read_line): Fix off-by-one
26796 buffer overflow.
26797
26798 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26799
26800 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26801 "parser.grub" in grub_command_execute() call.
26802
26803 2009-11-24 Carles Pina i Estany <carles@pina.cat>
26804
26805 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26806 * conf/i386-efi.rmk: Likewise.
26807 * conf/i386-ieee1275.rmk: Likewise.
26808 * conf/i386-pc.rmk: Likewise.
26809 * conf/powerpc-ieee1275.rmk: Likewise.
26810 * conf/sparc64-ieee1275.rmk: Likewise.
26811 * conf/x86_64-efi.rmk: Likewise.
26812 * gettext/gettex.c: Include <grub/i18n.h>.
26813 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26814 here ...
26815 * include/grub/i18n.h: ... to here
26816 * include/grub/i18n.h: ... to here.
26817 * kern/misc.c: Include <grub/i18n.h>
26818 (grub_gettext_dummy): Move above user.
26819
26820 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26821
26822 * util/Makefile.in (install-local): Convert a `for' into a normal
26823 shell expansion.
26824
26825 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26826
26827 * autogen.sh: Add automake call.
26828 * config.guess: Remove.
26829 * config.sub: Likewise.
26830 * install-sh: Likewise.
26831
26832 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26833
26834 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26835
26836 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26837
26838 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26839 function to a normal shell `for'.
26840
26841 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26842
26843 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26844
26845 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26846
26847 * util/grub-mkrelpath.c: New file.
26848 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
26849 (grub_mkrelpath_SOURCES): New variable.
26850 * include/grub/util/misc.h: New function prototype.
26851 * util/misc.c (make_system_path_relative_to_its_root): New function.
26852
26853 * util/grub-mkconfig_lib.in (bindir): New variable.
26854 (grub_mkrelpath): Likewise.
26855 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
26856
26857 * util/probe.c (probe): Make the file path relative to its root.
26858 Change a info message to use the GRUB path. Enable again the
26859 check if we can read the file with GRUB facilities.
26860
26861 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
26862 to its root.
26863
26864 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26865
26866 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
26867 platform.
26868
26869 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26870
26871 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
26872 strncmp().
26873
26874 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26875
26876 * util/getroot.c (grub_util_is_dmraid): New function.
26877 (grub_util_get_dev_abstraction): Treat dmraid and multipath
26878 devices as normal ones, not as LVM.
26879
26880 2009-11-23 Carles Pina i Estany <carles@pina.cat>
26881
26882 * conf/common.rmk: Add grub-gettext_lib target and updates
26883 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
26884 LDFLAGS.
26885 * gettext/gettext.c: New file. (Reads mo files).
26886 * include/grub/file.h (grub_file_pread): New prototype.
26887 * include/grub/i18n.h (_): New prototype.
26888 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26889 prototypes.
26890 * kern/misc.c (grub_gettext_dummy): New function.
26891 * normal/menu_text.c: Include <grub/i18n.h>.
26892 * normal/menu_text.c (print_timeout): Gettexttize string.
26893 * normal/menu_text.c (print_message): Gettexttize string.
26894 * po/POTFILES: Add `normal/menu_text.c'.
26895 * po/ca.po: Add new translations.
26896 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
26897 gettext module and defines locale_dir and lang in grub.cfg.
26898 * NEWS: Add gettext support.
26899
26900 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26901
26902 * util/hostdisk.c: Include `<grub/i18n.h>'.
26903 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
26904 (make_device_name): Rewrite using asprintf.
26905 (convert_system_partition_to_system_disk): Replace 0 with NULL.
26906 (find_system_device): If a device is not found, generate one just
26907 by reusing the OS path name.
26908 (read_device_map): Make it permissible for device.map not to exist.
26909
26910 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26911
26912 * script/sh/execute.c: Move from here ...
26913 * script/execute.c: ... to here. Update all users.
26914 * script/sh/function.c: Move from here ...
26915 * script/function.c: ... to here. Update all users.
26916 * script/sh/lexer.c: Move from here ...
26917 * script/lexer.c: ... to here. Update all users.
26918 * script/sh/main.c: Move from here ...
26919 * script/main.c: ... to here. Update all users.
26920 * script/sh/parser.y: Move from here ...
26921 * script/parser.y: ... to here. Update all users.
26922 * script/sh/script.c: Move from here ...
26923 * script/script.c: ... to here. Update all users.
26924
26925 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26926
26927 * configure.ac: Detect all `emu' platforms. Define
26928 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26929 --enable-grub-emu logic. Disable include/grub/machine
26930 symlink on `emu' platforms.
26931
26932 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26933 * gensymlist.sh.in: Likewise.
26934
26935 * include/grub/i386/coreboot/machine.h: Remove file.
26936 * include/grub/i386/efi/machine.h: Likewise.
26937 * include/grub/i386/ieee1275/machine.h: Likewise.
26938 * include/grub/i386/pc/machine.h: Likewise.
26939 * include/grub/i386/qemu/machine.h: Likewise.
26940 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26941 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26942 * include/grub/x86_64/efi/machine.h: Likewise.
26943
26944 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26945 * commands/halt.c: Likewise.
26946 * commands/reboot.c: Likewise.
26947 * include/grub/autoefi.h: Likewise.
26948 * include/grub/i386/at_keyboard.h: Likewise.
26949 * include/grub/i386/kernel.h: Likewise.
26950 * include/grub/i386/loader.h: Likewise.
26951 * include/grub/i386/pc/memory.h: Likewise.
26952 * kern/dl.c: Likewise.
26953 * kern/i386/coreboot/init.c: Likewise.
26954 * loader/i386/bsd.c: Likewise.
26955 * loader/i386/linux.c: Likewise.
26956 * loader/multiboot_loader.c: Likewise.
26957 * term/i386/pc/serial.c: Likewise.
26958 * term/usb_keyboard.c: Likewise.
26959
26960 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26961 `<grub/machine/machine.h>'
26962 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26963 * util/misc.c: Remove `<grub/machine/machine.h>' and
26964 `<grub/machine/time.h>'.
26965
26966 * Makefile.in (enable_grub_emu): Remove variable.
26967 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26968
26969 * conf/any-emu.rmk: New file.
26970 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26971 (grub_emu_init.c): Move from here ...
26972 * conf/any-emu.rmk: ... to here.
26973
26974 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26975 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26976 * conf/any-emu.rmk: ... to here.
26977
26978 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26979
26980 * include/grub/parser.h (grub_parser_register): Document need
26981 of `name' parameter.
26982 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26983 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26984 "sh" to "grub".
26985
26986 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26987
26988 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26989 `$(XGETTEXT)'.
26990 * include/grub/i18n.h (N_): New macro.
26991 * util/mkisofs/mkisofs.h: Likewise.
26992 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26993 around N_().
26994 (usage): Use gettext() to translate help strings when printing them.
26995
26996 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26997
26998 Based on patch from Bean
26999 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27000
27001 * video/efi_fb.c: New file.
27002 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27003 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27004 variables.
27005 * conf/x86_64-efi.rmk: Likewise.
27006
27007 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27010 * util/i386/pc/grub-setup.c: Likewise.
27011
27012 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27013
27014 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27015 <hurd/fs.h>
27016 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27017 file_get_storage_info to implement grub_guess_root_device.
27018
27019 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27020
27021 * Makefile.in (target): Use make's builtin $(shell) function
27022 instead of calling directly $(SHELL) to create the locale directories,
27023 inside the $(foreach) function.
27024
27025 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27026
27027 * util/grub-mkrescue.in: Print an error and usage if output option
27028 has not been given.
27029
27030 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27031
27032 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27033 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27034 root and /boot are on different devices.
27035
27036 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27037
27038 Fix build for srcdir != objdir.
27039
27040 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27041 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27042 $(srcdir).
27043 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27044 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27045 reference for input.
27046
27047 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27048
27049 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27050 or hardlinking it). Remove -J option, Joliet is not compatible with
27051 multiple source directories.
27052
27053 2009-11-21 Carles Pina i Estany <carles@pina.cat>
27054 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27055
27056 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27057 (process_input_dir): New function. Process an arbitrary input
27058 directory.
27059 Misc adjustments to support both "override mode" and system-wide mode.
27060
27061 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27062
27063 * configure.ac (UNIFONT_BDF): Rename to ...
27064 (FONT_SOURCE): ... this. Update all users.
27065
27066 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27067
27068 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27069 to the list of unifont files to look for.
27070
27071 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27072
27073 Patch from Joe Auricchio <jauricchio@gmail.com>
27074 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27075 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27076 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27077
27078 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27079
27080 * Makefile.in (install-local): Add a missing backslash.
27081
27082 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27083
27084 * include/grub/x86_64/io.h: New file.
27085
27086 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27087
27088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27089 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27090 Include `"progname.h"'.
27091 (main): Initialize gettext.
27092 * util/i386/pc/grub-setup.c: Gettexttize.
27093 * util/i386/pc/grub-mkimage.c: Likewise.
27094
27095 * Makefile.in (po/*.po): Redefine as ...
27096 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27097
27098 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27099
27100 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27101
27102 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27103 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27104 (program_name): Remove.
27105 (main): Initialize gettext support.
27106 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27107 Include `<libintl.h>'.
27108 (_): New macro.
27109
27110 * util/mkisofs/eltorito.c: Gettexttize.
27111 * util/mkisofs/joliet.c: Likewise.
27112 * util/mkisofs/mkisofs.c: Likewise.
27113 * util/mkisofs/multi.c: Likewise.
27114 * util/mkisofs/rock.c: Likewise.
27115 * util/mkisofs/tree.c: Likewise.
27116 * util/mkisofs/write.c: Likewise.
27117
27118 * po/POTFILES: Update with new files.
27119
27120 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27121
27122 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27123 * util/mkisofs/iso9660.h: Likewise.
27124 * util/mkisofs/joliet.c: Likewise.
27125 * util/mkisofs/mkisofs.c: Likewise.
27126 * util/mkisofs/mkisofs.h: Likewise.
27127 * util/mkisofs/rock.c: Likewise.
27128 * util/mkisofs/tree.c: Likewise.
27129 * util/mkisofs/write.c: Likewise.
27130
27131 * util/mkisofs/eltorito.c (rcsid): Remove.
27132 * util/mkisofs/hash.c: Likewise.
27133 * util/mkisofs/joliet.c: Likewise.
27134 * util/mkisofs/name.c: Likewise.
27135 * util/mkisofs/rock.c: Likewise.
27136 * util/mkisofs/tree.c: Likewise.
27137 * util/mkisofs/write.c: Likewise.
27138
27139 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27140
27141 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27142 instead of static allocation.
27143 * util/mkisofs/match.h: Likewise.
27144
27145 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27146
27147 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27148 and `util/grub.d/10_linux.in'.
27149 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27150 translatable Shell files.
27151
27152 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27153
27154 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27155
27156 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27157
27158 * INSTALL: Document Automake is needed for bootstrap.
27159 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
27160 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27161 Add gettext initialization.
27162 (kfreebsd_entry): Make menuentry output translatable.
27163
27164 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27165
27166 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27167 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27168 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27169 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27170 (LINGUAS): Auto-generate using `po/LINGUAS'.
27171 * po/LINGUAS: New file.
27172
27173 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27174
27175 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27176 other things).
27177 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27178 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27179 bindtextdomain() calls for gettext initialization.
27180
27181 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27182
27183 * gnulib/progname.c: New file (imported from Gnulib).
27184 * gnulib/progname.h: Likewise.
27185 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27186 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27187 (usage): Replace `progname' with `program_name'.
27188 (main): Use set_program_name() for program name initialization.
27189
27190 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27191
27192 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27193 from here ...
27194 * Makefile.in (CPPFLAGS): ... to here.
27195
27196 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27197
27198 * aclocal.m4: Move from here ...
27199 * acinclude.m4: ... to here.
27200 * autogen.sh: Add call to `aclocal'.
27201 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27202
27203 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27204
27205 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27206 (LINGUAS): New variable.
27207 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27208 (install-local): Install MO files.
27209 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27210 * include/grub/i18n.h: New file.
27211 * po/POTFILES: New file.
27212 * po/ca.po: New file.
27213 * util/grub.d/10_linux.in (bindir): New variable.
27214 Add gettext initialization.
27215 (linux_entry): Make menuentry output translatable.
27216 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27217 (usage): Make --help output translatable.
27218 (main): Initialize gettext.
27219
27220 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27221
27222 * import_gcry.py: New file (written by Vladimir with minor
27223 adjustments).
27224 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27225 ciphers.
27226 * INSTALL: Document that Python is required for bootstrap.
27227
27228 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27229
27230 Import ciphers from libgcrypt 1.4.4.
27231
27232 * lib/libgcrypt/cipher/ChangeLog
27233 * lib/libgcrypt/cipher/ac.c
27234 * lib/libgcrypt/cipher/arcfour.c
27235 * lib/libgcrypt/cipher/bithelp.h
27236 * lib/libgcrypt/cipher/blowfish.c
27237 * lib/libgcrypt/cipher/camellia-glue.c
27238 * lib/libgcrypt/cipher/camellia.c
27239 * lib/libgcrypt/cipher/camellia.h
27240 * lib/libgcrypt/cipher/cast5.c
27241 * lib/libgcrypt/cipher/cipher.c
27242 * lib/libgcrypt/cipher/crc.c
27243 * lib/libgcrypt/cipher/des.c
27244 * lib/libgcrypt/cipher/dsa.c
27245 * lib/libgcrypt/cipher/ecc.c
27246 * lib/libgcrypt/cipher/elgamal.c
27247 * lib/libgcrypt/cipher/hash-common.c
27248 * lib/libgcrypt/cipher/hash-common.h
27249 * lib/libgcrypt/cipher/hmac-tests.c
27250 * lib/libgcrypt/cipher/md.c
27251 * lib/libgcrypt/cipher/md4.c
27252 * lib/libgcrypt/cipher/md5.c
27253 * lib/libgcrypt/cipher/primegen.c
27254 * lib/libgcrypt/cipher/pubkey.c
27255 * lib/libgcrypt/cipher/rfc2268.c
27256 * lib/libgcrypt/cipher/rijndael-tables.h
27257 * lib/libgcrypt/cipher/rijndael.c
27258 * lib/libgcrypt/cipher/rmd.h
27259 * lib/libgcrypt/cipher/rmd160.c
27260 * lib/libgcrypt/cipher/rsa.c
27261 * lib/libgcrypt/cipher/seed.c
27262 * lib/libgcrypt/cipher/serpent.c
27263 * lib/libgcrypt/cipher/sha1.c
27264 * lib/libgcrypt/cipher/sha256.c
27265 * lib/libgcrypt/cipher/sha512.c
27266 * lib/libgcrypt/cipher/tiger.c
27267 * lib/libgcrypt/cipher/twofish.c
27268 * lib/libgcrypt/cipher/whirlpool.c
27269
27270 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27271
27272 Fix build for systems without error().
27273
27274 * gnulib/error.c: New file (imported from Gnulib).
27275 * gnulib/error.h: Likewise.
27276 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27277 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27278 (this variable is now used by error()).
27279
27280 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27281
27282 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27283 instead of relying that char is signed.
27284
27285 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27286
27287 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27288 blocksize different from specified.
27289 (grub_pxefs_read): Likewise.
27290
27291 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27292
27293 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27294
27295 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27296 (grub_ata_readwrite): Likewise. Update 2 format strings.
27297 (grub_atapi_read): Likewise.
27298
27299 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27300 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27301 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27302 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27303 (ata_mod_LDFLAGS): Move from here ...
27304 * conf/i386.rmk: ... to here ...
27305 * conf/x86_64-efi.rmk: ... and here.
27306 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27307 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27308
27309 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 Relicense multiboot.h, with RMS' blessing.
27312
27313 * include/multiboot.h: Change to X11 license.
27314
27315 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27316
27317 Support --version in grub-mkisofs.
27318
27319 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27320 (OPTION_VERSION): New macro.
27321 (ld_options): Recognize --version.
27322 (usage): Move `program_name' from here ...
27323 (program_name): ... to here. Add `static' qualifier.
27324 (main): Recognize `OPTION_VERSION'.
27325
27326 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
27327
27328 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27329 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27330
27331 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27332
27333 Fix help2man generation for mkisofs.
27334
27335 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27336 (usage): Send output to stdout (rather than stderr).
27337
27338 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27341 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27342 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27343 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27344 (bin_SCRIPTS): Add `grub-mkfloppy'.
27345 (grub_mkfloppy_SOURCES): New variable.
27346
27347 * util/grub-mkrescue.in: New file.
27348 * util/i386/pc/grub-mkfloppy.in: New file.
27349
27350 * util/i386/coreboot/grub-mkrescue.in: Remove.
27351 * util/i386/pc/grub-mkrescue.in: Remove.
27352
27353 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27354
27355 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27356 from here ...
27357 * include/multiboot.h (struct multiboot_header): ... to here. Update
27358 all users.
27359 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27360 from here ...
27361 * include/multiboot.h (struct multiboot_info): ... to here. Update
27362 all users.
27363 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27364 from here ...
27365 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27366 Update all users.
27367 * include/grub/multiboot.h (struct grub_mod_list): Move
27368 from here ...
27369 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27370 Update all users.
27371
27372 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27373
27374 * include/multiboot2.h (multiboot_word): Rename from this ...
27375 (multiboot2_word): ... to this. Update all users.
27376 (multiboot_header): Rename from this ...
27377 (multiboot2_header): ... to this. Update all users.
27378 (multiboot_tag_header): Rename from this ...
27379 (multiboot2_tag_header): ... to this. Update all users.
27380 (multiboot_tag_start): Rename from this ...
27381 (multiboot2_tag_start): ... to this. Update all users.
27382 (multiboot_tag_name): Rename from this ...
27383 (multiboot2_tag_name): ... to this. Update all users.
27384 (multiboot_tag_module): Rename from this ...
27385 (multiboot2_tag_module): ... to this. Update all users.
27386 (multiboot_tag_memory): Rename from this ...
27387 (multiboot2_tag_memory): ... to this. Update all users.
27388 (multiboot_tag_unused): Rename from this ...
27389 (multiboot2_tag_unused): ... to this. Update all users.
27390 (multiboot_tag_end): Rename from this ...
27391 (multiboot2_tag_end): ... to this. Update all users.
27392
27393 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27394
27395 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
27396 this platform we should support Multiboot1 first.
27397
27398 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27399 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
27400 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
27401
27402 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27403
27404 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
27405 of write calls (converting them to fwrite() if they aren't already).
27406 (get_torito_desc): Likewise.
27407 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
27408
27409 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27410
27411 * util/i386/pc/grub-install.in: Move from here ...
27412 * util/grub-install.in: ... to here. Update all users.
27413
27414 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
27415
27416 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
27417
27418 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27419
27420 Support for El Torito without floppy emulation.
27421
27422 * util/mkisofs/eltorito.c: Include `<errno.h>'.
27423 (init_boot_catalog): Improve error handling.
27424 (get_torito_desc): Don't use floppy emulation unless requested by
27425 user. Patch boot information table when requested via
27426 `-boot-info-table'.
27427 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
27428 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
27429 (use_boot_info_table): New variables.
27430 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
27431 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
27432 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
27433 `--eltorito-emul-floppy'.
27434 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
27435 and `OPTION_ELTORITO_EMUL_FLOPPY'.
27436 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
27437 (use_boot_info_table, get_731): New prototypes.
27438 * util/mkisofs/write.c (get_731): New function.
27439
27440 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
27441
27442 Fix the generation of the man page.
27443
27444 * util/pc/i386/grub-install.in: Source
27445 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27446
27447 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27448
27449 Large file support for grub-mkisofs.
27450
27451 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
27452 * util/mkisofs/mkisofs.c (next_extent, last_extent)
27453 (session_start): Upgrade type to `uint64_t'. Update all users.
27454 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
27455 (struct directory_entry): Upgrade type of `starting_block' and
27456 `size' to `uint64_t'. Update all users.
27457 (struct deferred): Remove unused structure.
27458 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
27459 Update all users.
27460 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
27461 file is larger than `UINT32_MAX'.
27462 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
27463 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
27464 return value.
27465 (struct deferred_write): Upgrade type of `extent' and `size' to
27466 `uint64_t'. Update all users.
27467 (last_extent_written): Upgrade type to `uint64_t'. Update all
27468 users.
27469 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
27470 Update all users. Upgrade type of `remain' to `int64_t' and
27471 `use' to `size_t'. Use error() to handle fread() errors.
27472 (write_files): Rely on write_one_file() rather than calling
27473 xfwrite() directly.
27474
27475 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
27476
27477 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
27478
27479 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27480
27481 * util/mkisofs/fnmatch.c: Remove.
27482 * util/mkisofs/getopt1.c: Likewise.
27483 * util/mkisofs/getopt.c: Likewise.
27484 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
27485 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
27486 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
27487 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27488 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27489
27490 * configure.ac: Detect `mingw32msvc' host_os.
27491 Check for lstat(), getuid() and getgid().
27492
27493 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27494 instances of `u_char' with `uint8_t'.
27495
27496 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
27497 [!HAVE_GETUID] (getuid): New function (stub).
27498 [!HAVE_GETGID] (getgid): Likewise.
27499 [!HAVE_LSTAT] (lstat): Likewise.
27500 [!S_IROTH] (S_IROTH): New macro (dummy).
27501 [!S_IRGRP] (S_IRGRP): Likewise.
27502
27503 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27504
27505 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
27506 conditional expression).
27507
27508 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27509
27510 Import from Gnulib.
27511
27512 * gnulib/fnmatch.c: New file.
27513 * gnulib/fnmatch.h: Likewise.
27514 * gnulib/fnmatch_loop.c: Likewise.
27515 * gnulib/getopt.c: Likewise.
27516 * gnulib/getopt.h: Likewise.
27517 * gnulib/getopt1.c: Likewise.
27518 * gnulib/getopt_int.h: Likewise.
27519 * gnulib/gettext.h: Likewise.
27520
27521 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27522
27523 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
27524 * normal/handler.c (read_handler_list): Likewise.
27525
27526 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27527
27528 Misc cleanup.
27529
27530 * kern/command.c (grub_register_command_prio): Use
27531 grub_zalloc() instead of explicitly zeroing data.
27532 * kern/list.c: Include `<grub/mm.h>'.
27533 (grub_named_list_find): Replace `0' with `NULL'.
27534 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
27535 (fs_module_list): Change type to `grub_named_list_t'. Update all
27536 users.
27537 * normal/dyncmd.c (read_command_list): Add space between function
27538 call and parenthesis.
27539 * normal/handler.c (read_handler_list): Likewise.
27540
27541 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27542
27543 * normal/auth.c (punishment_delay): Moved from here ...
27544 (grub_auth_strcmp): ... to here (inside function).
27545
27546 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27547
27548 * include/grub/list.h (struct grub_named_list): Remove `const'
27549 qualifier from `name'.
27550 (struct grub_prio_list): Likewise.
27551
27552 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27553
27554 * normal/auth.c: Include `<grub/time.h>'.
27555 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27556
27557 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * normal/auth.c (punishment_delay): New variable.
27560 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27561 (grub_auth_check_authentication): Punish failed login attempts with
27562 an incremental (2^N) delay.
27563
27564 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27565
27566 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27567 path with $(srcdir).
27568
27569 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27570
27571 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27572
27573 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27574
27575 * util/i386/coreboot/grub-mkrescue.in: New file.
27576 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27577 variables.
27578
27579 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27580 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27581 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27582 requirements.
27583 * util/mkisofs/defaults.h: New file.
27584 * util/mkisofs/eltorito.c: Likewise.
27585 * util/mkisofs/exclude.h: Likewise.
27586 * util/mkisofs/fnmatch.c: Likewise.
27587 * util/mkisofs/getopt.c: Likewise.
27588 * util/mkisofs/getopt1.c: Likewise.
27589 * util/mkisofs/hash.c: Likewise.
27590 * util/mkisofs/include/fctldefs.h: Likewise.
27591 * util/mkisofs/include/mconfig.h: Likewise.
27592 * util/mkisofs/include/prototyp.h: Likewise.
27593 * util/mkisofs/include/statdefs.h: Likewise.
27594 * util/mkisofs/iso9660.h: Likewise.
27595 * util/mkisofs/joliet.c: Likewise.
27596 * util/mkisofs/match.c: Likewise.
27597 * util/mkisofs/match.h: Likewise.
27598 * util/mkisofs/mkisofs.c: Likewise.
27599 * util/mkisofs/mkisofs.h: Likewise.
27600 * util/mkisofs/multi.c: Likewise.
27601 * util/mkisofs/name.c: Likewise.
27602 * util/mkisofs/rock.c: Likewise.
27603 * util/mkisofs/tree.c: Likewise.
27604 * util/mkisofs/write.c: Likewise.
27605
27606 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27607
27608 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27609 being insecure.
27610
27611 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27612
27613 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27614 `grub-mkimage' (and use $0 when possible).
27615
27616 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27617
27618 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27619 error message for excessively large memory map.
27620
27621 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27622
27623 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27624 executable bit.
27625
27626 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27629 message for coreboot users.
27630
27631 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 Fix build with GNU gold.
27634
27635 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27636 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27637 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27638 link addresses.
27639 * aclocal.m4: Likewise.
27640
27641 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
27642
27643 * configure.ac (AC_PREREQ): Bump to 2.59d.
27644 * INSTALL: Make it more clear when Autoconf and Ruby are
27645 needed and when to run `./autogen.sh'.
27646
27647 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27648
27649 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27650 OSes.
27651
27652 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27653
27654 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27655
27656 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27657
27658 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27659 giving it to GNU Mach.
27660
27661 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27662
27663 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27664 GNU partition number to get internal GRUB partition number.
27665
27666 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27667
27668 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27669 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27670
27671 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27672
27673 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27674 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27675 case.
27676
27677 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27678
27679 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27680
27681 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27682
27683 Fix build problem.
27684
27685 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27686 `-isystem=$(srcdir)/include'.
27687
27688 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27689
27690 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27691 checked (grub-install doesn't currently rely on it).
27692
27693 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27694
27695 Revert SVN r2660.
27696
27697 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27698 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27699 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27700 * conf/i386-ieee1275.rmk: Likewise.
27701 * conf/i386-pc.rmk: Likewise.
27702 * conf/powerpc-ieee1275.rmk: Likewise.
27703 * conf/sparc64-ieee1275.rmk: Likewise.
27704 * conf/x86_64-efi.rmk: Likewise.
27705
27706 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27707
27708 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27709
27710 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27711
27712 * include/grub/misc.h: Stop checking for APPLE_CC.
27713
27714 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27715
27716 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27717 doesn't cause an infinite call loop.
27718
27719 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
27720
27721 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27722 strings.
27723
27724 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27725
27726 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27727 variable.
27728 * Makefile.in: Likewise.
27729
27730 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27731
27732 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27733
27734 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27735
27736 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27737
27738 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27739
27740 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27741
27742 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27743
27744 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27745 from here ...
27746 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27747
27748 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27749
27750 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27751 in $(MAKEINFO) invocation. This makes it clear in output that
27752 errors are being ignored.
27753
27754 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27755
27756 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27757 from here ...
27758 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27759 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27760 * conf/i386-ieee1275.rmk: Likewise.
27761 * conf/i386-pc.rmk: Likewise.
27762 * conf/powerpc-ieee1275.rmk: Likewise.
27763 * conf/sparc64-ieee1275.rmk: Likewise.
27764 * conf/x86_64-efi.rmk: Likewise.
27765
27766 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27767
27768 * util/grub-editenv.c (main): If only a command is given, use
27769 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27770 (usage): FILENAME is now optional and has a default.
27771
27772 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27773
27774 Improve grub-mkconfig performance when there are several menu
27775 entries on a single filesystem.
27776
27777 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27778 prepare_grub_to_access_device.
27779 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27780 * util/grub.d/30_os-prober.in: Likewise.
27781
27782 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27783
27784 * util/grub.d/10_freebsd.in: Remove.
27785 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27786 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27787
27788 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27789
27790 * docs/grub.cfg: Fix example usage of *BSD loaders.
27791
27792 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27793
27794 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27795 grub_util_error() call.
27796
27797 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27798
27799 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27800 `reserved_first_sector' member.
27801 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27802 `reserved_first_sector' to 1.
27803 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27804 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27805 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27806 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27807 filesystems which begin at first sector.
27808 (options): New option --skip-fs-probe.
27809 (main): Handle --skip-fs-probe and pass it to setup().
27810
27811 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27812
27813 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27814 (memset): Fix function prototype.
27815
27816 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27817 2009-10-25 Vasily Averin <vvs@parallels.com>
27818
27819 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27820 `dirent.direntlen == 0'.
27821
27822 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27823
27824 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27825 `cpio'.
27826 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27827
27828 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27829
27830 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27831 `__trampoline_setup' and `__ucmpdi2'.
27832 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27833 that libgcc provides.
27834
27835 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27836
27837 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27838 * include/grub/sparc64/libgcc.h (memset): Likewise.
27839 * include/grub/misc.h (memset, memcmp): New function prototypes.
27840
27841 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27842
27843 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27844 `cpio'.
27845 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
27846
27847 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27848
27849 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
27850 * docs/grub.cfg: Compensate for recent change in multiboot
27851 loader (since 2009-08-14 it won't pass filename to payload).
27852 * util/grub.d/10_hurd.in: Likewise.
27853
27854 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
27855
27856 * config.guess: Update to latest version from config git
27857 repository.
27858 * config.sub: Likewise.
27859
27860 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
27861
27862 Fix build on sparc64.
27863
27864 * configure.ac: Perform checks for libgcc symbols before
27865 adding `-nostdlib' to LDFLAGS.
27866
27867 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 Let user specify OpenBSD root device.
27870
27871 * loader/i386/bsd.c (openbsd_root): New variable.
27872 (openbsd_opts): New option 'root'.
27873 (OPENBSD_ROOT_ARG): New macro.
27874 (grub_openbsd_boot): Use 'openbsd_root'.
27875 (grub_cmd_openbsd): Fill 'openbsd_root'.
27876
27877 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27878
27879 * NEWS: Misc adjustments.
27880
27881 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
27882
27883 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
27884
27885 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
27886
27887 * configure.ac: Bump version to 1.97.
27888
27889 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
27890
27891 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
27892 -mno-3dnow on x86 architectures. Some toolchains enable these
27893 features by default, but they rely on registers that aren't enabled
27894 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
27895
27896 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
27897
27898 Make entry text a bit more readable.
27899
27900 * util/grub.d/10_linux.in: Add `with' before `Linux'.
27901
27902 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27903
27904 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
27905
27906 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27907
27908 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
27909 operations.
27910
27911 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27912
27913 * configure.ac: Add missing dollar.
27914
27915 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27916
27917 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27918
27919 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27920 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27921 exports.
27922 * include/grub/sparc64/libgcc.h: Likewise. Use
27923 preprocessor conditionals.
27924
27925 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27926
27927 * conf/common.rmk (grub-dumpbios): Remove rule.
27928 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27929 * util/grub-dumpbios.in: Remove file.
27930
27931 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27932
27933 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27934 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27935
27936 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27937 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27938 users.
27939
27940 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27941 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27942 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27943 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27944 users.
27945
27946 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27947
27948 * term/tparm.c: Switch to GPLv3.
27949
27950 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27951
27952 * include/grub/i386/cpuid.h: Add header protection.
27953
27954 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27955
27956 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27957
27958 * include/grub/i386/cpuid.h: New file.
27959 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27960 (has_longmode): Rename to ...
27961 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27962 `static' attribute.
27963 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27964 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27965 on a CPU that doesn't implement AMD64 instruction set.
27966
27967 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27968
27969 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27970 that version.texi is rebuilt on version number changes.
27971
27972 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27973
27974 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27975 Fixes bug #27602.
27976
27977 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27978
27979 * util/i386/pc/grub-install.in: Source
27980 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27981 that the --grub-probe option will work.
27982 * util/sparc64/ieee1275/grub-install.in: Likewise.
27983
27984 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27985
27986 * configure.ac: Bump version to 1.97~beta4.
27987
27988 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27989
27990 Resync grub-mkdevicemap in x86_64-efi.
27991
27992 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27993 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27994 `util/devicemap.c'.
27995
27996 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
27997
27998 * util/grub-editenv.c (create_envblk_file): Write new block with a
27999 .new suffix and then rename it into place, to ensure atomic
28000 creation.
28001
28002 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28003
28004 Do not automatically install headers.
28005
28006 * Makefile.in (include_DATA): Remove. Update all users.
28007
28008 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28011 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28012
28013 * util/osdetect.lua: Remove.
28014 * script/lua/lauxlib.c: Likewise.
28015 * script/lua/ldebug.c: Likewise.
28016 * script/lua/grub_main.c: Likewise.
28017 * script/lua/lauxlib.h: Likewise.
28018 * script/lua/ldebug.h: Likewise.
28019 * script/lua/ltablib.c: Likewise.
28020 * script/lua/liolib.c: Likewise.
28021 * script/lua/lstrlib.c: Likewise.
28022 * script/lua/lualib.h: Likewise.
28023 * script/lua/ldo.c: Likewise.
28024 * script/lua/ldump.c: Likewise.
28025 * script/lua/ldo.h: Likewise.
28026 * script/lua/loslib.c: Likewise.
28027 * script/lua/lundump.c: Likewise.
28028 * script/lua/grub_lib.c: Likewise.
28029 * script/lua/ldblib.c: Likewise.
28030 * script/lua/lundump.h: Likewise.
28031 * script/lua/lmem.c: Likewise.
28032 * script/lua/grub_lib.h: Likewise.
28033 * script/lua/lmathlib.c: Likewise.
28034 * script/lua/lstate.c: Likewise.
28035 * script/lua/ltm.c: Likewise.
28036 * script/lua/lvm.c: Likewise.
28037 * script/lua/lmem.h: Likewise.
28038 * script/lua/lstate.h: Likewise.
28039 * script/lua/ltm.h: Likewise.
28040 * script/lua/ltable.c: Likewise.
28041 * script/lua/lvm.h: Likewise.
28042 * script/lua/llex.c: Likewise.
28043 * script/lua/lgc.c: Likewise.
28044 * script/lua/grub_lua.h: Likewise.
28045 * script/lua/loadlib.c: Likewise.
28046 * script/lua/lfunc.c: Likewise.
28047 * script/lua/lopcodes.c: Likewise.
28048 * script/lua/lparser.c: Likewise.
28049 * script/lua/ltable.h: Likewise.
28050 * script/lua/llex.h: Likewise.
28051 * script/lua/lgc.h: Likewise.
28052 * script/lua/lfunc.h: Likewise.
28053 * script/lua/lbaselib.c: Likewise.
28054 * script/lua/lopcodes.h: Likewise.
28055 * script/lua/lparser.h: Likewise.
28056 * script/lua/lzio.c: Likewise.
28057 * script/lua/linit.c: Likewise.
28058 * script/lua/lobject.c: Likewise.
28059 * script/lua/llimits.h: Likewise.
28060 * script/lua/lstring.c: Likewise.
28061 * script/lua/lzio.h: Likewise.
28062 * script/lua/lapi.c: Likewise.
28063 * script/lua/lcode.c: Likewise.
28064 * script/lua/lua.h: Likewise.
28065 * script/lua/lobject.h: Likewise.
28066 * script/lua/lstring.h: Likewise.
28067 * script/lua/lapi.h: Likewise.
28068 * script/lua/lcode.h: Likewise.
28069 * script/lua/luaconf.h: Likewise.
28070
28071 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
28072
28073 * docs/grub.texi (Command-line and menu entry commands): Document
28074 date and echo commands.
28075
28076 2009-09-24 Pavel Roskin <proski@gnu.org>
28077
28078 * include/grub/kernel.h (struct grub_module_header): Remove
28079 `grub_module_header_types'. Make `type' unsigned. Make `size'
28080 32-bit on all platforms.
28081 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28082 8-bit field. Use grub_host_to_target32() for `size'.
28083 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28084 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28085 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28086
28087 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28088
28089 Fix "lost keypress" bug in at_keyboard.
28090
28091 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28092 Checks for readyness of input buffer (without flushing it).
28093 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28094 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28095
28096 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28099 size check within GRUB_MACHINE_PCBIOS section.
28100
28101 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28104 return value.
28105 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28106 KEYBOARD_ISREADY check.
28107 (grub_at_keyboard_checkkey): Rename to ...
28108 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28109 Remove gratuitous cast.
28110
28111 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
28112
28113 * configure.ac: Call AC_PROG_MKDIR_P.
28114 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28115 version.texi in $(builddir) rather than $(srcdir).
28116 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28117 to makeinfo's @include search path.
28118
28119 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28120
28121 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28122
28123 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28124
28125 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28126 for `*.dpkg-new'.
28127
28128 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
28129
28130 Build info documentation. Some code borrowed from Automake.
28131
28132 * configure.ac: Check for makeinfo.
28133 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28134 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28135 docs/version.texi.
28136 (MOSTLYCLEANFILES): Add vti.tmp.
28137 (docs/version.texi, docs/stamp-vti): Update automatically.
28138 (docs/grub.info): Build info documentation. Use --force and ignore
28139 errors for now.
28140 (all-local): Add $(INFOS).
28141 (install-local): Install info files.
28142 (uninstall): Uninstall info files.
28143 * docs/version.texi: Remove from revision control. This file is
28144 automatically generated on build now.
28145 * gendistlist.sh: Add `*.info'.
28146
28147 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28148
28149 * kern/term.c: Fix indentation.
28150
28151 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28152
28153 * util/hostdisk.c: Fix a comment.
28154
28155 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 Fix regression introduced in r2539.
28158
28159 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28160 to 0xA1.
28161
28162 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
28163
28164 * util/grub.d/30_os-prober.in: Don't throw away stderr from
28165 os-prober. Under normal operation, it does not print anything to
28166 stderr; if it does, we need to debug it, and throwing away stderr
28167 makes that excessively difficult.
28168
28169 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28170
28171 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28172
28173 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28174
28175 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28176 AC_LANG_PROGRAM from autoconf.
28177 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28178 prototypes (fixes warning).
28179
28180 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28181 `--disable-werror' was used.
28182
28183 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28184
28185 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28186 uninitialized `lastaddr'.
28187
28188 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
28191
28192 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28193
28194 * commands/test.c (get_fileinfo): Return immediately if
28195 grub_fs_probe fails.
28196
28197 2009-09-14 José Martínez <xosemp@gmail.com>
28198
28199 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28200
28201 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28202
28203 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28204 output.
28205
28206 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 * configure.ac: Remove --enable-grub-pe2elf. Only build
28209 grub-pe2elf when needed by the build system itself.
28210 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28211
28212 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28213
28214 * configure.ac: Bump version to 1.97~beta3.
28215 * docs/version.texi: Likewise.
28216
28217 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28218
28219 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28220 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28221 from here ...
28222 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28223 (grub_linux_setup_video): ... to here (with some adjustments).
28224
28225 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28226
28227 Fix memory corruption issue (spotted by Colin Watson).
28228
28229 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28230 causing returned size to be stored in an incorrect memory location.
28231 Fix use of uninitialized value when storing the returned size.
28232
28233 2009-09-12 Yves Blusseau <blusseau@zetam.org>
28234
28235 Change clean rules to properly remove files
28236
28237 * genmk.rb: add new clean rules
28238 * Makefile.in (clean): add the new targets
28239 (mostlyclean): likewise
28240
28241 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28242
28243 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28244 to grub_uint64_t.
28245 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28246 non-resident files.
28247
28248 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28249
28250 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28251 part of bug #27349.
28252
28253 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28254
28255 * util/grub-mkconfig.in: Make the created config mode 400 and
28256 print a warning if it fails.
28257
28258 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28259
28260 * util/grub.d/40_custom.in: Ask user to type custom entries below
28261 comment, rather than below 'exec tail' line.
28262
28263 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28264
28265 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28266 visible in grub.cfg.
28267
28268 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28269
28270 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28271 file.
28272
28273 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28274
28275 * docs/grub.cfg: Add an example menu entry for memtest86+.
28276
28277 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
28278
28279 * config.guess: Update to latest version from config git.
28280 * config.sub: Likewise.
28281
28282 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
28283
28284 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28285 unknown-command case. Fixes bug #27320.
28286
28287 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
28288
28289 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28290 `help' if the command exists.
28291
28292 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28293
28294 * INSTALL: Require GCC 4.1.3 or later.
28295
28296 2009-09-06 Yves Blusseau <blusseau@zetam.org>
28297
28298 * Makefile.in (RMKFILES): add i386-qemu.rmk
28299 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28300 $(srcdir)/stamp-h.in
28301
28302 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28303
28304 * util/grub-probe.c (probe): Comment out buggy codepath, which
28305 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28306 should be re-enabled after 1.97.
28307
28308 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
28309
28310 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28311 find searches for.
28312
28313 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28314
28315 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28316 unnecessary calls to grub_error.
28317
28318 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
28319
28320 * NEWS: Mention `keystatus' and Unicode fonts.
28321
28322 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28323
28324 * configure.ac: Bump version to 1.97~beta2.
28325 * docs/version.texi: Likewise.
28326
28327 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28328
28329 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28330 containing unwind information in some cases where it previously did
28331 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28332 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28333 discussion.
28334
28335 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28336
28337 Embedding loadenv module into grub-emu
28338
28339 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28340 commands/loadenv.c
28341 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28342 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28345 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28346 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28347
28348 2009-09-03 Magnus Granberg <zorry@ume.nu>
28349
28350 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28351 include -fPIE in the default specs.
28352 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28353 to TARGET_CFLAGS.
28354
28355 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
28356
28357 * INSTALL: Note that GNU Bison 2.3 or later is required.
28358
28359 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28360
28361 * kern/i386/pc/startup.S: Fix typo.
28362
28363 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28366 according to GCS.
28367
28368 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28369
28370 * docs/grub.texi (Naming convention): Describe one-based partition
28371 numbering.
28372 (Device syntax): Likewise.
28373 (File name syntax): Likewise.
28374 (Block list syntax): Likewise.
28375 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28376 menu.lst.
28377 (File name syntax): Likewise.
28378 (Command-line and menu entry commands): Document acpi, blocklist,
28379 crc, export, insmod, keystatus, ls, set, and unset commands.
28380
28381 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28382
28383 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28384 to avoid implying that only one of --shift, --ctrl, or --alt may be
28385 used.
28386
28387 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28388
28389 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
28390 rather than comparing against S_IFREG, which will almost never work.
28391
28392 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
28395 (write_blocklists): Likewise.
28396
28397 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
28398
28399 * script/lua/grub_lua.h (fputs): Supply a format string as the first
28400 argument to grub_printf.
28401
28402 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
28403
28404 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
28405 non GNU test.
28406
28407 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 * kern/file.c (grub_file_read): Spelling fix
28410
28411 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28412
28413 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
28414 loading of headers in some cases.
28415
28416 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
28417
28418 * configure.ac: Bump version to 1.97~beta1.
28419 * docs/version.texi: Likewise.
28420
28421 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
28422
28423 * include/grub/i386/xnu.h: Add license header.
28424 include grub/err.h explicitly.
28425
28426 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28427
28428 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
28429 to `ufs' in the vfs.root.mountfrom kernel parameter.
28430
28431 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28432
28433 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
28434
28435 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
28436 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
28437
28438 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
28439 `ARRAY_SIZE' macro.
28440
28441 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28442
28443 * kern/file.c (grub_file_read): Check offset.
28444 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
28445 * fs/jfs.c (grub_jfs_read_file): Likewise.
28446 * fs/ntfs.c (grub_ntfs_read): Likewise.
28447 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
28448 * fs/minix.c (grub_minix_read_file): Correct offset check.
28449 * fs/ufs.c (grub_ufs_read_file): Likewise.
28450
28451 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28452
28453 * term/i386/pc/console.c (bios_data_area): Cast
28454 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
28455
28456 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28457
28458 1-bit optimised blitters.
28459
28460 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
28461 prototype.
28462 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28463 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28464 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28465 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28466 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28467 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28468 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
28469 function.
28470 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28471 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28472 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28473 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28474 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28475 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28476 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
28477 when possible.
28478 * video/video.c (grub_video_get_blit_format): Return
28479 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
28480
28481 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28482
28483 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
28484 the first argument to grub_printf.
28485
28486 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28487 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28488
28489 Add `getkeystatus' terminal method. Add a new `keystatus' command
28490 to query it.
28491
28492 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28493 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28494 modifier key bitmasks.
28495 (struct grub_term_input): Add `getkeystatus' member.
28496 (grub_getkeystatus): Add prototype.
28497 * kern/term.c (grub_getkeystatus): New function.
28498
28499 * include/grub/i386/pc/memory.h
28500 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
28501 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
28502 Data Area layout.
28503 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
28504 (grub_console_term_input): Set `getkeystatus' member.
28505 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
28506 constants.
28507 (grub_usb_keyboard_getreport): Likewise.
28508 (grub_usb_keyboard_checkkey): Likewise.
28509 (grub_usb_keyboard_getkeystatus): New function.
28510 (grub_usb_keyboard_term): Set `getkeystatus' member.
28511
28512 * commands/keystatus.c: New file.
28513 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
28514 (keystatus_mod_SOURCES): New variable.
28515 (keystatus_mod_CFLAGS): Likewise.
28516 (keystatus_mod_LDFLAGS): Likewise.
28517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
28518 commands/keystatus.c.
28519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28521 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28525
28526 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 Split befs.mod and afs.mod into *_be.mod and *.mod
28529
28530 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
28531 (grub_fstest_SOURCES): Likewise.
28532 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
28533 (afs_be_mod_SOURCES): New variable.
28534 (afs_be_mod_CFLAGS): Likewise.
28535 (afs_be_mod_LDFLAGS): Likewise.
28536 (befs_be_mod_SOURCES): Likewise.
28537 (befs_be_mod_CFLAGS): Likewise.
28538 (befs_be_mod_LDFLAGS): Likewise.
28539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
28540 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28542 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28543 (grub_emu_SOURCES): Likewise.
28544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28545 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28546 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28547 * fs/afs_be.c: New file.
28548 * fs/befs_be.c: New file.
28549 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28550 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28551 (U16): Replaced with ...
28552 (grub_afs_to_cpu16): ...this. All users updated.
28553 (U32): Replaced with ...
28554 (grub_afs_to_cpu32): ...this. All users updated.
28555 (U64): Replaced with ...
28556 (grub_afs_to_cpu64): ...this. All users updated.
28557 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28558 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
28559 (grub_afs_validate_sblock): Check only one endianness.
28560 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28561 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28562 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28563 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28564 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28565 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28566 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28567 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28568
28569 2009-08-26 Bean <bean123ch@gmail.com>
28570
28571 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28572 64-bit number.
28573 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28574 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28575 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28576
28577 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28578
28579 NetBSD memory map support.
28580
28581 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28582 (grub_netbsd_btinfo_mmap_header): New structure.
28583 (grub_netbsd_btinfo_mmap_entry): Likewise.
28584 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28585
28586 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28587
28588 Enable bsd.mod on coreboot.
28589
28590 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28591 (bsd_mod_SOURCES): New variable.
28592 (bsd_mod_CFLAGS): Likewise.
28593 (bsd_mod_LDFLAGS): Likewise.
28594 (bsd_mod_ASFLAGS): Likewise.
28595 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28596 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28597
28598 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 Cleanup NetBSD root support.
28601
28602 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28603 grub_bsd_get_device.
28604 Fix typo.
28605
28606 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
28607
28608 * util/grub.d/00_header.in: Move check for the video backend of
28609 gfxterm from here ...
28610 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28611 a suitable video backend.
28612
28613 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28614
28615 Fix breakage in grub-setup.
28616
28617 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28618 "msdos_partition_map".
28619
28620 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28621
28622 Fix breakage in normal/auth.c.
28623
28624 * normal/auth.c (grub_iswordseparator): New function.
28625
28626 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28627
28628 Authentication support.
28629
28630 * commands/password.c: New file.
28631 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28632 (password_mod_SOURCES): New variable.
28633 (password_mod_CFLAGS): Likewise.
28634 (password_mod_LDFLAGS): Likewise.
28635 (normal_mod_SOURCES): Add normal/auth.c.
28636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28637 normal/auth.c.
28638 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28639 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28640 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28643 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28644 * include/grub/auth.h: New file.
28645 * include/grub/err.h (grub_err_t): New enum value
28646 GRUB_ERR_ACCESS_DENIED.
28647 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28648 'users'.
28649 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28650 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28651 users updated.
28652 * normal/auth.c: New file.
28653 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28654 (grub_cmdline_run): Don't allow to go to command line without
28655 authentication.
28656 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28657 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28658 menuentry without superuser rights.
28659 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28660 user isn't a superuser.
28661
28662 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28663
28664 Save space by inlining misc.c functions.
28665
28666 * kern/misc.c (grub_iswordseparator): Made static.
28667 * kern/misc.c (grub_strcat): Moved from here ...
28668 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28669 * kern/misc.c (grub_strncat): Moved from here ...
28670 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28671 * kern/misc.c (grub_strcasecmp): Moved from here ...
28672 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28673 * kern/misc.c (grub_strncasecmp): Moved from here ...
28674 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28675 * kern/misc.c (grub_isalpha): Moved from here ...
28676 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28677 * kern/misc.c (grub_isdigit): Moved from here ...
28678 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28679 * kern/misc.c (grub_isgraph): Moved from here ...
28680 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28681 * kern/misc.c (grub_tolower): Moved from here ...
28682 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28683
28684 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28685
28686 * script/sh/function.c (grub_script_function_find): Cut error message
28687 not to flood terminal.
28688 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28689 limit.
28690 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28691
28692 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
28693
28694 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28695 `report' grub_uint8_t *.
28696 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28697 Use a 50-millisecond timeout rather than just repeating
28698 grub_usb_keyboard_getreport 50 times.
28699 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28700
28701 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28702
28703 Rename *_partition_map to part_*
28704
28705 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28706 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28707 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28708 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28709 All users updated.
28710 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28711 All users updated.
28712 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28713 * util/grub-probe.c (probe_partmap): Don't transform partition name
28714 to get module name.
28715
28716 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28717
28718 Fix OpenBSD and NetBSD support.
28719
28720 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28721 memory address conflict.
28722 (OPENBSD_MMAP_ACPI): New definition.
28723 (OPENBSD_MMAP_NVS): Likewise.
28724 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28725 and OPENBSD_MMAP_NVS.
28726 Add memory map terminator
28727 Explicit cast when calling grub_unix_real_boot.
28728 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
28729
28730 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28731
28732 Let user specify NetBSD root device.
28733
28734 * loader/i386/bsd.c (netbsd_root): New variable.
28735 (netbsd_opts): New option 'root'.
28736 (NETBSD_ROOT_ARG): New macro.
28737 (grub_netbsd_boot): Use 'netbsd_root'.
28738 (grub_bsd_unload): Free 'netbsd_root'.
28739 (grub_cmd_netbsd): Fill 'netbsd_root'.
28740
28741 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28742
28743 Support for 64-bit NetBSD.
28744
28745 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28746 point when booting non-FreeBSD.
28747
28748 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 Support --no-smp and --no-acpi for NetBSD.
28751
28752 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28753 (NETBSD_AB_NOACPI): Likewise.
28754 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28755 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28756
28757 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28760 errors.
28761 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28762 errors. Call grub_error when needed.
28763
28764 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28765
28766 * commands/search.c (search_fs): Try searching without autoload first.
28767 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28768 filesystem module explicitly for faster booting.
28769
28770 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28771
28772 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28773
28774 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28775
28776 * util/grub.d/30_os-prober.in: Disable os-prober if
28777 `GRUB_DISABLE_OS_PROBER' was set to true.
28778
28779 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28780
28781 * partmap/pc.c: Rename to ...
28782 * partmap/msdos.c: ... this. Update all users.
28783 (grub_pc_partition_map): Rename to ...
28784 (grub_msdos_partition_map): ... this. Update all users.
28785
28786 * parttool/pcpart.c: Rename to ...
28787 * parttool/msdospart.c: ... this. Update all users.
28788
28789 * include/grub/pc_partition.h: Rename to ...
28790 * include/grub/msdos_partition.h: ... this. Update all users.
28791 (grub_pc_partition_bsd_entry): Rename to ...
28792 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28793 (grub_pc_partition_disk_label): Rename to ...
28794 (grub_msdos_partition_disk_label): ... this. Update all users.
28795 (grub_pc_partition_entry): Rename to ...
28796 (grub_msdos_partition_entry): ... this. Update all users.
28797 (grub_pc_partition_mbr): Rename to ...
28798 (grub_msdos_partition_mbr): ... this. Update all users.
28799 (grub_pc_partition): Rename to ...
28800 (grub_msdos_partition): ... this. Update all users.
28801 (grub_pc_partition_is_empty): Rename to ...
28802 (grub_msdos_partition_is_empty): ... this. Update all users.
28803 (grub_pc_partition_is_extended): Rename to ...
28804 (grub_msdos_partition_is_extended): ... this. Update all users.
28805 (grub_pc_partition_is_bsd): Rename to ...
28806 (grub_msdos_partition_is_bsd): ... this. Update all users.
28807
28808 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28809 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28810 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28811 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28812 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28813 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28814 (gpt_mod_LDFLAGS): Rename to ...
28815 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28816 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28817 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28818 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28819 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28820 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28821 (part_gpt_mod_LDFLAGS): ... this.
28822 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28823 `pcpart.mod' to `msdospart.mod'.
28824 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28825 to ...
28826 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28827 (msdospart_mod_LDFLAGS): ... this.
28828
28829 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28830
28831 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28832 (openbsd_opts): Likewise.
28833 (netbsd_opts): Likewise.
28834 (freebsd_flags): Added 0 terminator.
28835 (openbsd_flags): Likewise.
28836 (netbsd_flags): Likewise.
28837 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28838 (grub_cmd_freebsd): Transformed into extended command.
28839 (grub_cmd_openbsd): Likewise.
28840 (grub_cmd_netbsd): Likewise.
28841 (cmd_freebsd): Changed type to grub_extcmd_t.
28842 (cmd_openbsd): Likewise.
28843 (cmd_netbsd): Likewise.
28844 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
28845 grub_cmd_openbsd as extended commands.
28846 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
28847 cmd_netbsd and cmd_openbsd
28848
28849 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
28850
28851 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
28852
28853 2009-08-21 Pavel Roskin <proski@gnu.org>
28854
28855 * Makefile.in (install-local): When checking if a file is in the
28856 build directory, use "test -e" to detect symlinks.
28857
28858 * Makefile.in (install-local): Remove all files in
28859 $(DESTDIR)$(pkglibdir) before installing new files there.
28860
28861 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28862
28863 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
28864 grub-mkelfimage.
28865
28866 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
28867
28868 * util/grub-mkconfig.in: Don't use gfxterm by default if not
28869 explicitly specified by the user.
28870
28871 2009-08-18 Pavel Roskin <proski@gnu.org>
28872
28873 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
28874 grub_uint8_t pointer for data.
28875 * include/grub/fbutil.h (struct grub_video_fbblit_info):
28876 Likewise.
28877 * video/fb/fbutil.c: Remove unnecessary casts.
28878
28879 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28880
28881 VBE cleanup.
28882
28883 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
28884 (grub_vbe_set_video_mode): Save active mode info
28885 only after setting the mode.
28886 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
28887 second argument.
28888
28889 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28890
28891 Rename variables for clarity.
28892
28893 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
28894 (active_vbe_mode_info): ... this. All users updated.
28895 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
28896 All users updated.
28897 (initial_mode): Rename to ...
28898 (initial_vbe_mode): ... this. All users updated.
28899 (mode_in_use): Rename to ..
28900 (vbe_mode_in_use): ... this. All users updated.
28901 (mode_list): Rename to ..
28902 (vbe_mode_list): ... this. All users updated.
28903 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
28904 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
28905 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
28906 'mode_list_size' to 'vbe_mode_list_size'.
28907 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
28908 'best_mode_info' to 'best_vbe_mode_info' and
28909 'best_mode' to 'best_vbe_mode'
28910
28911 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
28912
28913 Remove duplicate grub_video_fb_get_video_ptr.
28914
28915 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28916 (grub_video_fb_get_video_ptr): ... this.
28917 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28918 * video/fb/fbutil.c: Add comment about addressing.
28919 (get_data_ptr): Rename to ...
28920 (grub_video_fb_get_video_ptr): ... this. All users updated.
28921 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28922
28923 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28926 grub_dprintf() that was just added.
28927
28928 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28929
28930 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28931 (DEFAULT_VIDEO_MODE): Remove macros.
28932 (grub_linux_boot): Remove assumption that Linux has FB support,
28933 and use "text" as default video mode.
28934
28935 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28936
28937 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28938 grub_dprintf.
28939 * fs/fat.c (grub_fat_read_data): Likewise.
28940
28941 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28942
28943 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28944 payload.
28945 (grub_module): Likewise.
28946
28947 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28948
28949 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28950 mbi->cmdline but free playground.
28951
28952 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28953
28954 Handle group offset on UFS1.
28955
28956 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28957 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28958
28959 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28960
28961 Split ufs.mod into ufs1.mod and ufs2.mod.
28962
28963 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28964 (grub_fstest_SOURCES): Likewise.
28965 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28966 (ufs_mod_SOURCES): Remove.
28967 (ufs_mod_CFLAGS): Likewise.
28968 (ufs_mod_LDFLAGS): Likewise.
28969 (ufs1_mod_SOURCES): New variable.
28970 (ufs1_mod_CFLAGS): Likewise.
28971 (ufs1_mod_LDFLAGS): Likewise.
28972 (ufs2_mod_SOURCES): New variable.
28973 (ufs2_mod_CFLAGS): Likewise.
28974 (ufs2_mod_LDFLAGS): Likewise.
28975 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28976 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28977 Likewise.
28978 (grub_emu_SOURCES): Likewise.
28979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28980 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28981 (grub_setup_SOURCES): Likewise.
28982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28983 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28984 (grub_setup_SOURCES): Likewise.
28985 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28986 Likewise.
28987 * fs/ufs2.c: New file.
28988 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28989
28990 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 Framebuffer split.
28993
28994 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28995 subsystem at the end.
28996 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28997 (video_fb_mod_SOURCES): New variable.
28998 (video_fb_mod_CFLAGS): Likewise.
28999 (video_fb_mod_LDFLAGS): Likewise.
29000 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29001 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29002 * video/i386/pc/vbeblit.c: Moved from here ...
29003 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29004 * video/i386/pc/vbefill.c: Moved from here ...
29005 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29006 * video/i386/pc/vbeutil.c: Moved from here ...
29007 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29008 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29009 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29010 * include/grub/i386/pc/vbefill.h: Moved from here ...
29011 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29012 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29013 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29014 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29015 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29016 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29017 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29018 (grub_video_adapter): Added 'get_info_and_fini'.
29019 (grub_video_get_info_and_fini): New prototype.
29020 (grub_video_set_mode): make modestring const char *.
29021 * loader/i386/linux.c (grub_linux_setup_video): Use
29022 grub_video_get_info_and_fini.
29023 (grub_linux_boot): Move modesetting just before booting.
29024 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29025 grub_video_get_info_and_fini.
29026 * video/i386/pc/vbe.c: Moved framebuffer part ...
29027 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29028 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29029 grub_video_fbstd_colors and grub_video_fb_set_palette.
29030 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29031 grub_video_fb_init.
29032 (grub_video_vbe_fini): Use grub_video_fb_fini.
29033 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29034 render_target and use grub_video_fb_set_active_render_target and
29035 grub_video_fb_set_palette.
29036 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29037 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29038 (grub_video_vbe_adapter): Use framebuffer.
29039 * video/video.c (grub_video_get_info_and_fini): New function.
29040 (grub_video_set_mode): Make modestring const char *.
29041 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29042 values are already initialised.
29043
29044 2009-08-14 Pavel Roskin <proski@gnu.org>
29045
29046 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29047 ABS and APPLE_CC.
29048 * boot/i386/pc/diskboot.S: Likewise.
29049 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29050 sectors allow compilation on MacOSX.
29051 * conf/i386-pc.rmk: Enable unconditional compilation of
29052 lnxboot.img.
29053
29054 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
29055
29056 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29057 * util/grub.d/00_header.in: Enter interruptible sleep if
29058 GRUB_HIDDEN_TIMEOUT is set.
29059
29060 2009-08-13 Yves Blusseau <blusseau@zetam.org>
29061
29062 * include/grub/symbol.h: Add the LOCAL macro.
29063 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29064 starting with "L_".
29065
29066 2009-08-13 Pavel Roskin <proski@gnu.org>
29067
29068 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29069 any modern compilers we support.
29070
29071 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29072 Use local labels starting with "L_" so that Apple assembler
29073 knows they are local.
29074
29075 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29076
29077 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29078 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29079 (bsd_kernel_types): ... this enum.
29080
29081 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29082 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29083 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29084
29085 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29086 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29087 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29088 messages.
29089
29090 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29091
29092 * util/grub-dumpdevtree: Moved from here ...
29093 * util/i386/efi/grub-dumpdevtree: ... to here.
29094 (hexify): New function. Converts a string to its hex version.
29095 Generate hex versions of "efi" and "device-properties" by calling
29096 hexify() on the ASCII strings rather than by hardcoding numbers.
29097
29098 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29099
29100 * fs/jfs.c: Update copyright year.
29101
29102 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * util/grub.d/00_header.in: Fix a comment.
29105 * util/grub.d/10_linux.in: Likewise.
29106 * util/grub.d/10_windows.in: Likewise.
29107 * util/grub.d/10_hurd.in: Likewise.
29108
29109 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29110
29111 * util/grub-mkconfig.in: Allow the user to specify the used font
29112 with GRUB_FONT.
29113
29114 2009-08-08 Pavel Roskin <proski@gnu.org>
29115
29116 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29117 available, xfs.mod needs it now.
29118
29119 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29120 the "g" modifier in sed when the intention is to strip something
29121 once. This fixes comparison of kernels with multiple dashes.
29122
29123 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29124 on it. Add missing space before closing bracket. Fix
29125 misleading formatting.
29126
29127 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29128
29129 * docs/grub.texi: Major overhaul. Remove all sections that are
29130 specific to GRUB Legacy, or mostly composed of Legacy-specific
29131 information.
29132
29133 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29134
29135 * docs/version.texi: New file. Provides version information for
29136 grub.texi.
29137
29138 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29139
29140 * docs/grub.texi: Update CVS information to SVN.
29141 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29142
29143 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29144
29145 * util/grub-mkconfig.in: Remove a wrong `fi'.
29146
29147 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29148
29149 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29150 (grub_jfs_uuid): New function.
29151 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29152
29153 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29154
29155 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29156 of it to ...
29157 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29158 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29159
29160 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29161
29162 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29163 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29164 Update all users.
29165
29166 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29167 not just "vmlinu[zx]".
29168 Moved from here ...
29169 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29170 all users.
29171
29172 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29173 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29174 all users.
29175
29176 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29177
29178 * util/grub.d/10_freebsd.in: Use an absolute device path for
29179 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29180
29181 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
29182
29183 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29184 handling of multiple abstraction modules.
29185
29186 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29187
29188 Fix a bug resulting in black screen when loading Linux using a
29189 packed video mode.
29190
29191 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29192 function.
29193
29194 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29195 (grub_vbe_bios_getset_dac_palette_width): New function.
29196 (grub_vbe_bios_get_dac_palette_width)
29197 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29198 grub_vbe_bios_getset_dac_palette_width()).
29199
29200 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29201 check for return status.
29202 (grub_vbe_get_video_mode_info): When getting information for a packed
29203 mode (<= 8 bpp), obtain DAC palette width using
29204 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29205 {red,green,blue}_mark_size.
29206
29207 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
29208
29209 * commands/search.c (options): Fix help output to match actual code.
29210
29211 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29212
29213 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29214 of homegrown code.
29215
29216 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29217
29218 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29219 on XFS or ReiserFS.
29220
29221 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29222
29223 Support Apple partition map with sector size different from 512 bytes.
29224
29225 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29226 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29227 and 'apart.partmap_size'.
29228
29229 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29230 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29231
29232 Fix cpuid command.
29233
29234 * commands/i386/cpuid.c (options): New variable.
29235 (grub_cmd_cpuid): Return real error.
29236 (GRUB_MOD_INIT(cpuid)): Declare options.
29237
29238 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29241 valid.
29242
29243 2009-07-31 Bean <bean123ch@gmail.com>
29244
29245 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29246 log2_inode.
29247 (grub_fshelp_node): Move inode field to the end.
29248 (grub_xfs_data): Remove inode field.
29249 (grub_xfs_inode_block): Calculate inode size using sblock.
29250 (grub_xfs_inode_offset): Likewise.
29251 (grub_xfs_read_inode): Calculate inode size using sblock.
29252 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29253 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29254 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29255 to match inode size.
29256 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29257 not accessible when data is null.
29258 (grub_xfs_open): Likewise.
29259
29260 2009-07-31 Bean <bean123ch@gmail.com>
29261
29262 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29263 Don't change pv->disk if it's already set.
29264
29265 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29266 (grub_raid_register): ... here.
29267 (grub_raid_rescan): Removed.
29268
29269 * include/grub/raid.h (grub_raid_rescan): Removed.
29270
29271 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29272 (fstest): Replace grub_raid_rescan with module fini function followed
29273 by init function.
29274
29275 * util/grub-probe.c: Add include file <grub/raid.h>.
29276 (probe_raid_level): New function.
29277 (probe): Detect abstraction by walking the disk device, support two
29278 level of abstraction (LVM on RAID) when detecting partition map.
29279
29280 2009-07-31 Pavel Roskin <proski@gnu.org>
29281
29282 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29283 to grub_zalloc(), it was erroneous.
29284 Reported by Bean <bean123ch@gmail.com>
29285
29286 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29287
29288 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
29289 embedding zone, not only the first one.
29290
29291 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
29292
29293 * term/gfxterm.c (clear_char): New function.
29294 (grub_virtual_screen_setup): Use clear_char.
29295 (scroll_up): Likewise.
29296 (grub_virtual_screen_cls): Likewise.
29297
29298 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
29299
29300 * util/deviceiter.c (get_acceleraid_disk_name): New static
29301 function.
29302 (grub_util_iterate_devices): Handle Accelraid devices.
29303 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29304
29305 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29306
29307 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29308 separator for the suggested gfxpayload string (';' collides with the
29309 parser and needs escaping).
29310
29311 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29312
29313 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29314 Clear direction flag before jumping to OS.
29315 (grub_multiboot2_real_boot): Likewise.
29316
29317 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29318
29319 * util/i386/pc/grub-install: Fix parsing of --disk-module
29320 option.
29321
29322 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29323
29324 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29325 when embedding.
29326
29327 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
29328
29329 * util/grub-mkconfig.in (package_version): New variable.
29330 Use it do display the version.
29331
29332 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29333
29334 * kern/file.c (grub_file_open): Revert to previous check with
29335 grub_errno.
29336
29337 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29340 from help line. It's out of sync with code.
29341
29342 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29343
29344 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29345 entries on failed boot.
29346
29347 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29348
29349 * kern/file.c (grub_file_open): Fix an error check.
29350
29351 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29352
29353 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29354 partition map couldn't be identified.
29355
29356 2009-07-23 Pavel Roskin <proski@gnu.org>
29357
29358 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29359 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29360 case of little endian words becomes just an optimization.
29361 Respect const modifier.
29362 (md5_final): Use code that doesn't depend on endianness.
29363
29364 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29365 to avoid loss of upper bits if align is unsigned and shorter
29366 than addr.
29367
29368 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29369
29370 UUID support for UFS
29371
29372 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29373 (grub_ufs_uuid): New function.
29374 (grub_ufs_fs): add .uuid
29375
29376 2009-07-21 Pavel Roskin <proski@gnu.org>
29377
29378 * kern/dl.c (grub_dl_check_header): Make static.
29379
29380 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
29381
29382 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29383 add drivemap for Vista. It breaks Windows 7.
29384
29385 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29386
29387 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
29388 128 bytes
29389
29390 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29391
29392 Add BFS support
29393
29394 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
29395 (grub_fstest_SOURCES): Likewise.
29396 (pkglib_MODULES): Add befs.mod.
29397 (befs_mod_SOURCES): New variable.
29398 (befs_mod_CFLAGS): Likewise.
29399 (befs_mod_LDFLAGS): Likewise.
29400 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29402 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29403 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29404 (grub_setup_SOURCES): Likewise.
29405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29406 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29407 (grub_setup_SOURCES): Likewise.
29408 * fs/befs.c: New file.
29409 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
29410 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
29411 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
29412 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
29413 (B_KEY_INDEX_ALIGN): New declaration.
29414 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
29415 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
29416 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
29417 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
29418 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
29419 (grub_afs_mount) [MODE_BFS]: Likewise.
29420 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
29421 (grub_afs_fs): Use GRUB_AFS_FSNAME
29422 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
29423 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
29424 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
29425 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
29426
29427 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
29428
29429 * util/getroot.c (find_root_device): Add support for MacOSX.
29430 * util/hostdisk.c: Likewise.
29431
29432 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29433
29434 * font/font.c (find_glyph): Check whether a font is present to avoid
29435 segmentation fault.
29436
29437 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
29438
29439 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
29440
29441 2009-07-20 Pavel Roskin <proski@gnu.org>
29442
29443 * configure.ac: Trim excessively wordy excuses.
29444
29445 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 Add symlink, mtime and label support to AtheFS.
29448
29449 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
29450 (grub_afs_iterate_dir): Handle symlinks.
29451 (grub_afs_open): Use grub_afs_read_symlink.
29452 (grub_afs_dir): Likewise.
29453 Pass mtime.
29454 (grub_afs_label): New function.
29455 (grub_afs_fs): Add grub_afs_label.
29456 (grub_afs_read_symlink): New function.
29457
29458 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29459
29460 Fix AtheFS support.
29461
29462 * fs/afs.c: Fix comments style.
29463 (grub_afs_blockrun): Declare as packed.
29464 (grub_afs_datastream): Likewise.
29465 (grub_afs_bnode): Likewise.
29466 (grub_afs_btree): Likewise.
29467 (grub_afs_sblock): Likewise.
29468 Declare `name' as char.
29469 (grub_afs_inode): Declare as packed.
29470 Change void *vnode to grub_uint32_t unused.
29471 (grub_afs_iterate_dir): Check that key_size is positive.
29472 (grub_afs_mount): Don't read superblock twice.
29473 (grub_afs_dir): Don't free node in case of error,
29474 grub_fshelp_find_file already handles this.
29475 (grub_afs_open): Likewise.
29476
29477 2009-07-19 Pavel Roskin <proski@gnu.org>
29478
29479 * Makefile.in: Remove LIBLZO and enable_lzo.
29480 * conf/i386-pc.rmk: Remove lzo support.
29481 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
29482 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
29483 support.
29484 * kern/i386/pc/lzo1x.S: Remove.
29485 * kern/i386/pc/startup.S: Remove lzo support.
29486 * util/i386/pc/grub-mkimage.c: Likewise.
29487
29488 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29489
29490 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29491 * fs/xfs.c (grub_xfs_dir): Likewise.
29492 * fs/afs.c (grub_afs_dir): Likewise.
29493 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29494 (grub_iso9660_open): Likewise.
29495 * fs/jfs.c (grub_jfs_open): Likewise.
29496 * fs/ext2.c (grub_ext2_dir): Likewise.
29497 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
29498 * script/sh/lexer.c (grub_script_yylex): Likewise.
29499
29500 2009-07-16 Pavel Roskin <proski@gnu.org>
29501
29502 * configure.ac: Never add "-c" to CFLAGS.
29503
29504 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
29505
29506 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
29507 grub_cv_cc_efiemu should be used.
29508
29509 * configure.ac: Typo fixes.
29510
29511 * kern/mm.c (grub_zalloc): New function.
29512 (grub_debug_zalloc): Likewise.
29513 * include/grub/mm.h: Declare grub_zalloc() and
29514 grub_debug_zalloc().
29515 * util/misc.c (grub_zalloc): New function.
29516 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
29517 instead of grub_malloc(), remove unneeded initializations.
29518 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
29519 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
29520 * commands/parttool.c (grub_cmd_parttool): Likewise.
29521 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
29522 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
29523 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
29524 * disk/usbms.c (grub_usbms_finddevs): Likewise.
29525 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
29526 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
29527 (grub_cmd_efiemu_pnvram): Likewise.
29528 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
29529 * fs/iso9660.c (grub_iso9660_mount): Likewise.
29530 (grub_iso9660_iterate_dir): Likewise.
29531 * fs/jfs.c (grub_jfs_opendir): Likewise.
29532 * fs/ntfs.c (list_file): Likewise.
29533 (grub_ntfs_mount): Likewise.
29534 * kern/disk.c (grub_disk_open): Likewise.
29535 * kern/dl.c (grub_dl_load_core): Likewise.
29536 * kern/elf.c (grub_elf_file): Likewise.
29537 * kern/env.c (grub_env_context_open): Likewise.
29538 (grub_env_set): Likewise.
29539 (grub_env_set_data_slot): Likewise.
29540 * kern/file.c (grub_file_open): Likewise.
29541 * kern/fs.c (grub_fs_blocklist_open): Likewise.
29542 * loader/i386/multiboot.c (grub_module): Likewise.
29543 * loader/xnu.c (grub_xnu_create_key): Likewise.
29544 (grub_xnu_create_value): Likewise.
29545 * normal/main.c (grub_normal_add_menu_entry): Likewise.
29546 (read_config_file): Likewise.
29547 * normal/menu_entry.c (make_screen): Likewise.
29548 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29549 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29550 * script/sh/script.c (grub_script_parse): Likewise.
29551 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29552 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29553 * video/readers/png.c (grub_png_output_byte): Likewise.
29554 (grub_video_reader_png): Likewise.
29555
29556 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29557
29558 Enable all targets that can be built by default
29559
29560 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
29561 grub-mkfont and grub-fstest if they can be built
29562
29563 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29564
29565 Fix hang and segmentation fault in grub-emu-usb
29566
29567 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29568 * util/usb.c (grub_libusb_devices): likewise
29569 (grub_libusb_init): rename to ...
29570 (GRUB_MOD_INIT (libusb)):...this
29571 (grub_libusb_fini): rename to ..
29572 (GRUB_MOD_FINI (libusb)):...this
29573 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29574 * include/grub/disk.h (grub_raid_init): removed, it's useless
29575 (grub_raid_fini): likewise
29576 (grub_lvm_init): likewise
29577 (grub_lvm_fini): likewise
29578 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29579 by grub_init_all
29580
29581 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29582
29583 Fix libusb
29584
29585 * Makefile.in (LIBUSB): new macro
29586 * genmk.rb (Utility/print_tail): new method
29587 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29588 (top level): call util.print_tail at the end.
29589
29590 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29591
29592 Make FreeBSD accept zpool.cache
29593
29594 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29595 type is /boot/zfs/zpool.cache
29596
29597 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 Fix 64-bit efiemu
29600
29601 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29602 correct wrong typedef
29603 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29604
29605 2009-07-15 Pavel Roskin <proski@gnu.org>
29606
29607 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29608 * kern/disk.c (struct grub_disk_cache): Likewise.
29609
29610 * commands/probe.c (options): Typo fix.
29611
29612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29613 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29614 accordingly.
29615 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29616
29617 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29618 the end of "Error" to make the message more readable.
29619
29620 * boot/i386/pc/boot.S (kernel_segment): Remove.
29621 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29622 for destination.
29623
29624 * boot/i386/pc/boot.S (boot_version): Remove.
29625 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29626 Remove.
29627
29628 * include/grub/i386/pc/boot.h: Sort all offsets.
29629 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29630 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29631 * boot/i386/pc/boot.S: Assert location of every offset listed in
29632 include/grub/i386/pc/boot.h.
29633
29634 2009-07-13 Pavel Roskin <proski@gnu.org>
29635
29636 * include/grub/i386/coreboot/machine.h: Rename
29637 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29638 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29639 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29640
29641 * kern/dl.c: Force native word size to suppress warnings when
29642 compiling grub-emu.
29643
29644 * kern/device.c (grub_device_iterate): Change struct part_ent to
29645 hold the name, not a pointer to it. Use one grub_malloc() per
29646 partition, not two. Free partition_name if grub_malloc() fails.
29647 Set ents to NULL only before grub_partition_iterate() is called.
29648
29649 2009-07-11 Bean <bean123ch@gmail.com>
29650
29651 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29652 childname.
29653
29654 2009-07-10 Bean <bean123ch@gmail.com>
29655 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29656
29657 * kern/ieee1275/openfw.c (grub_children_iterate)
29658 (grub_devalias_iterate): Fix size evaluation for property or path
29659 strings, which was broken since r2132.
29660
29661 2009-07-07 Pavel Roskin <proski@gnu.org>
29662
29663 * commands/search.c (search_file): Merge into ...
29664 (search_fs): ... this. Accept search type as argument.
29665 (grub_cmd_search): Pass search type to search_fs().
29666
29667 * include/grub/util/console.h: New file.
29668 * util/console.c: Use it instead of grub/machine/console.h.
29669 * util/grub-emu.c: Likewise.
29670
29671 * lib/arg.c (find_long_option): Remove.
29672 (find_long): Add `len' argument, make `s' const char *.
29673 (grub_arg_parse): Parse long options in place, not in a
29674 temporary buffer.
29675
29676 2009-07-06 Pavel Roskin <proski@gnu.org>
29677
29678 * commands/search.c (search_fs): Fix potential NULL pointer
29679 dereference.
29680
29681 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29682 function pointer.
29683
29684 2009-07-06 Daniel Mierswa <impulze@impulze.org>
29685
29686 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29687 comparison.
29688
29689 2009-07-05 Pavel Roskin <proski@gnu.org>
29690
29691 * include/grub/i386/linux.h (struct linux_kernel_params):
29692 Restore padding3, it's still needed.
29693
29694 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29695 FreeBSD.
29696 * util/osdetect.lua: Likewise.
29697
29698 2009-07-05 Bean <bean123ch@gmail.com>
29699
29700 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29701
29702 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29703 (grub_lua_getenv): Likewise.
29704 (grub_lua_setenv): Likewise.
29705 (save_errno): New function.
29706 (push_result): Likewise.
29707 (grub_lua_enum_device): Likewise.
29708 (grub_lua_enum_file): Likewise.
29709 (grub_lua_file_open): Likewise.
29710 (grub_lua_file_close): Likewise.
29711 (grub_lua_file_seek): Likewise.
29712 (grub_lua_file_read): Likewise.
29713 (grub_lua_file_getline): Likewise.
29714 (grub_lua_file_getsize): Likewise.
29715 (grub_lua_file_getpos): Likewise.
29716 (grub_lua_file_eof): Likewise.
29717 (grub_lua_file_exist): Likewise.
29718 (grub_lua_add_menu): Likewise.
29719
29720 * script/lua/grub_lua.h (isupper): New inline function.
29721 (islower): Likewise.
29722 (ispunct): Likewise.
29723 (isxdigit): Likewise.
29724 (strcspn): Change to normal function.
29725 (strpbkr): New function declaration.
29726 (memchr): Likewise.
29727
29728 * script/lua/grub_main.c (scan_str): New function.
29729 (strcspn): Likewise.
29730 (strpbrk): Likewise.
29731 (memchr): Likewise.
29732
29733 * script/lua/linit.c (lualibs): Enable the string library.
29734
29735 * util/osdetect.lua: New file.
29736
29737 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29738
29739 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29740 `capabilities' member.
29741
29742 2009-07-02 Pavel Roskin <proski@gnu.org>
29743
29744 * genparttoollist.sh: Add missing newline at the end.
29745
29746 2009-07-01 Pavel Roskin <proski@gnu.org>
29747
29748 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29749
29750 * util/hostdisk.c (open_device): Remove `const' from
29751 `sysctl_size', as sysctlbyname() can change it (in this case it
29752 doesn't actually happen).
29753
29754 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29755 using signed long int constants.
29756
29757 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29758 constant to avoid a warning on FreeBSD.
29759
29760 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29761 where it's needed.
29762
29763 * Makefile.in: Install include/grub/machine symlink.
29764
29765 * Makefile.in: When installing symlinks, use "cp -fR", which
29766 works on FreeBSD and MacOSX.
29767 From Yves Blusseau <cl7m42e02@sneakemail.com>
29768
29769 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29770 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29771
29772 * util/misc.c: Move grub_reboot() and grub_halt() ...
29773 * util/grub-emu.c: ... here. Make main_env static.
29774 * include/grub/util/misc.h: Remove main_env.
29775
29776 * kern/mm.c: Use correct format to print size_t.
29777
29778 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29779 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29780 * kern/powerpc/dl.c: Likewise.
29781 * kern/sparc64/dl.c: Likewise.
29782 * kern/x86_64/dl.c: Likewise.
29783
29784 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29785
29786 Fix grub-emu build on sparc64-ieee1275.
29787
29788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
29789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29790
29791 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29792
29793 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29794 (grub_reboot, grub_halt): New functions.
29795
29796 * util/i386/pc/misc.c: Delete. Update all users.
29797 * util/sparc64/ieee1275/misc.c: Likewise.
29798 * util/powerpc/ieee1275/misc.c: Likewise.
29799
29800 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29801
29802 * conf/i386.rmk (setjmp_mod_SOURCES)
29803 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29804 * conf/common.rmk (setjmp_mod_SOURCES)
29805 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29806 to use $(target_cpu).
29807 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29808 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29809 * conf/powerpc-ieee1275.rmk: Likewise.
29810 * conf/sparc64-ieee1275.rmk: Likewise.
29811
29812 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29813 $(target_cpu) for kern/$(target_cpu)/dl.c.
29814 * conf/i386-efi.rmk: Likewise.
29815 * conf/i386-ieee1275.rmk: Likewise.
29816 * conf/x86_64-efi.rmk: Likewise.
29817 * conf/i386-coreboot.rmk: Likewise.
29818 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29819 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29820 kern/$(target_cpu)/cache.S.
29821 * conf/sparc64-ieee1275.rmk: Likewise.
29822
29823 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29824
29825 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29826 type to `grub_uint8_t', and adjust `padding9' accordingly.
29827
29828 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29829
29830 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29831
29832 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29833 assembly in final jump, using register constraints.
29834
29835 (grub_linux_boot): For text mode, initialize `have_vga' using
29836 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29837
29838 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29839 right before the final jump.
29840
29841 Set `video_mode' to 0x3.
29842
29843 Document initialization of `video_page', `video_mode' and
29844 `video_ega_bx'.
29845
29846 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29847
29848 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
29849 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
29850 and set GRUB_LINUX_FLAG_QUIET appropriately.
29851
29852 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29853
29854 Fix build on Debian / sparc.
29855
29856 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
29857
29858 2009-06-28 Pavel Roskin <proski@gnu.org>
29859
29860 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
29861 fix a warning.
29862
29863 * util/grub.d/10_linux.in: Match SUSE style initrd names.
29864
29865 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29866
29867 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
29868 `err'.
29869
29870 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29871
29872 Revert r2338.
29873
29874 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
29875 file can't be opened. grub_file_open() is already supposed to set
29876 grub_errno / grub_errmsg appropriately.
29877 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29878
29879 2009-06-27 Pavel Roskin <proski@gnu.org>
29880 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
29881
29882 * include/grub/dl.h: Include grub/elf.h.
29883 (struct grub_dl): Add symtab field.
29884 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
29885 GRUB_MODULES_MACHINE_READONLY.
29886 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
29887 of the header for read-only modules.
29888 (grub_dl_unload): Free mod->symtab for read-only modules.
29889 * kern/i386/dl.c: Use mod->symtab.
29890 * kern/powerpc/dl.c: Likewise.
29891 * kern/sparc64/dl.c: Likewise.
29892 * kern/x86_64/dl.c: Likewise.
29893
29894 * conf/i386-qemu.rmk: New file.
29895 * kern/i386/qemu/startup.S: Likewise.
29896 * kern/i386/qemu/mmap.c: Likewise.
29897 * boot/i386/qemu/boot.S: Likewise.
29898 * include/grub/i386/qemu/time.h: Likewise.
29899 * include/grub/i386/qemu/serial.h: Likewise.
29900 * include/grub/i386/qemu/kernel.h: Likewise.
29901 * include/grub/i386/qemu/console.h: Likewise.
29902 * include/grub/i386/qemu/boot.h: Likewise.
29903 * include/grub/i386/qemu/init.h: Likewise.
29904 * include/grub/i386/qemu/machine.h: Likewise.
29905 * include/grub/i386/qemu/loader.h: Likewise.
29906 * include/grub/i386/qemu/memory.h: Likewise.
29907
29908 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
29909 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
29910 [qemu] (pkglib_IMAGES): Add `boot.img'.
29911 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
29912 [qemu] (boot_img_FORMAT): New variables.
29913 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29914 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29915 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29916 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29917 [qemu] (kernel_img_FORMAT): New variables.
29918
29919 * configure.ac: Recognise `i386-qemu'.
29920
29921 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29922 (for no compression).
29923 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29924 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29925 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29926 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29927 ifdefs).
29928
29929 2009-06-27 Pavel Roskin <proski@gnu.org>
29930
29931 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29932 read.
29933 * efiemu/prepare32.c: Likewise.
29934 * efiemu/prepare64.c: Likewise.
29935
29936 2009-06-26 Pavel Roskin <proski@gnu.org>
29937
29938 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29939 * include/grub/elf.h: Define symbols without "32" or "64" based
29940 on GRUB_TARGET_WORDSIZE.
29941 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29942 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29943 ELF definitions.
29944 * efiemu/loadcore64.c: Likewise.
29945 * loader/i386/bsd32.c: Likewise.
29946 * loader/i386/bsd64.c: Likewise.
29947 * kern/dl.c: Remove own ELF definitions.
29948 * util/i386/efi/grub-mkimage.c: Likewise.
29949
29950 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29951
29952 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29953 segment 0x0 unconditionally, because the reference generated by
29954 GAS is an absolute address.
29955
29956 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29959 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29960
29961 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29964 indexes. Check for -f explicitly.
29965 (search_file): Improve error message.
29966 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
29967
29968 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29969
29970 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29971 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29972
29973 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29974
29975 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29976 * conf/i386-ieee1275.rmk: Likewise.
29977 * conf/i386-coreboot.rmk: Likewise.
29978
29979 * kern/i386/pc/startup.S (grub_stop): Remove function.
29980 * kern/i386/ieee1275/startup.S: Likewise.
29981 * kern/i386/coreboot/startup.S: Likewise.
29982 * kern/i386/misc.S (grub_stop): New function.
29983
29984 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29985
29986 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29987 * kern/i386/realmode.S (real_to_prot): ... to here.
29988
29989 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29990
29991 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29992 with `kernel.img'.
29993 (kernel_elf_SOURCES): Rename to ...
29994 (kernel_img_SOURCES): ... this.
29995 (kernel_elf_HEADERS): Rename to ...
29996 (kernel_img_HEADERS): ... this. Update all users.
29997 (kernel_elf_ASFLAGS): Rename to ...
29998 (kernel_img_ASFLAGS): ... this.
29999 (kernel_elf_CFLAGS): Rename to ...
30000 (kernel_img_CFLAGS): ... this.
30001 (kernel_elf_LDFLAGS): Rename to ...
30002 (kernel_img_LDFLAGS): ... this.
30003 * conf/i386-coreboot.rmk: Likewise.
30004 * conf/powerpc-ieee1275.rmk: Likewise.
30005
30006 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30007 with "kernel.img".
30008
30009 2009-06-21 Pavel Roskin <proski@gnu.org>
30010
30011 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30012 to match nested functions.
30013 * loader/sparc64/ieee1275/linux.c: Likewise.
30014
30015 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30016
30017 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30018
30019 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30020 all i386 platforms.
30021
30022 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30023
30024 Fix asm file handling on ELF, and remove workarounds.
30025
30026 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
30027 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
30028 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30029 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30030
30031 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30032
30033 Load BSD ELF modules
30034
30035 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30036 and loader/i386/bsd64.c
30037 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30038 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30039 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30040 (grub_freebsd_load_elfmodule32): New declaration
30041 (grub_freebsd_load_elfmoduleobj64): Likewise
30042 (grub_freebsd_load_elf_meta32): Likewise
30043 (grub_freebsd_load_elf_meta64): Likewise
30044 (grub_freebsd_add_meta): Likewise
30045 (grub_freebsd_add_meta_module): Likewise
30046 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30047 (grub_freebsd_add_meta_module): Likewise and move module-specific
30048 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30049 (grub_cmd_freebsd): Add elf-kernel specific parts
30050 based on grub_freebsd_add_meta_module
30051 (grub_cmd_freebsd_module): Add type parsing moved from
30052 grub_freebsd_add_meta_module
30053 (grub_cmd_freebsd_module_elf): New function
30054 (cmd_freebsd_module_elf): New variable
30055 (GRUB_MOD_INIT): Register freebsd_module_elf
30056 * loader/i386/bsd32.c: New file
30057 * loader/i386/bsd64.c: Likewise
30058 * loader/i386/bsdXX.c: Likewise
30059 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30060 (grub_elf64_load): Likewise
30061 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30062 All users updated
30063 (grub_elf64_load_hook_t): Likewise
30064
30065 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
30066
30067 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30068 variable.
30069 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30070 don't write a menu entry for recovery mode.
30071
30072 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30073
30074 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30075 after it's no longer needed.
30076
30077 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30078
30079 * include/grub/i386/loader.h (grub_linux_prot_size)
30080 (grub_linux_tmp_addr, grub_linux_real_addr)
30081 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30082 GRUB_MACHINE_PCBIOS.
30083 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30084 common grub_util_info() call to ...
30085 (generate_image): ... here.
30086 Fix use of uninitialized memory, comparison of signed with
30087 unsigned integers and memory leak.
30088 Remove bogus module address message.
30089
30090 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30093 grub_raid_register
30094 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30095
30096 2009-06-19 Pavel Roskin <proski@gnu.org>
30097
30098 * configure.ac: Remove stray AC_MSG_CHECKING.
30099
30100 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30101
30102 * disk/scsi.c (grub_scsi_open): use continue instead of big if
30103
30104 2009-06-18 Pavel Roskin <proski@gnu.org>
30105
30106 * conf/common.rmk: Add fs_file.mod.
30107 * disk/fs_file.c: New file.
30108 * include/grub/disk.h (enum grub_disk_dev_id): Add
30109 GRUB_DISK_DEVICE_FILE_ID.
30110
30111 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30112
30113 Fix build with Apple's toolchain. Part 2
30114
30115 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30116 a fake start
30117
30118 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30119
30120 Fix build with Apple's toolchain. Part 1
30121
30122 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30123 for long calls
30124 * configure.ac: remove a leftover AC_MSG_RESULT
30125 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
30126 Apple's toolchain
30127
30128 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30129
30130 Fix warnings
30131
30132 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30133 (decomp_block): initialize ch
30134 use grub_memcpy instead of memcpy
30135
30136 2009-06-17 Pavel Roskin <proski@gnu.org>
30137
30138 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30139 version, use declarations needed to use vga_text as the startup
30140 console.
30141
30142 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30143 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30144 the kernel.
30145 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30146 and grub_at_keyboard_fini(), it's done on module load and
30147 unload.
30148
30149 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
30150
30151 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30152 file can't be found.
30153 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30154
30155 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30156
30157 Fix newline handling
30158
30159 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
30160 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
30161 (grub_script_yylex): don't segfault on unterminated script
30162 newline terminates command and variable
30163
30164 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30165
30166 avoid double grub_adjust_range call. Bug reported by David Simner
30167
30168 * kern/disk.c (grub_disk_write): change to raw disk access before
30169 calling disk_read
30170
30171 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
30172
30173 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30174 spaces, for the benefit of help2man.
30175 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30176
30177 2009-06-16 Pavel Roskin <proski@gnu.org>
30178
30179 * kern/i386/halt.c: Include grub/machine/init.h.
30180 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30181
30182 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
30183
30184 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30185 drivemap menuentry.
30186
30187 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30188
30189 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30190 `echo' command.
30191
30192 2009-06-16 Pavel Roskin <proski@gnu.org>
30193
30194 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30195 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30196 save %dx, we only need %dl and we never change it.
30197 * boot/i386/pc/cdboot.S: Don't set the root drive.
30198 * boot/i386/pc/pxeboot.S: Likewise.
30199 * include/grub/i386/pc/boot.h: Remove
30200 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30201 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30202 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30203 * kern/i386/pc/init.c (make_install_device): Remove references
30204 to grub_root_drive.
30205 * kern/i386/pc/startup.S: Likewise.
30206 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30207
30208 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30209
30210 xnu_uuid command
30211
30212 * commands/xnu_uuid.c: new file
30213 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30214 (xnu_uuid_mod_SOURCES): new variable
30215 (xnu_uuid_mod_CFLAGS): likewise
30216 (xnu_uuid_mod_LDFLAGS): likewise
30217 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30218 * conf/i386-ieee1275.rmk: likewise
30219 * conf/i386-pc.rmk: likewise
30220 * conf/powerpc-ieee1275.rmk: likewise
30221 * conf/sparc64-ieee1275.rmk: likewise
30222 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30223
30224 2009-06-16 Pavel Roskin <proski@gnu.org>
30225
30226 * configure.ac: Avoid '==' in test command, it's not portable.
30227
30228 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30229
30230 Probe command
30231
30232 * commands/probe.c: new file
30233 * conf/common.rmk (pkglib_MODULES): add probe.mod
30234 (probe_mod_SOURCES): new variable
30235 (probe_mod_CFLAGS): likewise
30236 (probe_mod_LDFLAGS): likewise
30237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30238 * conf/i386-ieee1275.rmk: likewise
30239 * conf/i386-pc.rmk: likewise
30240 * conf/powerpc-ieee1275.rmk: likewise
30241 * conf/sparc64-ieee1275.rmk: likewise
30242
30243 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30244
30245 Fix handling of string like \"hello\" and "a
30246 b"
30247
30248 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30249 (grub_script_yylex): fix parsing of quoting, escaping and newline
30250
30251 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30252
30253 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
30254 handling
30255
30256 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
30257
30258 * util/grub-mkconfig.in: Fix parsing of --output option.
30259
30260 2009-06-12 Pavel Roskin <proski@gnu.org>
30261
30262 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30263 genmk.rb don't need to be generated or installed.
30264
30265 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30266
30267 * commands/i386/pc/drivemap_int13h.S: add more comments
30268
30269 2009-06-11 Pavel Roskin <proski@gnu.org>
30270
30271 * Makefile.in (uninstall): Uninstall manuals.
30272
30273 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30274 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30275 and update-grub_lib in two places.
30276 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30277
30278 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30279 a compiler warning.
30280
30281 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30282 `entry_lo' to fix variable shadowing.
30283
30284 2009-06-11 Christian Franke <franke@computer.org>
30285
30286 * kern/misc.c (__enable_execute_stack): Add missing return type
30287 to prevent gcc warning.
30288
30289 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30290
30291 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30292
30293 2009-06-11 Pavel Roskin <proski@gnu.org>
30294
30295 * Makefile.in: Don't rely on any scripts being executable.
30296 Always use $(SHELL) to run shell scripts.
30297
30298 * configure.ac: Always define ___main if using -nostdlib. This
30299 fixes tests on Cygwin.
30300
30301 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30302
30303 UDF fix
30304
30305 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
30306 is in bytes and not in blocks
30307
30308 2009-06-11 Pavel Roskin <proski@gnu.org>
30309
30310 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30311 warning.
30312
30313 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30314
30315 * util/grub.d/30_os-prober.in: Fix a comment. Source
30316 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30317 to set the root device. Place drivemap command in the generated
30318 chain entry.
30319
30320 2009-06-11 Pavel Roskin <proski@gnu.org>
30321
30322 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30323 have long been resolved.
30324
30325 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
30326
30327 * util/grub.d/10_linux.in: Capitalise "Linux".
30328
30329 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30330
30331 2009-06-11 Pavel Roskin <proski@gnu.org>
30332
30333 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30334 fix a gcc warning and ensure that the function won't ever exit.
30335
30336 * kern/i386/ieee1275/init.c: Add missing prototype for
30337 grub_stop_floppy().
30338
30339 * loader/ieee1275/multiboot2.c [__i386__]: Include
30340 grub/cpu/multiboot.h.
30341
30342 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30343 casts to short - they are not portable and cause warnings. Fix
30344 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30345
30346 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 Drivemap fixes
30349
30350 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30351 new function
30352 (grub_get_root_biosnumber_saved): new variable
30353 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30354 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
30355 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
30356 %dx after the call if necessary
30357 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30358 (boot_mod_SOURCES): remove
30359 (boot_mod_CFLAGS): remove
30360 (boot_mod_LDFLAGS): remove
30361 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30362 (boot_mod_SOURCES): new variable
30363 (boot_mod_CFLAGS): likewise
30364 (boot_mod_LDFLAGS): likewise
30365 * conf/i386-efi.rmk: likewise
30366 * conf/i386-ieee1275.rmk: likewise
30367 * conf/i386-pc.rmk: likewise
30368 * conf/powerpc-ieee1275.rmk: likewise
30369 * conf/sparc64-ieee1275.rmk: likewise
30370 * conf/x86_64-efi.rmk: likewise
30371 * include/grub/i386/pc/biosnum.h: new file
30372 * lib/i386/pc/biosnum.c: likewise
30373 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30374 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30375 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
30376
30377 2009-06-10 Pavel Roskin <proski@gnu.org>
30378
30379 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30380 Use separate variables. Read only the file size at the end, but
30381 not the checksum that we don't use.
30382
30383 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30384 Adjust all callers.
30385
30386 * kern/ieee1275/openfw.c: Remove libc includes.
30387 * kern/ieee1275/cmain.c: Likewise.
30388 * include/grub/ieee1275/ieee1275.h: Likewise.
30389
30390 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
30391 compiler warnings.
30392
30393 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30394
30395 * Makefile.in: Remove all trailing whitespace.
30396 * conf/i386-pc.rmk: Likewise.
30397 * conf/powerpc-ieee1275.rmk: Likewise.
30398 * conf/sparc64-ieee1275.rmk: Likewise.
30399 * docs/grub.texi: Likewise.
30400 * docs/texinfo.tex: Likewise.
30401 * disk/fs_uuid.c: Likewise.
30402 * disk/lvm.c: Likewise.
30403 * disk/scsi.c: Likewise.
30404 * disk/ata.c: Likewise.
30405 * disk/ieee1275/ofdisk.c: Likewise.
30406 * disk/i386/pc/biosdisk.c: Likewise.
30407 * disk/host.c: Likewise.
30408 * disk/raid.c: Likewise.
30409 * disk/efi/efidisk.c: Likewise.
30410 * disk/usbms.c: Likewise.
30411 * disk/memdisk.c: Likewise.
30412 * disk/loopback.c: Likewise.
30413 * kern/powerpc/dl.c: Likewise.
30414 * kern/device.c: Likewise.
30415 * kern/dl.c: Likewise.
30416 * kern/sparc64/dl.c: Likewise.
30417 * kern/ieee1275/ieee1275.c: Likewise.
30418 * kern/term.c: Likewise.
30419 * kern/fs.c: Likewise.
30420 * kern/i386/dl.c: Likewise.
30421 * kern/i386/pc/startup.S: Likewise.
30422 * kern/i386/pc/init.c: Likewise.
30423 * kern/i386/pc/mmap.c: Likewise.
30424 * kern/i386/pc/lzo1x.S: Likewise.
30425 * kern/i386/ieee1275/init.c: Likewise.
30426 * kern/i386/realmode.S: Likewise.
30427 * kern/i386/tsc.c: Likewise.
30428 * kern/partition.c: Likewise.
30429 * kern/corecmd.c: Likewise.
30430 * kern/file.c: Likewise.
30431 * kern/efi/efi.c: Likewise.
30432 * kern/efi/init.c: Likewise.
30433 * kern/efi/mm.c: Likewise.
30434 * kern/main.c: Likewise.
30435 * kern/err.c: Likewise.
30436 * kern/env.c: Likewise.
30437 * kern/disk.c: Likewise.
30438 * kern/generic/millisleep.c: Likewise.
30439 * kern/generic/rtc_get_time_ms.c: Likewise.
30440 * kern/misc.c: Likewise.
30441 * kern/parser.c: Likewise.
30442 * genmk.rb: Likewise.
30443 * configure.ac: Likewise.
30444 * boot/i386/pc/diskboot.S: Likewise.
30445 * boot/i386/pc/pxeboot.S: Likewise.
30446 * boot/i386/pc/boot.S: Likewise.
30447 * boot/i386/pc/lnxboot.S: Likewise.
30448 * boot/i386/pc/cdboot.S: Likewise.
30449 * parttool/pcpart.c: Likewise.
30450 * video/readers/tga.c: Likewise.
30451 * video/video.c: Likewise.
30452 * video/bitmap.c: Likewise.
30453 * lib/envblk.c: Likewise.
30454 * lib/i386/setjmp.S: Likewise.
30455 * fs/xfs.c: Likewise.
30456 * fs/afs.c: Likewise.
30457 * fs/fat.c: Likewise.
30458 * fs/ntfs.c: Likewise.
30459 * fs/udf.c: Likewise.
30460 * fs/affs.c: Likewise.
30461 * fs/iso9660.c: Likewise.
30462 * fs/hfs.c: Likewise.
30463 * fs/fshelp.c: Likewise.
30464 * fs/ext2.c: Likewise.
30465 * fs/jfs.c: Likewise.
30466 * fs/reiserfs.c: Likewise.
30467 * fs/hfsplus.c: Likewise.
30468 * fs/minix.c: Likewise.
30469 * fs/cpio.c: Likewise.
30470 * fs/sfs.c: Likewise.
30471 * fs/ufs.c: Likewise.
30472 * efiemu/prepare.c: Likewise.
30473 * efiemu/loadcore_common.c: Likewise.
30474 * efiemu/runtime/efiemu.sh: Likewise.
30475 * efiemu/runtime/efiemu.S: Likewise.
30476 * efiemu/runtime/efiemu.c: Likewise.
30477 * efiemu/pnvram.c: Likewise.
30478 * efiemu/main.c: Likewise.
30479 * efiemu/i386/pc/cfgtables.c: Likewise.
30480 * efiemu/i386/loadcore64.c: Likewise.
30481 * efiemu/i386/loadcore32.c: Likewise.
30482 * efiemu/loadcore.c: Likewise.
30483 * efiemu/symbols.c: Likewise.
30484 * efiemu/mm.c: Likewise.
30485 * include/grub/autoefi.h: Likewise.
30486 * include/grub/datetime.h: Likewise.
30487 * include/grub/term.h: Likewise.
30488 * include/grub/hfs.h: Likewise.
30489 * include/grub/lvm.h: Likewise.
30490 * include/grub/i386/tsc.h: Likewise.
30491 * include/grub/i386/linux.h: Likewise.
30492 * include/grub/i386/xnu.h: Likewise.
30493 * include/grub/i386/efiemu.h: Likewise.
30494 * include/grub/i386/pc/biosdisk.h: Likewise.
30495 * include/grub/i386/pc/memory.h: Likewise.
30496 * include/grub/i386/pc/vbe.h: Likewise.
30497 * include/grub/parttool.h: Likewise.
30498 * include/grub/video.h: Likewise.
30499 * include/grub/memory.h: Likewise.
30500 * include/grub/fs.h: Likewise.
30501 * include/grub/partition.h: Likewise.
30502 * include/grub/xnu.h: Likewise.
30503 * include/grub/efi/api.h: Likewise.
30504 * include/grub/efi/pe32.h: Likewise.
30505 * include/grub/efi/memory.h: Likewise.
30506 * include/grub/multiboot.h: Likewise.
30507 * include/grub/usbdesc.h: Likewise.
30508 * include/grub/multiboot2.h: Likewise.
30509 * include/grub/acpi.h: Likewise.
30510 * include/grub/efiemu/efiemu.h: Likewise.
30511 * include/grub/disk.h: Likewise.
30512 * include/grub/ieee1275/ieee1275.h: Likewise.
30513 * include/grub/net.h: Likewise.
30514 * include/grub/machoload.h: Likewise.
30515 * include/grub/macho.h: Likewise.
30516 * include/multiboot.h: Likewise.
30517 * genmoddep.awk: Likewise.
30518 * normal/main.c: Likewise.
30519 * normal/menu_entry.c: Likewise.
30520 * normal/menu_viewer.c: Likewise.
30521 * normal/completion.c: Likewise.
30522 * normal/cmdline.c: Likewise.
30523 * normal/misc.c: Likewise.
30524 * normal/datetime.c: Likewise.
30525 * bus/usb/usbtrans.c: Likewise.
30526 * bus/usb/ohci.c: Likewise.
30527 * bus/usb/uhci.c: Likewise.
30528 * bus/usb/usb.c: Likewise.
30529 * mmap/efi/mmap.c: Likewise.
30530 * mmap/i386/pc/mmap_helper.S: Likewise.
30531 * mmap/i386/pc/mmap.c: Likewise.
30532 * mmap/i386/mmap.c: Likewise.
30533 * mmap/i386/uppermem.c: Likewise.
30534 * mmap/mmap.c: Likewise.
30535 * commands/acpi.c: Likewise.
30536 * commands/echo.c: Likewise.
30537 * commands/blocklist.c: Likewise.
30538 * commands/loadenv.c: Likewise.
30539 * commands/usbtest.c: Likewise.
30540 * commands/boot.c: Likewise.
30541 * commands/parttool.c: Likewise.
30542 * commands/search.c: Likewise.
30543 * commands/cat.c: Likewise.
30544 * commands/i386/pc/play.c: Likewise.
30545 * commands/i386/pc/drivemap.c: Likewise.
30546 * commands/i386/pc/vbeinfo.c: Likewise.
30547 * commands/i386/pc/acpi.c: Likewise.
30548 * commands/i386/pc/vbetest.c: Likewise.
30549 * commands/ls.c: Likewise.
30550 * commands/cmp.c: Likewise.
30551 * commands/test.c: Likewise.
30552 * commands/efi/acpi.c: Likewise.
30553 * commands/gptsync.c: Likewise.
30554 * commands/help.c: Likewise.
30555 * partmap/amiga.c: Likewise.
30556 * partmap/apple.c: Likewise.
30557 * partmap/acorn.c: Likewise.
30558 * partmap/pc.c: Likewise.
30559 * partmap/sun.c: Likewise.
30560 * partmap/gpt.c: Likewise.
30561 * script/sh/lexer.c: Likewise.
30562 * script/sh/function.c: Likewise.
30563 * font/font.c: Likewise.
30564 * font/font_cmd.c: Likewise.
30565 * loader/powerpc/ieee1275/linux.c: Likewise.
30566 * loader/efi/chainloader.c: Likewise.
30567 * loader/multiboot_loader.c: Likewise.
30568 * loader/macho.c: Likewise.
30569 * loader/i386/multiboot.c: Likewise.
30570 * loader/i386/linux.c: Likewise.
30571 * loader/i386/pc/linux.c: Likewise.
30572 * loader/i386/pc/multiboot2.c: Likewise.
30573 * loader/i386/pc/chainloader.c: Likewise.
30574 * loader/i386/pc/xnu.c: Likewise.
30575 * loader/i386/bsd_trampoline.S: Likewise.
30576 * loader/i386/efi/linux.c: Likewise.
30577 * loader/i386/multiboot_elfxx.c: Likewise.
30578 * loader/i386/bsd_helper.S: Likewise.
30579 * loader/i386/bsd.c: Likewise.
30580 * loader/i386/linux_trampoline.S: Likewise.
30581 * loader/i386/xnu_helper.S: Likewise.
30582 * loader/i386/xnu.c: Likewise.
30583 * loader/i386/bsd_pagetable.c: Likewise.
30584 * loader/i386/multiboot_helper.S: Likewise.
30585 * loader/xnu.c: Likewise.
30586 * loader/xnu_resume.c: Likewise.
30587 * io/gzio.c: Likewise.
30588 * term/efi/console.c: Likewise.
30589 * term/terminfo.c: Likewise.
30590 * term/ieee1275/ofconsole.c: Likewise.
30591 * term/i386/pc/serial.c: Likewise.
30592 * term/i386/pc/vesafb.c: Likewise.
30593 * term/i386/pc/vga.c: Likewise.
30594 * term/usb_keyboard.c: Likewise.
30595 * term/gfxterm.c: Likewise.
30596 * aclocal.m4: Likewise.
30597 * util/lvm.c: Likewise.
30598 * util/grub.d/30_os-prober.in: Likewise.
30599 * util/grub.d/10_hurd.in: Likewise.
30600 * util/console.c: Likewise.
30601 * util/grub-macho2img.c: Likewise.
30602 * util/grub-probe.c: Likewise.
30603 * util/hostfs.c: Likewise.
30604 * util/i386/pc/grub-mkimage.c: Likewise.
30605 * util/i386/pc/grub-setup.c: Likewise.
30606 * util/i386/efi/grub-mkimage.c: Likewise.
30607 * util/grub-mkconfig.in: Likewise.
30608 * util/raid.c: Likewise.
30609 * util/resolve.c: Likewise.
30610 * util/grub-mkdevicemap.c: Likewise.
30611 * util/grub-emu.c: Likewise.
30612 * util/getroot.c: Likewise.
30613 * util/hostdisk.c: Likewise.
30614 * util/usb.c: Likewise.
30615 * util/grub-editenv.c: Likewise.
30616 * util/misc.c: Likewise.
30617
30618 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30619
30620 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30621 `genparttoollist.sh'.
30622 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30623 Add `*.sh' to the list find searches for and change `mdate.sh'
30624 to `mdate-sh'.
30625
30626 2009-06-10 Pavel Roskin <proski@gnu.org>
30627
30628 * include/grub/multiboot2.h: Provide compatibility defines for
30629 multiboot2.h.
30630 * include/multiboot2.h: Include stdint.h only if needed, using
30631 angle brackets.
30632 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30633 grub/multiboot2.h.
30634 * loader/ieee1275/multiboot2.c: Likewise.
30635 * loader/multiboot2.c: Likewise.
30636 * loader/multiboot_loader.c: Likewise.
30637
30638 * configure.ac: Use -nostdlib when probing for the target. It
30639 should not be required to have libc for the target.
30640
30641 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30642 they fail without libc headers for the target.
30643 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30644 exports.
30645 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30646 preprocessor conditionals.
30647
30648 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30649 build system doesn't need to be aware of the tar.c internals.
30650
30651 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
30652
30653 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
30654
30655 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30656
30657 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30658 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30659
30660 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
30661
30662 * util/i386/pc/grub-install.in: Change the error message if UUIDs
30663 aren't available if ata.mod gets used.
30664
30665 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
30666
30667 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
30668 initialising controller.
30669 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30670
30671 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30672
30673 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30674 to choose between ata and biosdisk module on i386-pc.
30675
30676 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
30677
30678 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30679 Subclass and Programming Interface fields in terms of the 3 byte
30680 Class Code register.
30681 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30682
30683 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30684 interface is OHCI. Add grub_dprintf for symmetry with
30685 bus/usb/uhci.c.
30686 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30687 interface is UHCI. Add interf variable for programming
30688 interface. Print interface with class/subclass.
30689
30690 * bus/usb/ohci.c: Set interf with correct field.
30691
30692 * bus/usb/uhci.c: Remove unneeded doubled lines.
30693 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30694 Remove whitespace inside comment.
30695
30696 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30697
30698 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30699 as fallback an equivalent option without depth.
30700
30701 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30702
30703 Not fail if unable to retrieve C/H/S on LBA disks
30704
30705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
30706 if unable to retrieve C/H/S on LBA disks
30707
30708 2009-06-08 Pavel Roskin <proski@gnu.org>
30709
30710 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30711 about aliasing.
30712
30713 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30714
30715 * Makefile.in (uninstall): Remove all $lib_DATA files.
30716
30717 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30718
30719 Bugfix: install on partitionless device
30720
30721 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30722 is a whole disk
30723
30724 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30725
30726 * Makefile.in (uninstall): Remove all $include_DATA files.
30727
30728 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30729
30730 * commands/true.c: New file. Implement the true and false commands.
30731 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30732 (true_mod_SOURCES): New variable.
30733 (true_mod_CFLAGS): Likewise.
30734 (true_mod_LDFLAGS): Likewise.
30735
30736 2009-06-05 Colin D Bennett <colin@gibibit.com>
30737
30738 Optimized font character lookup using binary search instead of linear
30739 search. Fonts now are required to have the character index ordered by
30740 code point.
30741
30742 * font/font.c (load_font_index): Verify that fonts have ordered
30743 character indices.
30744 (find_glyph): Use binary search instead of linear search to find a
30745 character in a font.
30746
30747 2009-06-05 Michael Scherer <misc@mandriva.org>
30748
30749 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30750 uses case sensitive btree.
30751 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30752 only for case insensitive filesystems.
30753
30754 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30755
30756 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30757 * conf/common.rmk (search_mod_CFLAGS): likewise
30758
30759 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30760
30761 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
30762 compensate a compiler bug
30763
30764 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30765
30766 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
30767 instead of '\b'
30768
30769 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30770
30771 Definitions for creating asm symbols with Apple's CC
30772
30773 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30774 [APPLE_CC] (VARIABLE): likewise
30775
30776 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30777
30778 Disable lnxboot.img when compiled
30779 with Apple's CC
30780
30781 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30782 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30783 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30784 [! APPLE_CC] (CODE_LENG): skip
30785 [! APPLE_CC] (setup_sects): likewise
30786 [! APPLE_CC]: skip filling
30787
30788 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30789
30790 Address in trampolines based on 32-bit registers when compiled
30791 with Apple's CC
30792
30793 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
30794 for addresses
30795 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30796
30797 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30798
30799 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30800
30801 * kern/misc.c [APPLE_CC] (memcpy): new function
30802 [APPLE_CC] (memmove): likewise
30803 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
30804 (memcpy): define alias conditionally on !APPLE_CC
30805 (memset): likewise
30806 (abort): likewise
30807 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30808 APPLE_CC are defined
30809 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30810 (grub_assert_fail): make prototype conditional
30811
30812 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30813
30814 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30815
30816 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30817 grub-macho2img
30818 (CLEANFILES): add grub-macho2img
30819 (grub_macho2img_SOURCES): new variable
30820 * kern/i386/pc/startup.S (bss_start): new variable
30821 (bss_end): likewise
30822 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30823 * util/grub-macho2img.c: new file
30824
30825 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30826
30827 Use objconv when compiling with Apple's CC
30828
30829 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30830 (efiemu64.o): likewise
30831 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30832 when compiling with Apple's CC
30833 (efiemu64_s.o): likewise
30834 * configure.ac: check for objconv when compiling with Apple's CC
30835 * genmk.rb: use objconv for modules when compiled with Apple's CC
30836
30837 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30838
30839 Define segment as well as section when compiling with
30840 Apple's CC
30841
30842 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30843 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30844 (efiemu_convert_pointer): likewise
30845 (efiemu_set_virtual_address_map): likewise
30846 (efiemu_convert_pointer): likewise
30847 (efiemu_getcrc32): likewise
30848 (init_crc32_table): likewise
30849 (reflect): likewise
30850 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
30851 (GRUB_MOD_DEP): likewise
30852
30853 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30854
30855 Allow a compilation without -mcmodel=large
30856
30857 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
30858 when compiled without -mcmodel=large
30859 (filter_memory_map): remove memory post 4 GiB when compiled
30860 without -mcmodel=large
30861 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
30862 TARGET_CFLAGS when -mcmodel=large isn't supported
30863
30864 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30865
30866 Remove nested functions in efiemu core
30867
30868 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
30869
30870 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30871
30872 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
30873
30874 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
30875 temporary storage
30876 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
30877 using Apple's CC
30878 (grub_cpu_is_tsc_supported): likewise
30879 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
30880
30881 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30882
30883 Absolute addressing through constant with Apple's cc
30884
30885 * kern/i386/pc/startup.S: Define necessary constants
30886 and address through it when using ABS with Apple's CC
30887 * boot/i386/pc/diskboot.S: likewise
30888 * boot/i386/pc/boot.S: likewise
30889 * boot/i386/pc/lnxboot.S: likewise
30890 * boot/i386/pc/cdboot.S: likewise
30891 * mmap/i386/pc/mmap_helper.S: likewise
30892 * commands/i386/pc/drivemap_int13h.S: likewise
30893
30894 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30895
30896 Check if compiler is apple cc
30897
30898 * Makefile.in (ASFLAGS): new variable
30899 (TARGET_ASFLAGS): likewise
30900 (TARGET_MODULE_FORMAT): likewise
30901 (TARGET_APPLE_CC): likewise
30902 (OBJCONV): likewise
30903 (TARGET_IMG_CFLAGS): likewise
30904 (TARGET_CPPFLAGS): add includedir
30905 * configure.ac: call grub_apple_cc and grub_apple_target_cc
30906 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
30907 Check for linker script only if compiler isn't Apple's CC
30908 (TARGET_MODULE_FORMAT): set
30909 (TARGET_APPLE_CC): likewise
30910 (TARGET_ASFLAGS): likewise
30911 (ASFLAGS): likewise
30912 Check for objcopy only if compiler isn't Apple's CC
30913 Check for BSS symbol only if compiler isn't Apple's CC
30914 * genmk.rb: adapt nm options if we use Apple's utils
30915 * aclocal.m4 (grub_apple_cc): new test
30916 (grub_apple_target_cc): likewise
30917
30918 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 Simplify sed expressions and improve awk
30921
30922 * Makefile.in (install-local): simplify sed expression
30923 * gencmdlist.sh: likewise
30924 * genmoddep.awk: avoid adding module as a dependency of itself
30925
30926 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30927
30928 Add missing start symbols
30929
30930 * boot/i386/pc/boot.S: add start
30931 * boot/i386/pc/pxeboot.S: likewise
30932
30933 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30934
30935 Fix wrong assumptions with grub-mkimage on EFI
30936
30937 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
30938 (relocate_addresses): consider both r_addend and value at offset
30939 (make_mods_section): zerofill modinfo and header
30940 (convert_elf): write prefix here
30941
30942 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30943
30944 Use .asciz instead of .string
30945
30946 * i386/pc/diskboot.S: use .asciz instead of .string
30947 * i386/pc/boot.S: likewise
30948 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30949 (GRUB_MOD_NAME): likewise
30950
30951 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30952
30953 gfxpayload support
30954
30955 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30956 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30957 (grub_video_setup): remove
30958 (grub_video_set_mode): new prototype
30959 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30960 (vid_mode): remove
30961 (linux_vesafb_res): compile only on PCBIOS
30962 (grub_linux_boot): support gfxpayload
30963 * loader/i386/pc/xnu.c (video_hook): new function
30964 (grub_xnu_set_video): support gfxpayload
30965 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30966 (DEFAULT_VIDEO_HEIGHT): likewise
30967 (DEFAULT_VIDEO_FLAGS): likewise
30968 (DEFAULT_VIDEO_MODE): new definition
30969 (video_hook): new function
30970 (grub_gfxterm_init): use grub_video_set_mode
30971 * util/grub.d/30_os-prober.in: remove explicit modesetting before
30972 loading xnu
30973 * video/video.c (grub_video_setup): removed
30974 (grub_video_set_mode): new function based on grub_gfxterm_init and
30975 grub_video_setup
30976
30977 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30978
30979 Avoid calling biosdisk in drivemap
30980
30981 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30982 (revparse_biosdisk): likewise
30983 (list_mappings): derive name from id directly
30984 (grub_cmd_drivemap): use tryparse_diskstring
30985
30986 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30987
30988 Script fixes
30989
30990 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30991 (grub_lexer_param): add tokenonhold
30992 (grub_script_create_cmdline): remove cmdline. All callers updated
30993 (grub_script_function_create): make functionname
30994 grub_script_arg. All callers updated
30995 (grub_script_execute_argument_to_string): new prototype
30996 * kern/parser.c (state_transitions): reorder
30997 (grub_parser_cmdline_state): fix a bug and make more compact
30998 * script/sh/execute.c (grub_script_execute_argument_to_string):
30999 make global
31000 (grub_script_execute_cmdline): use new format
31001 * script/sh/function.c (grub_script_function_create): make functionname
31002 grub_script_arg. All callers updated
31003 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
31004 (grub_script_yylex): remove
31005 (grub_script_yylex2): renamed to ...
31006 (grub_script_yylex): ...renamed
31007 parse the expressions like a${b}c
31008 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31009 (GRUB_PARSER_TOKEN_VAR): remove
31010 (GRUB_PARSER_TOKEN_NAME): likewise
31011 ("if"): declare as typeless
31012 ("while"): likewise
31013 ("function"): likewise
31014 ("else"): likewise
31015 ("then"): likewise
31016 ("fi"): likewise
31017 (text): remove
31018 (argument): likewise
31019 (script): accept empty scripts and make exit on error
31020 (arguments): use GRUB_PARSER_TOKEN_ARG
31021 (function): likewise
31022 (command): move error handling to script
31023 (menuentry): move grub_script_lexer_ref before
31024 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
31025 argument. All callers updated
31026
31027 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31028
31029 Prevent GRUB from probing floppies during boot.
31030
31031 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31032 * commands/search.c (options): Add --no-floppy.
31033 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31035 --no-floppy when searching for UUIDs.
31036
31037 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31038
31039 Simplify the code duplication in commands/search.c.
31040
31041 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31042 (search_fs): ... this. Update all users.
31043
31044 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
31045
31046 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31047
31048 2009-05-28 Pavel Roskin <proski@gnu.org>
31049
31050 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31051 Remove the original symlink explicitly.
31052
31053 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31054 just one slash. That's how grub_fshelp_find_file() does it.
31055
31056 2009-05-26 Pavel Roskin <proski@gnu.org>
31057
31058 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31059 to `str'.
31060
31061 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31062 possibly unused.
31063
31064 2009-05-25 Christian Franke <franke@computer.org>
31065
31066 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31067 register.
31068 (grub_atapi_identify): Add wait after drive select.
31069 (grub_ata_identify): Do more strict status register check before
31070 calling grub_atapi_identify (). Suppress error message if status
31071 register is 0x00 after command failure. Add status register
31072 check after PIO read to avoid bogus identify due to stuck DRQ.
31073 Thanks to Pavel Roskin for testing.
31074 (grub_device_initialize): Remove unsafe status register check.
31075 Thanks to 'phcoder' for problem report and patch.
31076 Prevent sign extension in debug message.
31077
31078 2009-05-23 Colin D Bennett <colin@gibibit.com>
31079
31080 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31081 definition file, and functions defined in `normal/menu.c' have had
31082 their prototypes moved to `include/grub/menu.h' for consistency.
31083
31084 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31085 from normal.h.
31086 (grub_menu_get_entry): Likewise.
31087 (grub_menu_get_timeout): Likewise.
31088 (grub_menu_set_timeout): Likewise.
31089 (grub_menu_execute_entry): Likewise.
31090 (grub_menu_execute_with_fallback): Likewise.
31091 (grub_menu_entry_run): Likewise.
31092
31093 * include/grub/normal.h: Re-ordered and grouped function
31094 prototypes by file that the function is defined in.
31095 (grub_menu_execute_callback): Removed; moved to menu.h.
31096 (grub_menu_get_entry): Likewise.
31097 (grub_menu_get_timeout): Likewise.
31098 (grub_menu_set_timeout): Likewise.
31099 (grub_menu_execute_entry): Likewise.
31100 (grub_menu_execute_with_fallback): Likewise.
31101 (grub_menu_entry_run): Likewise.
31102 (grub_menu_addentry): Renamed from this ...
31103 (grub_normal_add_menu_entry): ... to this.
31104
31105 * normal/main.c (grub_menu_addentry): Renamed from this ...
31106 (grub_normal_add_menu_entry): ... to this.
31107
31108 * script/sh/execute.c (grub_script_execute_menuentry): Update
31109 reference to renamed grub_menu_addentry function.
31110
31111 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
31112
31113 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31114
31115 2009-05-22 Pavel Roskin <proski@gnu.org>
31116
31117 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31118 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31119 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31120 compiling for the i386 targets, but not for the utilities.
31121
31122 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31123 to grub_uint8_t.
31124 (grub_root_drive): Likewise.
31125 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31126 remove alignment.
31127 (grub_root_drive): Change size to byte.
31128 (grub_start_addr): Remove.
31129 (grub_end_addr): Likewise.
31130 (grub_apm_bios_info): Likewise.
31131
31132 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
31133
31134 * normal/i386: Remove.
31135 * normal/powerpc: Likewise.
31136 * normal/sparc64: Likewise.
31137 * normal/x86_64: Likewise.
31138
31139 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31140
31141 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
31142 * loader/i386/linux_trampoline.S: Fix indentation
31143 * loader/i386/xnu_helper.S: Likewise
31144
31145 2009-05-18 Colin D Bennett <colin@gibibit.com>
31146
31147 Display error messages when parsing a Lua statement fails.
31148 Previously, executing a syntactically invalid statement like
31149 ")foo" or "bar;" would silently fail.
31150
31151 * script/lua/grub_main.c (handle_lua_error): New function.
31152 (grub_lua_parse_line): Improved reporting of Lua parser and
31153 execution errors.
31154
31155 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31156
31157 Remove -Werror which causes build to fail on some systems
31158
31159 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31160 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31161 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
31162
31163 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31164
31165 trampoline for linux on 64-bit platform
31166
31167 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31168 loader/i386/efi/linux_trampoline.S
31169 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
31170 declaration
31171 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31172 here
31173 * loader/i386/linux_trampoline.S: moved here
31174 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31175 trampoline
31176 (jumpvector): removed
31177 (grub_linux_trampoline_start): new declaration
31178 (grub_linux_trampoline_end): likewise
31179 (grub_linux_boot): use trampoline when on 64-bit platform
31180 * loader/i386/linux.c: likewise
31181
31182 2009-05-16 Pavel Roskin <proski@gnu.org>
31183
31184 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31185 const to avoid a warning.
31186 (grub_lua_setenv): Likewise.
31187 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31188 lmsg to fix a warning.
31189
31190 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31191
31192 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
31193 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31194 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31195 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31196 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31197 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31198 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31199 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31200
31201 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31202
31203 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31204
31205 2009-05-16 Bean <bean123ch@gmail.com>
31206
31207 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31208 (lua_mod_SOURCES): New variable.
31209 (lua_mod_CFLAGS): Likewise.
31210 (lua_mod_LDFLAGS): Likewise.
31211
31212 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31213 (setjmp_mod_SOURCES): New variable.
31214 (setjmp_mod_CFLAGS): Likewise.
31215 (setjmp_LDFLAGS): Likewise.
31216
31217 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31218 (setjmp_mod_SOURCES): New variable.
31219 (setjmp_mod_CFLAGS): Likewise.
31220 (setjmp_LDFLAGS): Likewise.
31221
31222 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31223 (setjmp_mod_SOURCES): New variable.
31224 (setjmp_mod_CFLAGS): Likewise.
31225 (setjmp_LDFLAGS): Likewise.
31226
31227 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31228 (setjmp_mod_SOURCES): New variable.
31229 (setjmp_mod_CFLAGS): Likewise.
31230 (setjmp_LDFLAGS): Likewise.
31231
31232 * normal/i386/setjmp.S: Moved from here ...
31233 * lib/i386/setjmp.S: ... Moved here
31234 * normal/x86_64/setjmp.S: Moved from here ...
31235 * lib/x86_64/setjmp.S: ... Moved here
31236 * normal/powerpc/setjmp.S: Moved from here ...
31237 * lib/powerpc/setjmp.S: ... Moved here
31238 * normal/sparc64/setjmp.S: Moved from here ...
31239 * lib/sparc64/setjmp.S: ... Moved here
31240
31241 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31242 returns_twice in mingw.
31243
31244 * script/lua/grub_lib.c: New file.
31245 * script/lua/grub_lib.h: Likewise.
31246 * script/lua/grub_lua.h: Likewise.
31247 * script/lua/grub_main.c: Likewise.
31248 * script/lua/lapi.c: Likewise.
31249 * script/lua/lapi.h: Likewise.
31250 * script/lua/lauxlib.c: Likewise.
31251 * script/lua/lauxlib.h: Likewise.
31252 * script/lua/lbaselib.c: Likewise.
31253 * script/lua/lcode.c: Likewise.
31254 * script/lua/lcode.h: Likewise.
31255 * script/lua/ldblib.c: Likewise.
31256 * script/lua/ldebug.c: Likewise.
31257 * script/lua/ldebug.h: Likewise.
31258 * script/lua/ldo.c: Likewise.
31259 * script/lua/ldo.h: Likewise.
31260 * script/lua/ldump.c: Likewise.
31261 * script/lua/lfunc.c: Likewise.
31262 * script/lua/lfunc.h: Likewise.
31263 * script/lua/lgc.c: Likewise.
31264 * script/lua/lgc.h: Likewise.
31265 * script/lua/linit.c: Likewise.
31266 * script/lua/liolib.c: Likewise.
31267 * script/lua/llex.c: Likewise.
31268 * script/lua/llex.h: Likewise.
31269 * script/lua/llimits.h: Likewise.
31270 * script/lua/lmathlib.c: Likewise.
31271 * script/lua/lmem.c: Likewise.
31272 * script/lua/lmem.h: Likewise.
31273 * script/lua/loadlib.c: Likewise.
31274 * script/lua/lobject.c: Likewise.
31275 * script/lua/lobject.h: Likewise.
31276 * script/lua/lopcodes.c: Likewise.
31277 * script/lua/lopcodes.h: Likewise.
31278 * script/lua/loslib.c: Likewise.
31279 * script/lua/lparser.c: Likewise.
31280 * script/lua/lparser.h: Likewise.
31281 * script/lua/lstate.c: Likewise.
31282 * script/lua/lstate.h: Likewise.
31283 * script/lua/lstring.c: Likewise.
31284 * script/lua/lstring.h: Likewise.
31285 * script/lua/lstrlib.c: Likewise.
31286 * script/lua/ltable.c: Likewise.
31287 * script/lua/ltable.h: Likewise.
31288 * script/lua/ltablib.c: Likewise.
31289 * script/lua/ltm.c: Likewise.
31290 * script/lua/ltm.h: Likewise.
31291 * script/lua/lua.h: Likewise.
31292 * script/lua/luaconf.h: Likewise.
31293 * script/lua/lualib.h: Likewise.
31294 * script/lua/lundump.c: Likewise.
31295 * script/lua/lundump.h: Likewise.
31296 * script/lua/lvm.c: Likewise.
31297 * script/lua/lvm.h: Likewise.
31298 * script/lua/lzio.c: Likewise.
31299 * script/lua/lzio.h: Likewise.
31300
31301 2009-05-16 Bean <bean123ch@gmail.com>
31302
31303 * include/grub/kernel.h (grub_module_header_types): Add type
31304 OBJ_TYPE_CONFIG.
31305
31306 * kern/main.c (grub_load_config): New function.
31307 (grub_main): Call grub_load_config to read boot config.
31308
31309 * grub-mkimage (generate_image): New parameter config_path.
31310 (options): New option --config.
31311 (main): Parse --config option, and pass it to generate_image.
31312
31313 2009-05-14 Christian Franke <franke@computer.org>
31314
31315 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31316 This fixes build on Cygwin.
31317
31318 2009-05-14 Pavel Roskin <proski@gnu.org>
31319
31320 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31321 jump. This saves two bytes, so the typical case of 2 swapped
31322 drives would fit 32 bytes.
31323
31324 2009-05-13 Pavel Roskin <proski@gnu.org>
31325
31326 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31327 grub_uint32_t to avoid a warning.
31328
31329 * loader/i386/linux.c (allocate_pages): When assigning
31330 real_mode_mem, cast through grub_size_t to fix a warning. The
31331 code already makes sure that the value would fit a pointer.
31332 (grub_linux_setup_video): Cast render_target->data to
31333 grub_size_t to fix a warning.
31334
31335 2009-05-13 Javier Martín <lordhabbit@gmail.com>
31336
31337 * commands/i386/pc/drivemap.c: New file - implement drivemap
31338 command.
31339 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31340 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31341
31342 2009-05-13 Pavel Roskin <proski@gnu.org>
31343
31344 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31345 embedding_area_exists.
31346
31347 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31348
31349 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31350 it easier to understand / work with.
31351 Improve warning messages for cases where there's no embedding area,
31352 or when it is too small (or core.img too large).
31353
31354 2009-05-13 Pavel Roskin <proski@gnu.org>
31355
31356 * loader/i386/pc/multiboot2.c: Add necessary includes for
31357 grub_multiboot2_real_boot().
31358
31359 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31360 PX record is always little-endian. We only need the lower 2
31361 bytes of the mode.
31362
31363 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31364 facilitate code reuse.
31365 (grub_cpio_mount): Use "struct head", not a char buffer. This
31366 fixes a warning reported by gcc 4.4.
31367
31368 * kernel/disk.c (grub_disk_read): Use void pointer for the
31369 buffer.
31370 (grub_disk_write): Use const void pointer for the buffer.
31371 Adjust all callers. Remove unnecessary casts.
31372
31373 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31374
31375 * util/i386/pc/grub-install.in: Update copyright year.
31376
31377 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31378
31379 gptsync
31380
31381 * commands/gptsync.c: new file
31382 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31383 (gptsync_mod_SOURCES): new variable
31384 (gptsync_mod_CFLAGS): likewise
31385 (gptsync_mod_LDFLAGS): likewise
31386 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
31387 new definition
31388 (GRUB_PC_PARTITION_TYPE_HFS): likewise
31389 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
31390 * conf/i386-ieee1275.rmk: likewise
31391 * conf/i386-pc.rmk: likewise
31392 * conf/powerpc-ieee1275.rmk: likewise
31393
31394 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31395
31396 Fixed grub-emu
31397
31398 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
31399 (grub_dl_ref): likewise
31400
31401 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
31402
31403 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
31404 split in two functions (one for msdos and one for gpt).
31405
31406 2009-05-08 Pavel Roskin <proski@gnu.org>
31407
31408 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
31409 not modified.
31410
31411 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
31412 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
31413 Initialize them with -1. Add sanity check for bad1. Eliminate
31414 nerr variable.
31415
31416 2009-05-08 David S. Miller <davem@davemloft.net>
31417
31418 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
31419
31420 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
31421
31422 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
31423 existence.
31424
31425 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
31426
31427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31428 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
31429
31430 2009-05-05 David S. Miller <davem@davemloft.net>
31431
31432 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
31433
31434 2009-05-05 Pavel Roskin <proski@gnu.org>
31435
31436 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
31437 of grub_dl_ref() and grub_dl_unref().
31438 * commands/parttool.c: Remove preprocessor conditionals around
31439 grub_dl_ref() and grub_dl_unref().
31440 * fs/affs.c: Likewise.
31441 * fs/afs.c: Likewise.
31442 * fs/cpio.c: Likewise.
31443 * fs/ext2.c: Likewise.
31444 * fs/fat.c: Likewise.
31445 * fs/hfs.c: Likewise.
31446 * fs/hfsplus.c: Likewise.
31447 * fs/iso9660.c: Likewise.
31448 * fs/jfs.c: Likewise.
31449 * fs/minix.c: Likewise.
31450 * fs/ntfs.c: Likewise.
31451 * fs/reiserfs.c: Likewise.
31452 * fs/sfs.c: Likewise.
31453 * fs/udf.c: Likewise.
31454 * fs/ufs.c: Likewise.
31455 * fs/xfs.c: Likewise.
31456 * include/grub/dl.h: Likewise.
31457 * loader/xnu.c: Likewise.
31458
31459 2009-05-04 Pavel Roskin <proski@gnu.org>
31460
31461 * commands/acpi.c: Remove unused variable my_mod.
31462 * partmap/amiga.c: Likewise.
31463 * partmap/apple.c: Likewise.
31464 * partmap/gpt.c: Likewise.
31465 * partmap/pc.c: Likewise.
31466 * partmap/sun.c: Likewise.
31467 * term/gfxterm.c: Likewise.
31468 * term/i386/pc/vesafb.c: Likewise.
31469 * term/i386/pc/vga.c: Likewise.
31470
31471 2009-05-04 David S. Miller <davem@davemloft.net>
31472
31473 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
31474 pointer args to grub_ieee1275_get_property().
31475
31476 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
31477
31478 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
31479 devices, and do not traverse down under controller nodes.
31480
31481 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
31482 (grub_ofdisk_open): Use it to un-escape "," characters.
31483 * kern/disk.c (find_part_sep): New.
31484 (grub_disk_open): Use it to find the first non-escaped ','
31485 character in the disk name.
31486 * util/ieee1275/devicemap.c (escape_of_path): New.
31487 (grub_util_emit_devicemap_entry): Use it.
31488 * util/sparc64/ieee1275/grub-install.in: Update script to
31489 strip partition specifiers properly by not triggering on
31490 '\' escaped ',' characters.
31491
31492 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31493
31494 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31495 to 0x300.
31496 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
31497 resolutions.
31498 (linux_vesafb_modes): Add a lot of additional modes to the list (based
31499 on documentation from Wikipedia).
31500
31501 2009-05-04 Pavel Roskin <proski@gnu.org>
31502
31503 * disk/ata.c: Spelling fixes.
31504 * disk/raid.c: Likewise.
31505 * disk/usbms.c: Likewise.
31506 * disk/dmraid_nvidia.c: Likewise.
31507 * kern/ieee1275/openfw.c: Likewise.
31508 * kern/ieee1275/init.c: Likewise.
31509 * kern/ieee1275/cmain.c: Likewise.
31510 * boot/i386/pc/cdboot.S: Likewise.
31511 * video/readers/png.c: Likewise.
31512 * video/i386/pc/vbe.c: Likewise.
31513 * fs/udf.c: Likewise.
31514 * fs/hfs.c: Likewise.
31515 * fs/reiserfs.c: Likewise.
31516 * efiemu/runtime/efiemu.c: Likewise.
31517 * efiemu/main.c: Likewise.
31518 * efiemu/mm.c: Likewise.
31519 * include/grub/elf.h: Likewise.
31520 * include/grub/xnu.h: Likewise.
31521 * include/grub/usbdesc.h: Likewise.
31522 * include/grub/usb.h: Likewise.
31523 * include/grub/script_sh.h: Likewise.
31524 * include/grub/lib/LzmaEnc.h: Likewise.
31525 * include/grub/efiemu/efiemu.h: Likewise.
31526 * include/grub/command.h: Likewise.
31527 * normal/menu.c: Likewise.
31528 * normal/main.c: Likewise.
31529 * normal/datetime.c: Likewise.
31530 * bus/usb/uhci.c: Likewise.
31531 * mmap/i386/uppermem.c: Likewise.
31532 * mmap/mmap.c: Likewise.
31533 * commands/acpi.c: Likewise.
31534 * commands/test.c: Likewise.
31535 * partmap/apple.c: Likewise.
31536 * font/font.c: Likewise.
31537 * loader/sparc64/ieee1275/linux.c: Likewise.
31538 * loader/macho.c: Likewise.
31539 * loader/i386/bsd_trampoline.S: Likewise.
31540 * loader/i386/bsd.c: Likewise.
31541 * loader/xnu.c: Likewise.
31542 * term/i386/pc/vesafb.c: Likewise.
31543 * term/usb_keyboard.c: Likewise.
31544 * util/resolve.c: Likewise.
31545 * util/getroot.c: Likewise.
31546
31547 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31548
31549 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31550
31551 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31552
31553 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31554 build error.
31555
31556 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31557
31558 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31559 parameter only available on BIOS.
31560
31561 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31562
31563 Removed wrong semicolon in declaration
31564
31565 * grub/misc.h (grub_dprintf): remove semicolon
31566
31567 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31568
31569 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31570 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31571 is done by grub_cmd_linux() now).
31572 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31573 restore video to text mode.
31574 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31575 indicates lack of "vga=" parameter. "vga=0" is mapped to
31576 `GRUB_LINUX_VID_MODE_NORMAL'.
31577
31578 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31579
31580 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31581 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31582 and `normal/script.c'. Add `kern/rescue_reader.c',
31583 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
31584 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31585 `grub_script.tab.c'.
31586
31587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31588 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31589 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31592
31593 * Makefile.in: Remove duplicated 2008 in Copyright line.
31594
31595 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31596
31597 * util/misc.c (grub_util_warn): New function. Emits a warning
31598 unconditionally.
31599 * include/grub/util/misc.h (grub_util_warn): New declaration.
31600
31601 * util/i386/pc/grub-install.in: Understand --force and pass it down
31602 to grub-setup.
31603
31604 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31605 down to setup().
31606 (setup): Improve error messages and add warnings when requested to
31607 install in odd layouts. Refuse to install using blocklists unless
31608 --force was set.
31609
31610 2009-05-04 martin f. krafft <madduck@madduck.net>
31611
31612 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31613
31614 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31615
31616 Updated copyright year
31617
31618 * fs/hfsplus.c: updated copyright year
31619
31620 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31621
31622 HFS+ UUID
31623
31624 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
31625 in the space previously used by unused3
31626 (grub_hfsplus_uuid): new function
31627 (grub_hfsplus_fs): added uuid field
31628
31629 2009-05-03 Pavel Roskin <proski@gnu.org>
31630
31631 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31632 suppress warnings. It's no longer needed.
31633 * disk/host.c: Likewise.
31634 * disk/ata_pthru.c: Likewise.
31635 * disk/loopback.c: Likewise.
31636 * hook/datehook.c: Likewise.
31637 * parttool/pcpart.c: Likewise.
31638 * fs/i386/pc/pxe.c: Likewise.
31639 * fs/ntfscomp.c: Likewise.
31640 * efiemu/main.c: Likewise.
31641 * mmap/mmap.c: Likewise.
31642 * commands/crc.c: Likewise.
31643 * commands/hexdump.c: Likewise.
31644 * commands/hdparm.c: Likewise.
31645 * commands/acpi.c: Likewise.
31646 * commands/echo.c: Likewise.
31647 * commands/minicmd.c: Likewise.
31648 * commands/blocklist.c: Likewise.
31649 * commands/memrw.c: Likewise.
31650 * commands/loadenv.c: Likewise.
31651 * commands/usbtest.c: Likewise.
31652 * commands/lsmmap.c: Likewise.
31653 * commands/boot.c: Likewise.
31654 * commands/parttool.c: Likewise.
31655 * commands/configfile.c: Likewise.
31656 * commands/search.c: Likewise.
31657 * commands/ieee1275/suspend.c: Likewise.
31658 * commands/cat.c: Likewise.
31659 * commands/i386/pc/pxecmd.c: Likewise.
31660 * commands/i386/pc/play.c: Likewise.
31661 * commands/i386/pc/halt.c: Likewise.
31662 * commands/i386/pc/vbeinfo.c: Likewise.
31663 * commands/i386/pc/vbetest.c: Likewise.
31664 * commands/lspci.c: Likewise.
31665 * commands/date.c: Likewise.
31666 * commands/handler.c: Likewise.
31667 * commands/ls.c: Likewise.
31668 * commands/test.c: Likewise.
31669 * commands/cmp.c: Likewise.
31670 * commands/efi/loadbios.c: Likewise.
31671 * commands/efi/fixvideo.c: Likewise.
31672 * commands/halt.c: Likewise.
31673 * commands/help.c: Likewise.
31674 * commands/reboot.c: Likewise.
31675 * hello/hello.c: Likewise.
31676 * script/sh/main.c: Likewise.
31677 * loader/xnu.c: Likewise.
31678 * term/terminfo.c: Likewise.
31679 * term/i386/pc/serial.c: Likewise.
31680 * term/usb_keyboard.c: Likewise.
31681
31682 2009-05-03 David S. Miller <davem@davemloft.net>
31683
31684 * normal/menu.c: Include grub/parser.h
31685
31686 2009-05-03 Pavel Roskin <proski@gnu.org>
31687
31688 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31689 not char*.
31690 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31691 Suggested by Javier Martín <lordhabbit@gmail.com>
31692
31693 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31694 efiemu??.o doesn't exist.
31695 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31696 copying.
31697
31698 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
31699
31700 FreeBSD 64-bit support
31701
31702 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
31703 and loader/i386/bsd_trampoline.S
31704 (bsd_mod_ASFLAGS): new variable
31705 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31706 (FREEBSD_MODTYPE_KERNEL64): likewise
31707 (grub_bsd64_trampoline_start): likewise
31708 (grub_bsd64_trampoline_end): likewise
31709 (grub_bsd64_trampoline_selfjump): likewise
31710 (grub_bsd64_trampoline_gdt): likewise
31711 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31712 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31713 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31714 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
31715 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31716 of "attrib" member
31717 * loader/i386/bsd_pagetable.c: new file
31718 * loader/i386/bsd_trampoline.S: likewise
31719 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31720 (ALIGN_VAR): likewise
31721 (entry_hi): new variable
31722 (kern_end_mdofs): likewise
31723 (is_64bit): likewise
31724 (grub_freebsd_add_meta): use ALIGN_VAR
31725 (grub_e820_mmap): new declaration
31726 (grub_freebsd_add_mmap): new function
31727 (grub_freebsd_add_meta_module): support 64 bit kernels
31728 (grub_freebsd_list_modules): use ALIGN_VAR
31729 (gdt_descriptor): new declaration
31730 (grub_freebsd_boot): support 64 bit kernels
31731 (grub_bsd_elf64_hook): new function
31732 (grub_bsd_load_elf): support elf64
31733
31734 2009-05-03 Bean <bean123ch@gmail.com>
31735
31736 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31737 after we get the result of if statement.
31738
31739 2009-05-03 Bean <bean123ch@gmail.com>
31740
31741 * Makefile.in (enable_efiemu): New variable.
31742
31743 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31744 set.
31745 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31746 path.
31747 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31748 path, add -mno-red-zone option.
31749 (efiemu64_s.o): Likewise.
31750 (efiemu64.o): Use macro $^ for source file.
31751
31752 * configure.ac (--enable-efiemu): New option.
31753
31754 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31755
31756 xnu support
31757
31758 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31759 (pkglib_MODULES): add xnu.mod
31760 (xnu_mod_SOURCES): new variable
31761 (xnu_mod_CFLAGS): likewise
31762 (xnu_mod_LDFLAGS): likewise
31763 (xnu_mod_ASFLAGS): likewise
31764 * conf/i386-pc.rmk: likewise
31765 * conf/x86_64-efi.rmk: likewise
31766 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
31767 new declaration
31768 * include/grub/i386/macho.h: new file
31769 * include/grub/i386/xnu.h: likewise
31770 * include/grub/macho.h: likewise
31771 * include/grub/machoload.h: likewise
31772 * include/grub/x86_64/macho.h: likewise
31773 * include/grub/x86_64/xnu.h: likewise
31774 * include/grub/xnu.h: likewise
31775 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31776 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31777 * loader/i386/efi/xnu.c: new file
31778 * loader/i386/pc/xnu.c: likewise
31779 * loader/i386/xnu.c: likewise
31780 * loader/i386/xnu_helper.S: likewise
31781 * loader/macho.c: likewise
31782 * loader/xnu.c: likewise
31783 * loader/xnu_resume.c: likewise
31784 * util/grub-dumpdevtree: likewise
31785 * include/grub/i386/pit.h: include grub/err.h
31786 (grub_pit_wait): export
31787 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
31788
31789 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31790
31791 Efiemu
31792
31793 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
31794 _linux_efi, linux_efi.
31795 new files in grub-emu
31796 new targets efiemu32.o and efiemu64.o
31797 * loader/linux_normal_efiemu.c: likewise
31798 * loader/i386/efi/linux.c: added preliminary efiemu support
31799 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
31800 files to copy
31801 * include/grub/autoefi.h: new file
31802 * include/grub/i386/efiemu.h: likewise
31803 * include/grub/i386/pc/efiemu.h: likewise
31804 * include/grub/efi/api.h: add LL suffix when necessary
31805 new definitions relating to tables
31806 * include/grub/efiemu/efiemu.h: new file
31807 * include/grub/efiemu/runtime.h: likewise
31808 * efiemu/prepare.c: likewise
31809 * efiemu/loadcore_common.c: likewise
31810 * efiemu/loadcore64.c: likewise
31811 * efiemu/runtime/efiemu.sh: likewise
31812 * efiemu/runtime/efiemu.S: likewise
31813 * efiemu/runtime/efiemu.c: likewise
31814 * efiemu/runtime/config.h: likewise
31815 * efiemu/prepare32.c: likewise
31816 * efiemu/main.c: likewise
31817 * efiemu/modules/pnvram.c: likewise
31818 * efiemu/modules/i386: likewise
31819 * efiemu/modules/i386/pc: likewise
31820 * efiemu/modules/acpi.c: likewise
31821 * efiemu/i386/pc/cfgtables.c: likewise
31822 * efiemu/i386/loadcore64.c: likewise
31823 * efiemu/i386/loadcore32.c: likewise
31824 * efiemu/prepare64.c: likewise
31825 * efiemu/loadcore.c: likewise
31826 * efiemu/symbols.c: likewise
31827 * efiemu/mm.c: likewise
31828 * efiemu/loadcore32.c: likewise
31829
31830 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31831
31832 ACPI spoofing
31833
31834 * commands/acpi.c: new file
31835 * commands/i386/pc/acpi.c: likewise
31836 * commands/efi/acpi.c: likewise
31837 * include/grub/acpi.h: likewise
31838 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31839 (acpi_mod_SOURCES): new variable
31840 (acpi_mod_CFLAGS): likewise
31841 (acpi_mod_LDFLAGS): likewise
31842 * conf/i386-efi.rmk: likewise
31843 * conf/x86_64-efi.rmk: likewise
31844
31845 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31846
31847 Missing part from mmap patch
31848
31849 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
31850 (grub_mmap_unregister)
31851 (grub_mmap_free_and_unregister): use grub_mmap_register
31852
31853 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31854
31855 Mmap services
31856
31857 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
31858 * loader/i386/linux.c (find_mmap_size): likewise
31859 (allocate_pages): likewise
31860 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
31861 (grub_fill_multiboot_mmap): likewise
31862 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
31863 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
31864 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
31865 (OPENBSD_MMAP_RESERVED): likewise
31866 * include/grub/i386/pc/memory.h: include grub/memory.h
31867 (grub_lower_mem): removed
31868 (grub_upper_mem): likewise
31869 (GRUB_MACHINE_MEMORY_ACPI): new definition
31870 (GRUB_MACHINE_MEMORY_NVS): likewise
31871 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
31872 (GRUB_MACHINE_MEMORY_HOLE): likewise
31873 (grub_machine_mmap_register): likewise
31874 (grub_machine_mmap_unregister): likewise
31875 (grub_machine_get_upper): likewise
31876 (grub_machine_get_lower): likewise
31877 (grub_machine_get_post64): likewise
31878 * include/grub/i386/efi/memory.h: new file
31879 * include/grub/x86_64/efi/memory.h: likewise
31880 * include/grub/efi/memory.h: likewise
31881 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
31882 (mmap_mod_SOURCES): new variable
31883 (mmap_mod_LDFLAGS): likewise
31884 (mmap_mod_ASFLAGS): likewise
31885 * conf/i386-coreboot.rmk: likewise
31886 * conf/i386-ieee1275.rmk: likewise
31887 * conf/i386-efi.rmk: likewise
31888 * conf/x86_64-efi.rmk: likewise
31889 * include/grub/types.h (UINT_TO_PTR): new macro
31890 (PTR_TO_UINT32): likewise
31891 (PTR_TO_UINT64): likewise
31892 * include/grub/memory.h: new file
31893 * mmap/i386/pc/mmap.c: likewise
31894 * mmap/i386/pc/mmap_helper.S: likewise
31895 * mmap/i386/uppermem.c: likewise
31896 * mmap/mmap.c: likewise
31897 * mmap/efi/mmap.c: likewise
31898 * kern/i386/coreboot/init.c (grub_machine_init): don't use
31899 grub_upper_mem
31900 * kern/i386/pc/init.c (grub_lower_mem): removed variable
31901 (grub_upper_mem): likewise
31902 (grub_machine_init): don't use grub_upper_mem,
31903 make grub_lower_mem local
31904 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
31905 grub_mmap_iterate and grub_mmap_get_upper
31906 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
31907
31908 2009-05-02 Bean <bean123ch@gmail.com>
31909
31910 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
31911 script/sh/parser.y.
31912 (pkglib_MODULES): Add normal.mod and sh.mod.
31913 (normal_SOURCES): New variable.
31914 (normal_mod_CFLAGS): Likewise.
31915 (normal_mod_LDFLAGS): Likewise.
31916 (sh_mod_SOURCES): Likewise.
31917 (sh_mod_CFLAGS): Likewise.
31918 (sh_mod_LDFLAGS): Likewise.
31919
31920 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31921 script/sh/lexer.c_DEPENDENCIES.
31922 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31923 kern/rescue_reader.c and kern/rescue_parser.c.
31924 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31925 (grub_emu_SOURCES): Change source files.
31926 (pkglib_MODULES): Remove normal.mod.
31927 (normal_SOURCES): Removed.
31928 (normal_mod_CFLAGS): Likewise.
31929 (normal_mod_LDFLAGS): Likewise.
31930 * conf/i386-coreboot.rmk: Likewise.
31931 * conf/i386-efi.rmk: Likewise.
31932 * conf/i386-ieee1276.rmk: Likewise.
31933 * conf/powerpc-ieee1275.rmk: Likewise.
31934 * conf/sparc64-ieee1275.rmk: Likewise.
31935 * conf/x86_64-efi.rmk: Likewise.
31936
31937 * include/grub/command.h (grub_command_execute): New inline function.
31938
31939 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31940
31941 * include/grub/normal.h: Remove <grub/setjmp.h>.
31942 (grub_fs_module_list): Moved to normal/autofs.c.
31943 (grub_exit_env): Removed.
31944 (grub_command_execute): Likewise.
31945 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31946 parameter script.
31947 (read_command_list): New function declaration.
31948 (read_fs_list): Likewise.
31949
31950 * include/parser.h: Include <grub/reader.h>.
31951 (grub_parser_split_cmdline): Change type of getline parameter.
31952 (grub_parser): New structure.
31953 (grub_parser_class): New variable.
31954 (grub_parser_execute): New function declaration.
31955 (grub_register_rescue_parser): Likewise.
31956 (grub_parser_register): New inline function.
31957 (grub_parser_unregister): Likewise.
31958 (grub_parser_get_current): Likewise.
31959 (grub_parser_set_current): Likewise.
31960
31961 * include/grub/reader.h: New file.
31962 * kern/reader.c: Likewise.
31963 * kern/rescue_parser.c: Likewise.
31964 * kern/rescue_reader.c: Likewise.
31965 * normal/autofs.c: Likewise.
31966 * normal/dyncmd.c: Likewise.
31967
31968 * include/grub/rescue.h: Removed.
31969 * normal/command.h: Likewise.
31970
31971 * include/grub/script.h: Moved to ...
31972 * include/grub/script_sh.h: ... Moved here.
31973 * normal/execute.c: Moved to ...
31974 * script/sh/execute.c: ... Moved here.
31975 * normal/function.c: Moved to ...
31976 * script/sh/function.c: ... Moved here.
31977 * normal/lexer.c: Moved to ...
31978 * script/sh/lexer.c: ... Moved here.
31979 * normal/parser.y: Moved to ...
31980 * script/sh/parser.y: ... Moved here.
31981 * normal/script.c: Moved to ...
31982 * script/sh/script.c: ... Moved here.
31983
31984 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31985 <grub/reader.h>.
31986 (grub_exit_env): Removed.
31987 (fs_module_list): Moved to normal/autofs.c.
31988 (grub_file_getline): Don't handle comment here.
31989 (free_menu): Skip removed field entry->commands.
31990 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31991 script parameter.
31992 (read_config_file): Removed nested parameter, change getline function.
31993 (grub_enter_normal_mode): Removed.
31994 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31995 (read_command_list): Likewise.
31996 (autoload_fs_module): Moved to normal/autofs.c.
31997 (read_fs_list): Likewise.
31998 (reader_nested): New variable.
31999 (grub_normal_execute): Run parser.sh to switch to sh parser.
32000 (grub_cmd_rescue): Removed.
32001 (cmd_normal): Removed.
32002 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32003 rescue command.
32004 (grub_cmdline_run): New function.
32005 (grub_normal_reader_init): Likewise.
32006 (grub_normal_read_line): Likewise.
32007 (grub_env_write_pager): Likewise.
32008 (cmdline): New variable.
32009 (grub_normal_reader): Likewise.
32010 (GRUB_MOD_INIT): Register normal reader and set as current, register
32011 pager hook, register normal command with grub_register_command_prio,
32012 so that it won't show up in command.lst.
32013 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32014 grub_fs_autoload_hook.
32015
32016 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32017 (grub_menu_execute_entry): Replace grub_script_execute with
32018 grub_parser_execute, change parameter to grub_command_execute.
32019
32020 * normal/menu_text.c: Remove <grub/script.h>.
32021
32022 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32023 and <grub/parser.h>.
32024 (run): Change editor_getline to use new parser interface. Change
32025 parameter to grub_command_execute.
32026
32027 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32028 <grub/reader.h> and <grub/parser.h>.
32029 (grub_load_normal_mode): Execute normal command.
32030 (grub_main): Call grub_register_core_commands,
32031 grub_register_rescue_parser and grub_register_rescue_reader, use
32032 grub_reader_loop to enter input loop.
32033
32034 * kern/parser.c (grub_parser_split_cmdline): Change type of
32035 getline parameter.
32036 (grub_parser_class): New variable.
32037 (grub_parser_execute): New function.
32038
32039 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32040 * loader/multiboot2.c: Likewise.
32041 * loader/sparc64/ieee1275/linux.c: Likewise.
32042
32043 * util/grub-emu.c (read_command_list): New dummy function.
32044
32045 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32046
32047 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32048 count to 16 for CCISS and IDA.
32049
32050 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32051
32052 * normal/menu_text.c (grub_wait_after_message): Print a newline
32053 after waiting for user input.
32054
32055 * loader/i386/linux.c: Include `<grub/normal.h>'.
32056 (grub_cmd_linux): Improve the error message about `ask' mode, by
32057 waiting for user input so it's not missed (we can do this, since
32058 user requested interaction).
32059
32060 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32061
32062 Added missing lst to grub-mkrescue
32063
32064 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32065 and ${input_dir}/parttool.lst
32066
32067 2009-04-30 David S. Miller <davem@davemloft.net>
32068
32069 * util/hostdisk.c (device_is_wholedisk): New function.
32070 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32071 zero only if device_is_wholedisk() returns true.
32072
32073 * util/hostdisk.c (convert_system_partition_to_system_disk):
32074 Handle virtual disk devices named /dev/vdiskX as found on sparc
32075 and powerpc.
32076
32077 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32078 lettered partition specifier is found, convert to numbered.
32079
32080 2009-04-29 David S. Miller <davem@davemloft.net>
32081
32082 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32083 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32084
32085 * normal/command.c: Add missing newline at end of file.
32086
32087 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32088 warnings.
32089 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32090 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32091 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32092 ihandles have a 32-bit type but need to be stored in a "void *".
32093
32094 2009-04-28 Pavel Roskin <proski@gnu.org>
32095
32096 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32097 not disk. Adjust all dependencies.
32098 (grub_fs_uuid_close): Use grub_device_close(), not
32099 grub_disk_close().
32100
32101 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32102 parent's partition, don't copy it by reference, as it gets freed
32103 on close.
32104
32105 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32106
32107 Preboot hooks support
32108
32109 * commands/boot.c (struct grub_preboot_t): new declaration
32110 (preboots_head): new variable
32111 (preboots_tail): likewise
32112 (grub_loader_register_preboot_hook): new function
32113 (grub_loader_unregister_preboot_hook): likewise
32114 (grub_loader_set): launch preboot hooks
32115 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32116 (grub_loader_register_preboot_hook): new declaration
32117 (grub_loader_unregister_preboot_hook): likewise
32118
32119 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32120
32121 Warning fix
32122
32123 * disk/scsi.c (grub_scsi_open): added missing cast when
32124 calling grub_dprintf
32125
32126 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32127
32128 Bug and warning fixes
32129
32130 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
32131 declaration
32132 * commands/test.c (test_parse): fixed bug with file tests and corrected
32133 declaration of find_file
32134
32135 2009-04-26 Pavel Roskin <proski@gnu.org>
32136
32137 * Makefile.in: Don't install empty manual pages if help2man is
32138 missing. Use help2man option for output, not shell redirection.
32139
32140 2009-04-26 David S. Miller <davem@davemloft.net>
32141
32142 * util/grub-mkdevicemap.c (make_device_map): Add missing
32143 NESTED_FUNC_ATTR to process_device().
32144
32145 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32146
32147 Test command
32148
32149 * commands/test.c: rewritten to use bash-like test
32150
32151 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32152
32153 Parttool autoloading and improvements
32154
32155 * Makefile.in (pkglib_DATA): add parttool.lst
32156 (parttool.lst): new target
32157 * genmk.rb: generate parttool-*
32158 (CLEANFILES): add #{parttool}
32159 (PARTTOOLFILES): new variable
32160 * genparttoollist.sh: new file
32161 * parttool/pcpart.c (grub_pcpart_boot): more feedback
32162 (grub_pcpart_type): likewise
32163 * commands/parttool.c (helpmsg): new variable
32164 (grub_cmd_parttool): output help if not enough arguments are supplied
32165 autoload modules
32166 (GRUB_MOD_INIT(parttool)): use helpmsg
32167
32168 2009-04-24 David S. Miller <davem@davemloft.net>
32169
32170 Avoiding opening same device multiple times in device iterator.
32171
32172 * kern/device.c: (grub_device_iterate): Define struct part_ent,
32173 and use it to build a list of partitions in iterate_disk() and
32174 iterate_partition().
32175
32176 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32177 on disk->data.
32178
32179 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32180 grub_devalias_iterate() result instead of unconditional 0.
32181 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32182 Also, capture hook return value, either directly or via
32183 grub_children_iterate(), and propagate to caller.
32184 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32185 grub_children_iterate): Return value is now 'int' instead of
32186 'grub_err_t'.
32187 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32188 like a proper iterator, stopping when hooks return non-zero.
32189 (grub_devalias_iterate): Likewise.
32190
32191 2009-04-23 David S. Miller <davem@davemloft.net>
32192
32193 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32194
32195 2009-04-22 David S. Miller <davem@davemloft.net>
32196
32197 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32198 is larger than address_cells, use that value for address_cells too.
32199
32200 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32201 IEEE1275_MAX_PATH_LEN): Define.
32202 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32203 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32204 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32205 'devtype'. Explicitly NULL terminate devalias expansion.
32206
32207 * util/sparc64/ieee1275/misc.c: New file.
32208 * util/sparc64/ieee1275/grub-setup.c: New file.
32209 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32210 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32211 * util/sparc64/ieee1275/grub-install.in: New file.
32212 * util/ieee1275/ofpath.c: New file.
32213 * util/ieee1275/devicemap.c: New file.
32214 * util/devicemap.c: New file.
32215 * util/deviceiter.c: New file.
32216 * kern/sparc64/ieee1275/init.c: New file.
32217 * include/grub/util/ofpath.h: New file.
32218 * include/grub/util/deviceiter.h: New file.
32219 * util/grub-mkdevicemap.c: Include deviceiter.h.
32220 Implement using grub_util_emit_devicemap_entry and
32221 grub_util_iterate_devices.
32222 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32223 util/devicemap.c into grub-mkdevicemap
32224 * conf/i386-efi.rmk: Likewise.
32225 * conf/i386-ieee1275.rmk: Likewise.
32226 * conf/i386-pc.rmk: Likewise.
32227 * conf/powerpc-ieee1275.rmk: Likewise.
32228 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32229 images and installation utilities. Build kernel as image
32230 instead of as elf binary. Use common rules as much as possible.
32231
32232 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
32233
32234 Correct GPT definition
32235
32236 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
32237 of "attrib" member
32238
32239 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
32240
32241 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32242
32243 2009-04-19 David S. Miller <davem@davemloft.net>
32244
32245 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32246 (grub_rescue_cmd_linux): Rename to...
32247 (grub_cmd_linux): and fix prototype.
32248 (grub_rescue_cmd_initrd): Rename to...
32249 (grub_cmd_initrd): and fix prototype.
32250 (cmd_linux, cmd_initrd): New.
32251 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32252 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32253
32254 2009-04-17 Pavel Roskin <proski@gnu.org>
32255
32256 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32257 format.
32258 (grub_ohci_transfer): Likewise.
32259
32260 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32261
32262 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32263 return without a value. Fix inconsistent indentation.
32264
32265 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32266 match struct grub_fs.
32267
32268 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32269 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32270 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32271 * commands/lspci.c (grub_lspci_iter): Likewise.
32272
32273 2009-04-16 Bean <bean123ch@gmail.com>
32274
32275 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32276 value.
32277
32278 2009-04-15 Pavel Roskin <proski@gnu.org>
32279
32280 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32281 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32282 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32283 definitions.
32284
32285 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32286
32287 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
32288 that no multiple data or metadata areas are supported and `Unknown
32289 metadata header'.
32290
32291 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32292
32293 Move loader out of the kernel
32294
32295 * kern/loader.c: moved to ...
32296 * commands/boot.c: ... moved here
32297 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32298 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32299 * include/grub/kernel.h (grub_machine_fini): export
32300 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32301 (grub_loader_set): likewise
32302 (grub_loader_unset): likewise
32303 (grub_loader_boot): likewise
32304 * conf/common.rmk: new module boot.mod
32305 (pkglib_MODULES): add boot.mod
32306 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32307 (grub_emu_SOURCES): likewise
32308 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32309 (grub_emu_SOURCES): likewise
32310 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32311 (grub_emu_SOURCES): likewise
32312 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32313 (grub_emu_SOURCES): likewise
32314 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32315 (grub_emu_SOURCES): likewise
32316 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32317 (grub_emu_SOURCES): likewise
32318 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
32319 (grub_emu_SOURCES): likewise
32320
32321 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32322
32323 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
32324
32325 * kern/misc.c (grub_itoa): Removed function
32326 (grub_ltoa): likewise
32327 (grub_vsprintf): use grub_lltoa
32328
32329 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32330
32331 Restore grub-emu
32332
32333 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32334 * conf/i386-coreboot.rmk: likewise
32335 * conf/i386-ieee1275.rmk: likewise
32336 * conf/powerpc-ieee1275.rmk: likewise
32337
32338 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32339
32340 * INSTALL: Add that `./autogen.sh' needs to be run before
32341 `./configure.'.
32342
32343 2009-04-14 Bean <bean123ch@gmail.com>
32344
32345 * Makefile.in (pkglib_DATA): Add handler.lst.
32346 (handler.lst): New rule.
32347
32348 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32349 * conf/i386-coreboot.rmk: Likewise.
32350 * conf/i386-ieee1275.rmk: Likewise.
32351 * conf/i386-efi.rmk: Likewise.
32352 * conf/x86_64-efi.rmk: Likewise.
32353 * conf/powerpc-ieee1275.rmk: Likewise.
32354 * conf/sparc64-ieee1275.rmk: Likewise.
32355
32356 * genhandlerlist.sh: New file.
32357
32358 * genmk.rb: Add rules to generate handler.lst.
32359
32360 * include/grub/normal.h (grub_file_getline): New function definition.
32361 (read_handler_list): Likewise.
32362 (free_handler_list): Likewise.
32363
32364 * include/grub/term.h (grub_term_register_input): Add name parameter
32365 for auto generation of handler.lst.
32366 (grub_term_register_output): Likewise.
32367
32368 * normal/handler.c: New file.
32369
32370 * normal/main.c (get_line): Renamed to grub_file_getline.
32371 (read_config_file): Use the newly renamed grub_file_getline.
32372 (read_command_list): Likewise.
32373 (read_fs_list): Likewise.
32374 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32375 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32376
32377 * term/efi/console.c (grub_console_init): Add name parameter for auto
32378 generation of handler.lst.
32379 * term/gfxterm.c: Likewise.
32380 * term/i386/pc/at_keyboard.c: Likewise.
32381 * term/i386/pc/console.c: Likewise.
32382 * term/i386/pc/serial.c: Likewise.
32383 * term/i386/pc/vesafb.c: Likewise.
32384 * term/i386/pc/vga.c: Likewise.
32385 * term/i386/pc/vga_text.c: Likewise.
32386 * term/ieee1275/ofconsole.c: Likewise.
32387 * term/usb_keyboard.c: Likewise.
32388
32389 2009-04-14 Bean <bean123ch@gmail.com>
32390
32391 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
32392 properly with null character.
32393
32394 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32395
32396 * configure: Remove.
32397 * config.h.in: Likewise.
32398 * stamp-h.in: Likewise.
32399 * DISTLIST: Likewise.
32400 * conf/common.mk: Likewise.
32401 * conf/i386-coreboot.mk: Likewise.
32402 * conf/i386-efi.mk: Likewise.
32403 * conf/i386-ieee1275.mk: Likewise.
32404 * conf/i386.mk: Likewise.
32405 * conf/i386-pc.mk: Likewise.
32406 * conf/powerpc-ieee1275.mk: Likewise.
32407 * conf/sparc64-ieee1275.mk: Likewise.
32408 * conf/x86_64-efi.mk: Likewise.
32409
32410 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
32411 develop on GRUB.
32412
32413 2009-04-14 John Stanley <jpsinthemix@verizon.net>
32414 David S. Miller <davem@davemloft.net>
32415
32416 * util/hostdisk.c (make_device_name): Fix buffer length
32417 calculations.
32418
32419 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32420
32421 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
32422 <sys/param.h> and <sys/sysctl.h>.
32423 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
32424 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
32425 opening the device and reset them afterwards.
32426
32427 2009-04-13 Pavel Roskin <proski@gnu.org>
32428
32429 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
32430 Reported by John Stanley <jpsinthemix@verizon.net>
32431
32432 2009-04-13 Robert Millan <rmh@aybabtu.com>
32433
32434 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
32435 that name for menuentries when appropriate.
32436
32437 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32438
32439 * util/grub.d/10_freebsd.in: Add a missing `fi'.
32440
32441 2009-04-13 Robert Millan <rmh@aybabtu.com>
32442
32443 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
32444 to Linux, simply abort telling the user it's no longer supported.
32445
32446 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32447
32448 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
32449 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
32450 `freebsd_loadenv' only when devices.hints exist.
32451
32452 2009-04-13 Pavel Roskin <proski@gnu.org>
32453
32454 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
32455
32456 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32457
32458 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
32459 partition number.
32460 (grub_drive): Likewise.
32461
32462 2009-04-13 David S. Miller <davem@davemloft.net>
32463
32464 * kern/sparc64/ieee1275/ieee1275.c: New file.
32465 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
32466 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
32467 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
32468 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
32469 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
32470 grub_ieee1275_alloc_physmem): Declare new exported functions.
32471
32472 * include/grub/sparc64/ieee1275/loader.h: New file.
32473 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32474 * include/grub/sparc64/kernel.h: Likewise.
32475 * loader/sparc64/ieee1275/linux.c: Likewise.
32476
32477 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
32478 (grub_fstest_SOURCES): Likewise.
32479
32480 * util/hostdisk.c (make_device_name): Do not make any assumptions
32481 about the length of drive names.
32482
32483 * kern/dl.c (grub_dl_load_file): Close file immediately when
32484 we are done using it.
32485
32486 2009-04-12 David S. Miller <davem@davemloft.net>
32487
32488 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32489 values. Noticed by Pavel Roskin.
32490
32491 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32492 target compiler.
32493
32494 * genmk.rb: Add more flexible image type specification, also
32495 pass --strip-unneeded to objcopy.
32496 * conf/i386-pc.rmk: Use *_FORMAT.
32497 * conf/i386-pc.mk: Rebuilt.
32498
32499 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
32500 (OFDISK_HASH_SZ): Define.
32501 (ofdisk_hash): New hash table.
32502 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
32503 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
32504 instead of device phandle which is not unique.
32505
32506 * kern/sparc64/ieee1275/init.c: Delete, replace with...
32507 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
32508 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
32509 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
32510 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
32511 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
32512 GRUB_KERNEL_MACHINE_DATA_END): Define.
32513 (grub_kernel_image_size, grub_total_module_size): Declare.
32514
32515 2009-04-12 Pavel Roskin <proski@gnu.org>
32516
32517 * configure.ac: Change the logic when we check for target tools.
32518 Do it when the target is specified and it's different from the
32519 specified value of the host.
32520
32521 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
32522
32523 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
32524 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
32525 GNU/kFreeBSD. Check if a device is a character device. Use
32526 DIOCGMEDIASIZE to get the size.
32527 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
32528 support for GNU/kFreeBSD.
32529 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
32530 is a character device instead of a block device. Add support for
32531 FreeBSD device names.
32532
32533 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
32534 is a character device instead of a block device.
32535
32536 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
32537 is a character device instead of a block device.
32538
32539 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
32540
32541 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
32542 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
32543 FreeBSD. Check if a device is a character device. Use
32544 DIOCGMEDIASIZE to get the size.
32545 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
32546 support for FreeBSD.
32547 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32548 is a character device instead of a block device. Add support for
32549 FreeBSD device names.
32550
32551 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32552 a character device instead of a block device.
32553 (grub_util_check_char_device): New function.
32554
32555 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32556 a character device instead of a block device.
32557
32558 * include/grub/util/getroot.h (grub_util_check_char_device): New
32559 prototype.
32560
32561 2009-04-11 David S. Miller <davem@davemloft.net>
32562
32563 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32564 static libgcc.
32565 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32566 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32567 function, if present.
32568 (__bswapdi2): Likewise.
32569
32570 * include/grub/sparc64/ieee1275/boot.h: New file.
32571 * boot/sparc64/ieee1275/boot.S: Likewise.
32572 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32573
32574 * kern/misc.c (grub_ltoa): New function.
32575 (grub_vsprintf): Use it to format 'long' integers.
32576
32577 2009-04-10 David S. Miller <davem@davemloft.net>
32578
32579 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32580 slots are of type grub_ieee1275_cell_t.
32581 (grub_nand_read): Likewise.
32582 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32583 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32584 macros are used to compare values in arg/ret block of the call.
32585 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32586 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32587 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32588 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32589 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32590 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32591 grub_ieee1275_close, grub_ieee1275_set_property,
32592 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32593 grub_ieee1275_cell_t.
32594 * kern/ieee1275/openfw.c (grub_map): Likewise.
32595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32596 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32597
32598 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32599 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32600 (grub_devalias_iterate): Likewise.
32601
32602 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
32603
32604 UFS improvements
32605
32606 * fs/ufs.c (INODE_NBLOCKS): new definition
32607 (struct grub_ufs_dirent): added fields for non-BSD dirents
32608 (grub_ufs_get_file_block): fixed double indirect handling
32609 (grub_ufs_lookup_symlink): use more robust way to determine whether
32610 symlink is inline
32611 (grub_ufs_find_file): support for non-BSD dirents
32612 (grub_ufs_dir): support for non-BSD dirents
32613
32614 2009-04-10 Bean <bean123ch@gnail.com>
32615
32616 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32617 attribute, otherwise the size would be wrong for i386 platform.
32618
32619 * include/grub/pci.h (grub_pci_read_word): New inline function.
32620 (grub_pci_read_byte): Likewise.
32621 (grub_pci_write): Likewise.
32622 (grub_pci_write_word): Likewise.
32623 (grub_pci_write_byte): Likewise.
32624
32625 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32626
32627 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32628 (find_framebuf): Scan pci to locate the frame buffer address.
32629
32630 * commands/efi/fixvideo.c: New file.
32631
32632 * commands/efi/loadbios.c: Likewise.
32633
32634 * commands/memrw.c: Likewise.
32635
32636 * util/grub-dumpbios.in: Likewise.
32637
32638 * conf/common.rmk (grub-dumpbios): New utility.
32639 (pkglib_MODULES): New module memrw.mod.
32640 (memrw_mod_SOURCE): New macro.
32641 (memrw_mod_CFLAGS): Likewise.
32642 (memrw_mod_LDFLAGS): Likewise.
32643
32644 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
32645 fixvideo.mod.
32646 (loadbios_mod_SOURCE): New macro.
32647 (loadbios_mod_CFLAGS): Likewise.
32648 (loadbios_mod_LDFLAGS): Likewise.
32649 (fixvideo_mod_SOURCE): Likewise.
32650 (fixvideo_mod_CFLAGS): Likewise.
32651 (fixvideo_mod_LDFLAGS): Likewise.
32652
32653 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
32654 fixvideo.mod.
32655 (loadbios_mod_SOURCE): New macro.
32656 (loadbios_mod_CFLAGS): Likewise.
32657 (loadbios_mod_LDFLAGS): Likewise.
32658 (fixvideo_mod_SOURCE): Likewise.
32659 (fixvideo_mod_CFLAGS): Likewise.
32660 (fixvideo_mod_LDFLAGS): Likewise.
32661
32662 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
32663
32664 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32665
32666 2009-04-07 David S. Miller <davem@davemloft.net>
32667
32668 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32669 support for R_SPARC_OLO10 relocations. Fix compile warning for
32670 R_SPARC_WDISP30 case.
32671 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
32672
32673 2009-04-06 Pavel Roskin <proski@gnu.org>
32674
32675 * include/grub/misc.h (ARRAY_SIZE): New macro.
32676 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32677 New macro.
32678 * loader/i386/linux.c (allocate_pages): Use free_pages().
32679 (grub_linux_unload): Don't use free_pages().
32680 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32681 wrong index. Treat all other modes as text modes.
32682 (grub_cmd_linux): Initialize vid_mode unconditionally to
32683 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32684
32685 * commands/help.c (print_command_help): Use cmd->prio, not
32686 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32687
32688 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
32689
32690 Parttool
32691
32692 * parttool/pcpart.c: new file
32693 * commands/parttool.c: likewise
32694 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32695 (parttool_mod_SOURCES): new variable
32696 (parttool_mod_CFLAGS): likewise
32697 (parttool_mod_LDFLAGS): likewise
32698 (pcpart_mod_SOURCES): likewise
32699 (pcpart_mod_CFLAGS): likewise
32700 (pcpart_mod_LDFLAGS): likewise
32701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
32702 and parttool/pcpart.c
32703 * conf/i386-efi.rmk: likewise
32704 * conf/i386-ieee1275.rmk: likewise
32705 * conf/i386-pc.rmk: likewise
32706 * conf/powerpc-ieee1275.rmk: likewise
32707 * conf/sparc64-ieee1275.rmk: likewise
32708 * conf/x86_64-ieee1275.rmk: likewise
32709
32710 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32711
32712 Support for mtime and further expandability of dir command
32713
32714 * include/grub/lib/datetime.h: moved to ...
32715 * include/grub/datetime.h: ... moved here and added
32716 declaration of grub_unixtime2datetime. All users updated
32717 * include/grub/fs.h: new syntax for dir and mtime functions in
32718 struct grub_fs
32719 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32720 and GRUB_FSHELP_FLAGS_MASK
32721 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32722 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32723 (grub_ext2_mtime): new function
32724 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32725 (grub_hfsplus_mtime): new function
32726 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32727 (GRUB_UFS_ATTR_FILE): likewise
32728 (GRUB_UFS_ATTR_LNK): likewise
32729 (struct grub_ufs_sblock): new fields mtime
32730 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32731 all users updated
32732 (grub_ufs_dir): mtime support
32733 (grub_ufs_mtime): new function
32734 * fs/affs.c (grub_affs_dir): use new dir syntax
32735 * fs/afs.c (grub_afs_dir): likewise
32736 * fs/cpio.c (grub_cpio_dir): likewise
32737 * fs/fat.c (grub_fat_find_dir): likewise
32738 * fs/hfs.c (grub_hfs_dir): likewise
32739 * fs/iso9660.c (grub_iso9660_dir): likewise
32740 * fs/jfs.c (grub_jfs_dir): likewise
32741 * fs/minix.c (grub_minix_dir): likewise
32742 * fs/ntfs.c (grub_ntfs_dir): likewise
32743 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32744 * fs/sfs.c (grub_sfs_dir): likewise
32745 * fs/xfs.c (grub_xfs_dir): likewise
32746 * util/hostfs.c (grub_hostfs_dir): likewise
32747 * lib/datetime.c: moved to ...
32748 * normal/datetime.c: ... moved here
32749 (grub_unixtime2datetime): new function
32750 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
32751 * normal/completion.c (iterate_dir): use new dir syntax
32752 * normal/misc.c (grub_normal_print_device_info): tell the
32753 last modification time of a volume
32754 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
32755 * conf/common.rmk: added lib/datetime.c to ls.mod
32756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
32757 (normal_mod_SOURCES): likewise
32758 (datetime_mod_SOURCES): Removed lib/datetime.c
32759 * conf/i386-efi.rmk: likewise
32760 * conf/i386-ieee1275.rmk: likewise
32761 * conf/i386-pc.rmk: likewise
32762 * conf/powerpc-ieee1275.rmk: likewise
32763 * conf/sparc64-ieee1275.rmk: likewise
32764 * conf/x86_64-efi.rmk: likewise
32765
32766 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32767
32768 Trim trailing spaces in FAT label and support mtools-like labels
32769
32770 * fs/fat.c (grub_fat_iterate_dir): New function based
32771 on grub_fat_find_dir
32772 (grub_fat_find_dir): use grub_fat_iterate_dir
32773 (grub_fat_label): likewise
32774
32775 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32776
32777 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
32778 and command.h
32779 remove extraneous kernel_elf_HEADERS
32780
32781 2009-04-04 Bean <bean123ch@gnail.com>
32782
32783 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32784
32785 * util/misc.c: Likewise.
32786
32787 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32788
32789 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32790 instead of grub_printf.
32791
32792 2009-04-03 Robert Millan <rmh@aybabtu.com>
32793
32794 * loader/i386/linux.c (grub_linux_setup_video): Fill
32795 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32796 values from `mode info' structure instead of hardcoded
32797 values.
32798
32799 2009-04-01 Pavel Roskin <proski@gnu.org>
32800
32801 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32802 unused now.
32803 * genmk.rb: Likewise.
32804 * configure.ac: Likewise.
32805
32806 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32807
32808 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32809 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32810
32811 2009-04-01 David S. Miller <davem@davemloft.net>
32812
32813 * normal/sparc64/setjmp.S: Fix setjmp implementation.
32814 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
32815 (grub_setjmp): Mark with 'returns_twice' attribute.
32816 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32817 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32818 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32819
32820 2009-04-01 Robert Millan <rmh@aybabtu.com>
32821
32822 Reapply fix from 2008-07-28 which was accidentally reverted; also
32823 perform the same fix to a similar check in same function.
32824
32825 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32826 with the same number are found, just use issue a warning with
32827 grub_dprintf(), as this error has been reported to be non-fatal.
32828
32829 2009-03-31 Pavel Roskin <proski@gnu.org>
32830
32831 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32832 for cross-compilation.
32833
32834 2009-03-30 Robert Millan <rmh@aybabtu.com>
32835
32836 Fix i386-ieee1275 build.
32837
32838 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32839 Remove declaration.
32840
32841 2009-03-30 Pavel Roskin <proski@gnu.org>
32842
32843 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32844 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
32845 zero-terminated, rely only on the strlen value. Fix comparison
32846 of strings differing in length.
32847
32848 2009-03-30 Robert Millan <rmh@aybabtu.com>
32849
32850 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
32851 checking for abi version. Improve error messages on BIOS to notify
32852 user about `linux16' command.
32853
32854 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
32855
32856 Leak fixes
32857
32858 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
32859 in case of collision
32860 * disk/scsi.c (grub_scsi_open): free scsi in case of error
32861
32862 2009-03-29 Robert Millan <rmh@aybabtu.com>
32863
32864 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
32865 set `vid_mode' accordingly.
32866 (grub_linux_boot): Process `vid_mode' and set video mode.
32867
32868 2009-03-29 Robert Millan <rmh@aybabtu.com>
32869
32870 * util/grub.d/10_linux.in (linux_entry): New function.
32871 Factorize generation of Linux boot entries.
32872
32873 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
32874
32875 Make the format of Environment Block plain text. The boot loader
32876 part is not tested well yet.
32877
32878 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
32879 (buffer): Removed.
32880 (envblk): Likewise.
32881 (usage): Remove "info" and "clear". Add "unset". Update the
32882 description of "set", as this does not delete variables any
32883 longer.
32884 (create_envblk_file): Complete rewrite.
32885 (open_envblk_file): Likewise.
32886 (cmd_info): Removed.
32887 (cmd_list): Likewise.
32888 (cmd_set): Likewise.
32889 (cmd_clear): Likewise.
32890 (list_variables): New function.
32891 (write_envblk): Likewise.
32892 (set_variables): Likewise.
32893 (unset_variables): Likewise.
32894 (main): Complete rewrite.
32895
32896 * commands/loadenv.c (buffer): Removed.
32897 (envblk): Likewise.
32898 (open_envblk_file): New function.
32899 (read_envblk_file): Complete rewrite.
32900 (grub_cmd_load_env): Likewise.
32901 (grub_cmd_list_env): Likewise.
32902 (struct blocklist): New struct.
32903 (free_blocklists): New function.
32904 (check_blocklists): Likewise.
32905 (write_blocklists): Likewise.
32906 (grub_cmd_save_env): Complete rewrite.
32907
32908 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
32909 a plain text signature.
32910 (GRUB_ENVBLK_MAXLEN): Removed.
32911 (struct grub_envblk): Complete rewrite.
32912 (grub_envblk_find): Removed.
32913 (grub_envblk_insert): Likewise.
32914 (grub_envblk_open): New prototype.
32915 (grub_envblk_set): Likewise.
32916 (grub_envblk_delete): Put const to VALUE.
32917 (grub_envblk_iterate): Put const to NAME and VALUE.
32918 (grub_envblk_close): New prototype.
32919 (grub_envblk_buffer): New inline function.
32920 (grub_envblk_size): Likewise.
32921
32922 * lib/envblk.c: Include grub/mm.h.
32923 (grub_env_find): Removed.
32924 (grub_envblk_open): New function.
32925 (grub_envblk_close): Likewise.
32926 (escaped_value_len): Likewise.
32927 (find_next_line): Likewise.
32928 (grub_envblk_insert): Removed.
32929 (grub_envblk_set): New function.
32930 (grub_envblk_delete): Complete rewrite.
32931 (grub_envblk_iterate): Likewise.
32932
32933 2009-03-28 Robert Millan <rmh@aybabtu.com>
32934
32935 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32936 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32937 variables. Use 16-bit loader.
32938 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32939 loader.
32940 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32941 (grub_linux16_boot): ... this. Update all users.
32942 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32943 (grub_linux_boot): ... this. Update all users.
32944
32945 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32946 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32947 commands to `linux16' and `initrd16'.
32948 (GRUB_MOD_FINI(linux)): Rename to ...
32949 (GRUB_MOD_FINI(linux16)): ... this.
32950
32951 2009-03-24 Pavel Roskin <proski@gnu.org>
32952
32953 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32954 not just for compilation.
32955
32956 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32957
32958 Move multiboot helper out of kernel
32959
32960 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32961 `loader/i386/multiboot_helper.S'.
32962 * conf/i386-coreboot.rmk: Likewise
32963 * conf/i386-ieee1275.rmk: Likewise
32964
32965 * kern/i386/loader.S: Move multiboot helpers from here...
32966 * loader/i386/multiboot_helper.S: ...moved here
32967 * include/grub/i386/loader.h: Move declarations of multiboot
32968 helpers from here...
32969 * include/grub/i386/multiboot.h: ...moved here
32970 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32971
32972 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32973
32974 * kern/env.c (grub_env_context_open): Added an argument to specify
32975 whether a new context inherits exported variables from current
32976 one. This is useful when making a sandbox to interpret a config
32977 file.
32978 All callers updated.
32979
32980 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32981
32982 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32983
32984 * kern/env.c (grub_env_context_close): Fix memory leaks.
32985
32986 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32987
32988 * normal/main.c (grub_normal_execute): Added an argument
32989 BATCH to specify if an interactive interface should be provided
32990 after reading a config file.
32991 All callers updated.
32992 (read_command_list): Prevent being executed twice.
32993 (read_fs_list): Likewise.
32994
32995 * include/grub/normal.h (grub_normal_execute): Updated the
32996 prototype.
32997
32998 2009-03-22 Pavel Roskin <proski@gno.org>
32999
33000 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33001 _start.
33002 * kern/i386/pc/startup.S: Likewise.
33003 * kern/i386/efi/startup.S: Likewise.
33004 * kern/i386/ieee1275/startup.S: Likewise.
33005 * kern/i386/coreboot/startup.S: Likewise.
33006 * kern/x86_64/efi/startup.S: Likewise.
33007
33008 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33009 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33010 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33011
33012 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33013
33014 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33015
33016 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33017 limit detection.
33018 Use vaddr of correct segment for entry_point.
33019
33020 2009-03-21 Bean <bean123ch@gmail.com>
33021
33022 * commands/blocklist.c: Add include file <grub/command.h>, remove
33023 <grub/normal.h> and <grub/arg.h>.
33024 (grub_cmd_blocklist): Use the new command interface.
33025 (GRUB_MOD_INIT): Likewise.
33026 (GRUB_MOD_FINI): Likewise.
33027 * commands/boot.c: Likewise.
33028 * commands/cat.c: Likewise.
33029 * commands/cmp.c: Likewise.
33030 * commands/configfile.c: Likewise.
33031 * commands/crc.c: Likewise.
33032 * commands/echo.c: Likewise.
33033 * commands/halt.c: Likewise.
33034 * commands/handler.c: Likewise.
33035 * commands/hdparm.c: Likewise.
33036 * commands/help.c: Likewise.
33037 * commands/hexdump.c: Likewise.
33038 * commands/loadenv.c: Likewise.
33039 * commands/ls.c: Likewise.
33040 * commands/lsmmap.c: Likewise.
33041 * commands/lspci.c: Likewise.
33042 * commands/loadenv.c: Likewise.
33043 * commands/read.c: Likewise.
33044 * commands/reboot.c: Likewise.
33045 * commands/search.c: Likewise.
33046 * commands/sleep.c: Likewise.
33047 * commands/test.c: Likewise.
33048 * commands/usbtest.c: Likewise.
33049 * commands/videotest.c: Likewise.
33050 * commands/i386/cpuid.c: Likewise.
33051 * commands/i386/pc/halt.c: Likewise.
33052 * commands/i386/pc/play.c: Likewise.
33053 * commands/i386/pc/pxecmd.c: Likewise.
33054 * commands/i386/pc/vbeinfo.c: Likewise.
33055 * commands/i386/pc/vbetest.c: Likewise.
33056 * commands/ieee1275/suspend.c: Likewise.
33057 * disk/loopback.c: Likewise.
33058 * font/font_cmd.c: Likewise.
33059 * hello/hello.c: Likewise.
33060 * loader/efi/appleloader.c: Likewise.
33061 * loader/efi/chainloader.c: Likewise.
33062 * loader/i386/bsd.c: Likewise.
33063 * loader/i386/efi/linux.c: Likewise.
33064 * loader/i386/ieee1275/linux.c: Likewise.
33065 * loader/i386/linux.c: Likewise.
33066 * loader/i386/pc/chainloader.c: Likewise.
33067 * loader/i386/pc/linux.c: Likewise.
33068 * loader/powerpc/ieee1275/linux.c: Likewise.
33069 * loader/multiboot_loader.c: Likewise.
33070 * term/gfxterm.c: Likewise.
33071 * term/i386/pc/serial.c: Likewise.
33072 * term/terminfo.c: Likewise.
33073
33074 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33075 * term/i386/pc/vga.c: Likewise.
33076 * video/readers/jpeg.c: Likewise.
33077 * video/readers/png.c: Likewise.
33078 * video/readers/tga.c: Likewise.
33079
33080 * util/grub-fstest (cmd_loopback): Removed.
33081 (cmd_blocklist): Likewise.
33082 (cmd_ls): Likewise.
33083 (grub_register_command): Likewise.
33084 (grub_unregister_command): Likewise.
33085 (execute_command): Use grub_command_find to locate command and execute
33086 it.
33087
33088 * include/grub/efi/chainloader.h: Removed.
33089 * loader/efi/chainloader_normal.c: Likewise.
33090 * loader/i386/bsd_normal.c: Likewise.
33091 * loader/i386/pc/chainloader_normal.c: Likewise.
33092 * loader/i386/pc/multiboot_normal.c: Likewise.
33093 * loader/linux_normal.c: Likewise.
33094 * loader/multiboot_loader_normal.c: Likewise.
33095 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33096
33097 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33098 and grub_register_command_p1.
33099
33100 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33101 kern/command.c, lib/arg.c and commands/extcmd.c.
33102 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33103 (minicmd_mod_SOURCES): New variable.
33104 (minicmd_mod_CFLAGS): Likewise.
33105 (minicmd_mod_LDFLAGS): Likewise.
33106 (extcmd_mod_SOURCES): Likewise.
33107 (extcmd_mod_CFLAGS): Likewise.
33108 (extcmd_mod_LDFLAGS): Likewise.
33109 (boot_mod_SOURCES): Removed.
33110 (boot_mod_CFLAGS): Likewise.
33111 (boot_mod_LDFLAGS): Likewise.
33112
33113 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33114 kern/corecmd.c.
33115 (kernel_img_HEADERS): Add command.h.
33116 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33117 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33118 and lib/arg.c.
33119 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33120 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33121 remove the corresponding normal mode command.
33122 (normal_mod_SOURCES): Remove normal/arg.c.
33123 * conf/i386-coreboot.rmk: Likewise.
33124 * conf/i386-efi.rmk: Likewise.
33125 * conf/i386-ieee1275.rmk: Likewise.
33126 * conf/powerpc-ieee1275.rmk: Likewise.
33127 * conf/x86_64-efi.rmk: Likewise.
33128
33129 * include/grub/arg.h: Move from here ...
33130 * include/grub/lib/arg.h: ... to here.
33131
33132 * normal/arg.c: Move from here ...
33133 * lib/arg.c: ... to here.
33134
33135 * commands/extcmd.c: New file.
33136 * commands/minicmd.c: Likewise.
33137 * include/grub/command.h: Likewise.
33138 * include/grub/extcmd.h: Likewise.
33139 * kern/command.c: Likewise.
33140 * kern/corecmd.c: Likewise.
33141
33142 * kern/list.c (grub_list_iterate): Return int instead of void.
33143 (grub_list_insert): New function.
33144 (grub_prio_list_insert): Likewise.
33145
33146 * kern/rescue.c (grub_rescue_command): Removed.
33147 (grub_rescue_command_list): Likewise.
33148 (grub_rescue_register_command): Likewise.
33149 (grub_rescue_unregister_command): Likewise.
33150 (grub_rescue_cmd_boot): Move to minicmd.c
33151 (grub_rescue_cmd_help): Likewise.
33152 (grub_rescue_cmd_info): Likewise.
33153 (grub_rescue_cmd_boot): Likewise.
33154 (grub_rescue_cmd_testload): Likewise.
33155 (grub_rescue_cmd_dump): Likewise.
33156 (grub_rescue_cmd_rmmod): Likewise.
33157 (grub_rescue_cmd_lsmod): Likewise.
33158 (grub_rescue_cmd_exit): Likewise.
33159 (grub_rescue_print_devices): Moved to corecmd.c.
33160 (grub_rescue_print_files): Likewise.
33161 (grub_rescue_cmd_ls): Likewise.
33162 (grub_rescue_cmd_insmod): Likewise.
33163 (grub_rescue_cmd_set): Likewise.
33164 (grub_rescue_cmd_unset): Likewise.
33165 (attempt_normal_mode): Use grub_command_find to get normal module.
33166 (grub_enter_rescue_mode): Use grub_register_core_commands to register
33167 commands, remove grub_rescue_register_command calls.
33168
33169 * normal/command.c (grub_register_command): Removed.
33170 (grub_unregister_command): Likewise.
33171 (grub_command_find): Likewise.
33172 (grub_iterate_commands): Likewise.
33173 (rescue_command): Likewise.
33174 (export_command): Moved to corecmd.c.
33175 (set_command): Removed.
33176 (unset_command): Likewise.
33177 (insmod_command): Likewise.
33178 (rmmod_command): Likewise.
33179 (lsmod_command): Likewise.
33180 (grub_command_init): Likewise.
33181
33182 * normal/completion.c (iterate_command): Use cmd->prio to check for
33183 active command.
33184 (complete_arguments): Use grub_extcmd_t structure to find options.
33185 (grub_normal_do_completion): Change function grub_iterate_commands to
33186 grub_command_iterate.
33187
33188 * normal/execute.c (grub_script_execute_cmd): No need to parse
33189 argument here.
33190
33191 * normal/main.c (grub_dyncmd_dispatcher): New function.
33192 (read_command_list): Register unload commands as dyncmd.
33193 (grub_cmd_normal): Use new command interface, register rescue,
33194 unregister normal at entry, register normal, unregister rescue at exit.
33195
33196 * include/grub/list.h (grub_list_test_t): New type.
33197 (grub_list_iterate): Return int instead of void.
33198 (grub_list_insert): New function.
33199 (GRUB_AS_NAMED_LIST_P): New macro.
33200 (GRUB_AS_PRIO_LIST): Likewise.
33201 (GRUB_AS_PRIO_LIST_P): Likewise.
33202 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33203 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33204 (grub_prio_list): New structure.
33205 (grub_prio_list_insert): New function.
33206 (grub_prio_list_remove): New inline function.
33207
33208 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33209 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33210 (GRUB_COMMAND_FLAG_MENU): Likewise.
33211 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33212 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33213 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33214 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33215 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33216 (grub_command): Likewise.
33217 (grub_register_command): Likewise.
33218 (grub_command_find): Likewise.
33219 (grub_iterate_commands): Likewise.
33220 (grub_command_init): Likewise.
33221 (grub_arg_parse): Likewise.
33222 (grub_arg_show_help): Likewise.
33223
33224 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33225 (grub_rescue_unregister_command): Likewise.
33226
33227 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33228 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33229 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33230
33231 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33232 grub_rescue_cmd_initrd.
33233 * include/grub/i386/loader.h: Likewise.
33234 * include/grub/x86_64/loader.h: Likewise.
33235
33236 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33237
33238 2009-03-21 Bean <bean123ch@gmail.com>
33239
33240 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33241 instead of stat in mingw environment.
33242
33243 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33244
33245 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33246
33247 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33248 AC_CONFIG_LINKS.
33249
33250 2009-03-21 Bean <bean123ch@gmail.com>
33251
33252 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33253 out of range error.
33254
33255 2009-03-18 Michel Dänzer <michel@daenzer.net>
33256
33257 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33258 checking inode flags for EXT4_EXTENTS_FLAG.
33259
33260 2009-03-18 Robert Millan <rmh@aybabtu.com>
33261
33262 * loader/i386/linux.c: Include `<grub/video.h>' and
33263 `<grub/i386/pc/vbe.h>'..
33264 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33265 (grub_linux32_boot): Attempt to configure video settings with
33266 grub_linux_setup_video().
33267 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33268 to avoid grub_console_fini() which would step out of graphical mode
33269 unconditionally.
33270
33271 2009-03-14 Robert Millan <rmh@aybabtu.com>
33272
33273 Fix build on powerpc.
33274 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33275
33276 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33277
33278 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33279 background image command.
33280
33281 2009-03-12 Colin D Bennett <colin@gibibit.com>
33282
33283 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33284 (grub_gfxterm_putchar): Extract pairs of identical calls to
33285 draw_cursor out of conditional blocks.
33286
33287 2009-03-11 Pavel Roskin <proski@gnu.org>
33288
33289 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33290 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33291
33292 2009-03-11 Robert Millan <rmh@aybabtu.com>
33293
33294 * loader/i386/multiboot_elfxx.c
33295 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33296
33297 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
33298
33299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33300 `kern/handler.c'.
33301
33302 2009-03-11 Robert Millan <rmh@aybabtu.com>
33303
33304 * loader/i386/multiboot.c (code_size): New variable.
33305 (grub_multiboot): Define offsets by adding to `code_size' rather
33306 than subtracting from `grub_multiboot_payload_size'. Provide
33307 4-byte alignment to MBI and others by increasing
33308 `boot_loader_name_length' appropriately.
33309
33310 * loader/i386/multiboot_elfxx.c
33311 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33312
33313 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
33314
33315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33316 `fs/ext2.c'.
33317
33318 2009-03-08 Robert Millan <rmh@aybabtu.com>
33319
33320 Make loader/i386/linux.c usable on i386-pc again.
33321
33322 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33323 memory to heap.
33324 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33325 `#error' stanza.
33326
33327 2009-03-07 Bean <bean123ch@gmail.com>
33328
33329 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33330 allocation.
33331
33332 2009-03-06 Robert Millan <rmh@aybabtu.com>
33333
33334 Fix display issue on terminals with screen size other than 80x25
33335 (e.g. gfxterm with resolution higher than 640x480).
33336
33337 * normal/main.c (grub_normal_init_page): Display title text in a
33338 position relative to the center of the terminal instead of relying
33339 on a hardcoded offset.
33340
33341 2009-03-04 Robert Millan <rmh@aybabtu.com>
33342
33343 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33344 installed.
33345
33346 * Makefile.in (host_kernel): New variable.
33347 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33348 scripts instead of just the windows one.
33349 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33350
33351 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33352
33353 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33354 `kern/handler.c'.
33355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33356 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33357 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33359 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33361
33362 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33363
33364 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33365 or if there's no space for the disk label and print the partition number on a
33366 invalid magic.
33367
33368 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33369
33370 * util/misc.c: Include <time.h>.
33371 (grub_millisleep): New function.
33372
33373 2009-03-04 Bean <bean123ch@gmail.com>
33374
33375 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33376 another option -mno-red-zone.
33377
33378 * commands/handler.c: Change module description.
33379
33380 * kern/handler.c: Add missing space at the end of description line.
33381
33382 * kern/list.c: Likewise.
33383
33384 2009-03-03 Robert Millan <rmh@aybabtu.com>
33385
33386 Move more components to the relocation area, and fix mbi pointer
33387 handling to use the destination rather than the origin (thanks to
33388 Vladimir Serbinenko for spotting).
33389
33390 * loader/i386/multiboot.c (mbi_dest): New variable.
33391 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
33392 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
33393 relocation area.
33394
33395 2009-03-01 Bean <bean123ch@gmail.com>
33396
33397 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
33398 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
33399 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
33400 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
33401
33402 * loader/i386/efi/linux.c (acpi_guid): New variable.
33403 (acpi_guid): Likewise.
33404 (EBDA_SEG_ADDR): New constant.
33405 (LOW_MEM_ADDR): Likewise.
33406 (FAKE_EBDA_SEG): Likewise.
33407 (fake_bios_data): New function.
33408 (grub_linux_boot): Call fake_bios_data.
33409
33410 2009-03-01 Bean <bean123ch@gmail.com>
33411
33412 * commands/terminal.c: Removed.
33413
33414 * commands/handler.c: New file.
33415
33416 * include/grub/list.h: Likewise.
33417
33418 * include/grub/handler.h: Likewise.
33419
33420 * kern/list.c: Likewise.
33421
33422 * kern/handler.c: Likewise.
33423
33424 * kern/term.h: Include header file <grub/handler.h>.
33425 (grub_term_input): Move next field to the beginning.
33426 (grub_term_output): Likewise.
33427 (grub_term_input_class): New variable.
33428 (grub_term_output_class): Likewise.
33429 (grub_term_register_input): Changed to inline function.
33430 (grub_term_register_output): Likewise.
33431 (grub_term_unregister_input): Likewise.
33432 (grub_term_unregister_output): Likewise.
33433 (grub_term_set_current_input): Likewise.
33434 (grub_term_set_current_output): Likewise.
33435 (grub_term_get_current_input): Likewise.
33436 (grub_term_get_current_output): Likewise.
33437 (grub_term_iterate_input): Removed.
33438 (grub_term_iterate_output): Likewise.
33439
33440 * kern/term.c (grub_term_list_input): Removed.
33441 (grub_term_list_output): Likewise.
33442 (grub_term_input_class): New variable.
33443 (grub_term_output_class): Likewise.
33444 (grub_cur_term_input): Change variable as macro.
33445 (grub_cur_term_output): Likewise.
33446 (grub_term_register_input): Removed.
33447 (grub_term_register_output): Likewise.
33448 (grub_term_unregister_input): Likewise.
33449 (grub_term_unregister_output): Likewise.
33450 (grub_term_set_current_input): Likewise.
33451 (grub_term_set_current_output): Likewise.
33452 (grub_term_iterate_input): Likewise.
33453 (grub_term_iterate_output): Likewise.
33454 (grub_term_get_current_input): Likewise.
33455 (grub_term_get_current_output): Likewise.
33456
33457 * util/grub-editenv.c: Include header file <grub/handler.h>.
33458 (grub_term_get_current_input): Removed.
33459 (grub_term_get_current_output): Likewise.
33460 (grub_term_input_class): New variable.
33461 (grub_term_output_class): Likewise.
33462
33463 * util/grub-fstest.c (grub_term_get_current_input): Removed.
33464 (grub_term_get_current_output): Likewise.
33465 (grub_term_input_class): New variable.
33466 (grub_term_output_class): Likewise.
33467
33468 * util/grub-probe.c (grub_term_get_current_input): Removed.
33469 (grub_term_get_current_output): Likewise.
33470 (grub_term_input_class): New variable.
33471 (grub_term_output_class): Likewise.
33472
33473 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
33474 (grub_term_get_current_output): Likewise.
33475 (grub_term_input_class): New variable.
33476 (grub_term_output_class): Likewise.
33477
33478 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
33479 (terminal_mod_SOURCES): Likewise.
33480 (terminal_mod_CFLAGS): Likewise.
33481 (terminal_mod_LDFLAGS): Likewise.
33482
33483 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
33484 handler.c.
33485 (kernel_img_SOURCES): Add list.c and handler.c.
33486 (kernel_img_HEADERS): Add list.h and handler.h.
33487
33488 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33489 handler.c.
33490 (kernel_mod_SOURCES): Add list.c and handler.c.
33491 (kernel_mod_HEADERS): Add list.h and handler.h.
33492
33493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33494 handler.c.
33495 (kernel_elf_SOURCES): Add list.c and handler.c.
33496 (kernel_elf_HEADERS): Add list.h and handler.h.
33497
33498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33499 handler.c.
33500 (kernel_elf_SOURCES): Add list.c and handler.c.
33501 (kernel_elf_HEADERS): Add list.h and handler.h.
33502
33503 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33504 handler.c.
33505 (kernel_mod_SOURCES): Add list.c and handler.c.
33506 (kernel_mod_HEADERS): Add list.h and handler.h.
33507
33508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33509 handler.c.
33510 (kernel_elf_SOURCES): Add list.c and handler.c.
33511 (kernel_elf_HEADERS): Add list.h and handler.h.
33512
33513 2009-02-27 Robert Millan <rmh@aybabtu.com>
33514
33515 Factorize elf32 / elf64 code in Multiboot loader. This will
33516 prevent it from getting out of sync again.
33517
33518 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
33519 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
33520 grub_multiboot_load_elf64): Move from here ...
33521 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
33522 grub_multiboot_load_elf): ... to here (new file).
33523
33524 2009-02-27 Robert Millan <rmh@aybabtu.com>
33525
33526 * util/grub.d/10_linux.in: Rename "single-user mode" to
33527 "recovery mode".
33528
33529 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33530
33531 Don't leak in SCSI code.
33532 * disk/scsi.c (grub_scsi_close): free `scsi'.
33533
33534 2009-02-27 Robert Millan <rmh@aybabtu.com>
33535
33536 * loader/i386/pc/multiboot.c: Move from here ...
33537 * loader/i386/multiboot.c: ... to here. Update all users.
33538
33539 2009-02-27 Robert Millan <rmh@aybabtu.com>
33540
33541 Patch from Alexandre Bique <bique.alexandre@gmail.com>
33542 * util/i386/pc/grub-setup.c (setup): Fix directory path.
33543
33544 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
33545
33546 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33547 b-tree.
33548
33549 2009-02-27 Robert Millan <rmh@aybabtu.com>
33550
33551 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33552 `0x' qualifier as 0 when base is specified as parameter).
33553
33554 2009-02-24 Bean <bean123ch@gmail.com>
33555
33556 * configure.ac: Check for -mcmodel=large in x86_64 target.
33557
33558 * include/grub/efi/api.h (efi_call_10): New macro.
33559 (efi_wrap_10): New function.
33560
33561 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33562 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33563 (GRUB_PE32_REL_BASED_LOW): Likewise.
33564 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33565 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33566 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33567 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33568 (GRUB_PE32_REL_BASED_REL): Likewise.
33569 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33570 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33571 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33572
33573 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33574 issue.
33575
33576 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33577 (efi_wrap_10): New function.
33578
33579 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33580
33581 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33582 MB/MBP model (NV chipset).
33583 (devdata_devs): Add devpath_5 to the list.
33584
33585 * load/i386/efi/linux.c (video_base): Remove variable.
33586 (RGB_MASK): New macro.
33587 (RGB_MAGIC): Likewise.
33588 (LINE_MIN): Likewise.
33589 (LINE_MAX): Likewise.
33590 (FBTEST_STEP): Likewise.
33591 (FBTEST_COUNT): Likewise.
33592 (fb_list): New variable.
33593 (grub_find_video_card): Remove function.
33594 (find_framebuf): New function.
33595 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33596 line length.
33597
33598 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33599 problem for x86_64.
33600
33601 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33602
33603 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33604
33605 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33606 coding tool name.
33607
33608 2009-02-22 Robert Millan <rmh@aybabtu.com>
33609
33610 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33611 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33612 in our relocation, instead of using it directly from heap. Also
33613 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33614
33615 2009-02-21 Robert Millan <rmh@aybabtu.com>
33616
33617 Implement USB keyboard support (based on patch by Marco Gerards)
33618
33619 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33620 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33621 (usb_keyboard_mod_LDFLAGS): New variables.
33622
33623 * term/usb_keyboard.c: New file.
33624
33625 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33626
33627 Corrected wrong declaration
33628
33629 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33630
33631 2009-02-14 Christian Franke <franke@computer.org>
33632
33633 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33634 (grub_lspci_iter): Print class code and programming interface byte.
33635
33636 2009-02-14 Christian Franke <franke@computer.org>
33637
33638 * gendistlist.sh: Ignore `.svn' directories.
33639
33640 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
33641
33642 * fs/fat.c: Add 2009 to Copyright line.
33643
33644 2009-02-14 Christian Franke <franke@computer.org>
33645
33646 * commands/hdparm.c: New file. Provides `hdparm' command
33647 which sends ATA commands via grub_disk_ata_pass_through ().
33648
33649 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33650
33651 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33652 and <grub/cpu/io.h> to include/grub/ata.h.
33653 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33654 (GRUB_CDROM_SECTOR_SIZE): Remove.
33655 (GRUB_ATA_*): Move to include/grub/ata.h.
33656 (GRUB_ATAPI_*): Likewise.
33657 (enum grub_ata_commands): Likewise.
33658 (enum grub_ata_timeout_milliseconds): Likewise.
33659 (struct grub_ata_device): Likewise.
33660 (grub_ata_regset): Likewise.
33661 (grub_ata_regget): Likewise.
33662 (grub_ata_regset2): Likewise.
33663 (grub_ata_regget2): Likewise.
33664 (grub_ata_check_ready): Likewise.
33665 (grub_ata_wait_not_busy): Remove static, exported in
33666 include/grub/ata.h.
33667 (grub_ata_wait_drq): Likewise.
33668 (grub_ata_pio_read): Likewise.
33669
33670 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33671 function for hdparm.mod.
33672
33673 * include/grub/ata.h: New file, contains declarations from
33674 disk/ata.c.
33675 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33676
33677 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33678 (grub_disk_ata_pass_through): New exported variable.
33679
33680 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33681
33682 2009-02-13 Colin D Bennett <colin@gibibit.com>
33683
33684 Support multiple fallback entries, and provide an API to support
33685 executing default+fallback menu entries. Renamed the `terminal' menu
33686 viewer to `text'.
33687
33688 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33689 variable declaration.
33690 (grub_menu_execute_callback): New structure declaration.
33691 (grub_menu_execute_callback_t): New typedef.
33692 (grub_menu_execute_with_fallback): New function declaration.
33693 (grub_menu_get_entry): Likewise.
33694 (grub_menu_get_timeout): Likewise.
33695 (grub_menu_set_timeout): Likewise.
33696
33697 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33698
33699 * normal/menu.c (grub_wait_after_message): Moved to
33700 `normal/menu_text.c'.
33701 (draw_border): Likewise.
33702 (print_message): Likewise.
33703 (print_entry): Likewise.
33704 (print_entries): Likewise.
33705 (grub_menu_init_page): Likewise.
33706 (get_entry_number): Likewise.
33707 (print_timeout): Likewise.
33708 (run_menu): Likewise.
33709 (grub_menu_execute_entry): Likewise.
33710 (show_text_menu): Likewise.
33711 (get_and_remove_first_entry_number): New function.
33712 (grub_menu_execute_with_fallback): Likewise.
33713 (get_entry): Renamed to ...
33714 (grub_menu_get_entry): .. this and made it global.
33715 (get_timeout): Renamed to ...
33716 (grub_menu_get_timeout): ... this and made it global.
33717 (set_timeout): Renamed to ...
33718 (grub_menu_set_timeout): ... this and made it global.
33719 (grub_normal_terminal_menu_viewer): Renamed to ...
33720 (grub_normal_text_menu_viewer): ... this.
33721
33722 * normal/menu_text.c: New file. Extracted text-menu-specific code
33723 from normal/menu.c.
33724
33725 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33726 (normal_mod_SOURCES): Likewise.
33727
33728 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33729 (normal_mod_SOURCES): Likewise.
33730
33731 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33732 (normal_mod_SOURCES): Likewise.
33733
33734 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33735 (normal_mod_SOURCES): Likewise.
33736
33737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33738 (normal_mod_SOURCES): Likewise.
33739
33740 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33741 (normal_mod_SOURCES): Likewise.
33742
33743 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33744 (normal_mod_SOURCES): Likewise.
33745
33746 2009-02-11 Robert Millan <rmh@aybabtu.com>
33747
33748 * util/grub.d/00_header.in: Update old reference to `font' command.
33749
33750 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
33751
33752 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33753
33754 Based on patch from Javier Martín.
33755
33756 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33757
33758 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
33759 to avoid false positives with FAT.
33760 (grub_fstest_SOURCES): Likewise.
33761 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33762 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33763 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33764 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33766 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33767
33768 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33769
33770 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
33771 bpb.version_specific.fat12_or_fat16.fstype and
33772 bpb.version_specific.fat32.fstype.
33773
33774 2009-02-08 Robert Millan <rmh@aybabtu.com>
33775
33776 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
33777
33778 2009-02-08 Robert Millan <rmh@aybabtu.com>
33779
33780 * Makefile.in (host_os, host_cpu): New variables.
33781 (target_os): Remove. Update all users.
33782
33783 2009-02-08 Marco Gerards <marco@gnu.org>
33784
33785 * Makefile.in (enable_grub_emu_usb): New variable.
33786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33787 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33788 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33789 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33790 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33791 `usbtest.mod' and `usbms.mod'.
33792 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33793 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33794 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33795 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33796 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33797 variables.
33798
33799 * disk/usbms.c: New file.
33800
33801 * include/grub/usb.h: Likewise.
33802
33803 * include/grub/usbtrans.h: Likewise.
33804
33805 * include/grub/usbdesc.h: Likewise.
33806
33807 * bus/usb/usbtrans.c: Likewise.
33808
33809 * bus/usb/ohci.c: Likewise.
33810
33811 * bus/usb/uhci.c: Likewise.
33812
33813 * bus/usb/usbhub.c: Likewise.
33814
33815 * bus/usb/usb.c: Likewise.
33816
33817 * commands/usbtest.c: Likewise.
33818
33819 * util/usb.c: Likewise.
33820
33821 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33822
33823 * configure.ac: Test for libusb presence.
33824
33825 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33826
33827 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33828
33829 * kern/mm.c: Add more comments.
33830
33831 2009-02-08 Robert Millan <rmh@aybabtu.com>
33832
33833 Patch from Javier Martín.
33834 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33835 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33836
33837 2009-02-08 Robert Millan <rmh@aybabtu.com>
33838
33839 * fs/cpio.c: Split tar functionality to ...
33840 * fs/tar.c: ... here (new file). Update all users.
33841
33842 2009-02-07 Robert Millan <rmh@aybabtu.com>
33843
33844 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
33845 backward-incompatible features.
33846
33847 Based on patch from Javier Martín, with some adjustments.
33848
33849 2009-02-07 Michael Scherer <misc@mandriva.org>
33850
33851 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
33852
33853 2009-02-07 Robert Millan <rmh@aybabtu.com>
33854
33855 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
33856 position of `disk/lvm.c' to ensure grub_init_all() always picks it
33857 after the RAID stuff.
33858
33859 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
33860
33861 Fixes problem when running vbetest command as reported by
33862 Vladimir Serbinenko <phcoder@gmail.com>.
33863
33864 * (grub_vbe_set_video_mode): Fixed problem with text modes.
33865
33866 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
33867
33868 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
33869 /dev/md/NpN style mdraid devices.
33870
33871 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33872
33873 * util/unifont2pff.rb: Remove.
33874
33875 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33876
33877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
33878 `#'.
33879
33880 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
33881
33882 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
33883 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33884 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33888 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33889
33890 2009-02-02 Christian Franke <franke@computer.org>
33891
33892 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
33893
33894 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
33895
33896 * INSTALL: Note that we now require at least autoconf 2.59 and
33897 that LZO is optional.
33898
33899 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33900
33901 Base on patch on bug #24154 created by Tomas Tintera
33902 <trosos@seznam.cz>.
33903
33904 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
33905
33906 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
33907
33908 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
33909 <bero@arklinux.org>.
33910
33911 * normal/parser.y (script_init): Add missing semicolon.
33912
33913 2009-01-31 Colin D Bennett <colin@gibibit.com>
33914
33915 * normal/main.c: Add include to grub/menu_viewer.h.
33916 (free_menu_entry_classes): Added.
33917 (grub_normal_menu_addentry): Added class property handling.
33918 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33919 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33920
33921 * normal/menu_viewer.c: New file.
33922
33923 * normal/menu.c (run_menu_entry): Renamed to ...
33924 (grub_menu_execute_entry): ... this and made it as global.
33925 (grub_menu_run): Renamed to ...
33926 (show_text_menu): ... this and made it local.
33927 (show_text_menu): Adapt to new function names.
33928 (grub_normal_terminal_menu_viewer): New global variable.
33929
33930 * include/grub/menu.h: New file.
33931
33932 * include/grub/menu_viewer.h: New file.
33933
33934 * include/grub/normal.h: Added include to grub/menu.h.
33935 (grub_menu_entry): Moved to include/grub/menu.h.
33936 (grub_menu_entry_t): Likewise.
33937 (grub_menu): Likewise.
33938 (grub_menu_t): Likewise.
33939 (grub_normal_terminal_menu_viewer): Added.
33940 (grub_menu_execute_entry): Likewise.
33941 (grub_menu_run): Removed.
33942
33943 * DISTLIST: Added include/grub/menu.h.
33944 Added include/grub/menu_viewer.h.
33945 Added normal/menu_viewer.c.
33946
33947 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33948
33949 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33950 arglist for menutitle arguments.
33951
33952 * normal/main.c (grub_normal_menu_addentry): Likewise.
33953
33954 * normal/parser.y (menuentry): Likewise.
33955
33956 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33957
33958 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33959 (grub_script_create_cmdmenu): Likewise.
33960
33961 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33962
33963 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33964 changes.
33965
33966 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33967
33968 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33969
33970 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33971
33972 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33973
33974 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33975
33976 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33977
33978 2009-01-30 Christian Franke <franke@computer.org>
33979
33980 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33981 in option help text.
33982
33983 2009-01-27 Pavel Roskin <proski@gnu.org>
33984
33985 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33986
33987 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33988
33989 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33990
33991 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33992
33993 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33994 unregister function.
33995
33996 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33997
33998 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33999
34000 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34001
34002 * util/grub-mkfont.c (usage): Fix typo.
34003
34004 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34005
34006 2009-01-26 Daniel Mierswa <impulze@impulze.org>
34007
34008 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34009
34010 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34011
34012 * kern/misc.c (grub_strcasecmp): New function.
34013 (grub_strcasecmp): Use grub_size_t instead of int for length.
34014 Fix return value.
34015 * include/grub/misc.h: Update function prototypes.
34016
34017 2009-01-26 Robert Millan <rmh@aybabtu.com>
34018
34019 * configure.ac: Fix cross-compilation check.
34020
34021 2009-01-22 Christian Franke <franke@computer.org>
34022
34023 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34024 (precision) digit string. Allow `.format2' without `format1' (width).
34025 Limit input chars for `%s' output to `format2' if specified. This is
34026 compatible with standard printf ().
34027
34028 2009-01-22 Christian Franke <franke@computer.org>
34029
34030 * disk/ata.c (grub_ata_wait_status): Replace by ...
34031 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34032 other status bits may be invalid while BSY is asserted.
34033 (grub_ata_check_ready): New function.
34034 (grub_ata_cmd): Removed.
34035 (grub_ata_wait_drq): New function.
34036 (grub_ata_strncpy): Remove inline.
34037 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34038 and error check now done by grub_ata_wait_drq ().
34039 (grub_ata_pio_write): Likewise.
34040 (grub_atapi_identify): Set DEV before check for !BSY. Use
34041 grub_ata_wait_drq () to wait for data.
34042 (grub_ata_device_initialize): Add status register check to
34043 detect missing SATA slave devices. Add debug messages.
34044 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34045 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34046 transfer loop by grub_ata_pio_write ().
34047 (grub_ata_identify): Set DEV before check for !BSY. Use
34048 grub_ata_wait_drq () to wait for data.
34049 (grub_ata_setaddress): Set DEV before check for !BSY.
34050 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34051 read/write in one loop. Fix invalid command on write. Fix incomplete
34052 command on (size % batch) == 0. Add missing error check after write of
34053 last block. Add debug messages.
34054 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34055
34056 2009-01-19 Christian Franke <franke@computer.org>
34057
34058 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34059 (GRUB_ATAPI_IREASON_*): Likewise.
34060 (grub_ata_pio_write): Fix timeout error return.
34061 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34062 (grub_atapi_wait_drq): New function.
34063 (grub_atapi_packet): New parameter `size'.
34064 Use grub_atapi_wait_drq () and direct write instead of
34065 grub_ata_pio_write ().
34066 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34067 reads the number of bytes requested by the device for each DRQ
34068 assertion.
34069 (grub_atapi_write): Remove old implementation, return not
34070 implemented instead.
34071
34072 2009-01-19 Christian Franke <franke@computer.org>
34073
34074 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34075 of 512 to calculate data size.
34076 (grub_scsi_read12): Likewise.
34077 (grub_scsi_write10): Likewise.
34078 (grub_scsi_write12): Likewise.
34079 (grub_scsi_read): Adjust size according to blocksize.
34080 Add checks for invalid blocksize and unaligned transfer.
34081
34082 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34083
34084 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34085
34086 * term/gfxterm.c (write_char): Fix background rendering for wide
34087 width glyphs.
34088
34089 2009-01-19 Robert Millan <rmh@aybabtu.com>
34090
34091 * config.guess: Update to latest version from config git.
34092 * config.sub: Likewise.
34093
34094 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
34095
34096 * Makefile.in: Change font compilation to use new grub-mkfont instead
34097 of java version.
34098
34099 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34100 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34101 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34102 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34103 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34104 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34105 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34106 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34107 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34108
34109 2009-01-16 Christian Franke <franke@computer.org>
34110
34111 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34112 (enum grub_ata_timeout_milliseconds): New enum.
34113 (grub_ata_wait_status): Add parameter milliseconds.
34114 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34115 recovery from timed-out commands.
34116 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34117 return grub_errno instead of REG_ERROR.
34118 (grub_ata_pio_write): Add parameter milliseconds.
34119 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34120 Pass milliseconds to grub_ata_wait_status () and
34121 grub_ata_pio_read ().
34122 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34123 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34124 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34125 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34126 It is not suitable for device detection, because DEV bit is ignored,
34127 the command may run too long, and not all devices set the signature
34128 properly.
34129 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34130 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34131 Fix device selection, DEV bit must be set first to address the registers
34132 of the correct device.
34133 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34134 grub_ata_pio_read/write ().
34135 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34136 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34137
34138 2009-01-13 Carles Pina i Estany <carles@pina.cat>
34139
34140 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34141
34142 2009-01-13 Bean <bean123ch@gmail.com>
34143
34144 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34145
34146 2009-01-13 Bean <bean123ch@gmail.com>
34147
34148 * Makefile.in: (enable_grub_mkfont): New variable.
34149 (freetype_cflags): Likewise.
34150 (freetype_libs): Likewise.
34151
34152 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34153 (grub_mkfont_SOURCES): New variable.
34154 (grub_mkfont_CFLAGS): Likewise.
34155 (grub_mkfont_LDFLAGS): Likewise.
34156
34157 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34158 library if `--enable-grub-mkfont' is requested.
34159 (enable_grub_mkfont): New variable.
34160 (freetype_cflags): Likewise.
34161 (freetype_libs): Likewise.
34162
34163 * util/grub-mkfont.c: New file.
34164
34165 2009-01-12 Christian Franke <franke@computer.org>
34166
34167 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34168 mode check. Fix setting of compat_use[].
34169
34170 2009-01-10 Robert Millan <rmh@aybabtu.com>
34171
34172 Update a few copyright years which we forgot to do in 2008 (only for
34173 files whose changes made in 2008 were copyright-significant)
34174
34175 * Makefile.in: Add 2008 to Copyright line.
34176 * disk/ieee1275/ofdisk.c: Likewise.
34177 * disk/efi/efidisk.c: Likewise.
34178 * kern/dl.c: Likewise.
34179 * kern/sparc64/ieee1275/init.c: Likewise.
34180 * kern/mm.c: Likewise.
34181 * kern/efi/mm.c: Likewise.
34182 * boot/i386/pc/boot.S: Likewise.
34183 * genfslist.sh: Likewise.
34184 * fs/iso9660.c: Likewise.
34185 * fs/hfs.c: Likewise.
34186 * fs/jfs.c: Likewise.
34187 * fs/minix.c: Likewise.
34188 * fs/ufs.c: Likewise.
34189 * gensymlist.sh.in: Likewise.
34190 * genkernsyms.sh.in: Likewise.
34191 * include/grub/misc.h: Likewise.
34192 * include/grub/types.h: Likewise.
34193 * include/grub/symbol.h: Likewise.
34194 * include/grub/elf.h: Likewise.
34195 * include/grub/kernel.h: Likewise.
34196 * include/grub/disk.h: Likewise.
34197 * include/grub/dl.h: Likewise.
34198 * include/grub/i386/linux.h: Likewise.
34199 * include/grub/i386/pc/biosdisk.h: Likewise.
34200 * include/grub/efi/api.h: Likewise.
34201 * include/grub/efi/pe32.h: Likewise.
34202 * include/grub/util/misc.h: Likewise.
34203 * normal/execute.c: Likewise.
34204 * normal/arg.c: Likewise.
34205 * normal/completion.c: Likewise.
34206 * normal/lexer.c: Likewise.
34207 * normal/parser.y: Likewise.
34208 * normal/misc.c: Likewise.
34209 * commands/i386/pc/vbeinfo.c: Likewise.
34210 * commands/hexdump.c: Likewise.
34211 * commands/terminal.c: Likewise.
34212 * commands/ls.c: Likewise.
34213 * commands/help.c: Likewise.
34214 * partmap/pc.c: Likewise.
34215 * loader/efi/chainloader.c: Likewise.
34216 * loader/multiboot_loader.c: Likewise.
34217 * loader/i386/pc/multiboot2.c: Likewise.
34218 * term/efi/console.c: Likewise.
34219 * term/i386/pc/serial.c: Likewise.
34220 * util/lvm.c: Likewise.
34221 * util/console.c: Likewise.
34222 * util/i386/efi/grub-mkimage.c: Likewise.
34223 * util/raid.c: Likewise.
34224
34225 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34226
34227 * commands/videotest.c: Removed include to grub/machine/memory.h.
34228
34229 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34230 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34231 (video_mod_SOURCES): Removed.
34232 (video_mod_CFLAGS): Likewise.
34233 (video_mod_LDFLAGS): Likewise.
34234 (gfxterm_mod_SOURCES): Likewise.
34235 (gfxterm_mod_CFLAGS): Likewise.
34236 (gfxterm_mod_LDFLAGS): Likewise.
34237 (videotest_mod_SOURCES): Likewise.
34238 (videotest_mod_CFLAGS): Likewise.
34239 (videotest_mod_LDFLAGS): Likewise.
34240 (bitmap_mod_SOURCES): Likewise.
34241 (bitmap_mod_CFLAGS): Likewise.
34242 (bitmap_mod_LDFLAGS): Likewise.
34243 (tga_mod_SOURCES): Likewise.
34244 (tga_mod_CFLAGS): Likewise.
34245 (tga_mod_LDFLAGS): Likewise.
34246 (jpeg_mod_SOURCES): Likewise.
34247 (jpeg_mod_CFLAGS): Likewise.
34248 (jpeg_mod_LDFLAGS): Likewise.
34249 (png_mod_SOURCES): Likewise.
34250 (png_mod_CFLAGS): Likewise.
34251 (png_mod_LDFLAGS): Likewise.
34252
34253 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34254 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34255 (video_mod_SOURCES): Added.
34256 (video_mod_CFLAGS): Likewise.
34257 (video_mod_LDFLAGS): Likewise.
34258 (videotest_mod_SOURCES): Likewise.
34259 (videotest_mod_CFLAGS): Likewise.
34260 (videotest_mod_LDFLAGS): Likewise.
34261 (bitmap_mod_SOURCES): Likewise.
34262 (bitmap_mod_CFLAGS): Likewise.
34263 (bitmap_mod_LDFLAGS): Likewise.
34264 (tga_mod_SOURCES): Likewise.
34265 (tga_mod_CFLAGS): Likewise.
34266 (tga_mod_LDFLAGS): Likewise.
34267 (jpeg_mod_SOURCES): Likewise.
34268 (jpeg_mod_CFLAGS): Likewise.
34269 (jpeg_mod_LDFLAGS): Likewise.
34270 (png_mod_SOURCES): Likewise.
34271 (png_mod_CFLAGS): Likewise.
34272 (png_mod_LDFLAGS): Likewise.
34273 (gfxterm_mod_SOURCES): Likewise.
34274 (gfxterm_mod_CFLAGS): Likewise.
34275 (gfxterm_mod_LDFLAGS): Likewise.
34276
34277 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34278 grub/machine/console.h.
34279
34280 2009-01-04 Jerone Young <jerone@gmail.com>
34281
34282 Make on screen instructions clearer
34283
34284 Based on patch created by Jidanni <jidanni@jidanni.org>
34285
34286 * normal/menu.c: print clearer instructions on the screen
34287
34288 2009-01-02 Colin D Bennett <colin@gibibit.com>
34289
34290 New font engine.
34291
34292 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34293 build system and fixed gfxterm.c to work with different sized fonts.
34294
34295 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34296
34297 * configure: Re-generated.
34298
34299 * DISTLIST: Removed font/manager.c.
34300 Added font/font.c.
34301 Added font/font_cmd.c.
34302
34303 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34304 compilation.
34305
34306 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34307
34308 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
34309
34310 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34311
34312 * normal/menu.c: Likewise.
34313
34314 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34315 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34316
34317 * include/grub/font.h: Replaced with new file.
34318
34319 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34320 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34321 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34322 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34323 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34324 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
34325 fg_red, fg_green, fg_blue, fg_alpha.
34326 (grub_video_adapter): Removed blit_glyph.
34327 (grub_video_blit_glyph): Removed.
34328
34329 * font/manager.c: Removed file.
34330
34331 * font/font.c: New file.
34332
34333 * font/font_cmd.c: Likewise.
34334
34335 * video/video.c (grub_video_blit_glyph): Removed.
34336
34337 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34338 (grub_video_vbe_map_rgba): Likewise.
34339 (grub_video_vbe_unmap_color_int): Likewise.
34340 (grub_video_vbe_blit_glyph): Removed.
34341 (grub_video_vbe_adapter): Removed blit_glyph.
34342
34343 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34344 (get_pixel): Likewise.
34345 (set_pixel): Likewise.
34346
34347 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34348
34349 * term/gfxterm.c: Adapted to new font engine.
34350
34351 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34352
34353 * term/i386/pc/vga.c: Likewise.
34354
34355 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34356
34357 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34358
34359 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34360
34361 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34362
34363 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34364
34365 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34366
34367 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34368
34369 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34370
34371 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34372
34373 * util/grub.d/00_header.in: Changed to use new loadfont command.
34374
34375 * util/grub-mkconfig_lib.in: Changed font extension.
34376
34377 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
34378
34379 * util/getroot.c (grub_util_get_grub_dev): Add support for
34380 /dev/md/dNNpNN style partitionable mdraid devices.
34381
34382 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
34383
34384 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
34385 at a time limit of the PXE TFTP API correctly.
34386 (grub_pxefs_close): Likewise.
34387
34388 2008-11-29 Robert Millan <rmh@aybabtu.com>
34389
34390 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
34391 grub_ata_device_initialize() calls.
34392
34393 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
34394
34395 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
34396 iteration failed.
34397 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
34398
34399 2008-11-28 Robert Millan <rmh@aybabtu.com>
34400
34401 Fix build on powerpc-ieee1275. Based on patch created by
34402 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
34403 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34404 `kern/ieee1275/mmap.c'.
34405 * include/grub/powerpc/ieee1275/memory.h: New file.
34406
34407 Provide grub-install on coreboot.
34408 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
34409 (grub_install_SOURCES): New variable.
34410 * util/i386/pc/grub-install.in: Add a few condition checks to make it
34411 usable on coreboot.
34412
34413 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
34414
34415 * util/grub-fstest.c (grub_term_get_current_input): Change return type
34416 to `grub_term_input_t'.
34417 (grub_term_get_current_output): Change return type to
34418 `grub_term_output_t'.
34419
34420 2008-11-22 Robert Millan <rmh@aybabtu.com>
34421
34422 Fix breakage on coreboot due to declaration mismatch.
34423 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
34424 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
34425 grub_vga_text_cls().
34426
34427 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34428 comments. Avoid copying one more byte than necessary (just in case).
34429
34430 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
34431 to 0x200000 (avoids trouble with some OFW implementations, and matches
34432 with the one in Yaboot).
34433 Reported by Manoel Abranches
34434
34435 2008-11-20 Robert Millan <rmh@aybabtu.com>
34436
34437 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
34438 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
34439
34440 * util/grub-mkconfig_lib.in (grub_warn): New function.
34441 (convert_system_path_to_grub_path): Use grub_warn() when issuing
34442 warnings, to obtain consistent formatting.
34443 * util/grub.d/00_header.in: Likewise.
34444 * util/update-grub_lib.in: Likewise.
34445
34446 * loader/i386/linux.c (allocate_pages): Fix a warning.
34447 Move comment text to `#error' stanza.
34448
34449 Harmonize ieee1275's grub_available_iterate() with the generic
34450 grub_machine_mmap_iterate() interface (fixes a recently-introduced
34451 build problem on i386-ieee1275):
34452 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
34453 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
34454 parameter `type'. Update all users of this function.
34455 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34456 `kern/ieee1275/mmap.c'.
34457 * kern/ieee1275/init.c
34458 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
34459 with ...
34460 (grub_machine_mmap_iterate): ... this.
34461 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
34462 return type to `grub_err_t'. Update all implementations of this
34463 function prototype.
34464 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
34465 Likewise.
34466
34467 Add `lsmmap' command (lists firmware-provided memory map):
34468 * commands/lsmmap.c: New file.
34469 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
34470 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
34471 variables.
34472 * conf/powerpc-ieee1275.rmk: Likewise.
34473 * conf/i386-coreboot.rmk: Likewise.
34474 * conf/i386-ieee1275.rmk: Likewise.
34475
34476 2008-11-19 Robert Millan <rmh@aybabtu.com>
34477
34478 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
34479 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
34480 constraints to initrd allocation (based on code from
34481 loader/i386/pc/linux.c). Without them, initrd was allocated too high
34482 for Linux to find it.
34483
34484 2008-11-14 Robert Millan <rmh@aybabtu.com>
34485
34486 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
34487 order to cope with duplicate slashes.
34488
34489 2008-11-14 Robert Millan <rmh@aybabtu.com>
34490
34491 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34492 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34493 don't want to mess with lower memory, because it is used in the Linux
34494 loader.
34495
34496 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34497 an appropriate place in lower memory, between 0x10000 and 0x90000,
34498 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
34499 is in our heap (probably as a result of it being corrupted during
34500 decompression). Add #error instance with comment to explain why this
34501 loader isn't currently usable on PC/BIOS.
34502
34503 2008-11-14 Robert Millan <rmh@aybabtu.com>
34504
34505 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34506 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
34507
34508 2008-11-12 Robert Millan <rmh@aybabtu.com>
34509
34510 Make loader/i386/linux.c buildable on i386-pc (although disabled).
34511
34512 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
34513 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
34514 from here ...
34515 * include/grub/i386/pc/memory.h: ... to here.
34516
34517 2008-11-12 Robert Millan <rmh@aybabtu.com>
34518
34519 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
34520 split).
34521
34522 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
34523 (grub_console_cur_color, grub_console_real_putchar)
34524 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34525 (grub_console_setcolorstate, grub_console_setcolor)
34526 (grub_console_getcolor): Move from here ...
34527 * include/grub/i386/vga_common.h: ... to here (new file).
34528
34529 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
34530 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
34531 `<grub/i386/io.h>'.
34532 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
34533 `<grub/i386/vga_common.h>'.
34534
34535 2008-11-12 Robert Millan <rmh@aybabtu.com>
34536
34537 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
34538 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
34539 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
34540 variables.
34541 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34542 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
34543
34544 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
34545 grub_console_init() with call to grub_vga_text_init().
34546 (grub_machine_fini): Replace call to
34547 grub_console_fini() with call to grub_vga_text_fini() and
34548 grub_at_keyboard_fini().
34549
34550 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34551 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34552 (grub_console_setcolorstate, grub_console_setcolor)
34553 (grub_console_getcolor): New function prototypes.
34554
34555 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34556 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34557 (grub_vga_text_setcursor): Static-ize.
34558 (grub_vga_text_term): New structure.
34559 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34560
34561 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34562 (grub_console_cur_color, grub_console_standard_color)
34563 (grub_console_normal_color, grub_console_highlight_color)
34564 (map_char, grub_console_putchar, grub_console_getcharwidth)
34565 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34566 (grub_console_getcolor): Move from here ...
34567 * term/i386/vga_common.c: ... to here (same function names).
34568
34569 2008-11-12 Robert Millan <rmh@aybabtu.com>
34570
34571 Use newly-added Multiboot support in coreboot.
34572
34573 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34574 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34575
34576 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34577 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34578 (codestart): Store the MBI in `startup_multiboot_info' when we're
34579 being loaded using Multiboot.
34580
34581 * kern/i386/coreboot/init.c (grub_machine_init): Move
34582 grub_at_keyboard_init() call to beginning of function (useful for
34583 debugging). Call grub_machine_mmap_init() before attempting to use
34584 grub_machine_mmap_iterate().
34585 (grub_lower_mem, grub_upper_mem): Move from here ...
34586 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34587 here (new file).
34588
34589 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34590 function prototype.
34591
34592 2008-11-12 Robert Millan <rmh@aybabtu.com>
34593
34594 Fix a regression introduced by the at_keyboard.mod split. Because
34595 some terminals are default on some platforms and non-default on
34596 others, the first terminal being registered determines which is
34597 going to be default.
34598
34599 * kern/term.c (grub_term_register_input): If this is the first
34600 terminal being registered, set it as the current one.
34601 (grub_term_register_output): Likewise.
34602
34603 * term/efi/console.c (grub_console_init): Do not call
34604 grub_term_set_current_output() or grub_term_set_current_input().
34605 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34606 * term/i386/pc/console.c (grub_console_init): Likewise.
34607 (grub_console_fini): Do not call grub_term_set_current_input()
34608 (but leave grub_term_set_current_output() to restore text mode).
34609
34610 2008-11-10 Robert Millan <rmh@aybabtu.com>
34611
34612 * util/grub.d/00_header.in: Add backward compatibility check for
34613 versions of terminal.mod that don't understand `terminal_input' or
34614 `terminal_output'.
34615
34616 2008-11-09 Robert Millan <rmh@aybabtu.com>
34617
34618 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34619 `terminal_input' / `terminal_output', not `terminal'.
34620
34621 2008-11-08 Robert Millan <rmh@aybabtu.com>
34622
34623 * Makefile.in (include_DATA): Fix srcdir=. assumption.
34624 (DISTCLEANFILES): Add `build_env.mk'.
34625
34626 2008-11-08 Robert Millan <rmh@aybabtu.com>
34627
34628 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
34629 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34630 members. Update all users.
34631 * util/console.c (grub_ncurses_term): Split in ...
34632 (grub_ncurses_term_input): ... this, and ...
34633 (grub_ncurses_term_output): ... this. Update all users.
34634 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
34635
34636 2008-11-08 Robert Millan <rmh@aybabtu.com>
34637
34638 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34639 (PKGDATA): Add $(pkgdata_SRCDIR).
34640 (pkglib_BUILDDIR): New variable.
34641 (pkgdata_SRCDIR): New variable.
34642 (build_env.mk): New target.
34643 (include_DATA): New variable.
34644 (install-local): Install $(include_DATA) files in $(includedir).
34645
34646 2008-11-07 Pavel Roskin <proski@gnu.org>
34647
34648 * gendistlist.sh: Use C locale for sorting to ensure consistent
34649 output on all systems.
34650
34651 * util/grub.d/00_header.in: Remove incorrect space before
34652 "serial".
34653
34654 2008-11-07 Robert Millan <rmh@aybabtu.com>
34655
34656 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34657 per specification.
34658 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34659 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34660 (based on find_multi_boot1_header).
34661 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34662 using find_multi_boot2_header(), and abort if neither Multiboot or
34663 Multiboot headers were found.
34664
34665 2008-11-07 Robert Millan <rmh@aybabtu.com>
34666
34667 Modularize at_keyboard.mod:
34668
34669 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34670 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34671 (at_keyboard_mod_LDFLAGS): New variables.
34672
34673 Actual terminal split:
34674
34675 * include/grub/term.h (struct grub_term): Split in ...
34676 (struct grub_term_input): ... this, and ...
34677 (struct grub_term_output): ... this. Update all users.
34678 (grub_term_set_current): Split in ...
34679 (grub_term_set_current_input): ... this, and ...
34680 (grub_term_set_current_output): ... this.
34681 (grub_term_get_current): Split in ...
34682 (grub_term_get_current_input): ... this, and ...
34683 (grub_term_get_current_output): ... this.
34684 (grub_term_register): Split in ...
34685 (grub_term_register_input): ... this, and ...
34686 (grub_term_register_output): ... this.
34687 (grub_term_unregister): Split in ...
34688 (grub_term_unregister_input): ... this, and ...
34689 (grub_term_unregister_output): ... this.
34690 (grub_term_iterate): Split in ...
34691 (grub_term_iterate_input): ... this, and ...
34692 (grub_term_iterate_output): ... this.
34693
34694 * kern/term.c (grub_term_list): Split in ...
34695 (grub_term_list_input): ... this, and ...
34696 (grub_term_list_output): ... this. Update all users.
34697 (grub_cur_term): Split in ...
34698 (grub_cur_term_input): ... this, and ...
34699 (grub_cur_term_output): ... this. Update all users.
34700 (grub_term_set_current): Split in ...
34701 (grub_term_set_current_input): ... this, and ...
34702 (grub_term_set_current_output): ... this.
34703 (grub_term_get_current): Split in ...
34704 (grub_term_get_current_input): ... this, and ...
34705 (grub_term_get_current_output): ... this.
34706 (grub_term_register): Split in ...
34707 (grub_term_register_input): ... this, and ...
34708 (grub_term_register_output): ... this.
34709 (grub_term_unregister): Split in ...
34710 (grub_term_unregister_input): ... this, and ...
34711 (grub_term_unregister_output): ... this.
34712 (grub_term_iterate): Split in ...
34713 (grub_term_iterate_input): ... this, and ...
34714 (grub_term_iterate_output): ... this.
34715
34716 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34717 a check for input and one for output (and only attempt to get keys
34718 from user when input works).
34719
34720 * util/grub-probe.c (grub_term_get_current): Split in ...
34721 (grub_term_get_current_input): ... this, and ...
34722 (grub_term_get_current_output): ... this.
34723 * util/grub-fstest.c: Likewise.
34724 * util/i386/pc/grub-setup.c: Likewise.
34725 * util/grub-editenv.c: Likewise.
34726
34727 Portability adjustments:
34728
34729 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34730 `term/i386/pc/at_keyboard.c'.
34731 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34732 grub_keyboard_controller_init() (now handled by terminal .init).
34733 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34734 grub_at_keyboard_init().
34735 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34736 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34737 at_keyboard.mod via input terminal interface).
34738 * include/grub/i386/coreboot/console.h: Convert into a stub for
34739 `<grub/i386/pc/console.h>'.
34740
34741 Migrate full terminals to new API:
34742
34743 * term/efi/console.c (grub_console_term): Split into ...
34744 (grub_console_term_input): ... this, and ...
34745 (grub_console_term_output): ... this. Update all users.
34746 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34747 (grub_ofconsole_init): Split into ...
34748 (grub_ofconsole_init_input): ... this, and ...
34749 (grub_ofconsole_init_output): ... this.
34750 (grub_ofconsole_term): Split into ...
34751 (grub_ofconsole_term_input): ... this, and ...
34752 (grub_ofconsole_term_output): ... this. Update all users.
34753 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34754 (grub_serial_term_input): ... this, and ...
34755 (grub_serial_term_output): ... this. Update all users.
34756 * term/i386/pc/console.c (grub_console_term): Split into ...
34757 (grub_console_term_input): ... this, and ...
34758 (grub_console_term_output): ... this. Update all users.
34759 (grub_console_term_input): Only enable it on PC/BIOS platform.
34760 (grub_console_init): Remove grub_keyboard_controller_init() call.
34761
34762 Migrate input terminals to new API:
34763
34764 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34765 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34766 i386-specific anyway).
34767 (grub_console_checkkey): Rename to ...
34768 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34769 users.
34770 (grub_keyboard_controller_orig): New variable.
34771 (grub_console_getkey): Rename to ...
34772 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34773 users.
34774 (grub_keyboard_controller_init): Static-ize. Save original
34775 controller value so that it can be restored ...
34776 (grub_keyboard_controller_fini): ... here (new function).
34777 (grub_at_keyboard_term): New structure.
34778 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34779 functions.
34780
34781 Migrate output terminals to new API:
34782
34783 * term/i386/pc/vga.c (grub_vga_term): Change type to
34784 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34785 members. Update all users.
34786 * term/gfxterm.c (grub_video_term): Change type to
34787 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34788 members. Update all users.
34789 * include/grub/i386/pc/console.h (grub_console_checkkey)
34790 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34791 etc).
34792
34793 Migrate `terminal' command and userland tools to new API:
34794
34795 * commands/terminal.c (grub_cmd_terminal): Split into ...
34796 (grub_cmd_terminal_input): ... this, and ...
34797 (grub_cmd_terminal_output): ... this.
34798 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34799 `terminal_input' and `terminal_output'.
34800 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34801 `terminal_input' / `terminal_output' API.
34802 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34803 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34804 provided ${GRUB_TERMINAL}, convert it).
34805
34806 2008-11-04 Robert Millan <rmh@aybabtu.com>
34807
34808 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34809 for FreeBSD.
34810 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34811
34812 2008-11-03 Bean <bean123ch@gmail.com>
34813
34814 * kern/elf.c (grub_elf32_load): Revert to previous code.
34815 (grub_elf64_load): Likewise.
34816
34817 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34818
34819 2008-11-01 Robert Millan <rmh@aybabtu.com>
34820
34821 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34822 (TARGET_CPPFLAGS): Likewise.
34823 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34824
34825 2008-11-01 Carles Pina i Estany <carles@pina.cat>
34826
34827 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34828
34829 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34830
34831 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34832 addition of objects until the code is not going to be able to fail.
34833
34834 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34835
34836 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34837 (add a missing NULL check, and correct them by moving the pointer
34838 operations after the actual check).
34839
34840 2008-10-29 Robert Millan <rmh@aybabtu.com>
34841
34842 * util/i386/pc/grub-install.in: Handle empty string as output from
34843 make_system_path_relative_to_its_root().
34844
34845 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
34846
34847 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
34848 circular metadata worst case scenario. If the metadata is circular
34849 then copy the wrap in place.
34850 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
34851 project lib/format_text/layout.h
34852 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
34853
34854 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34855
34856 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
34857
34858 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
34859
34860 * util/update-grub_lib.in: Mention filename in warning message.
34861
34862 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34863
34864 * NEWS: Update for rename of update-grub to grub-mkconfig.
34865
34866 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
34867
34868 * util/update-grub_lib.in: Copy to ...
34869 * util/grub-mkconfig_lib.in: ... this. Update all users.
34870 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
34871 * util/update-grub.in: Rename to ...
34872 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
34873 option. Add `--output' option to allow users to specify the generated
34874 configuration file. Default to stdout.
34875 (update_grub_dir): Rename to ...
34876 (grub_mkconfig_dir): ... this.
34877 (grub_cfg): Default to an empty string.
34878 * conf/common.rmk (update-grub): Rename to ...
34879 (grub-mkconfig): ... this.
34880 (update-grub_lib): Copy to ...
34881 (grub-mkconfig_lib): ... this.
34882 (update-grub_SCRIPTS): Copy to ...
34883 (grub-mkconfig_SCRIPTS): ... this. Update all users.
34884 (update-grub_DATA): Rename to ...
34885 (grub-mkconfig_DATA): ... this.
34886
34887 2008-09-28 Robert Millan <rmh@aybabtu.com>
34888
34889 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
34890 to `modified'. Add the real `created' field.
34891 (grub_iso9660_uuid): Use `modified' rather than `created' for
34892 constructing the UUID.
34893
34894 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
34895
34896 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
34897 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
34898
34899 2008-09-28 Bean <bean123ch@gmail.com>
34900
34901 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
34902 Thanks to Christian Franke for finding this bug.
34903
34904 2008-09-25 Robert Millan <rmh@aybabtu.com>
34905
34906 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
34907 instances of grub_util_get_disk_name() (see previous commit).
34908
34909 2008-09-25 Robert Millan <rmh@aybabtu.com>
34910
34911 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
34912 `util/i386/get_disk_name.c'.
34913 * conf/i386-efi.rmk: Likewise.
34914 * conf/x86_64-efi.rmk: Likewise.
34915 * conf/i386-coreboot.rmk: Likewise.
34916 * conf/i386-ieee1275.rmk: Likewise.
34917 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34918 `util/ieee1275/get_disk_name.c'.
34919 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34920 * util/ieee1275/get_disk_name.c: Remove file.
34921 * util/i386/get_disk_name.c: Remove file.
34922 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34923 "hd%d" for device.map entries, rather than using
34924 grub_util_get_disk_name().
34925
34926 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34927
34928 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34929 warning.
34930 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34931
34932 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34933
34934 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34935 Changed to 0x5100.
34936 (GRUB_TERM_PPAGE): Changed to 0x4900.
34937
34938 2008-09-24 Robert Millan <rmh@aybabtu.com>
34939
34940 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34941 macros (they were i386-pc specific).
34942 * include/grub/sparc64/ieee1275/console.h: Likewise.
34943 * include/grub/efi/console.h: Likewise.
34944
34945 2008-09-22 Bean <bean123ch@gmail.com>
34946
34947 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34948 resident and in attribute list.
34949
34950 * include/grub/ntfs.h (BMP_LEN): Removed.
34951
34952 2008-09-22 Bean <bean123ch@gmail.com>
34953
34954 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
34955 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34956
34957 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34958 error occurs, as grub_disk_open will call grub_disk_close, which will
34959 call p->close (scsi).
34960
34961 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34962
34963 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34964 (AC_PREREQ): Bumped to 2.59.
34965 (AC_TRY_COMPILE): Replace obsolete macro with ...
34966 (AC_COMPILE_IFELSE): ... this.
34967 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34968 (AC_LINK_IFELSE): ... this.
34969
34970 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34971
34972 * autogen.sh: Add a call to `gendistlist.sh'.
34973
34974 2008-09-19 Christian Franke <franke@computer.org>
34975
34976 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34977 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34978 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34979 Export __enable_execute_stack() to modules.
34980 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34981 New function.
34982
34983 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34984
34985 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34986 Sort the list.
34987
34988 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34989
34990 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
34991 #include <grub/util/hostdisk.h>.
34992
34993 2008-09-08 Robert Millan <rmh@aybabtu.com>
34994
34995 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34996 segments when their filesz is zero (grub_file_read() interprets
34997 zero-size as "read until EOF", which results in memory corruption).
34998 Use `lowest_segment' rather than 0 for calculating the current
34999 segment load address.
35000
35001 2008-09-08 Robert Millan <rmh@aybabtu.com>
35002
35003 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35004 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35005 clobbered useful information.
35006
35007 2008-09-08 Robert Millan <rmh@aybabtu.com>
35008
35009 * include/grub/util/biosdisk.h: Move to ...
35010 * include/grub/util/hostdisk.h: ... here. Update all users.
35011 * util/biosdisk.c: Move to ...
35012 * util/hostdisk.c: ... here. Update all users.
35013
35014 2008-09-07 Robert Millan <rmh@aybabtu.com>
35015
35016 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35017 variables.
35018 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35019 and length can be stored directly in the `mbi->mmap_addr' and
35020 `mbi->mmap_length' struct fields.
35021
35022 2008-09-07 Robert Millan <rmh@aybabtu.com>
35023
35024 * conf/i386.rmk: New file. Provides declaration for building
35025 `cpuid.mod'.
35026 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35027 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35028 variables.
35029 Include `conf/i386.mk'.
35030 * conf/i386-efi.rmk: Likewise.
35031 * conf/x86_64-efi.rmk: Likewise.
35032 * conf/i386-coreboot.rmk: Likewise.
35033 * conf/i386-ieee1275.rmk: Likewise.
35034
35035 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35036
35037 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35038 Adds optimization support for BGR based modes.
35039
35040 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35041 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35042 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35043 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35044 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35045 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35046 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35047 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35048 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35049 (grub_video_i386_vbeblit_index_index): Likewise.
35050 (grub_video_i386_vbeblit_replace_directN): Added.
35051 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35052 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35053 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35054 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35055 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35056 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35057 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35058 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35059 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35060 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35061 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35062 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35063 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35064
35065 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35066 (grub_video_i386_vbefill_R8G8B8): Likewise.
35067 (grub_video_i386_vbefill_index): Likewise.
35068 (grub_video_i386_vbefill_direct32): Added.
35069 (grub_video_i386_vbefill_direct24): Likewise.
35070 (grub_video_i386_vbefill_direct16): Likewise.
35071 (grub_video_i386_vbefill_direct8): Likewise.
35072
35073 * include/grub/video.h (grub_video_blit_format): Removed
35074 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35075 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35076 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35077 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35078 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
35079
35080 * video/video.c (grub_video_get_blit_format): Updated to use new
35081 blit formats. Added handling for 16 bit color modes.
35082
35083 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
35084 fillers.
35085 (common_blitter): Updated to use new blitters.
35086
35087 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35088 Removed.
35089 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35090 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35091 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35092 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35093 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35094 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35095 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35096 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35097 (grub_video_i386_vbeblit_index_index): Likewise.
35098 (grub_video_i386_vbeblit_replace_directN): Added.
35099 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35100 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35101 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35102 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35103 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35104 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35105 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35106 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35107 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35108 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35109 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35110 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35111 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35112
35113 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35114 (grub_video_i386_vbefill_R8G8B8): Likewise.
35115 (grub_video_i386_vbefill_index): Likewise.
35116 (grub_video_i386_vbefill_direct32): Added.
35117 (grub_video_i386_vbefill_direct24): Likewise.
35118 (grub_video_i386_vbefill_direct16): Likewise.
35119 (grub_video_i386_vbefill_direct8): Likewise.
35120
35121 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35122 types.
35123
35124 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35125 types.
35126
35127 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35128 blitter types.
35129
35130 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35131 types.
35132
35133 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35134
35135 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35136 RAID level 1.
35137
35138 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35139
35140 * fs/iso9660.c (grub_iso9660_date): New structure.
35141 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35142 (grub_iso9660_uuid): New function.
35143
35144 2008-09-05 Bean <bean123ch@gmail.com>
35145
35146 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35147
35148 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35149 insensitive bit for names in Win32 and Win32 & DOS namespace.
35150
35151 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35152
35153 * include/grub/types.h (LONG_MAX): Likewise.
35154
35155 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35156
35157 * util/getroot.c: Include <config.h>.
35158 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35159 add support for /dev/md/N devices and handle LVM double dash escaping.
35160
35161 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35162
35163 * config.guess: Update to latest version from config git.
35164 * config.sub: Likewise.
35165
35166 2008-09-03 Robert Millan <rmh@aybabtu.com>
35167
35168 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35169 `disk->total_sectors'.
35170
35171 2008-09-01 Colin D Bennett <colin@gibibit.com>
35172
35173 * include/grub/normal.h: Fixed incorrect comment for
35174 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35175
35176 2008-09-01 Colin D Bennett <colin@gibibit.com>
35177
35178 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35179 values with defines.
35180
35181 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35182 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35183 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35184 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35185 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35186 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35187 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35188 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35189 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35190 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35191 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35192 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35193 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35194 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35195 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35196 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35197 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35198 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35199 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35200
35201 2008-08-31 Robert Millan <rmh@aybabtu.com>
35202
35203 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35204 declaration.
35205 (grub_multiboot): Fix a few warnings.
35206
35207 2008-08-31 Robert Millan <rmh@aybabtu.com>
35208
35209 * loader/i386/pc/multiboot.c: Update comment not to say that
35210 boot_device support is unimplemented.
35211
35212 2008-08-31 Robert Millan <rmh@aybabtu.com>
35213
35214 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35215 or memory map support are unimplemented.
35216
35217 2008-08-31 Colin D Bennett <colin@gibibit.com>
35218
35219 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35220
35221 2008-08-31 Colin D Bennett <colin@gibibit.com>
35222
35223 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35224 total video memory in 'vbeinfo' output; show color format details for
35225 each video mode.
35226
35227 2008-08-30 Pavel Roskin <proski@gnu.org>
35228
35229 * util/genmoddep.c: Remove for real this time.
35230 * DISTLIST: Remove util/genmoddep.c.
35231
35232 2008-08-30 Robert Millan <rmh@aybabtu.com>
35233
35234 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35235 as required by Multiboot spec (it was already 4-byte aligned, but
35236 only by chance).
35237
35238 2008-08-29 Pavel Roskin <proski@gnu.org>
35239
35240 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35241 * kern/powerpc/ieee1275/startup.S: ... this.
35242 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35243 * DISTLIST: Likewise.
35244
35245 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35246 grub/cpu/kernel.h. Add start label for consistency with other
35247 platforms. Add grub_prefix immediately after start. Add jump
35248 to the code after grub_prefix.
35249 * include/grub/powerpc/kernel.h: Provide valid values for
35250 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35251
35252 2008-08-29 Bean <bean123ch@gmail.com>
35253
35254 * configure.ac: Change host_os to cygwin for mingw.
35255 (asprintf): New check for function.
35256
35257 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35258 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35259
35260 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
35261 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
35262 sync, sleep and grub_util_get_disk_size for mingw.
35263
35264 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35265 to get size in mingw.
35266 (open_device): Use flag O_BINARY if it's defined.
35267 (find_root_device): Add dummy code for mingw.
35268
35269 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35270 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35271 (get_scsi_disk_name): Return 0 for mingw.
35272
35273 * util/hostfs.c: #include <grub/util/misc.h>.
35274 (grub_hostfs_open): Use "rb" flag to open file, use
35275 grub_util_get_disk_size to get disk size for mingw.
35276
35277 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35278 (asprintf): New function if HAVE_ASPRINTF is not set.
35279 (sync): New function for mingw.
35280 (sleep): Likewise.
35281 (grub_util_get_disk_size): Likewise.
35282
35283 2008-08-28 Pavel Roskin <proski@gnu.org>
35284
35285 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35286 kern/time.c.
35287
35288 2008-08-28 Robert Millan <rmh@aybabtu.com>
35289
35290 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35291
35292 2008-08-28 Robert Millan <rmh@aybabtu.com>
35293
35294 Change find_grub_drive() syntax so it doesn't prevent it from
35295 detecting NULL names as errors.
35296
35297 * util/biosdisk.c (find_grub_drive): Move free slot search code
35298 from here ...
35299 (find_free_slot): ... to here.
35300 (read_device_map): Use find_free_slot() to search for free slots.
35301
35302 2008-08-27 Marco Gerards <marco@gnu.org>
35303
35304 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35305 (scsi_mod_SOURCES): New variable.
35306 (scsi_mod_CFLAGS): Likewise
35307 (scsi_mod_LDFLAGS): Likewise.
35308
35309 * disk/scsi.c: New file.
35310
35311 * include/grub/scsi.h: Likewise.
35312
35313 * include/grub/scsicmd.h: Likewise.
35314
35315 * disk/ata.c: Include <grub/scsi.h>.
35316 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35317 instead.
35318 (grub_ata_iterate): Skip ATAPI devices.
35319 (grub_ata_open): Only handle ATAPI devices.
35320 (struct grub_atapi_read): Removed.
35321 (grub_atapi_readsector): Likewise.
35322 (grub_ata_read): No longer handle ATAPI devices.
35323 (grub_ata_write): Likewise.
35324 (grub_atapi_iterate): New function.
35325 (grub_atapi_read): Likewise.
35326 (grub_atapi_write): Likewise.
35327 (grub_atapi_open): Likewise.
35328 (grub_atapi_close): Likewise.
35329 (grub_atapi_dev): New variable.
35330 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35331 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35332
35333 * include/grub/disk.h (enum grub_disk_dev_id): Add
35334 `GRUB_DISK_DEVICE_SCSI_ID'.
35335
35336 2008-08-26 Robert Millan <rmh@aybabtu.com>
35337
35338 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35339 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35340 descriptive.
35341
35342 2008-08-23 Bean <bean123ch@gmail.com>
35343
35344 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35345 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35346 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35347 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35348 dm_nv.mod.
35349 (raid5rec_mod_SOURCES): New macro.
35350 (raid5rec_mod_CFLAGS): Likewise.
35351 (raid5rec_mod_LDFLAGS): Likewise.
35352 (raid6rec_mod_SOURCES): Likewise.
35353 (raid6rec_mod_CFLAGS): Likewise.
35354 (raid6rec_mod_LDFLAGS): Likewise.
35355 (mdraid_mod_SOURCES): Likewise.
35356 (mdraid_mod_CFLAGS): Likewise.
35357 (mdraid_mod_LDFLAGS): Likewise.
35358 (dm_nv_mod_SOURCES): Likewise.
35359 (dm_nv_mod_CFLAGS): Likewise.
35360 (dm_nv_mod_LDFLAGS): Likewise.
35361
35362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35363 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35364 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35365
35366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35367 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35368
35369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35370
35371 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35372
35373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35374
35375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35376
35377 * disk/raid5_recover.c: New file.
35378
35379 * disk/raid6_recover.c: Likewise.
35380
35381 * disk/mdraid_linux.c: Likewise.
35382
35383 * disk/dmraid_nvidia.c: Likewise.
35384
35385 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
35386 ULONG_MAX.
35387
35388 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
35389 calculate the size of raid device.
35390 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
35391 different layout of raid5.
35392 (grub_raid_scan_device): Remove code specific to mdraid.
35393 (grub_raid_list): New variable.
35394 (free_array): New function.
35395 (grub_raid_register): Likewise.
35396 (grub_raid_unregister): Likewise.
35397 (grub_raid_rescan): Likewise.
35398 (GRUB_MOD_INIT): Don't iterate device here.
35399 (GRUB_MOD_FINI): Use free_array to release resource.
35400
35401 * include/grub/raid.h: Remove macro and structure specific to mdraid.
35402 (grub_raid5_recover_func_t): New function variable type.
35403 (grub_raid6_recover_func_t): Likewise.
35404 (grub_raid5_recover_func): New variable.
35405 (grub_raid6_recover_func): Likewise.
35406 (grub_raid_register): New function.
35407 (grub_raid_unregister): Likewise.
35408 (grub_raid_rescan): Likewise.
35409 (grub_raid_block_xor): Likewise.
35410
35411 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
35412 (CMD_CRC): New macro.
35413 (part): Removed.
35414 (read_file): Handle device as well as file.
35415 (cmd_crc): New function.
35416 (fstest): Handle multiple disks.
35417 (options): Remove part, raw and long, add root and diskcount.
35418 (usage): Add crc, remove -p, -r, -l, add -r and -c.
35419 (main): Find the first non option entry and ignore subsequent options,
35420 add handling for the new options, support multiple disks.
35421
35422 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
35423
35424 2008-08-23 Bean <bean123ch@gmail.com>
35425
35426 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
35427
35428 * genfslist.sh: Ignore kernel.mod.
35429
35430 * genpartmaplist.sh: Likewise.
35431
35432 2008-08-23 Robert Millan <rmh@aybabtu.com>
35433
35434 * util/getroot.c (find_root_device): Skip anything that starts with
35435 a dot, not just directories. This avoids things like /dev/.tmp.md0.
35436
35437 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
35438
35439 * util/update-grub.in (GRUB_GFXMODE): Export variable.
35440 * util/grub.d/00_header.in: Allow the administrator to change default
35441 gfxmode via ${GRUB_GFXMODE}.
35442
35443 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
35444
35445 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
35446
35447 2008-08-21 Robert Millan <rmh@aybabtu.com>
35448
35449 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
35450 loader.
35451 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
35452 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
35453
35454 2008-08-20 Carles Pina i Estany <carles@pina.cat>
35455
35456 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
35457 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
35458
35459 2008-08-19 Robert Millan <rmh@aybabtu.com>
35460
35461 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
35462 (struct grub_virtual_screen): Remove `cursor_color'.
35463 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
35464 initialization.
35465 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
35466
35467 2008-08-18 Robert Millan <rmh@aybabtu.com>
35468
35469 Unify (identical) linux_normal.c files.
35470 * loader/i386/efi/linux_normal.c: Move from here ...
35471 * loader/linux_normal.c: ... to here. Update all users.
35472 * loader/i386/pc/linux_normal.c: Delete. Update all users.
35473 * loader/i386/ieee1275/linux_normal.c: Likewise.
35474
35475 2008-08-18 Robert Millan <rmh@aybabtu.com>
35476
35477 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
35478 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
35479 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
35480 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
35481 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
35482 New macros.
35483 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
35484 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
35485 (GRUB_LINUX_CL_END_OFFSET): ... to here.
35486 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
35487 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35488 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35489 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35490 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35491 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35492 portably using grub_getxy().
35493 Replace `-EFI' with `-bzImage' in boot message.
35494
35495 2008-08-17 Robert Millan <rmh@aybabtu.com>
35496
35497 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
35498
35499 2008-08-17 Robert Millan <rmh@aybabtu.com>
35500
35501 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
35502
35503 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
35504 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
35505 (grub_machine_mmap_iterate): New function declaration.
35506 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
35507 structure.
35508 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
35509 macros.
35510
35511 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
35512 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
35513 Move e820 parsing from here ...
35514 * kern/i386/pc/mmap.c: New file.
35515 (grub_machine_mmap_iterate): ... to here.
35516
35517 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
35518 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
35519 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
35520 (grub_available_iterate): Redeclare to return `void', and redeclare
35521 its hook to use grub_uint64_t as addr and size parameters, and rename
35522 to ...
35523 (grub_machine_mmap_iterate): ... this. Update all users.
35524
35525 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
35526 to make it more readable. Rename to ...
35527 (grub_machine_mmap_iterate): ... this.
35528
35529 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
35530 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
35531 (grub_multiboot): Allocate an extra region after the payload, and fill
35532 it with a Multiboot memory map. Adjust a.out loader to calculate size
35533 with the extra space.
35534 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
35535 with the extra space.
35536
35537 2008-08-17 Carles Pina i Estany <carles@pina.cat>
35538
35539 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
35540
35541 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
35542
35543 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
35544 mdate-sh to the list `find' searches for.
35545 * DISTLIST: Regenerated.
35546
35547 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
35548
35549 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35550 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
35551 genmoddep.awk, gensymlist.sh.in.
35552 (DISTDIRS): Add bus, docs, hook, lib.
35553 * DISTLIST: Regenerated.
35554 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
35555
35556 2008-08-16 Robert Millan <rmh@aybabtu.com>
35557
35558 * disk/raid.c (grub_raid_init): Handle/report errors set by
35559 grub_device_iterate().
35560 * disk/lvm.c (grub_lvm_init): Likewise.
35561
35562 2008-08-15 Bean <bean123ch@gmail.com>
35563
35564 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35565 and datehook.mod.
35566 (datetime_mod_SOURCES): New macro.
35567 (datetime_mod_CFLAGS): Likewise.
35568 (datetime_mod_LDFLAGS): Likewise.
35569 (date_mod_SOURCES): Likewise.
35570 (date_mod_CFLAGS): Likewise.
35571 (date_mod_LDFLAGS): Likewise.
35572 (datehook_mod_SOURCES): Likewise.
35573 (datehook_mod_CFLAGS): Likewise.
35574 (datehook_mod_LDFLAGS): Likewise.
35575
35576 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35577 and datehook.mod.
35578 (datetime_mod_SOURCES): New macro.
35579 (datetime_mod_CFLAGS): Likewise.
35580 (datetime_mod_LDFLAGS): Likewise.
35581 (date_mod_SOURCES): Likewise.
35582 (date_mod_CFLAGS): Likewise.
35583 (date_mod_LDFLAGS): Likewise.
35584 (datehook_mod_SOURCES): Likewise.
35585 (datehook_mod_CFLAGS): Likewise.
35586 (datehook_mod_LDFLAGS): Likewise.
35587
35588 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35589 and datehook.mod.
35590 (datetime_mod_SOURCES): New macro.
35591 (datetime_mod_CFLAGS): Likewise.
35592 (datetime_mod_LDFLAGS): Likewise.
35593 (date_mod_SOURCES): Likewise.
35594 (date_mod_CFLAGS): Likewise.
35595 (date_mod_LDFLAGS): Likewise.
35596 (datehook_mod_SOURCES): Likewise.
35597 (datehook_mod_CFLAGS): Likewise.
35598 (datehook_mod_LDFLAGS): Likewise.
35599
35600 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35601 and datehook.mod.
35602 (datetime_mod_SOURCES): New macro.
35603 (datetime_mod_CFLAGS): Likewise.
35604 (datetime_mod_LDFLAGS): Likewise.
35605 (date_mod_SOURCES): Likewise.
35606 (date_mod_CFLAGS): Likewise.
35607 (date_mod_LDFLAGS): Likewise.
35608 (datehook_mod_SOURCES): Likewise.
35609 (datehook_mod_CFLAGS): Likewise.
35610 (datehook_mod_LDFLAGS): Likewise.
35611
35612 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35613 and datehook.mod.
35614 (datetime_mod_SOURCES): New macro.
35615 (datetime_mod_CFLAGS): Likewise.
35616 (datetime_mod_LDFLAGS): Likewise.
35617 (date_mod_SOURCES): Likewise.
35618 (date_mod_CFLAGS): Likewise.
35619 (date_mod_LDFLAGS): Likewise.
35620 (datehook_mod_SOURCES): Likewise.
35621 (datehook_mod_CFLAGS): Likewise.
35622 (datehook_mod_LDFLAGS): Likewise.
35623
35624 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35625
35626 * commands/date.c: New file.
35627
35628 * hook/datehook.c: Likewise.
35629
35630 * include/grub/lib/datetime.h: Likewise.
35631
35632 * include/grub/i386/cmos.h: Likewise.
35633
35634 * lib/datetime.c: Likewise.
35635
35636 * lib/i386/datetime.c: Likewise.
35637
35638 * lib/efi/datetime.c: Likewise.
35639
35640 2008-08-14 Robert Millan <rmh@aybabtu.com>
35641
35642 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35643 (grub_mkelfimage_SOURCES): New variable.
35644 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35645
35646 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35647 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35648 * conf/powerpc-ieee1275.rmk: Likewise.
35649 * conf/i386-ieee1275.rmk: Likewise.
35650
35651 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35652 * kern/i386/coreboot/init.c: Likewise.
35653
35654 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35655 with `<grub/cpu/kernel.h>'.
35656 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35657 to ...
35658 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35659 * kern/i386/coreboot/startup.S: Likewise.
35660
35661 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35662 (GRUB_MOD_GAP): Remove.
35663 * include/grub/powerpc/kernel.h: New file.
35664 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35665 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35666 * include/grub/i386/kernel.h: New file.
35667 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35668 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35669 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35670
35671 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35672 `grub-mkelfimage'.
35673 Use --directory when invoking grub_mkimage.
35674
35675 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35676 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35677 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35678 and GRUB_KERNEL_CPU_PREFIX.
35679
35680 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
35681
35682 * include/grub/err.h (grub_err_printf): New function prototype.
35683 * util/misc.c (grub_err_printf): New function.
35684 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35685 grub_printf.
35686 * kern/err.c (grub_print_error): Use grub_err_printf.
35687
35688 2008-08-13 Robert Millan <rmh@aybabtu.com>
35689
35690 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35691
35692 2008-08-13 Robert Millan <rmh@aybabtu.com>
35693
35694 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35695 boot entry.
35696
35697 2008-08-12 Robert Millan <rmh@aybabtu.com>
35698
35699 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35700 of the relocation code from here ...
35701 (grub_multiboot): ... to here.
35702 (forward_relocator, backward_relocator): Move from here ...
35703 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35704 (grub_multiboot_backward_relocator): ... to here.
35705 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35706 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35707 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35708 (grub_multiboot_forward_relocator_end)
35709 (grub_multiboot_backward_relocator)
35710 (grub_multiboot_backward_relocator_end): New variables.
35711
35712 2008-08-12 Bean <bean123ch@gmail.com>
35713
35714 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35715
35716 2008-08-11 Robert Millan <rmh@aybabtu.com>
35717
35718 * kern/i386/linuxbios/startup.S: Move from here ...
35719 * kern/i386/coreboot/startup.S: ... to here.
35720
35721 * kern/i386/linuxbios/init.c: Move from here ...
35722 * kern/i386/coreboot/init.c: ... to here.
35723
35724 * kern/i386/linuxbios/table.c: Move from here ...
35725 * kern/i386/coreboot/mmap.c: ... to here.
35726
35727 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35728
35729 2008-08-11 Robert Millan <rmh@aybabtu.com>
35730
35731 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35732 errors. Leave it to the upper layer to handle them.
35733
35734 2008-08-09 Christian Franke <franke@computer.org>
35735
35736 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35737 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35738 Install `grub.d/10_windows' only on Cygwin.
35739 * configure.ac: Add subst of `target_os'.
35740 Check `target_os' also before setting TARGET_OBJ2ELF.
35741 Add `--enable-grub-pe2elf'.
35742
35743 2008-08-08 Robert Millan <rmh@aybabtu.com>
35744
35745 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35746 (grub_last_time): Change type to grub_uint64_t.
35747 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35748 (grub_disk_close): Likewise.
35749
35750 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35751 (run_menu): Migrate code from to using grub_get_time_ms().
35752
35753 * util/misc.c (grub_get_time_ms): New function.
35754
35755 2008-08-08 Marco Gerards <marco@gnu.org>
35756
35757 * disk/ata.c (grub_ata_regget): Change return type to
35758 `grub_uint8_t'.
35759 (grub_ata_regget2): Likewise.
35760 (grub_ata_wait_status): New function.
35761 (grub_ata_wait_busy): Removed function, updated all users to use
35762 `grub_ata_wait_status'.
35763 (grub_ata_wait_drq): Likewise.
35764 (grub_ata_cmd): New function.
35765 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35766 error handling.
35767 (grub_ata_pio_write): Add error handling.
35768 (grub_atapi_identify): Likewise.
35769 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35770 handling.
35771 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35772 handling. Actually use the detected registers. Reorder the
35773 detection logic such that it is easier to read.
35774 (grub_ata_pciinit): Do not assign the same ID to each controller.
35775 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35776 handling.
35777 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35778
35779 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35780
35781 2008-08-08 Marco Gerards <marco@gnu.org>
35782
35783 * NEWS: Update.
35784
35785 2008-08-07 Bean <bean123ch@gmail.com>
35786
35787 * include/grub/x86_64/pci.h: New file.
35788
35789 2008-08-07 Christian Franke <franke@computer.org>
35790
35791 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35792 (TIMER2_GATE): Likewise.
35793 (grub_pit_wait): Add enable/disable of the timer2 gate
35794 bit of port 0x61. This fixes a possible infinite loop.
35795
35796 2008-08-07 Bean <bean123ch@gmail.com>
35797
35798 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35799 kern/i386/tsc.c and kern/i386/pit.c.
35800
35801 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35802 x86_64 platform.
35803
35804 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35805 <grub/i386/tsc.h>.
35806
35807 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35808
35809 2008-08-07 Bean <bean123ch@gmail.com>
35810
35811 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35812
35813 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35814
35815 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35816 multiple inclusion. Add #include <grub/types.h>.
35817
35818 2008-08-06 Christian Franke <franke@computer.org>
35819
35820 * conf/common.rmk: Build and install `10_windows'.
35821 * util/grub.d/10_windows.in: New script.
35822
35823 2008-08-06 Pavel Roskin <proski@gnu.org>
35824
35825 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35826
35827 2008-08-06 Robert Millan <rmh@aybabtu.com>
35828
35829 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35830 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35831
35832 2008-08-06 Bean <bean123ch@gmail.com>
35833
35834 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35835 (grub_pxefs_fs_int): Remove dummy definition.
35836 (grub_pxefs_open): Use data->block_size to store the current block
35837 size setting.
35838 (grub_pxefs_read): Use block size stored in data->block_size. As the
35839 value of grub_pxe_blksize can be changed after the file is opened.
35840
35841 2008-08-06 Bean <bean123ch@gmail.com>
35842
35843 * fs/i386/pc/pxe.c (curr_file): new variable.
35844 (grub_pxefs_open): Simply the handling of pxe file system. Don't
35845 require the dummy internal file system anymore.
35846 (grub_pxefs_read): Removed.
35847 (grub_pxefs_close): Likewise.
35848 (grub_pxefs_fs_int): Likewise.
35849 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
35850 connection when we switch file.
35851 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
35852
35853 2008-08-06 Robert Millan <rmh@aybabtu.com>
35854
35855 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
35856 `halt.mod'.
35857 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
35858 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
35859
35860 * kern/i386/halt.c: New file.
35861 * kern/i386/reboot.c: Likewise.
35862 * include/grub/i386/reboot.h: Likewise.
35863 * include/grub/i386/halt.h: Likewise.
35864
35865 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
35866 Include `<grub/cpu/halt.h>'.
35867 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
35868 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
35869
35870 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
35871 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
35872 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
35873 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
35874 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
35875 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
35876 from here ...
35877 * include/grub/i386/at_keyboard.h: ... to here.
35878
35879 2008-08-05 Robert Millan <rmh@aybabtu.com>
35880
35881 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
35882 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
35883 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
35884 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35885 `kern/generic/millisleep.c'.
35886
35887 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
35888 instead of grub_get_rtc().
35889 (grub_tsc_init): Initialize `tsc_boot_time'.
35890
35891 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
35892 (grub_machine_init): Use grub_tsc_init() rather than
35893 installing an RTC-based handler via grub_install_get_time_ms().
35894
35895 * kern/i386/pit.c: New file.
35896 * include/grub/i386/pit.h: Likewise.
35897
35898 2008-08-05 Bean <bean123ch@gmail.com>
35899
35900 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
35901
35902 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
35903 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
35904 (pxe_mod_SOURCES): New macro.
35905 (pxe_mod_CFLAGS): Likewise.
35906 (pxe_mod_LDFLAGS): Likewise.
35907 (pxecmd_mod_SOURCES): Likewise.
35908 (pxecmd_mod_CFLAGS): Likewise.
35909 (pxecmd_mod_LDFLAGS): Likewise.
35910
35911 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
35912 (grub_pxe_call): Likewise.
35913
35914 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35915
35916 * commands/i386/pc/pxecmd.c: New file.
35917
35918 * fs/i386/pc/pxe.c: Likewise.
35919
35920 * include/grub/i386/pc/pxe.h: Likewise.
35921
35922 2008-08-05 Bean <bean123ch@gmail.com>
35923
35924 * util/console.c (grub_console_cur_color): New variable.
35925 (grub_console_standard_color): Likewise.
35926 (grub_console_normal_color): Likewise.
35927 (grub_console_highlight_color): Likewise.
35928 (color_map): Likewise.
35929 (use_color): Likewise.
35930 (NUM_COLORS): New macro.
35931 (grub_ncurses_setcolorstate): Handle color properly.
35932 (grub_ncurses_setcolor): Don't change color here, just remember the
35933 settings, color will be set in grub_ncurses_setcolorstate.
35934 (grub_ncurses_getcolor): New function.
35935 (grub_ncurses_init): Initialize color pairs.
35936 (grub_ncurses_term): New member grub_ncurses_getcolor.
35937
35938 2008-08-05 Colin D Bennett <colin@gibibit.com>
35939
35940 High resolution timer support. Implemented for x86 CPUs using TSC.
35941 Extracted generic grub_millisleep() so it's linked in only as needed.
35942 This requires a Pentium compatible CPU; if the RDTSC instruction is
35943 not supported, then it falls back on the generic grub_get_time_ms()
35944 implementation that uses the machine's RTC.
35945
35946 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35947 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35948 `kern/generic/millisleep.c'.
35949
35950 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35951 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35952
35953 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35954 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35955
35956 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35957
35958 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35959 `kern/generic/millisleep.c'.
35960
35961 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35962
35963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35964
35965 * kern/generic/rtc_get_time_ms.c: New file.
35966
35967 * kern/generic/millisleep.c: New file.
35968
35969 * kern/misc.c: Don't include
35970 <kern/time.h> anymore.
35971 (grub_millisleep_generic): Removed.
35972
35973 * commands/sleep.c (grub_interruptible_millisleep): Uses
35974 grub_get_time_ms() instead of grub_get_rtc().
35975
35976 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35977 function.
35978 (grub_cpu_is_cpuid_supported): New inline function.
35979 (grub_cpu_is_tsc_supported): New inline function.
35980 (grub_tsc_init): New function prototype.
35981 (grub_tsc_get_time_ms): New function prototype.
35982
35983 * kern/i386/tsc.c (grub_get_time_ms): New file.
35984
35985 * include/grub/time.h: Include <grub/types.h.
35986 (grub_millisleep_generic): Removed.
35987 (grub_get_time_ms): New prototype.
35988 (grub_install_get_time_ms): New prototype.
35989 (grub_rtc_get_time_ms): New prototype.
35990
35991 * kern/time.c (grub_get_time_ms): New function.
35992 (grub_install_get_time_ms): New function.
35993
35994 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35995 <grub/time.h> anymore.
35996 (grub_millisleep): Removed.
35997 (grub_machine_init): Call grub_tsc_init.
35998
35999 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36000 get_time_ms() implementation.
36001
36002 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36003 (ieee1275_get_time_ms): New function.
36004 (grub_machine_init): Install get_time_ms() implementation.
36005
36006 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36007 (grub_machine_init): Call grub_tsc_init().
36008 (grub_millisleep): Removed.
36009
36010 * kern/ieee1275/init.c (grub_millisleep): Removed.
36011 (grub_machine_init): Install ieee1275_get_time_ms()
36012 implementation.
36013 (ieee1275_get_time_ms): New function.
36014 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36015 real work.
36016
36017 2008-08-05 Marco Gerards <marco@gnu.org>
36018
36019 * disk/ata.c: Include <grub/pci.h>.
36020 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36021 (grub_ata_initialize): Rewritten.
36022 (grub_ata_device_initialize): New function.
36023
36024 2008-08-04 Pavel Roskin <proski@gnu.org>
36025
36026 * kern/main.c: Include grub/mm.h.
36027
36028 2008-08-04 Robert Millan <rmh@aybabtu.com>
36029
36030 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36031 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36032 corruption problem).
36033
36034 2008-08-04 Robert Millan <rmh@aybabtu.com>
36035
36036 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36037 warnings introduced in my last commit.
36038
36039 2008-08-03 Robert Millan <rmh@aybabtu.com>
36040
36041 Make PCI available on all i386 architectures.
36042
36043 * include/grub/i386/pc/pci.h: Move from here ...
36044 * include/grub/i386/pci.h: ... to here.
36045
36046 * include/grub/i386/pc/pci.h: Remove.
36047 * include/grub/i386/efi/pci.h: Remove.
36048 * include/grub/x86_64/efi/pci.h: Remove.
36049
36050 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36051 `<grub/cpu/pci.h>'.
36052
36053 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36054 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36055 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36056
36057 * conf/i386-ieee1275.rmk: Likewise.
36058
36059 2008-08-03 Robert Millan <rmh@aybabtu.com>
36060
36061 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36062 (grub_console_setcursor): Make it possible to set cursor off.
36063
36064 2008-08-03 Robert Millan <rmh@aybabtu.com>
36065
36066 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36067 of modules instead of assuming which platform provides what.
36068 * util/update-grub.in: Likewise.
36069
36070 2008-08-03 Robert Millan <rmh@aybabtu.com>
36071
36072 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36073 instead of `grub_install_dos_part' to determine whether a drive needs
36074 to be prepended to prefix (`grub_install_dos_part' is not reliable,
36075 because it can be overridden when loading GRUB via Multiboot).
36076
36077 2008-08-02 Robert Millan <rmh@aybabtu.com>
36078
36079 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36080
36081 2008-08-02 Robert Millan <rmh@aybabtu.com>
36082
36083 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36084 of informational grub_dprintf() calls.
36085
36086 2008-08-02 Robert Millan <rmh@aybabtu.com>
36087
36088 * disk/memdisk.c (memdisk_size): Don't initialize.
36089 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36090
36091 * include/grub/i386/pc/kernel.h
36092 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36093 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36094 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36095 (grub_arch_memdisk_size): Remove.
36096
36097 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36098 field (was only used to transfer a constant). Add `type' field to
36099 support multiple module types.
36100 (grub_module_iterate): New function.
36101
36102 * kern/device.c (grub_device_open): Do not hide error messages
36103 when grub_disk_open() fails. Use grub_print_error() instead.
36104
36105 * kern/i386/pc/init.c (grub_arch_modules_addr)
36106 (grub_arch_memdisk_size): Remove functions.
36107 (grub_arch_modules_addr): Return the module address in high memory
36108 (now that it isn't copied anymore).
36109
36110 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36111 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36112 decompression routine (grub_total_module_size already includes that
36113 now). Don't copy modules back to low memory.
36114
36115 * kern/main.c: Include `<grub/mm.h>'.
36116 (grub_load_modules): Split out (and use) ...
36117 (grub_module_iterate): ... this function, which iterates through
36118 module objects and runs a hook.
36119 Comment out grub_mm_init_region() call, as it would cause non-ELF
36120 modules to be overwritten.
36121
36122 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36123 the memdisk image in its own region, make it part of the module list.
36124 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36125 (main): Parse --memdisk|-m option, and pass user-provided path as
36126 parameter to generate_image().
36127 (add_segments): Pass `memdisk_path' down to load_modules().
36128 (load_modules): Embed memdisk image in module section when requested.
36129 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36130 `header.type' instead of `header.offset'.
36131
36132 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36133 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36134 (memdisk_mod_LDFLAGS): New variables.
36135 * conf/i386-coreboot.rmk: Likewise.
36136 * conf/i386-ieee1275.rmk: Likewise.
36137
36138 2008-08-02 Robert Millan <rmh@aybabtu.com>
36139
36140 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36141 (backward_relocator): New variables. Used to allocate and relocate
36142 the payload, respectively.
36143 (grub_multiboot_load_elf32): Load into heap instead of requested
36144 address, install the appropriate relocator code in each bound of
36145 the payload, and set the entry point such that
36146 grub_multiboot_real_boot() will jump to one of them.
36147
36148 * kern/i386/loader.S (grub_multiboot_payload_size)
36149 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36150 (grub_multiboot_payload_entry_offset): New variables.
36151 (grub_multiboot_real_boot): Set cpu context to what the relocator
36152 expects, and jump to the relocator instead of the payload.
36153
36154 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36155 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36156 (grub_multiboot_payload_entry_offset): Export.
36157
36158 2008-08-01 Bean <bean123ch@gmail.com>
36159
36160 * normal/menu_entry.c (editor_getline): Don't return the original
36161 string as result, as it will be released by lexer once it has done
36162 using it.
36163
36164 2008-08-01 Robert Millan <rmh@aybabtu.com>
36165
36166 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36167 within menuentries, not before them.
36168 util/grub.d/10_hurd.in: Likewise.
36169
36170 2008-08-01 Bean <bean123ch@gmail.com>
36171
36172 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36173 (bufio_mod_SOURCES): New macro.
36174 (bufio_mod_CFLAGS): Likewise.
36175 (bufio_mod_LDFLAGS): Likewise.
36176
36177 * include/grub/bufio.h: New file.
36178
36179 * io/bufio.c: Likewise.
36180
36181 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36182 (grub_video_reader_png): Use grub_buffile_open to open file.
36183
36184 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36185 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36186
36187 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36188 (grub_video_reader_tga): Use grub_buffile_open to open file.
36189
36190 * font/manager.c: Include <grub/bufio.h>.
36191 (add_font): Use grub_buffile_open to open file.
36192
36193 2008-07-31 Robert Millan <rmh@aybabtu.com>
36194
36195 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36196 ELF segments, use a macro for arbitrarily accessing any of them instead
36197 of preparing a pointer that allows access to one at a time.
36198 (grub_multiboot_load_elf64): Likewise.
36199
36200 2008-07-31 Bean <bean123ch@gmail.com>
36201
36202 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36203 GRUB_KERNEL_MACHINE_DATA_END.
36204
36205 2008-07-30 Robert Millan <rmh@aybabtu.com>
36206
36207 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36208 Increase from 0x50 to 0x60.
36209 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36210 use UUIDs to identify the root drive for them. If that's not
36211 possible, abort.
36212 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36213 check, for cross-disk installs.
36214
36215 2008-07-30 Robert Millan <rmh@aybabtu.com>
36216
36217 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36218 is non-empty, use it to set the `prefix' environment variable instead
36219 of the usual approach.
36220 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36221 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36222 environment variable instead of dummy make_install_device().
36223
36224 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36225 (start): Insert a data section, with `grub_prefix' variable.
36226 * kern/i386/linuxbios/startup.S: Likewise.
36227
36228 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36229 New variable reference.
36230 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36231 New macro. Defines offset of `grub_prefix' within startup.S (relative
36232 to `start').
36233 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36234 section within startup.S (relative to `start').
36235 * include/grub/i386/coreboot/kernel.h: Likewise.
36236
36237 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36238 Overwrite grub_prefix with its contents, at the beginning of the
36239 first segment.
36240 (main): Understand -p|--prefix.
36241
36242 2008-07-30 Robert Millan <rmh@aybabtu.com>
36243
36244 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36245
36246 2008-07-30 Robert Millan <rmh@aybabtu.com>
36247
36248 * term/i386/pc/vga_text.c (grub_console_cls): Use
36249 grub_console_gotoxy() to go back to beginning of the screen.
36250 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36251
36252 2008-07-29 Christian Franke <franke@computer.org>
36253
36254 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36255 Add conversion of emulated mount points on Cygwin.
36256
36257 2008-07-29 Christian Franke <franke@computer.org>
36258
36259 * util/update-grub.in: Add a check for admin
36260 group on Cygwin.
36261 Remove old `grub.cfg.new' before creation.
36262 Add `-f' to `mv' to handle the different filesystem
36263 semantics of Windows.
36264
36265 2008-07-29 Bean <bean123ch@gmail.com>
36266
36267 * normal/main.c (get_line): Fix buffer overflow bug.
36268
36269 2008-07-28 Robert Millan <rmh@aybabtu.com>
36270
36271 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36272 (struct grub_apple_header): New struct. Describes the layout of
36273 the partmap header.
36274 (apple_partition_map_iterate): Check the header magic as well as the
36275 partition magic (which was already being checked).
36276
36277 2008-07-28 Pavel Roskin <proski@gnu.org>
36278
36279 * genmk.rb: Add a warning to the beginning of the output that
36280 it's a generated file and should not be edited.
36281
36282 2008-07-28 Robert Millan <rmh@aybabtu.com>
36283
36284 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36285 with the same number are found, just use issue a warning with
36286 grub_dprintf(), as this error has been reported to be non-fatal.
36287
36288 2008-07-27 Robert Millan <rmh@aybabtu.com>
36289
36290 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36291 information.
36292
36293 2008-07-27 Bean <bean123ch@gmail.com>
36294
36295 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36296 (grub_fat_find_dir): Ignore case when comparing filename.
36297
36298 2008-07-27 Bean <bean123ch@gmail.com>
36299
36300 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36301 smallino, as it's more descriptive, and i8count can be confused with
36302 the other field count.
36303 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36304 inode type.
36305
36306 2008-07-27 Bean <bean123ch@gmail.com>
36307
36308 * commands/crc.c: New file.
36309
36310 * lib/crc.c: Likewise.
36311
36312 * include/grub/lib/crc.h: Likewise.
36313
36314 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36315
36316 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36317 (hexdump): Move this function to ...
36318
36319 * lib/hexdump.c: ... here.
36320
36321 * include/grub/hexdump.h: Renamed to ...
36322
36323 * include/grub/lib/hexdump.h: ... this.
36324
36325 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36326
36327 * util/grub-editenv.c: Likewise.
36328
36329 * include/envblk.h: Renamed to ...
36330
36331 * include/lib/envblk.h: ... this.
36332
36333 * util/envblk.c: Renamed to ...
36334
36335 * lib/envblk.c: ... this.
36336
36337 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36338 lib/hexdump.c.
36339 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36340 (pkglib_MODULES): Add crc.mod.
36341 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36342 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36343 (crc_mod_SOURCES): New macro.
36344 (crc_mod_CFLAGS): Likewise.
36345 (crc_mod_LDFLAGS): Likewise.
36346
36347 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36348
36349 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36350
36351 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36352
36353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36354
36355 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36356
36357 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
36358
36359 * commands/help.c: Include <grub/term.h>.
36360 (TERM_WIDTH): Removed. Updated all users.
36361
36362 2008-07-27 Pavel Roskin <proski@gnu.org>
36363
36364 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36365 spurious warnings about a comment within a comment.
36366
36367 2008-07-25 Robert Millan <rmh@aybabtu.com>
36368
36369 * util/getroot.c (find_root_device): Skip devices that match
36370 /dev/dm-[0-9]. This lets the real device be found for any type of
36371 abstraction (LVM, EVMS, RAID..).
36372 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36373 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36374 device is found first, find_root_device() will now skip it.
36375
36376 2008-07-24 Pavel Roskin <proski@gnu.org>
36377
36378 * include/grub/types.h: Use __builtin_bswap32() and
36379 __builtin_bswap64() with gcc 4.3 and newer.
36380
36381 2008-07-24 Christian Franke <franke@computer.org>
36382
36383 * util/i386/pc/grub-install.in: If `--debug' is specified,
36384 pass `--verbose' to grub-setup.
36385 Abort script if make_system_path_relative_to_its_root() fails.
36386
36387 2008-07-24 Bean <bean123ch@gmail.com>
36388
36389 * configure.ac: Fixed a bug caused by the previous cygwin patch,
36390 variable `target_platform' should be `platform'.
36391
36392 2008-07-24 Bean <bean123ch@gmail.com>
36393
36394 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
36395 (grub_png_init_fixed_block): New function.
36396 (grub_png_decode_image_data): Handle fixed huffman code compression.
36397
36398 2008-07-24 Bean <bean123ch@gmail.com>
36399
36400 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
36401 (grub_pe2elf_SOURCES): New macro.
36402 (CLEANFILES): Add grub-pe2elf.
36403
36404 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
36405 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
36406 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
36407 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
36408 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
36409 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
36410 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
36411 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
36412 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
36413 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
36414 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
36415 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
36416 (GRUB_PE32_DT_FUNCTION): Likewise.
36417 (GRUB_PE32_REL_I386_DIR32): Likewise.
36418 (GRUB_PE32_REL_I386_REL32): Likewise.
36419 (grub_pe32_symbol): New structure.
36420 (grub_pe32_reloc): Likewise.
36421
36422 * util/grub-pe2elf.c: New file.
36423
36424 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
36425 start symbol in non pc platform.
36426
36427 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
36428
36429 The following patches are from Christian Franke.
36430
36431 * include/grub/dl.h: Remove .previous, gas supports this only
36432 for ELF format.
36433
36434 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
36435 Remove .type, gas supports this only for ELF format.
36436
36437 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
36438 nullbytes in symbol table. This fixes an infinite loop if table is
36439 zero filled.
36440
36441 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
36442 TARGET_IMG_LDFLAGS and EXEEXT.
36443
36444 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
36445 TARGET_IMG_LDFLAGS_AC.
36446 (grub_CHECK_STACK_ARG_PROBE): New function.
36447
36448 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
36449
36450 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
36451
36452 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
36453 to set TARGET_IMG_LD* accordingly.
36454 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
36455 Add call to grub_CHECK_STACK_ARG_PROBE.
36456 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
36457
36458 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
36459
36460 * genmk.rb: Add EXEEXT to CLEANFILES.
36461
36462 2008-07-23 Robert Millan <rmh@aybabtu.com>
36463
36464 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
36465 define the codes for arrows and lines used for the menu).
36466 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
36467 as well.
36468
36469 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
36470 fonts, because the latter are too slow.
36471
36472 2008-07-21 Bean <bean123ch@gmail.com>
36473
36474 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
36475 a20. Run keyboard test last, as it will cause macbook to halt.
36476
36477 2008-07-18 Pavel Roskin <proski@gnu.org>
36478
36479 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
36480 load foreign architecture modules correctly anyway. Keep
36481 support for loading host architecture modules, whether we
36482 compile them or not.
36483
36484 2008-07-17 Pavel Roskin <proski@gnu.org>
36485
36486 * configure.ac: Use -m32 or -m64 regardless of whether we had to
36487 change target_cpu. The compiler default can mismatch target_cpu
36488 in any case.
36489
36490 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36491 * kern/efi/efi.c: Likewise.
36492
36493 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36494 target compiler is functional.
36495 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
36496 are set up.
36497
36498 * configure.ac: Default to efi platform for x86_64-apple. Allow
36499 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
36500 adjustments from the rest, only do them if target is not
36501 explicitly given. Merge other adjustments with the final sanity
36502 check. Remove an extraneous check for supported CPU. Be
36503 specific which CPU and which platform is not supported.
36504
36505 * configure.ac: Default to pc platform for x86_64.
36506
36507 2008-07-17 Robert Millan <rmh@aybabtu.com>
36508
36509 Partial LinuxBIOS -> Coreboot rename.
36510
36511 * conf/i386-linuxbios.rmk: Renamed to ...
36512 * conf/i386-coreboot.rmk: ... this.
36513 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
36514 * configure.ac: Accept "coreboot" as input platform (but maintain
36515 compatibility with "linuxbios").
36516 * include/grub/i386/linuxbios: Renamed to ...
36517 * include/grub/i386/coreboot: ... this.
36518
36519 2008-07-17 Bean <bean123ch@gmail.com>
36520
36521 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
36522 (appleldr_mod_SOURCE): New variable.
36523 (appleldr_mod_CFLAGS): Likewise.
36524 (appleldr_mod_LDFLAGS): Likewise.
36525 (pci_mod_SOURCES): Likewise.
36526 (pci_mod_CFLAGS): Likewise.
36527 (pci_mod_LDFLAGS): Likewise.
36528 (lspci_mod_SOURCES): Likewise.
36529 (lspci_mod_CFLAGS): Likewise.
36530 (lspci_mod_LDFLAGS): Likewise.
36531
36532 * conf/x86_64-efi.rmk: New file.
36533
36534 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
36535 macro.
36536 (grub_efidisk_write): Likewise.
36537
36538 * include/efi/api.h (efi_call_0): New macro.
36539 (efi_call_1): Likewise.
36540 (efi_call_2): Likewise.
36541 (efi_call_3): Likewise.
36542 (efi_call_4): Likewise.
36543 (efi_call_5): Likewise.
36544 (efi_call_6): Likewise.
36545
36546 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36547 grub_rescue_cmd_chainloader.
36548
36549 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36550 (grub_pe32_optional_header): Change some fields based on i386 or
36551 x86_64 platform.
36552 (GRUB_PE32_PE32_MAGIC): Likewise.
36553
36554 * include/grub/efi/uga_draw.h: New file.
36555
36556 * include/grub/elf.h (STN_ABS): New constant.
36557 (R_X86_64_NONE): Relocation constant for x86_64.
36558 (R_X86_64_64): Likewise.
36559 (R_X86_64_PC32): Likewise.
36560 (R_X86_64_GOT32): Likewise.
36561 (R_X86_64_PLT32): Likewise.
36562 (R_X86_64_COPY): Likewise.
36563 (R_X86_64_GLOB_DAT): Likewise.
36564 (R_X86_64_JUMP_SLOT): Likewise.
36565 (R_X86_64_RELATIVE): Likewise.
36566 (R_X86_64_GOTPCREL): Likewise.
36567 (R_X86_64_32): Likewise.
36568 (R_X86_64_32S): Likewise.
36569 (R_X86_64_16): Likewise.
36570 (R_X86_64_PC16): Likewise.
36571 (R_X86_64_8): Likewise.
36572 (R_X86_64_PC8): Likewise.
36573
36574 * include/grub/i386/efi/pci.h: New file.
36575
36576 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36577 Change it value based on platform.
36578 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36579 (GRUB_E820_RAM): Likewise.
36580 (GRUB_E820_RESERVED): Likewise.
36581 (GRUB_E820_ACPI): Likewise.
36582 (GRUB_E820_NVS): Likewise.
36583 (GRUB_E820_EXEC_CODE): Likewise.
36584 (GRUB_E820_MAX_ENTRY): Likewise.
36585 (grub_e820_mmap): New structure.
36586 (linux_kernel_header): Change the efi field according to different
36587 kernel version, also field from linux_kernel_header.
36588
36589 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36590
36591 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36592 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36593 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36594 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36595 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36596 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36597 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36598 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36599 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36600 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36601
36602 * include/grub/x86_64/efi/kernel.h: New file.
36603
36604 * include/grub/x86_64/efi/loader.h: Likewise.
36605
36606 * include/grub/x86_64/efi/machine.h: Likewise.
36607
36608 * include/grub/x86_64/efi/pci.h: Likewise.
36609
36610 * include/grub/x86_64/efi/time.h: Likewise.
36611
36612 * include/grub/x86_64/linux.h: Likewise.
36613
36614 * include/grub/x86_64/setjmp.h: Likewise.
36615
36616 * include/grub/x86_64/time.h: Likewise.
36617
36618 * include/grub/x86_64/types.h: Likewise.
36619
36620 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36621 GRUB_TARGET_SIZEOF_VOID_P.
36622
36623 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36624 (grub_efi_locate_handle): Likewise.
36625 (grub_efi_open_protocol): Likewise.
36626 (grub_efi_set_text_mode): Likewise.
36627 (grub_efi_stall): Likewise.
36628 (grub_exit): Likewise.
36629 (grub_reboot): Likewise.
36630 (grub_halt): Likewise.
36631 (grub_efi_exit_boot_services): Likewise.
36632 (grub_get_rtc): Likewise.
36633
36634 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36635 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36636 (grub_efi_allocate_pages): Wrap efi calls.
36637 (grub_efi_free_pages): Wrap efi calls.
36638 (grub_efi_get_memory_map): Wrap efi calls.
36639
36640 * kern/x86_64/dl.c: New file.
36641
36642 * kern/x86_64/efi/callwrap.S: Likewise.
36643
36644 * kern/x86_64/efi/startup.S: Likewise.
36645
36646 * loader/efi/appleloader.c: Likewise.
36647
36648 * loader/efi/chainloader.c (cmdline): New variable.
36649 (grub_chainloader_unload): Wrap efi calls.
36650 (grub_chainloader_boot): Likewise.
36651 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36652 command line.
36653
36654 * loader/efi/chainloader_normal.c (chainloader_command):
36655 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36656 command line.
36657
36658 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36659 method.
36660 (grub_e820_add_region): New function.
36661 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36662 booting.
36663 (grub_find_video_card): New function.
36664 (grub_linux_setup_video): New function.
36665 (grub_rescue_cmd_linux): Probe for video information.
36666
36667 * normal/x86_64/setjmp.S: New file.
36668
36669 * term/efi/console.c (map_char): New function.
36670 (grub_console_putchar): Map unicode char.
36671 (grub_console_checkkey): Wrap efi calls.
36672 (grub_console_getkey): Likewise.
36673 (grub_console_getwh): Likewise.
36674 (grub_console_gotoxy): Likewise.
36675 (grub_console_cls): Likewise.
36676 (grub_console_setcolorstate): Likewise.
36677 (grub_console_setcursor): Likewise.
36678
36679 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36680
36681 2008-07-16 Pavel Roskin <proski@gnu.org>
36682
36683 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36684 format strings.
36685
36686 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36687 pointer, not an integer. This fixes a warning and prevents
36688 precision loss on 64-bit systems.
36689 (relocate_addresses): Remove unneeded cast.
36690
36691 2008-07-15 Pavel Roskin <proski@gnu.org>
36692
36693 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36694
36695 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36696
36697 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36698 Fix comparison between signed and unsigned.
36699
36700 * include/grub/i386/ieee1275/console.h: Declare
36701 grub_console_init() and grub_console_fini().
36702
36703 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36704 It's empty and unused.
36705
36706 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36707 beginning to avoid warnings with some compilers.
36708
36709 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36710 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36711
36712 2008-07-14 Pavel Roskin <proski@gnu.org>
36713
36714 * kern/env.c (grub_register_variable_hook): Don't copy empty
36715 string, it leaks memory. Pass "" to grub_env_set(), it should
36716 handle constant strings.
36717
36718 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36719 * commands/cmp.c (grub_cmd_cmp): Likewise.
36720 * kern/dl.c (grub_dl_flush_cache): Likewise.
36721 (grub_dl_load_core): Likewise.
36722 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36723 (grub_elf64_load_phdrs): Likewise.
36724
36725 2008-07-13 Pavel Roskin <proski@gnu.org>
36726
36727 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36728 between signed and unsigned.
36729 (LzmaEnc_Finish): Fix warning about an unused parameter.
36730
36731 2008-07-13 Bean <bean123ch@gmail.com>
36732
36733 * Makefile.in (enable_lzo): New rule.
36734
36735 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36736
36737 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36738
36739 * boot/i386/pc/lnxboot.S: #include <config.h>.
36740
36741 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
36742 its value according to the compression algorithm used, lzo or lzma.
36743
36744 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36745 compression algorithm according to configure macro.
36746
36747 * kern/i386/pc/startup.S (codestart): Likewise.
36748
36749 * kern/i386/pc/lzma_decode.S: New file.
36750
36751 * include/grub/lib/LzFind.h: Likewise.
36752
36753 * include/grub/lib/LzHash.h: Likewise.
36754
36755 * include/grub/lib/LzmaDec.h: Likewise.
36756
36757 * include/grub/lib/LzmaEnc.h: Likewise.
36758
36759 * include/grub/lib/LzmaTypes.h: Likewise.
36760
36761 * lib/LzFind.c: Likewise.
36762
36763 * lib/LzmaDec.c: Likewise.
36764
36765 * lib/LzmaEnc.c: Likewise.
36766
36767 2008-07-13 Bean <bean123ch@gmail.com>
36768
36769 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36770 (grub_ext4_extent_header): New structure.
36771 (grub_ext4_extent): Likewise.
36772 (grub_ext4_extent_idx): Likewise.
36773 (grub_ext4_find_leaf): New function.
36774 (grub_ext2_read_block): Handle extents.
36775
36776 2008-07-12 Robert Millan <rmh@aybabtu.com>
36777
36778 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36779
36780 2008-07-11 Robert Millan <rmh@aybabtu.com>
36781
36782 * util/grub.d/40_custom.in: New file. Example on how to add custom
36783 entries to /etc/grub.d.
36784 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36785 40_custom (implicitly, by merging all the grub.d rules).
36786
36787 2008-07-11 Pavel Roskin <proski@gnu.org>
36788
36789 * commands/read.c (grub_getline): Fix invalid memory access.
36790 Don't add newline to the variable value.
36791
36792 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36793 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36794 (serial_hw_get_port): Check validity of the port number.
36795 (grub_cmd_serial): Check return value of serial_hw_get_port().
36796
36797 2008-07-07 Pavel Roskin <proski@gnu.org>
36798
36799 * boot/i386/pc/diskboot.S (notification_string): Replace
36800 "Loading kernel" with just "loading". This is shorter, less
36801 confusing and saves a few bytes for possible future changes.
36802
36803 2008-07-05 Pavel Roskin <proski@gnu.org>
36804
36805 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36806 size for ATAPI devices, they are undefined. Output sector
36807 number in decimal form.
36808
36809 * disk/ata.c: Use named constants for status bits.
36810
36811 2008-07-04 Pavel Roskin <proski@gnu.org>
36812
36813 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36814 grub_addr_t before casting it to the void pointer to fix a
36815 warning. Non-addressable regions are discarded earlier.
36816 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36817 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36818 (check_signature): Don't shadow table_header.
36819 (grub_linuxbios_table_iterate): Cast numeric constants to
36820 grub_linuxbios_table_header_t.
36821 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36822 grub_stop().
36823
36824 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36825 prevent warnings.
36826
36827 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36828 pointer, which can cause warnings. Support 64-bit addresses.
36829
36830 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36831 of sizeof(long). This fixes PowerPC image generation on x86_64.
36832
36833 2008-07-04 Robert Millan <rmh@aybabtu.com>
36834
36835 This fixes a performance issue when pc & gpt partmap iterators
36836 didn't abort iteration even after our hook found what it was
36837 looking for (often causing expensive probes of non-existent drives).
36838
36839 Some callers relied on previous buggy behaviour, since they would
36840 raise an error when their own hooks caused early abortion of its
36841 iteration.
36842
36843 * kern/device.c (grub_device_open): Improve error message.
36844 * disk/lvm.c (grub_lvm_open): Likewise.
36845 * disk/raid.c (grub_raid_open): Likewise.
36846
36847 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
36848 when hook requests it, independently of grub_errno.
36849 (pc_partition_map_probe): Do not fail when find_func() caused
36850 early abortion of pc_partition_map_iterate().
36851
36852 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
36853 when hook requests it, independently of grub_errno.
36854 (gpt_partition_map_probe): Do not fail when find_func() caused
36855 early abortion of gpt_partition_map_iterate().
36856
36857 * kern/partition.c (grub_partition_iterate): Abort parent iteration
36858 when hook requests it, independently of grub_errno. Do not fail when
36859 part_map_iterate_hook() caused early abortion of p->iterate().
36860
36861 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
36862 when grub_partition_iterate() returned with non-zero.
36863
36864 2008-07-03 Pavel Roskin <proski@gnu.org>
36865
36866 * disk/ata.c (grub_ata_pio_write): Check status before writing,
36867 like we do in grub_ata_pio_read().
36868 (grub_ata_readwrite): Always write individual sectors. Fix the
36869 sector count for the remainder.
36870 (grub_ata_write): Enable writing to ATA devices. Correctly
36871 report error for ATAPI devices.
36872
36873 2008-07-02 Pavel Roskin <proski@gnu.org>
36874
36875 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
36876 warning.
36877
36878 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
36879 for every read sector, we already increment it for the whole
36880 batch. This fixes reading more than 256 sectors at once.
36881
36882 * util/grub-editenv.c (cmd_info): Cast argument to long
36883 explicitly. ptrdiff_t reduces to int on i386.
36884
36885 * util/grub-editenv.c (main): Be specific which parameter is
36886 missing.
36887
36888 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
36889 (memdisk): Make memdisk_orig_addr a pointer.
36890
36891 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
36892 for file offsets, use grub_off_t instead. Fix printf format
36893 warnings.
36894
36895 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
36896 there. Real unexpected warnings should not drown in the noise
36897 about known problems.
36898
36899 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
36900 grub_disk_addr_t for memory addresses.
36901
36902 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
36903 explicitly to fix a warning.
36904
36905 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
36906
36907 * Makefile.in (MODULE_LDFLAGS): New variable.
36908 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
36909 the linker accepts --build-id=none.
36910 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
36911 MODULE_LDFLAGS.
36912 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
36913
36914 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36915 those in Linux XFS code. Provide a way to access 64-bit parent
36916 inode.
36917 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36918 the end of struct grub_xfs_dir_header.
36919
36920 2008-07-02 Bean <bean123ch@gmail.com>
36921
36922 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36923 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36924 and GRUB_IEEE1275_FLAG_NO_ANSI.
36925
36926 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36927 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36928 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36929
36930 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36931 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36932
36933 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36934 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36935
36936 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36937 esc sequence on non ANSI terminal.
36938 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36939
36940 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36941 beginning of file.
36942
36943 2008-07-02 Bean <bean123ch@gmail.com>
36944
36945 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36946 (grub_editenv_SOURCES): New variable.
36947 (pkglib_MODULES): Add loadenv.mod.
36948 (loadenv_mod_SOURCES): New variable.
36949 (loadenv_mod_CFLAGS): Likewise.
36950 (loadenv_mod_LDFLAGS): Likewise.
36951
36952 * include/grub/envblk.h: New file.
36953
36954 * util/envblk.c: New file.
36955
36956 * util/grub-editenv.c: New file.
36957
36958 * commands/loadenv.c: New file.
36959
36960 2008-07-01 Pavel Roskin <proski@gnu.org>
36961
36962 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36963 not unsigned char. This fixes warnings and is consistent with
36964 other tags.
36965
36966 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36967
36968 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36969
36970 * term/tparm.c (analyze): Always set *popcount.
36971
36972 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36973 cast to fix a warning.
36974
36975 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36976 cast to suppress a warning.
36977
36978 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36979 grub_fshelp_read_file() expects.
36980
36981 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36982 write uuid as a 32-bit value in CPU byte order, so declare and
36983 use it as such.
36984
36985 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36986 long if the format specifier expects it.
36987 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36988 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36989 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36990 long to fix a warning.
36991 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36992 grub_dprintf() arguments to fix warnings.
36993
36994 2008-06-30 Pavel Roskin <proski@gnu.org>
36995
36996 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36997 install_bsd_part immediately before core.img is embedded or
36998 modified on disk. This fixes core.img verification if core.img
36999 cannot be embedded.
37000
37001 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37002 core_path to calculate the blocklist.
37003 Patch from Javier Martín <lordhabbit@gmail.com>
37004
37005 2008-06-29 Robert Millan <rmh@aybabtu.com>
37006
37007 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37008 block to disk block.
37009 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37010 Patch from Niels Böhm <bitbucket@arcor.de>
37011
37012 2008-06-29 Robert Millan <rmh@aybabtu.com>
37013
37014 * util/update-grub_lib.in (font_path): Search for fonts in
37015 /boot/grub first, which is more likely to be readable (we aren't
37016 deciding where fonts live, just looking for them).
37017
37018 2008-06-26 Pavel Roskin <proski@gnu.org>
37019
37020 * util/biosdisk.c (read_device_map): Don't leave dead map
37021 entries for devices failing stat() check.
37022
37023 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37024 core_path_dev for the core.img path on the target device.
37025
37026 2008-06-26 Robert Millan <rmh@aybabtu.com>
37027
37028 * disk/fs_uuid.c: New file.
37029 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37030 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37031 (fs_uuid_mod_LDFLAGS): New variables.
37032 * include/grub/disk.h (grub_disk_dev_id): Add
37033 `GRUB_DISK_DEVICE_UUID_ID'.
37034 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37035 implement iterate().
37036
37037 2008-06-26 Robert Millan <rmh@aybabtu.com>
37038
37039 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37040 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37041 Linux image includes no initrd.
37042
37043 2008-06-21 Javier Martín <lordhabbit@gmail.com>
37044
37045 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37046 call to resolve the core image location that effectively appended the
37047 name twice.
37048
37049 2008-06-21 Robert Millan <rmh@aybabtu.com>
37050
37051 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37052 call from here ...
37053
37054 * util/grub.d/10_hurd.in: ... to here ...
37055 * util/grub.d/10_linux.in: ... and here.
37056
37057 2008-06-19 Robert Millan <rmh@aybabtu.com>
37058
37059 * kern/main.c (grub_main): Export `prefix' variable immediately
37060 after it has been set by grub_machine_set_prefix().
37061
37062 2008-06-19 Robert Millan <rmh@aybabtu.com>
37063
37064 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37065 search result when not saving to variable, not the other way around.
37066 When saving to variable, abort iteration as soon as a match is found.
37067
37068 2008-06-19 Robert Millan <rmh@aybabtu.com>
37069
37070 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37071 check for partition that provides /boot/grub. Its logic is flawed,
37072 as it prevents prepare_grub_to_access_device() from being called
37073 multiple times.
37074
37075 2008-06-19 Robert Millan <rmh@aybabtu.com>
37076
37077 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37078 "insmod" command directly when abstraction modules are needed,
37079 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
37080 since it had already been processed).
37081
37082 2008-06-19 Pavel Roskin <proski@gnu.org>
37083
37084 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37085 changed. This is needed in case GRUB_LIBDIR changes.
37086 * conf/i386-ieee1275.rmk: Likewise.
37087 * conf/i386-linuxbios.rmk: Likewise.
37088 * conf/i386-pc.rmk: Likewise.
37089 * conf/powerpc-ieee1275.rmk: Likewise.
37090
37091 2008-06-18 Pavel Roskin <proski@gnu.org>
37092
37093 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37094 kernel_elf_symlist.c to symlist.c for consistency with other
37095 architectures. Update all users.
37096 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37097
37098 2008-06-18 Robert Millan <rmh@aybabtu.com>
37099
37100 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37101 it in prefix.
37102
37103 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37104 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37105 a RAID device, run setup() for all members independently on whether
37106 LVM abstraction is being used.
37107 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37108 If grub-mkimage has set `*install_dos_part == -2', don't override this
37109 value.
37110 Perform *install_dos_part adjustments independently on whether
37111 we're embedding or not.
37112 Clarify error message when image is too big for embedding.
37113 Remove duplicate *install_dos_part stanza.
37114
37115 2008-06-17 Robert Millan <rmh@aybabtu.com>
37116
37117 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37118 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37119 variables.
37120 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37121 values in grub_ofconsole_normal_color and
37122 grub_ofconsole_highlight_color (they're not directly related to
37123 background and foreground).
37124 (grub_ofconsole_setcolorstate): Extract background and foreground
37125 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37126
37127 2008-06-17 Robert Millan <rmh@aybabtu.com>
37128
37129 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37130 /boot/grub for the check in last commit, not /boot (they could be
37131 different partitions).
37132
37133 2008-06-16 Robert Millan <rmh@aybabtu.com>
37134
37135 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37136 asked to setup access for the same partition that provides /boot,
37137 don't bother using UUIDs since our root already has the value we
37138 want.
37139
37140 2008-06-16 Robert Millan <rmh@aybabtu.com>
37141
37142 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37143 I2O devices.
37144 Patch from Sven Mueller <sven@debian.org>.
37145
37146 2008-06-16 Robert Millan <rmh@aybabtu.com>
37147
37148 * util/update-grub.in: Check for $EUID instead of $UID.
37149 Reported by Vincent Zweije.
37150
37151 2008-06-16 Bean <bean123ch@gmail.com>
37152
37153 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
37154 (grub_ext2_read_block): Likewise.
37155 (grub_ext2_read_inode): Likewise.
37156 (grub_ext2_mount): Likewise.
37157 (grub_ext2_close): Likewise.
37158 (grub_ext3_get_journal): Removed.
37159
37160 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
37161 (grub_reiserfs_read_symlink): Likewise.
37162 (grub_reiserfs_mount): Likewise.
37163 (grub_reiserfs_open): Likewise.
37164 (grub_reiserfs_read): Likewise.
37165 (grub_reiserfs_close): Likewise.
37166 (grub_reiserfs_get_journal): Removed.
37167
37168 * fs/fshelp.c (grub_fshelp_read): Removed.
37169 (grub_fshelp_map_block): Likewise.
37170
37171 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37172 (grub_fshelp_journal): Likewise.
37173 (grub_fshelp_read): Likewise.
37174 (grub_fshelp_map_block): Likewise.
37175
37176 2008-06-16 Pavel Roskin <proski@gnu.org>
37177
37178 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37179 floating point anymore.
37180 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37181
37182 2008-06-15 Pavel Roskin <proski@gnu.org>
37183
37184 * commands/ls.c (grub_ls_list_files): Use integer calculations
37185 for human readable format, avoid floating point use.
37186 * kern/misc.c (grub_ftoa): Remove.
37187 (grub_vsprintf): Remove floating point support.
37188
37189 2008-06-15 Robert Millan <rmh@aybabtu.com>
37190
37191 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
37192 devices.
37193 Reported by Max Vozeler.
37194
37195 2008-06-15 Robert Millan <rmh@aybabtu.com>
37196
37197 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37198 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37199 skipped later.
37200 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37201 the beginning of the prefix.
37202
37203 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37204 It is assumed that if we have a memdisk, grub-mkimage has set
37205 grub_prefix to include the "(memdisk)" drive in it.
37206
37207 2008-06-15 Robert Millan <rmh@aybabtu.com>
37208
37209 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37210 Initialize keyboard controller after registering the terminal, so that
37211 grub_printf() can be called from grub_keyboard_controller_init().
37212
37213 2008-06-15 Robert Millan <rmh@aybabtu.com>
37214
37215 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37216 extent-btree which is written as big endian on disk.
37217 Reported by Alain Greppin <al@chilibi.org>.
37218
37219 2008-06-14 Robert Millan <rmh@aybabtu.com>
37220
37221 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37222 * util/i386/pc/grub-install.in (modules): Likewise.
37223
37224 2008-06-13 Pavel Roskin <proski@gnu.org>
37225
37226 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37227
37228 2008-06-13 Bean <bean123ch@gmail.com>
37229
37230 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37231
37232 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37233
37234 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37235 to indicate sparse block.
37236
37237 2008-06-12 Pavel Roskin <proski@gnu.org>
37238
37239 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37240 number, grub_fshelp_read() does it for us.
37241
37242 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37243 linear disk read with journal translation.
37244 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37245 * include/grub/fshelp.h: Declare grub_fshelp_read().
37246
37247 2008-06-09 Pavel Roskin <proski@gnu.org>
37248
37249 * fs/minix.c (grub_minix_mount): Handle error reading
37250 superblock.
37251
37252 2008-06-08 Robert Millan <rmh@aybabtu.com>
37253
37254 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37255 don't append the RAID prefix afterwards.
37256 Reported by Clint Adams.
37257
37258 2008-06-08 Robert Millan <rmh@aybabtu.com>
37259
37260 Based on description from Pavel:
37261 * kern/disk.c (grub_disk_check_range): Rename to ...
37262 (grub_disk_adjust_range): ... this. Add a comment explaining the
37263 tasks performed by this function.
37264
37265 2008-06-08 Robert Millan <rmh@aybabtu.com>
37266
37267 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37268 `num_serial' (for consistency with other variables).
37269 (struct grub_ntfs_data): Add `uuid' member.
37270 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37271 (grub_ntfs_uuid): New function.
37272 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37273
37274 2008-06-07 Pavel Roskin <proski@gnu.org>
37275
37276 * util/biosdisk.c (open_device): Revert last change to the
37277 function, it broke installation. The sector needs to be
37278 different dependent on which device is opened.
37279
37280 2008-06-06 Robert Millan <rmh@aybabtu.com>
37281
37282 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37283 rest of GRUB, and breakage doesn't happen if its value were modified.
37284
37285 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37286 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37287 a constant (same value).
37288 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37289 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37290
37291 2008-06-06 Robert Millan <rmh@aybabtu.com>
37292
37293 * util/biosdisk.c (open_device): Do not modify sector offset when
37294 accessing a partition. kern/disk.c already handles this for us.
37295
37296 2008-06-06 Robert Millan <rmh@aybabtu.com>
37297
37298 * util/grub-emu.c (grub_machine_init): Move code in this function from
37299 here ...
37300 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37301 segfault in case grub_printf() is called).
37302
37303 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37304 grub_probe. Update all users not to explicitly add it again.
37305 (grub_device): New variable; contains corresponding device for grubdir.
37306 (fs_module, partmap_module, devabstraction_module): Pass
37307 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37308 every time.
37309
37310 2008-06-05 Robert Millan <rmh@aybabtu.com>
37311
37312 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37313 is found, print it (same layout as with labels).
37314
37315 2008-06-04 Robert Millan <rmh@aybabtu.com>
37316
37317 * util/biosdisk.c (get_drive): Rename to ...
37318 (find_grub_drive): ... this. Update all users.
37319
37320 (get_os_disk): Rename to ...
37321 (convert_system_partition_to_system_disk): ... this. Update all users.
37322
37323 (find_drive): Rename to ...
37324 (find_system_device): ... this. Update all users.
37325
37326 2008-06-04 Robert Millan <rmh@aybabtu.com>
37327
37328 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37329 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37330 (make_device_map): Likewise.
37331
37332 2008-06-01 Robert Millan <rmh@aybabtu.com>
37333
37334 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37335 before dereferencing it.
37336
37337 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37338 union with fat12/fat16-specific ones. Add some new fields, including
37339 `num_serial' for both versions.
37340 (struct grub_fat_data): Add `uuid' member.
37341 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37342 names. Initialize `data->uuid' using `num_serial'.
37343 (grub_fat_uuid): New function.
37344 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37345
37346 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37347 (grub_reiserfs_uuid): New function.
37348 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37349 member.
37350
37351 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37352 (grub_xfs_uuid): New function.
37353 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37354
37355 2008-06-01 Robert Millan <rmh@aybabtu.com>
37356
37357 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37358 code that is backward compatible with pre-uuid search command.
37359
37360 2008-05-31 Robert Millan <rmh@aybabtu.com>
37361
37362 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37363 floppies after everything else, to ensure floppy drive isn't accessed
37364 unnecessarily (patch from Bean).
37365
37366 2008-05-31 Robert Millan <rmh@aybabtu.com>
37367
37368 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37369 not print device names when we were asked to set a variable.
37370
37371 2008-05-31 Robert Millan <rmh@aybabtu.com>
37372
37373 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37374 using "cursor-on" and "cursor-off" commands (understood at least by
37375 the Open Firmware flavour on OLPC).
37376
37377 2008-05-31 Michael Gorven <michael@gorven.za.net>
37378
37379 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37380 on and off sequences.
37381
37382 2008-05-31 Robert Millan <rmh@aybabtu.com>
37383
37384 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
37385 * util/update-grub.in: Likewise.
37386
37387 2008-05-30 Pavel Roskin <proski@gnu.org>
37388
37389 * util/biosdisk.c (linux_find_partition): Simplify logic and
37390 make the code more universal. Keep special processing for
37391 devfs, but use a simple rule for all other devices. If the
37392 device ends with a number, append 'p' and the partition number.
37393 Otherwise, append only the partition number.
37394
37395 2008-05-30 Robert Millan <rmh@aybabtu.com>
37396
37397 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
37398 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
37399 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
37400 the `root' parameter to Linux.
37401
37402 2008-05-30 Robert Millan <rmh@aybabtu.com>
37403
37404 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
37405 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
37406 --fs_uuid with --fs-uuid.
37407 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
37408 all filesystems support them).
37409
37410 2008-05-30 Robert Millan <rmh@aybabtu.com>
37411
37412 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
37413 grub_printf() flags, since we're printing in units of 2 bytes.
37414
37415 2008-05-30 Robert Millan <rmh@aybabtu.com>
37416
37417 * util/grub.d/00_header.in: Remove obsolete comment referencing
37418 convert_system_path_to_grub_path().
37419 * util/update-grub.in: Likewise.
37420 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
37421 (convert_system_path_to_grub_path): Add a warning message explaining
37422 that this function is deprecated. Rely on is_path_readable_by_grub()
37423 for the readability checks.
37424 (font_path): Use is_path_readable_by_grub() for the readability
37425 check rather than convert_system_path_to_grub_path().
37426
37427 2008-05-30 Robert Millan <rmh@aybabtu.com>
37428
37429 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
37430 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
37431 converting it first.
37432 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
37433 grub.cfg for access to font file, and afterwards call it again to set
37434 the root device.
37435
37436 2008-05-30 Robert Millan <rmh@aybabtu.com>
37437
37438 * commands/search.c (options): Add --fs_uuid option.
37439 (search_fs_uuid): New function.
37440 (grub_cmd_search): Fix --set argument passing.
37441 Use search_fs_uuid() when requested via --fs_uuid.
37442 (grub_search_init): Update help message.
37443 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
37444 and redeclare it as an array of 16-bit words.
37445 (grub_ext2_uuid): New function.
37446 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
37447 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
37448 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
37449 (GRUB_DEVICE_BOOT_UUID): New variables.
37450 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
37451 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
37452 whenever possible.
37453 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
37454 just assume `root' variable has the right value.
37455 * util/grub.d/10_linux.in: Likewise.
37456 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
37457 via PRINT_FS_UUID.
37458 (main): Recognise `-t fs_uuid' argument.
37459
37460 2008-05-30 Robert Millan <rmh@aybabtu.com>
37461
37462 * util/biosdisk.c (map): Redefine structure to hold information
37463 about GRUB drive name.
37464 (get_drive): Reimplement without assuming (and verifying) BIOS-like
37465 drive names.
37466 (call_hook): Remove.
37467 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
37468 member. Assume drive has partitions.
37469 (grub_util_biosdisk_open): Access device names via `.device' struct
37470 member.
37471 (open_device): Likewise.
37472 (find_drive): Likewise.
37473 (read_device_map): Adjust map[] usage to match the new struct
37474 definition. Don't check for duplicates (still possible, but not cheap
37475 anymore).
37476 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
37477 (make_device_name): Remove assumption of BIOS-like drive names.
37478
37479 2008-05-30 Pavel Roskin <proski@gnu.org>
37480
37481 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
37482 compiling execute.c doesn't need grub_script.tab.h anymore.
37483 (normal/command.c_DEPENDENCIES): Likewise.
37484 (normal/function.c_DEPENDENCIES): Likewise.
37485 * conf/i386-ieee1275.rmk: Likewise.
37486 * conf/i386-linuxbios.rmk: Likewise.
37487 * conf/i386-pc.rmk: Likewise.
37488 * conf/powerpc-ieee1275.rmk: Likewise.
37489 * conf/sparc64-ieee1275.rmk: Likewise.
37490
37491 2008-05-29 Pavel Roskin <proski@gnu.org>
37492
37493 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37494 when scanning metadata for volume group name.
37495
37496 * include/grub/script.h: Don't include grub_script.tab.h. It's
37497 a generated file, which may only be included from the files with
37498 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
37499 use union YYSTYPE, as the later allows forward declaration.
37500 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
37501
37502 2008-05-29 Robert Millan <rmh@aybabtu.com>
37503
37504 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
37505 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
37506 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
37507 (grub_console_checkkey): Add grub_dprintf() call to report unknown
37508 scan codes.
37509
37510 2008-05-29 Robert Millan <rmh@aybabtu.com>
37511
37512 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
37513 control key combinations.
37514
37515 2008-05-29 Robert Millan <rmh@aybabtu.com>
37516
37517 * util/powerpc/ieee1275/grub-install.in: Move from here ...
37518 * util/ieee1275/grub-install.in: ... to here.
37519 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
37520 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
37521 (grub_install_SOURCES): Likewise.
37522
37523 2008-05-29 Robert Millan <rmh@aybabtu.com>
37524
37525 * fs/affs.c: Update copyright year.
37526 * fs/ext2.c: Likewise.
37527 * fs/fshelp.c: Likewise.
37528 * fs/hfsplus.c: Likewise.
37529 * fs/ntfs.c: Likewise.
37530 * fs/xfs.c: Likewise.
37531 * include/grub/fshelp.h: Likewise.
37532 * util/grub-mkdevicemap.c: Likewise.
37533
37534 2008-05-28 Robert Millan <rmh@aybabtu.com>
37535
37536 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
37537 might need to be fatfs to support some firmware implementations
37538 (e.g. OFW or EFI).
37539
37540 2008-05-28 Robert Millan <rmh@aybabtu.com>
37541
37542 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
37543 devices.
37544 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37545 (make_device_map): Likewise.
37546
37547 2008-05-20 Bean <bean123ch@gmail.com>
37548
37549 * fs/fshelp.c (grub_fshelp_map_block): New function.
37550 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37551 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37552
37553 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37554 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37555 (grub_fshelp_journal): New structure.
37556 (grub_fshelp_map_block): New function prototype.
37557 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37558 (grub_fshelp_map_block): Likewise.
37559
37560 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37561 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37562 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37563 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37564 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37565 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37566 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37567 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37568 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37569 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37570 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37571 (grub_ext2_sblock): New members for journal support.
37572 (grub_ext3_journal_header): New structure.
37573 (grub_ext3_journal_revoke_header): Likewise.
37574 (grub_ext3_journal_block_tag): Likewise.
37575 (grub_ext3_journal_sblock): Likewise.
37576 (grub_fshelp_node): New members logfile and journal.
37577 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37578 grub_fshelp_map_block to get real block number.
37579 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37580 number.
37581 (grub_ext2_read_inode): Likewise.
37582 (grub_ext3_get_journal): New function.
37583 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37584 (grub_ext2_close): Release memory used by journal.
37585
37586 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37587 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37588 (grub_reiserfs_transaction_header): Renamed to
37589 grub_reiserfs_description_block, replace field data with real_blocks.
37590 (grub_reiserfs_commit_block): New structure.
37591 (grub_reiserfs_data): New member journal.
37592 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37593 number.
37594 (grub_reiserfs_read_symlink): Likewise.
37595 (grub_reiserfs_iterate_dir): Likewise.
37596 (grub_reiserfs_open): Likewise.
37597 (grub_reiserfs_read): Likewise.
37598 (grub_reiserfs_get_journal): New function.
37599 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37600 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37601 using grub_reiserfs_get_journal.
37602 (grub_reiserfs_close): Release memory used by journal.
37603
37604 * fs/affs.c (grub_affs_read_block): Change block type to
37605 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37606
37607 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37608
37609 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37610
37611 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37612
37613 * fs/udf.c (grub_udf_read_block): Change block type to
37614 grub_disk_addr_t. Use type cast to avoid warning.
37615
37616 * fs/xfs.c (grub_xfs_read_block): Likewise.
37617
37618 2008-05-16 Christian Franke <franke@computer.org>
37619
37620 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37621 to ensure that break with ESC will always work.
37622 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37623 Remove ESC from keyboard queue.
37624
37625 2008-05-16 Christian Franke <franke@computer.org>
37626
37627 * util/biosdisk.c: [__CYGWIN__] Add includes.
37628 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37629 (get_os_disk): Move variable declarations to OS specific
37630 parts to avoid warning.
37631 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37632 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37633 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37634 Cygwin.
37635 * util/getroot.c: [__CYGWIN__] Add includes.
37636 (strip_extra_slashes): Fix "/" case.
37637 [__CYGWIN__] (get_win32_path): New function.
37638 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37639 [__CYGWIN__] (find_root_device): Disable.
37640 [__CYGWIN__] (get_bootsec_serial): New function.
37641 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37642 [__linux__] (grub_guess_root_device): Add early returns to simplify
37643 structure.
37644 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37645 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37646 check for Linux only.
37647
37648 2008-05-15 Bean <bean123ch@gmail.com>
37649
37650 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37651 keyboard hang problem in apple's intel mac.
37652
37653 2008-05-09 Robert Millan <rmh@aybabtu.com>
37654
37655 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37656 devices.
37657 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37658 (make_device_map): Likewise.
37659 Reported by Aurelien Jarno <aurel32@debian.org>
37660
37661 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
37662
37663 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37664 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37665 (make_device_map): Output entries for xvd type disks.
37666
37667 2008-05-07 Robert Millan <rmh@aybabtu.com>
37668
37669 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37670 devices.
37671 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37672 (make_device_map): Likewise.
37673 Reported by Roland Dreier <rdreier@cisco.com>
37674
37675 2008-05-07 Robert Millan <rmh@aybabtu.com>
37676
37677 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37678 grub_strstr() call. Correct a few mistakes in failure path handling.
37679
37680 2008-05-06 Robert Millan <rmh@aybabtu.com>
37681
37682 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37683 Do not print a trailing slash (therefore, the root directory is an
37684 empty string).
37685 (convert_system_path_to_grub_path): Do not remove trailing slash
37686 from make_system_path_relative_to_its_root() output.
37687
37688 * util/i386/pc/grub-install.in: Add trailing slash to output from
37689 make_system_path_relative_to_its_root().
37690
37691 2008-05-06 Robert Millan <rmh@aybabtu.com>
37692
37693 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37694 ensures that output lines aren't intermangled with those sent to
37695 stderr (via grub_util_info()).
37696 * util/grub-probe.c (grub_refresh): Likewise.
37697 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37698
37699 2008-05-05 Christian Franke <franke@computer.org>
37700
37701 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37702 Add Cygwin device names.
37703 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37704 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37705 (check_device): Return error instead of success on empty name.
37706 (make_device_map): Move label inside linux specific code to
37707 prevent compiler warning.
37708
37709 2008-04-30 Robert Millan <rmh@aybabtu.com>
37710
37711 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37712 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37713 first boot option.
37714 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37715
37716 2008-04-29 Robert Millan <rmh@aybabtu.com>
37717
37718 * docs/grub.cfg: New file (example GRUB configuration).
37719
37720 2008-04-26 Robert Millan <rmh@aybabtu.com>
37721
37722 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37723 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37724 and `disk/ieee1275/nand.c'.
37725
37726 2008-04-25 Bean <bean123ch@gmail.com>
37727
37728 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37729 i386-linuxbios.
37730
37731 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37732 change the buffer size to 4096 for cdrom device.
37733
37734 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37735 and nand.mod.
37736 (_linux_mod_SOURCES): New variable.
37737 (_linux_mod_CFLAGS): Likewise.
37738 (_linux_mod_LDFLAGS): Likewise.
37739 (linux_mod_SOURCES): Likewise.
37740 (linux_mod_CFLAGS): Likewise.
37741 (linux_mod_LDFLAGS): Likewise.
37742 (nand_mod_SOURCES): Likewise.
37743 (nand_mod_CFLAGS): Likewise.
37744 (nand_mod_LDFLAGS): Likewise.
37745
37746 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37747 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37748 type property. (nand device in olpc don't have this property)
37749
37750 * include/grub/disk.h (grub_disk_dev_id): New macro
37751 GRUB_DISK_DEVICE_NAND_ID.
37752
37753 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37754 function prototype.
37755 (grub_rescue_cmd_initrd): Likewise.
37756
37757 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37758 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37759 ofw_cif_handler and ofw_idt, adjust padding number.
37760
37761 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37762 GRUB_MACHINE_IEEE1275 is defined.
37763
37764 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37765 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37766
37767 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37768 on nested function heap_init.
37769 (grub_upper_mem): New variable for i386-ieee1275.
37770 (grub_get_extended_memory): New function for i386-ieee1275.
37771 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37772
37773 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37774 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37775 property.
37776
37777 * loader/i386/ieee1275/linux.c: New file.
37778
37779 * loader/i386/ieee1275/linux_normal.c: New file.
37780
37781 * disk/ieee1275/nand.c: New file.
37782
37783 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37784
37785 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37786 value.
37787 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37788
37789 2008-04-18 Robert Millan <rmh@aybabtu.com>
37790
37791 Restructures early code path on ieee1275 to unify grub_main() as
37792 the first C function that is executed in every platform.
37793
37794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37795 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37796 cmain().
37797 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37798 * kern/ieee1275/cmain.c (cmain): Rename to ...
37799 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37800 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37801 at the beginning.
37802
37803 2008-04-18 Robert Millan <rmh@aybabtu.com>
37804
37805 * util/update-grub.in: Fix syntax error when setting
37806 `GRUB_PRELOAD_MODULES'.
37807 Reported by Stephane Chazelas <stephane@artesyncp.com>
37808
37809 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37810
37811 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37812 section into account, newer toolchains generate unique build ids
37813 * configure.ac: remove the test for --build-id=none acceptance,
37814 we want build ids to be preserved
37815 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37816 far from other sections don't cause the raw binary images grow
37817 size
37818
37819 2008-04-15 Robert Millan <rmh@aybabtu.com>
37820
37821 * disk/lvm.c: Update copyright year.
37822 * kern/misc.c: Likewise.
37823
37824 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37825
37826 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
37827 there is no memory left for physical volume name.
37828
37829 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37830
37831 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37832 volume name mapping to support bigger than 9 character names properly.
37833
37834 2008-04-13 Robert Millan <rmh@aybabtu.com>
37835
37836 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37837 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37838
37839 2008-04-13 Christian Franke <franke@computer.org>
37840
37841 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37842 to create a floppy emulation boot CD when non emulation mode
37843 does not work.
37844 Enable Joliet CD filesystem extension.
37845
37846 2008-04-13 Robert Millan <rmh@aybabtu.com>
37847
37848 * kern/misc.c (grub_strncat): Fix off-by-one error.
37849 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
37850
37851 * kern/env.c (grub_env_context_close): Clear current context, not
37852 previous one.
37853 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
37854
37855 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
37856
37857 2008-04-13 Robert Millan <rmh@aybabtu.com>
37858
37859 Improve robustness when handling LVM.
37860
37861 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
37862 (and leave `*p' unmodified).
37863 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
37864 through it.
37865 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
37866 iterating through it.
37867 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
37868 through it.
37869 (grub_lvm_scan_device): Check the return value (and fail gracefully
37870 when due) on each grub_lvm_getvalue() or grub_strstr() call.
37871 Don't assume `vg->pvs != NULL' when iterating through it.
37872
37873 2008-04-13 Robert Millan <rmh@aybabtu.com>
37874
37875 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
37876 * genmk.rb (partmap): New variable.
37877 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
37878 (#{partmap}): New target rule.
37879 * genpartmaplist.sh: New file.
37880 * Makefile.in (pkglib_DATA): Add partmap.lst.
37881 (partmap.lst): New target rule.
37882 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
37883 modules (including all partition maps), instead of preloading them.
37884
37885 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
37886
37887 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
37888 `linux-boot-prober' (if installed) to detect other operating
37889 systems which are installed on the computer and add them to
37890 the boot menu.
37891 * conf/common.rmk: Build and install 30_os-prober.
37892
37893 2008-04-12 Robert Millan <rmh@aybabtu.com>
37894
37895 * kern/powerpc/ieee1275/init.c: Move from here ...
37896 * kern/ieee1275/init.c: ... to here. Update all users.
37897
37898 * kern/powerpc/ieee1275/cmain.c: Move from here ...
37899 * kern/ieee1275/cmain.c: ... to here. Update all users.
37900
37901 * kern/powerpc/ieee1275/openfw.c: Move from here ...
37902 * kern/ieee1275/openfw.c: ... to here. Update all users.
37903
37904 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
37905 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
37906
37907 2008-04-10 Pavel Roskin <proski@gnu.org>
37908
37909 * configure.ac: Always use "_cv_" in cache variables for
37910 compatibility with Autoconf 2.62.
37911
37912 2008-04-07 Robert Millan <rmh@aybabtu.com>
37913
37914 Revert grub/machine/init.h addition by Pavel (since it breaks on
37915 i386-ieee1275 and others):
37916 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37917 * util/powerpc/ieee1275/misc.c: Likewise.
37918
37919 2008-04-07 Robert Millan <rmh@aybabtu.com>
37920
37921 * util/grub-probe.c (probe): Improve error message.
37922
37923 2008-04-07 Robert Millan <rmh@aybabtu.com>
37924
37925 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37926 (this prevents the presence of a bogus entry from ruining the whole
37927 thing).
37928
37929 2008-04-06 Pavel Roskin <proski@gnu.org>
37930
37931 * util/biosdisk.c: Include grub/util/biosdisk.h.
37932 * util/grub-fstest.c (execute_command): Make static.
37933 * util/grub-mkdevicemap.c (check_device): Likewise.
37934 * util/i386/pc/misc.c: Include grub/machine/init.h.
37935 * util/powerpc/ieee1275/misc.c: Likewise.
37936 * util/lvm.c: Include grub/util/lvm.h.
37937 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37938 grub/cache.h.
37939 * util/raid.c: Include grub/util/raid.h.
37940 (grub_util_getdiskname): Make static.
37941
37942 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37943 grub_hostfs_fini(), as they are called from grub_init_all() and
37944 grub_fini_all() respectively. This fixes an infinite loop in
37945 grub-fstest due to double registration of hostfs.
37946 Reported by Christian Franke <Christian.Franke@t-online.de>
37947
37948 2008-04-05 Pavel Roskin <proski@gnu.org>
37949
37950 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37951 all 8 functions. Otherwise, probe function 0 only.
37952
37953 2008-04-04 Pavel Roskin <proski@gnu.org>
37954
37955 * commands/lspci.c (grub_lspci_iter): Print the bus number
37956 correctly.
37957
37958 * commands/lspci.c (grub_pci_classes): Fix typos.
37959 (grub_lspci_iter): Don't print func twice. Print vendor ID
37960 before device ID, as it's normally done.
37961
37962 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37963 Fix signedness warnings.
37964 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37965 Likewise.
37966 * util/ieee1275/get_disk_name.c: Include config.h so that
37967 _GNU_SOURCE is defined and getline() is declared. Mark an
37968 unused argument as such. Fix a signedness warning.
37969
37970 2008-04-02 Pavel Roskin <proski@gnu.org>
37971
37972 * genkernsyms.sh.in: Use more robust assignments for CC and
37973 srcdir. Quote srcdir.
37974 * gensymlist.sh.in: Likewise. Assert at the compile time that
37975 the symbol table is not empty.
37976
37977 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37978 * fs/cpio.c (grub_cpio_read): Likewise.
37979
37980 2008-04-01 Pavel Roskin <proski@gnu.org>
37981
37982 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37983 * disk/host.c (grub_host_open): Likewise.
37984 * disk/loopback.c (grub_loopback_open): Likewise.
37985 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37986 disk->id as in disk/host.c, not a multi-character constant.
37987
37988 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37989 later is obsolete, potentially dangerous and sets a bad example.
37990 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37991 * util/misc.c (grub_util_get_image_size): Likewise.
37992
37993 * disk/loopback.c (options): Improve help for "--partitions".
37994
37995 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37996 options to align them with the short options, e.g. "echo -e".
37997
37998 2008-03-31 Bean <bean123ch@gmail.com>
37999
38000 * video/reader/png.c (grub_png_data): New member is_16bit and
38001 image_data.
38002 (grub_png_decode_image_header): Detect 16 bit png image.
38003 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38004 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38005 (grub_video_reader_png): Release memory occupied by image_data.
38006
38007 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38008 4096 bytes.
38009 (grub_nfs_mount): Skip the test for sector per cluster.
38010
38011 * include/grub/ntfs.h (MAX_SPC): Removed.
38012
38013 2008-03-31 Bean <bean123ch@gmail.com>
38014
38015 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38016 (grub_probe_SOURCES): Add fs/afs.c.
38017 (grub_fstest_SOURCES): Likewise.
38018 (afs_mod_SOURCES): New variable.
38019 (afs_mod_CFLAGS): Likewise.
38020 (afs_mod_LDFLAGS): Likewise.
38021
38022 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38023 (grub_emu_SOURCES): Likewise.
38024
38025 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38026
38027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38028
38029 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38030
38031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38032
38033 * fs/afs.c: New file.
38034
38035 2008-03-30 Pavel Roskin <proski@gnu.org>
38036
38037 * disk/host.c: Include grub/misc.h to fix a warning.
38038 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38039 warnings about implicit declarations.
38040
38041 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38042 variable.
38043 * include/grub/i386/loader.h: Change declaration of
38044 grub_linux_boot() to match what grub_loader_set() expects.
38045 * util/getroot.c (grub_guess_root_device): Return const char* to
38046 fix a warning.
38047 * util/grub-probe.c (probe): Fix a warning about uninitialized
38048 abstraction_name variable.
38049 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38050 second argument as unused to fix a warning.
38051
38052 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38053 missing grub_error() call.
38054
38055 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38056 2.60 and newer uses it to define datadir.
38057
38058 * commands/sleep.c: Fix warning about implicit declaration.
38059 * disk/memdisk.c: Likewise.
38060 * loader/aout.c: Likewise.
38061 * loader/i386/bsd_normal.c: Likewise.
38062 * util/grub-probe.c: Likewise.
38063
38064 * commands/i386/cpuid.c (has_longmode): Make static.
38065 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38066 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38067
38068 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38069 GDT. This is more robust, as %ds can change.
38070 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38071 calling real_to_prot().
38072 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38073
38074 2008-03-28 Pavel Roskin <proski@gnu.org>
38075
38076 * kern/i386/pc/startup.S: Assert that uncompressed functions
38077 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38078 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38079 code, as they push parts of the code (error handlers) beyond
38080 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38081 code as correctness and size.
38082
38083 2008-03-28 Pavel Roskin <proski@gnu.org>
38084
38085 * kern/i386/pc/startup.S
38086 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38087 data block address to the real mode, keep offset minimal. This
38088 works around a bug in AWARD BIOS on old Athlon systems, which
38089 makes CD detection hang.
38090
38091 2008-03-26 Pavel Roskin <proski@gnu.org>
38092
38093 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38094 const.
38095 * include/grub/normal.h: Add grub_parse_color_name_pair()
38096 declaration.
38097
38098 2008-03-24 Bean <bean123ch@gmail.com>
38099
38100 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38101 (cd_count): Removed.
38102 (cd_drive): New variable.
38103 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38104 (grub_biosdisk_call_hook): Likewise.
38105 (grub_biosdisk_iterate): Change cdrom detection method.
38106 (grub_biosdisk_open): Replace cd_start with cd_drive.
38107 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38108 detect cdrom device.
38109
38110 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38111 Removed.
38112 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38113 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38114 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38115 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38116 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38117 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38118 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38119 (grub_biosdisk_cdrp): New structure.
38120 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38121
38122 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38123
38124 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38125 device.
38126
38127 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38128 New function.
38129
38130 2008-03-20 Robert Millan <rmh@aybabtu.com>
38131
38132 Remove 2 TiB limit in ata.mod.
38133 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38134 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38135 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38136 grub_uint64_t instead of grub_uint32_t.
38137
38138 2008-03-05 Bean <bean123ch@gmail.com>
38139
38140 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38141 (grub_multiboot): Set boot device.
38142
38143 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38144
38145 2008-03-02 Bean <bean123ch@gmail.com>
38146
38147 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38148 symlink_buffer.
38149
38150 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38151
38152 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38153 texinfo.tex.
38154
38155 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38156 modified.
38157
38158 * docs/fdl.texi: New file.
38159
38160 * docs/mdate-sh: New file. Copied from gnulib.
38161 * docs/texinfo.tex: Likewise.
38162
38163 * config.guess: Updated from gnulib.
38164 * install-sh: Likewise.
38165
38166 2008-02-28 Robert Millan <rmh@aybabtu.com>
38167
38168 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38169 (aout_mod_SOURCES): New variable.
38170 (aout_mod_CFLAGS): Likewise.
38171 (aout_mod_LDFLAGS): Likewise.
38172
38173 * conf/i386-ieee1275.rmk: Likewise.
38174
38175 2008-02-28 Robert Millan <rmh@aybabtu.com>
38176
38177 * util/update-grub.in: Reorganise terminal validity check. Accept
38178 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38179 Based on suggestion by Franklin PIAT.
38180
38181 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38182
38183 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38184 function.
38185 * util/getroot.c (grub_util_check_block_device): New function that
38186 returns the given argument if it is a block device and returns NULL else.
38187 * util/grub-probe.c (argument_is_device): New variable.
38188 (probe): Promote device_name from a variable to an argument. Receive
38189 device_name from grub_util_check_block_device() if path is NULL and from
38190 grub_guess_root_device() else. Do not free() device_name anymore.
38191 (options): Introduce new parameter '-d, --device'.
38192 (main): Add description of the new parameter to the help screen.
38193 Rename path variable to argument. Set argument_is_device if the '-d'
38194 option is given. Pass argument to probe() depending on
38195 argument_is_device.
38196
38197 2008-02-24 Bean <bean123ch@gmail.com>
38198
38199 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38200 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38201 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38202 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38203 (GRUB_ISO9660_VOLDESC_END): Likewise.
38204 (grub_iso9660_primary_voldesc): New member escape.
38205 (grub_iso9660_data): New member joliet.
38206 (grub_iso9660_convert_string): New function.
38207 (grub_iso9660_mount): Detect joliet extension.
38208 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38209 (grub_iso9660_iso9660_label): Likewise.
38210
38211 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38212 (grub_setup_SOURCES): Add fs/udf.c.
38213 (grub_fstest_SOURCES): Likewise.
38214 (udf_mod_SOURCES): New variable.
38215 (udf_mod_CFLAGS): Likewise.
38216 (udf_mod_LDFLAGS): Likewise.
38217
38218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38219 (grub_emu_SOURCES): Likewise.
38220
38221 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38222
38223 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38224
38225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38226
38227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38228
38229 * fs/udf.c: New file.
38230
38231 2008-02-24 Robert Millan <rmh@aybabtu.com>
38232
38233 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38234 (normal/lexer.c_DEPENDENCIES): New variables.
38235 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38236 (normal/lexer.c_DEPENDENCIES): Likewise.
38237 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38238 (normal/lexer.c_DEPENDENCIES): Likewise.
38239 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38240 (normal/lexer.c_DEPENDENCIES): Likewise.
38241 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38242 (normal/lexer.c_DEPENDENCIES): Likewise.
38243 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38244 (normal/lexer.c_DEPENDENCIES): Likewise.
38245
38246 2008-02-23 Robert Millan <rmh@aybabtu.com>
38247
38248 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38249 since they were intended to be in hex. This didn't break previously
38250 because of a bug in gpt_partition_map_iterate() (see below).
38251
38252 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38253 when checking the validity of GPT header.
38254 Remove `partno', since it always provides the same information as `i'.
38255
38256 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38257
38258 * include/grub/efi/time.h: Fix a wrong comment.
38259
38260 2008-02-19 Pavel Roskin <proski@gnu.org>
38261
38262 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38263 message.
38264
38265 2008-02-19 Bean <bean123ch@gmail.com>
38266
38267 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38268 (aout_mod_SOURCES): New variable.
38269 (aout_mod_CFLAGS): Likewise.
38270 (aout_mod_LDFLAGS): Likewise.
38271 (_bsd_mod_SOURCES): New variable.
38272 (_bsd_mod_CFLAGS): Likewise.
38273 (_bsd_mod_LDFLAGS): Likewise.
38274 (bsd_mod_SOURCES): New variable.
38275 (bsd_mod_CFLAGS): Likewise.
38276 (bsd_mod_LDFLAGS): Likewise.
38277
38278 * include/grub/aout.h: New file.
38279
38280 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38281
38282 * include/grub/i386/bsd.h: New file.
38283
38284 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38285 to make it public.
38286
38287 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38288 function is called, so that it's possible to change it inside the hook.
38289 (grub_elf64_load): Likewise.
38290 (grub_elf_file): Don't close the file if elf header is not found.
38291 (grub_elf_close): Close the file if grub_elf_file fails (The new
38292 grub_elf_file won't close it).
38293 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38294 (grub_elf64_size): Likewise.
38295
38296 * kern/i386/loader.S (grub_unix_real_boot): New function.
38297
38298 * loader/aout.c: New file.
38299
38300 * loader/i386/bsd.c: New file.
38301
38302 * loader/i386/bsd_normal.c: New file.
38303
38304 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38305
38306 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
38307 can test other formats.
38308
38309 2008-02-19 Robert Millan <rmh@aybabtu.com>
38310
38311 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38312 (grub_gpt_partition_type_empty): Redefine with macro from
38313 `<grub/gpt_partition.h>'.
38314 (gpt_partition_map_iterate): Adjust partition type comparison.
38315
38316 Export `entry' as partmap-specific `part.data' struct.
38317 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38318
38319 * include/grub/gpt_partition.h (grub_gpt_header)
38320 (grub_gpt_partentry): ... to here (new file).
38321
38322 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38323
38324 (grub_gpt_partition_type_bios_boot): New const variable, defined
38325 with macro from `<grub/gpt_partition.h>'.
38326
38327 (setup): Replace `first_start' with `embed_region', which keeps
38328 track of the embed region (and is partmap-agnostic).
38329
38330 Replace find_first_partition_start() with find_usable_region(),
38331 which finds a usable region for embedding using partmap-specific
38332 knowledge (supports PC/MSDOS and GPT).
38333
38334 Fix all assumptions that the embed region start at sector 1, using
38335 `embed_region.start' from now on. Similarly, use `embed_region.end'
38336 rather than `first_start' to calculate available size.
38337
38338 In grub_util_info() message, replace "into after the MBR" with an
38339 indication of the specific sector our embed region starts at.
38340
38341 2008-02-19 Robert Millan <rmh@aybabtu.com>
38342
38343 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38344 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38345 `commands/reboot.c'.
38346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38347 (halt_mod_SOURCES): Likewise.
38348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38349 (halt_mod_SOURCES): Likewise.
38350
38351 2008-02-17 Christian Franke <franke@computer.org>
38352
38353 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38354
38355 2008-02-17 Robert Millan <rmh@aybabtu.com>
38356
38357 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38358 set `first_start' to 0 for non-PC/MSDOS partition maps.
38359
38360 2008-02-16 Robert Millan <rmh@aybabtu.com>
38361
38362 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38363 do not assume partition map is PC/MSDOS before performing checks that
38364 are specific to that layout.
38365
38366 2008-02-13 Robert Millan <rmh@aybabtu.com>
38367
38368 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38369 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38370 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38371
38372 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38373
38374 * configure.ac: Only a cosmetic change on the handling of
38375 -fno-stack-protector.
38376
38377 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
38378
38379 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38380 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38381 reboot.c.
38382 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38383 (halt_mod_SOURCES): New variable.
38384 (halt_mod_CFLAGS): Likewise.
38385 (halt_mod_LDFLAGS): Likewise.
38386 (reboot_mod_SOURCES): Likewise.
38387 (reboot_mod_CFLAGS): Likewise.
38388 (reboot_mod_LDFLAGS): Likewise.
38389
38390 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
38391 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
38392 reboot.c.
38393 (halt_mod_SOURCES): Likewise.
38394 (reboot_mod_SOURCES): Likewise.
38395
38396 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
38397 commands/i386/pc/reboot.c by commands/reboot.c.
38398 (reboot_mod_SOURCES): Likewise.
38399
38400 * commands/i386/pc/reboot.c: merge this file ...
38401
38402 * commands/ieee1275/reboot.c: ... and this file ...
38403
38404 * commands/reboot.c: ... to this file.
38405 Add some precompiler directive to include the correct header for
38406 each machine.
38407
38408 * commands/ieee1275/halt.c: move this file ...
38409
38410 * commands/halt.c: ... to here.
38411 Add some precompiler directive to include the correct header for
38412 each machine.
38413
38414 * include/grub/efi/efi.h (grub_reboot): New function declaration.
38415 (grub_halt): Likewise.
38416
38417 * kern/efi/efi.c (grub_reboot): New function.
38418 (grub_halt): Likewise.
38419
38420 2008-02-12 Robert Millan <rmh@aybabtu.com>
38421
38422 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
38423 /dev (like it is done for /dev/mapper). This doesn't provide support
38424 for EVMS, but at least it is now easy to identify the problem when it
38425 arises.
38426
38427 2008-02-11 Robert Millan <rmh@aybabtu.com>
38428
38429 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
38430 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
38431 comparing it with -1, not 0.
38432
38433 2008-02-10 Robert Millan <rmh@aybabtu.com>
38434
38435 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
38436 `disk/lvm.c'.
38437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38438 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
38439
38440 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
38441 `disk/lvm.c' to the end of the list.
38442 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38444
38445 2008-02-10 Robert Millan <rmh@aybabtu.com>
38446
38447 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
38448 grub_print_error() instead. This will let user know why we're entering
38449 rescue mode.
38450 Based on suggestions from Sam Morris.
38451
38452 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
38453
38454 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
38455 on remaining N args, instead of "--" arg N times.
38456
38457 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
38458
38459 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
38460 (fill_with_default_glyph): Changed to use unknown_glyph for fill
38461 pattern for unknown glyphs.
38462
38463 2008-02-09 Robert Millan <rmh@aybabtu.com>
38464
38465 * configure.ac: Probe for `help2man'.
38466 * Makefile.in (builddir): New variable.
38467 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
38468 or otherwise add a few flags/options to it.
38469 (install-local): For every executable utility or script that is
38470 installed, invoke $(HELP2MAN) to install a manpage based on --help
38471 output.
38472
38473 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
38474 that it doesn't prevent --help from working in build tree.
38475
38476 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
38477 with `bug-grub@gnu.org'.
38478 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
38479 * util/update-grub.in (usage): New function.
38480 Implement proper argument check, with support for --help and --version
38481 (as well as existing -y).
38482
38483 2008-02-09 Christian Franke <franke@computer.org>
38484
38485 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
38486 avoid overwriting previous output.
38487 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38488
38489 2008-02-09 Robert Millan <rmh@aybabtu.com>
38490
38491 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38492 drawing the menu.
38493
38494 2008-02-09 Robert Millan <rmh@aybabtu.com>
38495
38496 * commands/sleep.c: New file.
38497 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
38498 (sleep_mod_SOURCES): New variable.
38499 (sleep_mod_CFLAGS): Likewise.
38500 (sleep_mod_LDFLAGS): Likewise.
38501
38502 2008-02-09 Robert Millan <rmh@aybabtu.com>
38503
38504 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
38505 situations in which we can deduce the RAID size and the superblock
38506 doesn't match it.
38507
38508 2008-02-09 Robert Millan <rmh@aybabtu.com>
38509
38510 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
38511 and return a grub_diskmemberlist_t composed of LVM physical volumes.
38512 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
38513
38514 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
38515 and return a grub_diskmemberlist_t composed of physical array members.
38516 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
38517
38518 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
38519 prototype.
38520 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
38521 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
38522 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
38523
38524 * util/grub-probe.c (probe): Move partmap probing code from here ...
38525 (probe_partmap): ... to here.
38526 (probe): Use probe_partmap() once for the disk we're probing, and
38527 additionally, when such disk contains a memberlist() struct member,
38528 once for each disk that is contained in the structure returned by
38529 memberlist().
38530
38531 2008-02-09 Robert Millan <rmh@aybabtu.com>
38532
38533 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
38534 environment variable to 'all' in order to obtain debug output from
38535 non-util/ code.
38536 * util/i386/pc/grub-setup.c (main): Likewise.
38537
38538 2008-02-08 Robert Millan <rmh@aybabtu.com>
38539
38540 * disk/raid.c (grub_raid_scan_device): Check for
38541 `array->device[sb.this_disk.number]' rather than for
38542 `array->device[sb.this_disk.number]->name', since the latter is not
38543 guaranteed to be accessible.
38544
38545 2008-02-08 Robert Millan <rmh@aybabtu.com>
38546
38547 * disk/raid.c: Update copyright.
38548 * fs/cpio.c: Likewise.
38549 * include/grub/raid.h: Likewise.
38550 * loader/i386/pc/multiboot.c: Likewise.
38551 * util/hostfs.c: Likewise.
38552
38553 2008-02-08 Robert Millan <rmh@aybabtu.com>
38554
38555 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38556 to a grub_disk_t array.
38557 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38558 `device[x]'.
38559 (grub_raid_scan_device): Replace `device[x].name' accesses with
38560 `device[x]->name'. Simplify initialization of `array->device[x]'.
38561
38562 2008-02-08 Robert Millan <rmh@aybabtu.com>
38563
38564 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38565 grub_dprintf() calls.
38566 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38567 error message.
38568
38569 2008-02-07 Christian Franke <franke@computer.org>
38570
38571 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38572 instead of fseek and ftell to support large files.
38573 (grub_hostfs_read): Likewise.
38574
38575 2008-02-07 Robert Millan <rmh@aybabtu.com>
38576
38577 Patch from Jeroen Dekkers.
38578 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
38579 failure, since successfully reading all array members might not be
38580 required.
38581
38582 2008-02-06 Robert Millan <rmh@aybabtu.com>
38583
38584 * util/grub-probe.c (probe): Simplify partmap probing (with the
38585 assumption that the first word up to the underscore equals to
38586 the module name).
38587
38588 2008-02-06 Christian Franke <franke@computer.org>
38589
38590 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38591 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38592 last block of a cpio or tar stream.
38593 Check for "TRAILER!!!" instead of any empty data
38594 block to detect last block of a cpio stream.
38595 (grub_cpio_dir): Fix constness of variable np.
38596 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38597 cpio or tar trailer is detected. This fixes a crash
38598 on open of a non existing file.
38599
38600 2008-02-05 Bean <bean123ch@gmail.com>
38601
38602 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38603 address of entry.
38604 (grub_multiboot_load_elf64): Likewise.
38605 (grub_multiboot): Initialize mbi structure.
38606
38607 * util/grub-fstest.c: Don't include unused header file script.h.
38608
38609 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
38610 of file.
38611 (grub_fstest_SOURCES): Likewise.
38612
38613 2008-02-05 Robert Millan <rmh@aybabtu.com>
38614
38615 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38616 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38617 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38618 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38619
38620 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38621 (translation_table): Replace hardcoded values with macros
38622 provided by `<grub/term.h>'.
38623
38624 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38625 (keyboard_map): Correct/add a few values, with macros provided
38626 by `<grub/term.h>'.
38627 (keyboard_map_shift): Zero values that don't differ from their
38628 `keyboard_map' equivalents.
38629 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38630 Discard the second scan code that is always sent by Caps lock.
38631 Only use `keyboard_map_shift' when it provides a non-zero value,
38632 otherwise fallback to `keyboard_map'.
38633
38634 2008-02-04 Bean <bean123ch@gmail.com>
38635
38636 * Makefile.in (enable_grub_fstest): New variable.
38637
38638 * conf/common.rmk (grub_fstest_init.lst): New rule.
38639 (grub_fstest_init.h): Likewise.
38640 (grub_fstest_init.c): Likewise.
38641 (util/grub-fstest.c_DEPENDENCIES): New variable.
38642 (grub_fstest_SOURCES): Likewise.
38643
38644 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38645
38646 * util/grub-fstest.c: New file.
38647
38648 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38649
38650 Make grub-setup handle a separate root device.
38651
38652 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38653 so that the root device can be compared with the destination
38654 device.
38655 When embedding the core image, if the root and destination devices
38656 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38657 0xFF.
38658 When not embedding, set ROOT_DRIVE to 0xFF.
38659
38660 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38661
38662 Add support for having a grub directory in a different drive. This
38663 is still only the data handling part.
38664
38665 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38666 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38667 (grub_root_drive): New variable.
38668
38669 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38670 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38671 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38672 as it was.
38673
38674 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38675
38676 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38677 macro.
38678 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38679
38680 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38681 is bogus, because PXE booting does not specify any drive
38682 correctly.
38683
38684 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38685 am not sure if this is really correct.
38686
38687 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38688 is always identical to the boot drive when booting from a CD.
38689
38690 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38691 longer.
38692 (root_drive): New variable.
38693 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38694 (setup_sectors): Push %dx right after popping it, because %dh will
38695 be modified later.
38696 (copy_buffer): Restore %dx.
38697
38698 2008-02-03 Robert Millan <rmh@aybabtu.com>
38699
38700 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38701 use `cdboot.img' for cdrom images.
38702
38703 2008-02-03 Robert Millan <rmh@aybabtu.com>
38704
38705 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38706 only setup gfxterm when `font' command has succeeded.
38707
38708 2008-02-03 Robert Millan <rmh@aybabtu.com>
38709
38710 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38711 (grub_rescue_cmd_multiboot_loader)
38712 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38713
38714 2008-02-03 Pavel Roskin <proski@gnu.org>
38715
38716 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
38717 %edx and %esi from stack only after grub_gate_a20() is called.
38718 grub_gate_a20() clobbers %edx.
38719
38720 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38721
38722 * configure.ac (AC_INIT): Bumped to 1.96.
38723
38724 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38725 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38726 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38727 video/readers/png.c.
38728
38729 2008-02-03 Bean <bean123ch@gmail.com>
38730
38731 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38732 (cdboot_img_SOURCES): New variable.
38733 (cdboot_img_ASFLAGS): New variable.
38734 (cdboot_img_LDFLAGS): New variable.
38735
38736 * boot/i386/pc/cdboot.S: New file.
38737
38738 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38739 (cd_count): Likewise.
38740 (grub_biosdisk_get_drive): Add support for cd device.
38741 (grub_biosdisk_call_hook): Likewise.
38742 (grub_biosdisk_iterate): Likewise.
38743 (grub_biosdisk_open): Likewise.
38744 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38745 (grub_biosdisk_rw): Support reading from cd device.
38746 (GRUB_MOD_INIT): Iterate cd devices.
38747
38748 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38749 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38750 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38751
38752 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38753
38754 2008-02-02 Robert Millan <rmh@aybabtu.com>
38755
38756 * commands/read.c: New file.
38757 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38758 (read_mod_SOURCES): New variable.
38759 (read_mod_CFLAGS): Likewise.
38760 (read_mod_LDFLAGS): Likewise.
38761
38762 2008-02-02 Robert Millan <rmh@aybabtu.com>
38763
38764 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38765 determining whether menu has to be displayed.
38766
38767 2008-02-02 Marco Gerards <marco@gnu.org>
38768
38769 * bus/pci.c: New file.
38770
38771 * include/grub/pci.h: Likewise.
38772
38773 * include/grub/i386/pc/pci.h: Likewise.
38774
38775 * commands/lspci.c: Likewise.
38776
38777 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38778 `lspci.mod'.
38779 (pci_mod_SOURCES): New variable.
38780 (pci_mod_CFLAGS): Likewise.
38781 (pci_mod_LDFLAGS): Likewise.
38782 (lspci_mod_SOURCES): Likewise.
38783 (lspci_mod_CFLAGS): Likewise.
38784 (lspci_mod_LDFLAGS): Likewise.
38785
38786 2008-02-02 Bean <bean123ch@gmail.com>
38787
38788 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38789 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38790
38791 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38792 (grub_xfs_btree_node): New structure.
38793 (grub_xfs_btree_root): New structure.
38794 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38795 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38796 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38797 (GRUB_XFS_EXTENT_SIZE): Likewise.
38798 (grub_xfs_read_block): Support btree format type.
38799 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38800 Use directory block as basic unit.
38801
38802 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38803
38804 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38805 __attribute__ ((__regparm__ (1))).
38806
38807 2008-02-01 Robert Millan <rmh@aybabtu.com>
38808
38809 Correct a mistake in previous commit.
38810
38811 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38812 top.
38813 (normal/command.c_DEPENDENCIES): New variable.
38814
38815 2008-02-01 Robert Millan <rmh@aybabtu.com>
38816
38817 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38818 top.
38819 (normal/command.c_DEPENDENCIES): New variable.
38820 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38821 * conf/i386-ieee1275.rmk: Likewise.
38822 * conf/i386-linuxbios.rmk: Likewise.
38823 * conf/i386-pc.rmk: Likewise.
38824 * conf/sparc64-ieee1275.rmk: Likewise.
38825 * conf/powerpc-ieee1275.rmk: Likewise.
38826 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38827
38828 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38829
38830 2008-02-01 Robert Millan <rmh@aybabtu.com>
38831
38832 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38833 call at beginning of function.
38834
38835 2008-01-31 Pavel Roskin <proski@gnu.org>
38836
38837 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
38838 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38839 (grub_mkrescue_SOURCES): Likewise.
38840 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38841
38842 2008-01-30 Robert Millan <rmh@aybabtu.com>
38843
38844 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
38845 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
38846 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
38847 (grub_probe_SOURCES): ... to here.
38848
38849 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
38850 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
38851 * conf/i386-ieee1275.rmk: Likewise.
38852 * conf/i386-linuxbios.rmk: Likewise.
38853 * conf/powerpc-ieee1275.rmk: Likewise.
38854
38855 2008-01-30 Tristan Gingold <gingold@free.fr>
38856
38857 * kern/rescue.c: Silently accept empty lines.
38858
38859 2008-01-29 Bean <bean123ch@gmail.com>
38860
38861 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
38862 (real_code_2): Code cleanup and change comment style.
38863 (move_memory): Avoid using 32-bit address mode.
38864
38865 2008-01-29 Bean <bean123ch@gmail.com>
38866
38867 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
38868 (png_mod_SOURCES): New variable.
38869 (png_mod_CFLAGS): Likewise.
38870 (png_mod_LDFLAGS): Likewise.
38871
38872 * video/readers/png.c: New file.
38873
38874 2008-01-28 Robert Millan <rmh@aybabtu.com>
38875
38876 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
38877 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
38878 `ifndef GRUB_MOD_GAP' hack.
38879 * util/elf/grub-mkimage.c (add_segments): Likewise.
38880
38881 2008-01-27 Robert Millan <rmh@aybabtu.com>
38882
38883 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
38884 `GRUB_MOD_GAP' for platforms in which it's not defined.
38885 * util/elf/grub-mkimage.c (add_segments): Likewise.
38886
38887 2008-01-27 Robert Millan <rmh@aybabtu.com>
38888
38889 Get grub-emu to build again (including parallel builds).
38890
38891 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
38892 Split into ...
38893 (util/grub-emu.c_DEPENDENCIES): ... this, ...
38894 (normal/execute.c_DEPENDENCIES): ... this, ...
38895 (grub-emu_DEPENDENCIES): ... and this.
38896
38897 * conf/i386-efi.rmk: Likewise.
38898 * conf/i386-linuxbios.rmk: Likewise.
38899 * conf/i386-ieee1275.rmk: Likewise.
38900 * conf/powerpc-ieee1275.rmk: Likewise.
38901 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
38902
38903 2008-01-27 Robert Millan <rmh@aybabtu.com>
38904
38905 * NEWS: Add a few items.
38906
38907 2008-01-27 Robert Millan <rmh@aybabtu.com>
38908
38909 Fix parallel builds with grub-emu. Based on earlier commit for
38910 grub-probe and grub-setup.
38911
38912 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38913 (util/grub-emu.c_DEPENDENCIES): ... this.
38914 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38915 (util/grub-emu.c_DEPENDENCIES): ... this.
38916 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38917 (util/grub-emu.c_DEPENDENCIES): ... this.
38918 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38919 (util/grub-emu.c_DEPENDENCIES): ... this.
38920 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38921 (util/grub-emu.c_DEPENDENCIES): ... this.
38922
38923 2008-01-27 Pavel Roskin <proski@gnu.org>
38924
38925 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38926 to create a gap between _end and the modules added to the image
38927 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38928 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38929 * util/elf/grub-mkimage.c (add_segments): Likewise.
38930
38931 2008-01-26 Pavel Roskin <proski@gnu.org>
38932
38933 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38934 just return an error.
38935
38936 2008-01-26 Bean <bean123ch@gmail.com>
38937
38938 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38939 (grub_reiserfs_get_item): Save offset of the next item.
38940 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38941
38942 2008-01-25 Robert Millan <rmh@aybabtu.com>
38943
38944 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38945 make all filesystem sources appear together (possibly fixing omissions
38946 while at it).
38947 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38948 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38949 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38951
38952 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38953 add `kern/file.c'.
38954 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38955 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38956 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38957 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38958
38959 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38960 (probe): Add a sanity check to make sure of our ability to read
38961 requested files when probing for filesystem type.
38962
38963 * genmk.rb: Update copyright year (2007).
38964
38965 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38966 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38967 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38968 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38969 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38970 : Remove function prototypes.
38971
38972 2008-01-25 Robert Millan <rmh@aybabtu.com>
38973
38974 Revert my previous commits (based on wrong assumption of how grub_errno
38975 works).
38976
38977 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
38978 * kern/file.c (grub_file_open): Likewise.
38979
38980 2008-01-24 Pavel Roskin <proski@gnu.org>
38981
38982 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38983 that hang if GRUB tries to setup colors.
38984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38985 colors for firmwares that don't support it.
38986 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38987 Recognize Open Hack'Ware, set flags to work around its
38988 limitations.
38989
38990 2008-01-24 Robert Millan <rmh@aybabtu.com>
38991
38992 * kern/file.c (grub_file_open): Do not account previous failures of
38993 unrelated functions when grub_errno is checked for.
38994 Reported by Oleg Strikov.
38995
38996 2008-01-24 Bean <bean123ch@gmail.com>
38997
38998 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38999 (grub_ufs_sblock): New member volume name.
39000 (grub_ufs_find_file): Fix string copy bug.
39001 (grub_ufs_label): Implement this function properly.
39002
39003 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39004 (grub_hfs_iterate_records): Use the correct file number for extents
39005 and catalog file. Fix problem in next index calculation.
39006 (grub_hfs_find_node): Replace recursive function call with loop.
39007 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39008
39009 2008-01-23 Robert Millan <rmh@aybabtu.com>
39010
39011 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39012 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39013 (grub_multiboot2_real_boot): New function prototype.
39014
39015 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39016 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39017
39018 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39019 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39020
39021 2008-01-23 Robert Millan <rmh@aybabtu.com>
39022
39023 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39024 #ifdef'ed out grub_printf().
39025
39026 2008-01-23 Robert Millan <rmh@aybabtu.com>
39027
39028 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39029 grub_dprintf calls, since they make "debug=all" mode unusable.
39030 (grub_console_checkkey): Likewise.
39031
39032 2008-01-23 Robert Millan <rmh@aybabtu.com>
39033
39034 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39035 `term/i386/pc/at_keyboard.c'.
39036 (pkglib_MODULES): Add `serial.mod'.
39037 (serial_mod_SOURCES): New variable.
39038 (serial_mod_CFLAGS): Likewise.
39039 (serial_mod_LDFLAGS): Likewise.
39040
39041 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39042 `<grub/powerpc/ieee1275/console.h>'.
39043 (grub_keyboard_controller_init): New function prototype.
39044 (grub_console_checkkey): Likewise.
39045 (grub_console_getkey): Likewise.
39046
39047 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39048 keyboard on i386.
39049
39050 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39051 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39052
39053 2008-01-23 Robert Millan <rmh@aybabtu.com>
39054
39055 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39056 present, "(memdisk)/boot/grub" becomes the default prefix.
39057
39058 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39059 a memdisk tarball with all the modules. Add --overlay=DIR option that
39060 allows users to overlay additional files into the image.
39061
39062 2008-01-23 Robert Millan <rmh@aybabtu.com>
39063
39064 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39065 and `machine/memory.h'.
39066 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39067 (_multiboot_mod_SOURCES): New variable.
39068 (_multiboot_mod_CFLAGS): Likewise.
39069 (_multiboot_mod_LDFLAGS): Likewise.
39070 (multiboot_mod_SOURCES): Likewise.
39071 (multiboot_mod_CFLAGS): Likewise.
39072 (multiboot_mod_LDFLAGS): Likewise.
39073
39074 * include/grub/i386/ieee1275/loader.h: New file.
39075
39076 * include/grub/i386/ieee1275/machine.h: Likewise.
39077
39078 * include/grub/i386/ieee1275/memory.h: Likewise.
39079
39080 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39081 variable declaration.
39082 (grub_os_area_size): Likewise.
39083
39084 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39085 (grub_lower_mem, grub_upper_mem): New variables.
39086 (grub_stop_floppy): New function (just to make
39087 grub_multiboot2_real_boot() happy).
39088
39089 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39090 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39091 (grub_stop): New function.
39092 Include `"../realmode.S"' and `"../loader.S"'.
39093
39094 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39095 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39096
39097 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39098 rely on grub_multiboot2_real_boot() for final boot.
39099
39100 2008-01-22 Robert Millan <rmh@aybabtu.com>
39101
39102 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39103 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39104 device that doesn't look like an SD card.
39105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39106 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39107 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39108 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39109 found.
39110
39111 2008-01-22 Robert Millan <rmh@aybabtu.com>
39112
39113 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39114 avoid claiming over our own code.
39115
39116 2008-01-22 Bean <bean123ch@gmail.com>
39117
39118 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39119 (jpeg_mod_SOURCES): New variable.
39120 (jpeg_mod_CFLAGS): Likewise.
39121 (jpeg_mod_LDFLAGS): Likewise.
39122
39123 * video/readers/jpeg.c : New file.
39124
39125 2008-01-22 Bean <bean123ch@gmail.com>
39126
39127 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39128 there are no more items.
39129
39130 2008-01-21 Robert Millan <rmh@aybabtu.com>
39131
39132 * kern/mm.c (grub_mm_init_region): Improve debug message.
39133
39134 2008-01-21 Robert Millan <rmh@aybabtu.com>
39135
39136 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39137 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39138 address.
39139 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39140 a C macro.
39141 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39142 Indicates start of upper memory.
39143 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39144 (generate_image): Abort when image size is big enough to corrupt
39145 upper memory.
39146
39147 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39148 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39149 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39150 instead of hardcoding 0xA0000.
39151 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39152 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39153 instead of hardcoding 0xA0000.
39154
39155 2008-01-21 Robert Millan <rmh@aybabtu.com>
39156
39157 * disk/memdisk.c (memdisk_size): New variable.
39158 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39159 `memdisk_size'.
39160 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39161 image to dynamic memory.
39162 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39163 `memdisk_size'. Free memdisk block.
39164
39165 2008-01-21 Robert Millan <rmh@aybabtu.com>
39166
39167 Fix detection of very small filesystems (like tar).
39168
39169 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39170 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39171 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39172 a problem with this disk).
39173
39174 2008-01-21 Robert Millan <rmh@aybabtu.com>
39175
39176 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39177 on grub_biosdisk_rw_standard() error.
39178
39179 2008-01-21 Robert Millan <rmh@aybabtu.com>
39180
39181 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39182 recent changes.
39183 * kern/elf.c: Likewise.
39184 * kern/ieee1275/ieee1275.c: Likewise.
39185 * kern/powerpc/ieee1275/openfw.c: Likewise.
39186 * term/ieee1275/ofconsole.c: Likewise.
39187
39188 2008-01-21 Robert Millan <rmh@aybabtu.com>
39189
39190 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39191
39192 * include/grub/kernel.h (grub_arch_memdisk_addr)
39193 (grub_arch_memdisk_size): Moved from here ...
39194
39195 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39196 (grub_arch_memdisk_size): ... to here.
39197
39198 2008-01-21 Robert Millan <rmh@aybabtu.com>
39199
39200 Mostly based on bugfix from Bean.
39201
39202 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39203 attribute with hook() parameter.
39204 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39205 declaration.
39206 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39207 attribute with hook() parameter.
39208 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39209 declaration.
39210
39211 2008-01-21 Robert Millan <rmh@aybabtu.com>
39212
39213 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39214 (pkglib_MODULES): Add `memdisk.mod'.
39215 (memdisk_mod_SOURCES): New variable.
39216 (memdisk_mod_CFLAGS): Likewise.
39217 (memdisk_mod_LDFLAGS): Likewise.
39218
39219 * disk/memdisk.c: New file.
39220
39221 * include/grub/disk.h (grub_disk_dev_id): Add
39222 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39223
39224 * include/grub/i386/pc/kernel.h
39225 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39226 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39227 (grub_kernel_image_size): New variable declaration.
39228 (grub_total_module_size): Likewise.
39229 (grub_memdisk_image_size): Likewise.
39230
39231 * include/grub/i386/pc/memory.h
39232 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39233
39234 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39235 (grub_arch_memdisk_addr): New variable declaration.
39236 (grub_arch_memdisk_size): Likewise.
39237
39238 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39239 (grub_arch_memdisk_size): Likewise.
39240
39241 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39242 (codestart): Replace hardcoded `0x100000' with
39243 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39244
39245 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39246 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39247 not NULL, append the contents of the file it refers to, at the end of
39248 the compressed kernel image. Initialize `grub_memdisk_image_size'
39249 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39250 (options): Add "memdisk"|'m' option.
39251 (main): Parse --memdisk|-m option, and pass user-provided path as
39252 parameter to generate_image().
39253
39254 2008-01-20 Robert Millan <rmh@aybabtu.com>
39255
39256 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39257 grub_dprintf() calls from here ...
39258 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39259
39260 2008-01-20 Robert Millan <rmh@aybabtu.com>
39261
39262 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39263
39264 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39265 declaration.
39266 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39267 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39268 `GRUB_IEEE1275_FLAG_REAL_MODE'.
39269 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
39270 property).
39271 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39272 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39273
39274 2008-01-19 Robert Millan <rmh@aybabtu.com>
39275
39276 Get rid of confusing function (superseded by
39277 `grub_ieee1275_get_integer_property')
39278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39279 prototype.
39280 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39281 function.
39282 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39283 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
39284 in native endianness from grub_ieee1275_get_integer_property().
39285
39286 2008-01-19 Robert Millan <rmh@aybabtu.com>
39287
39288 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39289 command after "shut-down", since implementations differ on which
39290 the command for halt is.
39291
39292 2008-01-19 Robert Millan <rmh@aybabtu.com>
39293
39294 * include/grub/i386/linuxbios/console.h: Add header protection.
39295 (grub_keyboard_controller_init): New function prototype.
39296 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39297 (KEYBOARD_COMMAND_READ): Likewise.
39298 (KEYBOARD_COMMAND_WRITE): Likewise.
39299 (KEYBOARD_SCANCODE_SET1): Likewise.
39300 (grub_keyboard_controller_write): New function.
39301 (grub_keyboard_controller_read): Likewise.
39302 (grub_keyboard_controller_init): Likewise.
39303
39304 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39305 (grub_console_init): On coreboot/LinuxBIOS, call
39306 grub_keyboard_controller_init().
39307
39308 2008-01-19 Robert Millan <rmh@aybabtu.com>
39309
39310 PowerPC changes provided by Pavel Roskin.
39311
39312 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39313 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39314 don't rely on cmain() doing it.
39315 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39316 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39317
39318 2008-01-16 Robert Millan <rmh@aybabtu.com>
39319
39320 * include/grub/i386/linuxbios/memory.h
39321 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39322 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39323 receive `table_header' as argument. Instead, probe for it in the
39324 known memory ranges where it can be present.
39325 (grub_available_iterate): Do not pass a fixed `table_header' address
39326 to grub_linuxbios_table_iterate().
39327
39328 2008-01-15 Robert Millan <rmh@aybabtu.com>
39329
39330 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39331 * conf/i386-ieee1275.rmk: New file.
39332 * include/grub/i386/ieee1275/console.h: Likewise.
39333 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39334 * include/grub/i386/ieee1275/kernel.h: Likewise.
39335 * include/grub/i386/ieee1275/time.h: Likewise.
39336 * kern/i386/ieee1275/init.c: Likewise.
39337 * kern/i386/ieee1275/startup.S: Likewise.
39338
39339 2008-01-15 Robert Millan <rmh@aybabtu.com>
39340
39341 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39342 when pointers are 32-bit (but still do set it to one when they are
39343 64-bit).
39344
39345 2008-01-15 Robert Millan <rmh@aybabtu.com>
39346
39347 * include/grub/ieee1275/ieee1275.h
39348 (grub_ieee1275_get_integer_property): New function prototype.
39349
39350 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39351 (grub_ieee1275_get_integer_property): New function. Wraps around
39352 grub_ieee1275_get_property() to handle endianness.
39353
39354 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39355 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
39356 where appropriate.
39357 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39358 (grub_map): Likewise.
39359 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39360
39361 2008-01-15 Bean <bean123ch@gmail.com>
39362
39363 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39364 (grub_script_execute_cmdline): Reset grub_errno.
39365
39366 * normal/main.c (read_config_file): Reset grub_errno.
39367
39368 * normal/parse.y (script_init): New.
39369 (script): Move function and menuentry here.
39370 (delimiter): New.
39371 (command): Add delimiter at the end of command.
39372 (commands): Adjust to match the new command.
39373 (commandblock): Remove grub_script_lexer_record_start.
39374 (menuentry): Add grub_script_lexer_record_start, use the new commands.
39375 (if): Use the new commands.
39376
39377 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39378
39379 2008-01-15 Robert Millan <rmh@aybabtu.com>
39380
39381 * normal/menu.c (run_menu): Move timeout message from here ...
39382 (print_timeout): ... to here.
39383 (run_menu): Use print_timeout() once during initial draw to print
39384 the whole message, and again in every clock tick to update only
39385 the number of seconds.
39386
39387 2008-01-15 Robert Millan <rmh@aybabtu.com>
39388
39389 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
39390 actual size of `available' from grub_ieee1275_get_property(), and
39391 restrict parsing to that bound.
39392
39393 2008-01-15 Christian Franke <franke@computer.org>
39394
39395 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
39396 (argp_program_version): Remove variable.
39397 (argp_program_bug_address): Likewise.
39398 (options): Convert from struct argp_option to struct option.
39399 (struct arguments): Remove.
39400 (parse_opt): Remove.
39401 (usage): New function.
39402 (main): Replace struct args members by simple variables.
39403 Replace argp_parse() by getopt_long().
39404 Add switch to evaluate options.
39405 Add missing "(...)" around root_dev in prefix string.
39406
39407 2008-01-14 Robert Millan <rmh@aybabtu.com>
39408
39409 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
39410 for grub_ieee1275_exit(), in order to improve portability.
39411
39412 2008-01-14 Robert Millan <rmh@aybabtu.com>
39413
39414 * util/grub.d/10_linux.in (prefix): Define.
39415 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
39416
39417 2008-01-13 Pavel Roskin <proski@gnu.org>
39418
39419 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
39420 grub_errno if no errors have been detected.
39421
39422 2008-01-12 Robert Millan <rmh@aybabtu.com>
39423
39424 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
39425 (grub_util_get_dev_abstraction): New function prototype.
39426
39427 * util/getroot.c: Include `<grub/util/getroot.h>'
39428 (grub_util_get_grub_dev): Move detection of abstraction type to ...
39429 (grub_util_get_dev_abstraction): ... here (new function).
39430
39431 * util/grub-probe.c: Convert PRINT_* to an enum. Add
39432 `PRINT_ABSTRACTION'.
39433 (probe): Probe for abstraction type when requested.
39434 (main): Understand `--target=abstraction'.
39435
39436 * util/i386/efi/grub-install.in: Add abstraction module to core
39437 image when it is found to be necessary.
39438 * util/i386/pc/grub-install.in: Likewise.
39439 * util/powerpc/ieee1275/grub-install.in: Likewise.
39440
39441 * util/update-grub_lib.in (font_path): Return system path without
39442 converting to GRUB path.
39443 * util/update-grub.in: Convert system path returned by font_path()
39444 to a GRUB path. Use `grub-probe -t abstraction' to determine what
39445 abstraction module is needed for loading fonts (if any). Export
39446 that as `GRUB_PRELOAD_MODULES'.
39447 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
39448 insmod commands).
39449
39450 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
39451
39452 Remove some unused code from reiserfs.
39453
39454 * fs/reiserfs.c (struct grub_reiserfs_key)
39455 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
39456 (struct grub_reiserfs_node_body): Removed.
39457 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39458 Likewise.
39459 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39460 Likewise.
39461 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39462 Likewise.
39463 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39464 Likewise.
39465 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39466 Likewise.
39467 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
39468 Likewise.
39469 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39470 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39471 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39472
39473 2008-01-10 Robert Millan <rmh@aybabtu.com>
39474
39475 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
39476 Determines if a file is garbage left by packaging systems, etc.
39477 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
39478 for processing /etc/grub.d scripts.
39479 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
39480 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
39481 as a condition for processing Linux images.
39482
39483 2008-01-10 Pavel Roskin <proski@gnu.org>
39484
39485 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
39486 to compile reiserfs.c on PowerPC.
39487
39488 2008-01-10 Robert Millan <rmh@aybabtu.com>
39489
39490 * kern/device.c (grub_device_iterate): Do not abort device iteration
39491 when one of the devices cannot be opened.
39492 * kern/disk.c (grub_disk_open): Do not account previous failures of
39493 unrelated functions when grub_errno is checked for.
39494
39495 2008-01-08 Robert Millan <rmh@aybabtu.com>
39496
39497 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
39498 `! grub_linux_is_bzimage', change order of address comparison to make
39499 it more intuitive, and improve "too big zImage" error message.
39500
39501 2008-01-08 Robert Millan <rmh@aybabtu.com>
39502
39503 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
39504 `$(update-grub_DATA)'.
39505 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
39506 targets.
39507
39508 2008-01-07 Robert Millan <rmh@aybabtu.com>
39509
39510 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
39511 which instruction is modified by grub-setup during installation
39512 (since it wasn't obvious by only looking at this file).
39513
39514 2008-01-07 Robert Millan <rmh@aybabtu.com>
39515
39516 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
39517 listing actual TODO items.
39518
39519 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39520
39521 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
39522 correctly.
39523 (grub_reiserfs_get_key_offset): Likewise.
39524 (grub_reiserfs_set_key_offset): Likewise.
39525 (grub_reiserfs_set_key_type): Likewise.
39526 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
39527
39528 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
39529 better to remove the bitfield version completely.
39530
39531 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39532
39533 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
39534 allocated from the heap, due to the fshelp implementation.
39535 (grub_reiserfs_dir): Free NODE, due to the same reason.
39536
39537 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39538
39539 Mostly from Vincent Pelletier:
39540
39541 * fs/reiserfs.c: New file.
39542
39543 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
39544 (reiserfs_mod_SOURCES): New variable.
39545 (reiserfs_mod_CFLAGS): Likewise.
39546 (reiserfs_mod_LDFLAGS): Likewise.
39547
39548 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39549 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39550 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39551 normal/color.c.
39552
39553 2008-01-06 Robert Millan <rmh@aybabtu.com>
39554
39555 * normal/color.c: Remove `<grub/env.h>'.
39556
39557 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39558
39559 * include/grub/normal.h: Include <grub/env.h>.
39560
39561 2008-01-05 Robert Millan <rmh@aybabtu.com>
39562
39563 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39564 usage example with `(hd0,1)'.
39565 Reported by Samuel Thibault.
39566
39567 2008-01-05 Robert Millan <rmh@aybabtu.com>
39568
39569 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39570 (grub_linux_boot_zimage): Rename to ...
39571 (grub_linux_boot): ... this.
39572 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39573 (grub_linux_boot_zimage): Conditionalize zImage copy.
39574
39575 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39576 (grub_linux_boot_bzimage): Remove prototype.
39577 (grub_linux_boot_zimage): Rename to ...
39578 (grub_linux_boot): ... this.
39579
39580 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39581 (grub_linux_boot): Remove function.
39582
39583 2008-01-05 Robert Millan <rmh@aybabtu.com>
39584
39585 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39586 (grub_env_write_color_highlight): Likewise.
39587 (grub_wait_after_message): Likewise.
39588
39589 * normal/color.c: New file.
39590
39591 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39592 (normal_mod_DEPENDENCIES): Likewise.
39593
39594 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39595 (normal_mod_DEPENDENCIES): Likewise.
39596
39597 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39598 (normal_mod_DEPENDENCIES): Likewise.
39599
39600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39601 (normal_mod_DEPENDENCIES): Likewise.
39602
39603 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39604 for waiting after a message is printed.
39605 * normal/main.c (read_config_file): Likewise.
39606 (grub_normal_init): Register grub_env_write_color_normal() and
39607 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39608 `color_highlight' variables as global.
39609
39610 * normal/menu.c (grub_wait_after_message): New function.
39611 (grub_color_menu_normal): New variable. Replaces ...
39612 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39613 (grub_color_menu_highlight): New variable. Replaces ...
39614 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39615 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39616 `GRUB_TERM_COLOR_STANDARD'.
39617 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39618 `normal_code' and `highlight_code' to `old_color_normal' and
39619 `old_color_highlight', respectively.
39620 (grub_menu_init_page): Update colors when drawing the menu, based on
39621 `menu_color_normal' and `menu_color_highlight' variables.
39622 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39623 a message is printed.
39624
39625 2008-01-05 Robert Millan <rmh@aybabtu.com>
39626
39627 * kern/env.c (grub_env_context_open): Propagate hooks for global
39628 variables to new context.
39629
39630 * kern/main.c (grub_set_root_dev): Export `root' variable.
39631
39632 2008-01-05 Robert Millan <rmh@aybabtu.com>
39633
39634 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
39635 discs unconditionally, since udev and others have options to provide
39636 them.
39637
39638 2008-01-05 Robert Millan <rmh@aybabtu.com>
39639
39640 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39641
39642 2008-01-04 Christian Franke <franke@computer.org>
39643
39644 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39645 of eisa_mmap.
39646
39647 2008-01-03 Pavel Roskin <proski@gnu.org>
39648
39649 * kern/i386/linuxbios/init.c: Put "void" to all function
39650 declarations with no arguments.
39651 * kern/powerpc/ieee1275/init.c: Likewise.
39652 * term/i386/pc/at_keyboard.c: Likewise.
39653 * term/i386/pc/vga_text.c: Likewise.
39654 * util/grub-mkdevicemap.c: Likewise.
39655
39656 2008-01-02 Robert Millan <rmh@aybabtu.com>
39657
39658 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39659 message when loaded image is out of bounds.
39660 (grub_multiboot_load_elf64): Likewise.
39661
39662 2008-01-02 Pavel Roskin <proski@gnu.org>
39663
39664 * util/grub.d/10_linux.in: Try version without ".old" when
39665 looking for initrd. It's better to use initrd from the newer
39666 kernel of the same version than no initrd at all.
39667
39668 2008-01-01 Robert Millan <rmh@aybabtu.com>
39669
39670 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39671
39672 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39673
39674 * include/grub/video.h: Added grub_video_unmap_color and
39675 grub_video_get_active_render_target.
39676 (grub_video_adapter): Added unmap_color and get_active_render_target.
39677
39678 * video/video.c: Added grub_video_unmap_color and
39679 grub_video_get_active_render_target.
39680 (grub_video_get_info): Changed method to accept NULL pointer as an
39681 argument to allow detection of active video adapter.
39682
39683 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39684 grub_video_vbe_unmap_color_int.
39685 Added grub_video_vbe_unmap_color and
39686 grub_video_vbe_get_active_render_target.
39687 (grub_video_vbe_adapter): Added unmap_color and
39688 get_active_render_target.
39689
39690 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
39691 with grub_video_vbe_unmap_color_int.
39692
39693 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39694 (DEFAULT_NORMAL_COLOR): Likewise.
39695 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39696 (DEFAULT_FG_COLOR): Removed.
39697 (DEFAULT_BG_COLOR): Likewise.
39698 (DEFAULT_CURSOR_COLOR): Changed value.
39699 (grub_virtual_screen): Added standard_color_setting,
39700 normal_color_setting, highlight_color_setting and term_color.
39701 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39702 (bitmap_width): Added.
39703 (bitmap_height): Likewise.
39704 (bitmap): Likewise.
39705 (set_term_color): Likewise.
39706 (grub_virtual_screen_setup): Changed to use new terminal coloring
39707 settings.
39708 (grub_gfxterm_init): Added init for bitmap.
39709 (grub_gfxterm_fini): Added destroy for bitmap.
39710 (redraw_screen_rect): Updated to use background bitmap and new
39711 terminal coloring.
39712 (scroll_up): Added optimization for case when there is no bitmap.
39713 (grub_gfxterm_cls): Fixed to use correct background color.
39714 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39715 coloring.
39716 (grub_virtual_screen_setcolor): Likewise.
39717 (grub_virtual_screen_getcolor): Added.
39718 (grub_gfxterm_background_image_cmd): Likewise.
39719 (grub_video_term): Added setcolor and getcolor.
39720 (MOD_INIT): Added registration of background_image command.
39721 (MOD_TERM): Added unregistration for background_image command.
39722
39723 2007-12-30 Pavel Roskin <proski@gnu.org>
39724
39725 * loader/multiboot_loader.c: Fix multiboot command
39726 unregistration. Fix all typos in the word "multiboot".
39727
39728 2007-12-29 Pavel Roskin <proski@gnu.org>
39729
39730 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39731 support for initrd names used in Fedora.
39732
39733 2007-12-26 Bean <bean123ch@gmail.com>
39734
39735 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39736 (cpio_mod_SOURCES): New variable.
39737 (cpio_mod_CFLAGS): Likewise.
39738 (cpio_mod_LDFLAGS): Likewise.
39739
39740 * fs/cpio.c: New file.
39741
39742 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39743
39744 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39745
39746 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39747
39748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39749
39750 2007-12-25 Robert Millan <rmh@aybabtu.com>
39751
39752 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39753 (grub_getcolor): New function.
39754
39755 * kern/term.c (grub_getcolor): New function.
39756 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39757 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39758 (print_entry): Set normal and highlight colors to
39759 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39760 respectively, before printing and restore them to old
39761 values afterwards.
39762 (grub_menu_init_page): Likewise. Fill an additional colored space
39763 that would otherwise be left blank.
39764
39765 * term/efi/console.c (grub_console_getcolor): New function.
39766 (struct grub_console_term.getcolor): New variable.
39767 * term/i386/pc/console.c (grub_console_getcolor): New function.
39768 (struct grub_console_term.getcolor): New variable.
39769 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39770 (struct grub_console_term.getcolor): New variable.
39771
39772 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39773 (struct grub_console_term.setcolor): Remove variable.
39774 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39775 (struct grub_console_term.setcolor): Remove variable.
39776 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39777 (struct grub_console_term.setcolor): Remove variable.
39778 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39779 (struct grub_console_term.setcolor): Remove variable.
39780
39781 2007-12-25 Robert Millan <rmh@aybabtu.com>
39782
39783 * configure.ac: Search for possible unifont.hex locations, and
39784 define UNIFONT_HEX if found.
39785
39786 * Makefile.in (UNIFONT_HEX): Define variable.
39787 (DATA): Rename to ...
39788 (PKGLIB): ... this. Update all users.
39789 (PKGDATA): New variable.
39790 (pkgdata_IMAGES): Rename to ...
39791 (pkglib_IMAGES): ... this. Update all users.
39792 (pkgdata_MODULES): Rename to ...
39793 (pkglib_MODULES): ... this. Update all users.
39794 (pkgdata_PROGRAMS): Rename to ...
39795 (pkglib_PROGRAMS): ... this. Update all users.
39796 (pkgdata_DATA): Rename to ...
39797 (pkglib_DATA): ... this. Update all users.
39798 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39799 (unicode.pff, ascii.pff): New rules.
39800 (all-local): Add `$(PKGDATA)' dependency.
39801 (install-local): Process `$(PKGDATA)'.
39802
39803 * util/update-grub_lib.in (font_path): Search for *.pff files in
39804 a few more locations, including `${pkgdata}'.
39805
39806 2007-12-23 Robert Millan <rmh@aybabtu.com>
39807
39808 Patch from Bean <bean123ch@gmail.com>:
39809 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39810 `size'.
39811
39812 2007-12-21 Bean <bean123ch@gmail.com>
39813
39814 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39815 (ntfscomp_mod_SOURCES): New variable.
39816 (ntfscomp_mod_CFLAGS): Likewise.
39817 (ntfscomp_mod_LDFLAGS): Likewise.
39818
39819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39820 (grub_probe_SOURCES): Likewise.
39821 (grub_emu_SOURCES): Likewise.
39822
39823 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39824 (grub_emu_SOURCES): Likewise.
39825
39826 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39827 (grub_emu_SOURCES): Likewise.
39828
39829 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39830 (grub_emu_SOURCES): Likewise.
39831
39832 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39833 (read_run_list): Renamed to grub_ntfs_read_run_list.
39834 (decomp_nextvcn): Moved to ntfscomp.c.
39835 (decomp_getch): Likewise.
39836 (decomp_get16): Likewise.
39837 (decomp_block): Likewise.
39838 (read_block): Likewise.
39839 (read_data): Partially moved to ntfscomp.c.
39840 (fixup): Change unsigned to grub_uint16_t.
39841 (read_mft): Change unsigned long to grub_uint32_t.
39842 (read_attr): Likewise.
39843 (read_data): Likewise.
39844 (read_run_data): Likewise.
39845 (read_run_list): Likewise.
39846 (read_mft): Likewise.
39847
39848 * fs/ntfscomp.c: New file.
39849
39850 * include/grub/ntfs.h: New file.
39851
39852 2007-12-16 Robert Millan <rmh@aybabtu.com>
39853
39854 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
39855 IDE disk check, since Linux is known to support 20 IDE disks.
39856 Reported by Colin Watson.
39857
39858 2007-12-15 Bean <bean123ch@gmail.com>
39859
39860 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
39861 (lnxboot_img_SOURCES): New variable.
39862 (lnxboot_img_ASFLAGS): Likewise.
39863 (lnxboot_img_LDFLAGS): Likewise.
39864
39865 * boot/i386/pc/lnxboot.S: New file.
39866
39867 2007-11-24 Pavel Roskin <proski@gnu.org>
39868
39869 * configure.ac: Test if '--build-id=none' is supported by the
39870 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
39871 objcopy to generate incorrect binary files (binutils
39872 2.17.50.0.18-1 as shipped by Fedora 8).
39873 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
39874 linking, so that build ID doesn't break the test.
39875
39876 2007-11-24 Pavel Roskin <proski@gnu.org>
39877
39878 * include/grub/i386/time.h: use "void" in the argument list
39879 of grub_cpu_idle().
39880 * include/grub/powerpc/time.h: Likewise.
39881 * include/grub/sparc64/time.h: Likewise.
39882
39883 2007-11-18 Christian Franke <franke@computer.org>
39884
39885 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
39886 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
39887 This fixes the problem that function keys did not work in grub-emu.
39888
39889 2007-11-18 Christian Franke <franke@computer.org>
39890
39891 * disk/host.c (grub_host_open): Remove attribute unused from
39892 name parameter. Add check for "host". This fixes the problem
39893 that grub-emu does not find partitions.
39894
39895 2007-11-18 Christian Franke <franke@computer.org>
39896
39897 * util/hostfs.c (is_dir): New function.
39898 (grub_hostfs_dir): Handle missing dirent.d_type case.
39899 (grub_hostfs_read): Add missing fseek().
39900 (grub_hostfs_label): Clear label pointer. This fixes a crash
39901 of grub-emu on "ls (host)".
39902
39903 2007-11-18 Christian Franke <franke@computer.org>
39904
39905 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
39906 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
39907 to 64 bit boundary by default.
39908
39909 2007-11-18 Bean <bean123ch@gmail.com>
39910
39911 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
39912 (hexdump_mod_SOURCES): New variable.
39913 (hexdump_mod_CFLAGS): Likewise.
39914 (hexdump_mod_LDFLAGS): Likewise.
39915
39916 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39917
39918 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39919
39920 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39921
39922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39923
39924 * include/grub/hexdump.h: New file.
39925
39926 * commands/hexdump.c: New file.
39927
39928 2007-11-10 Robert Millan <rmh@aybabtu.com>
39929
39930 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39931 in grub_outb() calls.
39932 (beep_on): Likewise.
39933
39934 2007-11-10 Christian Franke <franke@computer.org>
39935
39936 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39937 (grub_menu_run): Likewise.
39938
39939 2007-11-10 Robert Millan <rmh@aybabtu.com>
39940
39941 * include/grub/i386/efi/machine.h: New file.
39942 * include/grub/i386/linuxbios/machine.h: Likewise.
39943 * include/grub/i386/pc/machine.h: Likewise.
39944 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39945 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39946
39947 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39948 (serial_hw_io_addr): New variable.
39949 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39950 instead of `(unsigned short *) 0x400'.
39951
39952 2007-11-10 Bean <bean123ch@gmail.com>
39953
39954 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39955
39956 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39957
39958 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39959 (vga_mod_SOURCES): Added.
39960 (vga_mod_CFLAGS): Likewise.
39961 (vga_mod_LDFLAGS): Likewise.
39962
39963 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39964 grub_outb() calls.
39965 (set_map_mask): Likewise.
39966 (set_read_map): Likewise.
39967 (set_read_address): Likewise.
39968 (vga_font): Removed variable.
39969 (get_vga_glyph): Removed function.
39970 (invalidate_char): Likewise.
39971 (write_char): Changed to use grub_font_get_glyph() for font
39972 information.
39973 (grub_vga_putchar): Likewise.
39974 (grub_vga_getcharwidth): Likewise.
39975
39976 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39977
39978 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39979 flags.
39980 (pxeboot_img_LDFLAGS): Likewise.
39981 (diskboot_img_LDFLAGS): Likewise.
39982 (kernel_img_LDFLAGS): Likewise.
39983
39984 2007-11-06 Robert Millan <rmh@aybabtu.com>
39985
39986 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39987 in grub_outb() calls.
39988 (serial_hw_init): Likewise.
39989
39990 2007-11-05 Robert Millan <rmh@aybabtu.com>
39991
39992 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39993 spaces. Skip non-regular files.
39994
39995 2007-11-05 Robert Millan <rmh@aybabtu.com>
39996
39997 * kern/disk.c (grub_disk_firmware_fini)
39998 (grub_disk_firmware_is_tainted): New variables.
39999
40000 * include/grub/disk.h (grub_disk_firmware_fini)
40001 (grub_disk_firmware_is_tainted): Likewise.
40002
40003 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40004 (grub_disk_biosdisk_fini): ... to here.
40005 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40006 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40007 is set. Register grub_disk_biosdisk_fini() in
40008 `grub_disk_firmware_fini'.
40009
40010 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40011 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40012 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40013 to finish existing firmware disk interface.
40014
40015 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40016 (ata_mod_SOURCES): New variable.
40017 (ata_mod_CFLAGS): Likewise.
40018 (ata_mod_LDFLAGS): Likewise.
40019
40020 2007-11-05 Robert Millan <rmh@aybabtu.com>
40021
40022 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40023 (grub_ata_wait): Reimplement using grub_millisleep().
40024
40025 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40026 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40027
40028 2007-11-03 Marco Gerards <marco@gnu.org>
40029
40030 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40031 (CRTC_ADDR_PORT): New macro.
40032 (CRTC_DATA_PORT): Likewise.
40033 (CRTC_CURSOR): Likewise.
40034 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40035 (CRTC_CURSOR_ADDR_LOW): Likewise.
40036 (update_cursor): New function.
40037 (grub_console_real_putchar): Call `update_cursor'.
40038 (grub_console_gotoxy): Likewise.
40039 (grub_console_cls): Set the default color when clearing the
40040 screen.
40041 (grub_console_setcursor): Implemented.
40042
40043 2007-11-03 Marco Gerards <marco@gnu.org>
40044
40045 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40046 become activate.
40047 (grub_ata_pio_write): Likewise.
40048
40049 (grub_atapi_identify): Wait after issuing an ATA command.
40050 (grub_atapi_packet): Likewise.
40051 (grub_ata_identify): Likewise.
40052 (grub_ata_readwrite): Likewise.
40053
40054 2007-11-03 Marco Gerards <marco@gnu.org>
40055
40056 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40057 (grub_ata_pio_write): Likewise.
40058 (grub_ata_readwrite): Use `grub_error', instead of
40059 returning `grub_errno'.
40060
40061 2007-11-03 Marco Gerards <marco@gnu.org>
40062
40063 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40064 grub_ata_pio_write once for every single sector, instead of for
40065 multiple sectors.
40066
40067 2007-10-31 Robert Millan <rmh@aybabtu.com>
40068
40069 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40070
40071 * conf/i386-linuxbios.rmk: New file.
40072
40073 * kern/i386/pc/hardware.c: Likewise.
40074 * term/i386/pc/at_keyboard.c: Likewise.
40075 * term/i386/pc/vga_text.c: Likewise.
40076
40077 * include/grub/i386/linuxbios/boot.h: Likewise.
40078 * include/grub/i386/linuxbios/console.h: Likewise.
40079 * include/grub/i386/linuxbios/init.h: Likewise.
40080 * include/grub/i386/linuxbios/kernel.h: Likewise.
40081 * include/grub/i386/linuxbios/loader.h: Likewise.
40082 * include/grub/i386/linuxbios/memory.h: Likewise.
40083 * include/grub/i386/linuxbios/serial.h: Likewise.
40084 * include/grub/i386/linuxbios/time.h: Likewise.
40085
40086 * kern/i386/linuxbios/init.c: Likewise.
40087 * kern/i386/linuxbios/startup.S: Likewise.
40088 * kern/i386/linuxbios/table.c: Likewise.
40089
40090 2007-10-31 Marco Gerards <marco@gnu.org>
40091
40092 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40093 (ata_mod_SOURCES): New variable.
40094 (ata_mod_CFLAGS): Likewise.
40095 (ata_mod_LDFLAGS): Likewise.
40096
40097 * disk/ata.c: New file.
40098
40099 * include/grub/disk.h (grub_disk_dev_id): Add
40100 `GRUB_DISK_DEV_ATA_ID'.
40101
40102 2007-10-31 Robert Millan <rmh@aybabtu.com>
40103
40104 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40105 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40106
40107 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40108 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40109
40110 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40111 `<grub/types.h>'.
40112
40113 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40114
40115 2007-10-27 Robert Millan <rmh@aybabtu.com>
40116
40117 * include/grub/types.h (ULONG_MAX): Define macro.
40118
40119 2007-10-22 Robert Millan <rmh@aybabtu.com>
40120
40121 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40122 `"../realmode.S"'.
40123 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40124
40125 2007-10-22 Robert Millan <rmh@aybabtu.com>
40126
40127 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40128 (pkgdata_MODULES): Add `biosdisk.mod'.
40129 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40130 variables.
40131
40132 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40133 (grub_biosdisk_init): Replace with ...
40134 (GRUB_MOD_INIT(biosdisk)): ... this.
40135 (grub_biosdisk_fini): Replace with ...
40136 (GRUB_MOD_FINI(biosdisk)): ... this.
40137
40138 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40139 (grub_machine_init): Remove call to grub_biosdisk_init().
40140 (grub_machine_fini): Remove call to grub_machine_fini().
40141
40142 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40143
40144 2007-10-22 Robert Millan <rmh@aybabtu.com>
40145
40146 * include/grub/time.h: New file.
40147 * include/grub/i386/time.h: Likewise.
40148 * include/grub/powerpc/time.h: Likewise.
40149 * include/grub/sparc64/time.h: Likewise.
40150
40151 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40152 instances to ...
40153 (KERNEL_MACHINE_TIME_HEADER): ... this.
40154 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40155 instances to ...
40156 (KERNEL_MACHINE_TIME_HEADER): ... this.
40157 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40158 instances to ...
40159 (KERNEL_MACHINE_TIME_HEADER): ... this.
40160
40161 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40162 (grub_millisleep): New function.
40163 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40164 (grub_millisleep): New function.
40165 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40166 Remove `grub/machine/time.h' include.
40167 (grub_millisleep): New function.
40168 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40169 Remove `grub/machine/time.h' include.
40170 (grub_millisleep): New function.
40171
40172 * include/grub/misc.h (grub_div_roundup): New function.
40173
40174 * kern/misc.c: Include `<grub/time.h>'.
40175 (grub_millisleep_generic): New function.
40176
40177 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40178 Add `time.h'.
40179 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40180 Add `time.h'.
40181 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40182 `machine/time.h'. Add `time.h'.
40183 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40184
40185 2007-10-21 Robert Millan <rmh@aybabtu.com>
40186
40187 * include/grub/misc.h (grub_max): New function.
40188
40189 2007-10-21 Robert Millan <rmh@aybabtu.com>
40190
40191 * util/misc.c (grub_util_info): Call fflush() before returning.
40192
40193 2007-10-20 Robert Millan <rmh@aybabtu.com>
40194
40195 * genmk.rb (Image): Copy `extra_flags' from here ...
40196 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40197
40198 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40199 to `argc' and `args' arguments.
40200
40201 2007-10-17 Robert Millan <rmh@aybabtu.com>
40202
40203 * kern/i386/loader.S: New file.
40204
40205 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40206 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40207 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40208 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40209 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40210 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40211 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40212 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40213 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40214 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40215 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40216 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40217 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40218 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40219
40220 * kern/i386/realmode.S: New file.
40221
40222 * kern/i386/pc/startup.S (protstack): Moved from here ...
40223 * kern/i386/realmode.S (protstack)... to here.
40224 * kern/i386/pc/startup.S (gdt): Moved from here ...
40225 * kern/i386/realmode.S (gdt)... to here.
40226 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40227 * kern/i386/realmode.S (prot_to_real)... to here.
40228
40229 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40230 `kern/i386/realmode.S'.
40231
40232 2007-10-17 Robert Millan <rmh@aybabtu.com>
40233
40234 * include/grub/i386/loader.h: New file.
40235
40236 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40237 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40238 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40239 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40240 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40241 * include/grub/i386/loader.h (grub_linux_prot_size)
40242 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40243 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40244 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40245 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40246
40247 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40248
40249 2007-10-15 Robert Millan <rmh@aybabtu.com>
40250
40251 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40252 filesystem when dev->disk is unset.
40253 Do probe for filesystem even when dev->disk->has_partitions is set.
40254 In case a filesystem is found, always report it.
40255 In case it isn't, if dev->disk->has_partitions is set, report that
40256 a partition table was found instead of reporting that no filesystem
40257 could be identified.
40258
40259 2007-10-12 Robert Millan <rmh@aybabtu.com>
40260
40261 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40262 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40263
40264 * include/grub/types.h (grub_host_to_target16): New macro.
40265 (grub_host_to_target32): Likewise.
40266 (grub_host_to_target64): Likewise.
40267 (grub_target_to_host16): Likewise.
40268 (grub_target_to_host32): Likewise.
40269 (grub_target_to_host64): Likewise.
40270
40271 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40272 Renamed from to ...
40273 (GRUB_MOD_ALIGN): ...this. Update all users.
40274
40275 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40276 grub_host_to_target32.
40277 Replace grub_be_to_cpu32 with grub_target_to_host32.
40278 (load_modules): Likewise.
40279 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40280 Replace grub_be_to_cpu32 with grub_target_to_host32.
40281 Replace grub_cpu_to_be16 with grub_host_to_target16.
40282 Replace grub_cpu_to_be32 grub_host_to_target32.
40283
40284 2007-10-12 Robert Millan <rmh@aybabtu.com>
40285
40286 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40287 * util/elf/grub-mkimage.c: ... here.
40288
40289 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40290 `util/powerpc/ieee1275/grub-mkimage.c'.
40291
40292 2007-10-07 Robert Millan <rmh@aybabtu.com>
40293
40294 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40295 and make it easier to figure out.
40296 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40297 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40298 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40299 leave us with less than HEAP_MIN_SIZE total heap.
40300 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
40301
40302 2007-10-03 Robert Millan <rmh@aybabtu.com>
40303
40304 * include/grub/i386/io.h: New file.
40305 * commands/i386/pc/play.c (inb): Removed.
40306 (outb): Removed.
40307 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40308 with grub_outb().
40309 * term/i386/pc/serial.c (inb): Removed.
40310 (outb): Removed.
40311 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40312 with grub_outb().
40313 * term/i386/pc/vga.c (inb): Removed.
40314 (outb): Removed.
40315 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40316 with grub_outb().
40317
40318 2007-10-02 Robert Millan <rmh@aybabtu.com>
40319
40320 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40322 Reported by Marcin Kurek.
40323
40324 2007-09-07 Robert Millan <rmh@aybabtu.com>
40325
40326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40327 SmartFirmware version updates (as released by Sven Luther), and avoid
40328 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40329 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40330 known broken.
40331
40332 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40333
40334 From Hitoshi Ozeki:
40335 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40336 when merging two regions.
40337
40338 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40339
40340 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40341 * normal/completion.c (grub_normal_do_completion): Likewise.
40342 Reported by Hitoshi Ozeki.
40343
40344 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40345
40346 Do not use devices at boot in chainloading.
40347
40348 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40349 (boot_part_addr): Likewise.
40350 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40351 with BOOT_DRIVE and BOOT_PART_ADDR.
40352 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40353 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40354
40355 2007-08-29 Robert Millan <rmh@aybabtu.com>
40356
40357 Patch from Simon Peter <dn.tlp@gmx.net>:
40358 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40359 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40360 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40361 util/i386/pc/grub-setup.c_DEPENDENCIES.
40362 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40363 util/grub-probe.c_DEPENDENCIES.
40364 * conf/powerpc-ieee1275.rmk: Likewise.
40365
40366 2007-08-28 Robert Millan <rmh@aybabtu.com>
40367
40368 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40369 to tell grub-mkdevicemap how to name devices.
40370 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40371 feature).
40372
40373 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40374 util/i386/get_disk_name.c.
40375 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40376 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40377 util/ieee1275/get_disk_name.c.
40378
40379 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40380
40381 * DISTLIST: Add util/i386/get_disk_name.c and
40382 util/ieee1275/get_disk_name.c.
40383
40384 * util/grub-mkdevicemap.c: Replace device naming logic with
40385 grub_util_get_disk_name() calls.
40386
40387 2007-08-20 Robert Millan <rmh@aybabtu.com>
40388
40389 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
40390 (so that it works for both plural and singular quantities).
40391
40392 2007-08-05 Robert Millan <rmh@aybabtu.com>
40393
40394 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
40395 so that [xz] isn't taken into account when determining order.
40396
40397 2007-08-02 Marco Gerards <marco@gnu.org>
40398
40399 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
40400 `include/multiboot2.h', `include/grub/elfload.h',
40401 `include/multiboot.h', `include/grub/multiboot.h',
40402 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
40403 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
40404 `kern/elf.c', `loader/multiboot_loader.c',
40405 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
40406 `loader/i386/pc/multiboot2.c',
40407 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
40408 `util/i386/pc/grub-mkrescue.in'. Remove
40409 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
40410 `include/grub/i386/pc/util/biosdisk.h' and
40411 `include/grub/powerpc/ieee1275/multiboot.h'.
40412
40413 2007-08-02 Bean <bean123ch@gmail.com>
40414
40415 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
40416 (ntfs_mod_SOURCES): New variable.
40417 (ntfs_mod_CFLAGS): Likewise.
40418 (ntfs_mod_LDFLAGS): Likewise.
40419
40420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
40421 (grub_probe_SOURCES): Likewise.
40422 (grub_emu_SOURCES): Likewise.
40423
40424 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40425 (grub_emu_SOURCES): Likewise.
40426
40427 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40428 (grub_emu_SOURCES): Likewise.
40429
40430 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
40431
40432 * fs/ntfs.c: New file.
40433
40434 2007-08-02 Bean <bean123ch@gmail.com>
40435
40436 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
40437
40438 * file.h (grub_file): Likewise.
40439
40440 * fshelp.h (grub_fshelp_read_file): Likewise.
40441
40442 * util/i386/pc/grub-setup.c (setup): Likewise.
40443 (save_first_sector): Likewise.
40444 (save_blocklists): Likewise.
40445
40446 * fs/affs.c (grub_affs_read_file): Likewise.
40447
40448 * fs/ext2.c (grub_ext2_read_file): Likewise.
40449
40450 * fs/fat.c (grub_fat_read_data): Likewise.
40451
40452 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
40453
40454 * fs/hfs.c (grub_hfs_read_file): Likewise.
40455
40456 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40457
40458 * fs/jfs.c (grub_jfs_read_file): Likewise.
40459
40460 * fs/minix.c (grub_minix_read_file): Likewise.
40461
40462 * fs/sfs.c (grub_sfs_read_file): Likewise.
40463
40464 * fs/ufs.c (grub_ufs_read_file): Likewise.
40465
40466 * fs/xfs.c (grub_xfs_read_file): Likewise.
40467
40468 * command/blocklist.c (read_blocklist): Likewise.
40469 (print_blocklist): Likewise.
40470
40471 2007-08-02 Marco Gerards <marco@gnu.org>
40472
40473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
40474 `util/hostfs.c'.
40475
40476 * disk/host.c: New file.
40477
40478 * util/hostfs.c: Likewise.
40479
40480 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
40481 return `GRUB_ERR_BAD_FS'.
40482 * fs/sfs.c (grub_sfs_mount): Likewise.
40483 * fs/xfs.c (grub_xfs_mount): Likewise.
40484
40485 * include/grub/disk.h (enum grub_disk_dev_id): Add
40486 `GRUB_DISK_DEVICE_HOST_ID'.
40487
40488 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40489
40490 2007-07-24 Jerone Young <jerone@gmail.com>
40491
40492 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
40493 modules for compilation.
40494 * conf/powerpc-ieee1275.rmk: Likewise.
40495
40496 * include/multiboot.h: Move multiboot definitions to one file. Rename
40497 many definitions to not get grub specific.
40498 * include/multiboot2.h: Create header with multiboot 2 definitions.
40499 * include/grub/multiboot.h: Header for grub specific function
40500 prototypes and definitions.
40501 * include/grub/multiboot2.h: Likewise.
40502 * include/grub/multiboot_loader.h: Likewise.
40503 * include/grub/i386/pc/multiboot.h: Removed.
40504 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
40505
40506 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
40507 and 2 to allow for one multiboot and module commands.
40508 * loader/multiboot2.c: Add multiboot2 functionality.
40509 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
40510 and definition names.
40511 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
40512 2 functions.
40513 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
40514 ieee1275 specific multiboot2 code.
40515
40516 * kern/i386/pc/startup.S: Change headers and definition names for
40517 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
40518
40519 2007-07-22 Robert Millan <rmh@aybabtu.com>
40520
40521 * geninitheader.sh: Process file specified in first parameter rather
40522 than hardcoding grub_modules_init.lst.
40523 * geninit.sh: Likewise. Also, construct header name dynamically rather
40524 than hardcoding grub_modules_init.h.
40525
40526 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
40527 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
40528 grub_probe_init.[ch] and grub_setup_init.[ch].
40529
40530 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
40531 grub_modules_init.h with grub_emu_init.h.
40532 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
40533 grub_probe_init.[ch] files.
40534 * conf/i386-efi.rmk: Likewise.
40535 * conf/i386-pc.rmk: Likewise.
40536 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
40537 grub_setup_init.[ch] files.
40538
40539 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
40540 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
40541 to initialize modules rather than a list of hardcoded functions.
40542 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
40543 grub_init_all() to initialize modules rather than a list of hardcoded
40544 functions.
40545
40546 2007-07-22 Robert Millan <rmh@aybabtu.com>
40547
40548 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40549 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40550
40551 2007-07-22 Robert Millan <rmh@aybabtu.com>
40552
40553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40554 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40555 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40556 flag when running on SmartFirmware.
40557 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40558 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40559 was set.
40560
40561 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40562 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40563 rather than decreasing it.
40564
40565 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40566 there's not enough space to do it, fail in the same way as when it
40567 can't be done because there are no partitions.
40568
40569 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40570 when nvsetenv failed.
40571
40572 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40573
40574 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40575 because this rule is automatically generated.
40576 (grub-mkrescue): Removed for the same reason as above.
40577
40578 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40579
40580 Migrate to GNU General Public License Version 3.
40581
40582 * COPYING: Replaced with the plain text version of GPLv3.
40583
40584 * config.guess: Updated from gnulib.
40585 * config.sub: Likewise.
40586
40587 * geninit.sh: Output a GPLv3 copyright notice.
40588 * geninitheader.sh: Likewise.
40589 * genmodsrc.sh: Likewise.
40590 * gensymlist.sh.in: Likewise.
40591
40592 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40593 * boot/i386/pc/diskboot.S: Likewise.
40594 * boot/i386/pc/pxeboot.S: Likewise.
40595 * commands/blocklist.c: Likewise.
40596 * commands/boot.c: Likewise.
40597 * commands/cat.c: Likewise.
40598 * commands/cmp.c: Likewise.
40599 * commands/configfile.c: Likewise.
40600 * commands/echo.c: Likewise.
40601 * commands/help.c: Likewise.
40602 * commands/ls.c: Likewise.
40603 * commands/search.c: Likewise.
40604 * commands/terminal.c: Likewise.
40605 * commands/test.c: Likewise.
40606 * commands/videotest.c: Likewise.
40607 * commands/i386/cpuid.c: Likewise.
40608 * commands/i386/pc/halt.c: Likewise.
40609 * commands/i386/pc/play.c: Likewise.
40610 * commands/i386/pc/reboot.c: Likewise.
40611 * commands/i386/pc/vbeinfo.c: Likewise.
40612 * commands/i386/pc/vbetest.c: Likewise.
40613 * commands/ieee1275/halt.c: Likewise.
40614 * commands/ieee1275/reboot.c: Likewise.
40615 * commands/ieee1275/suspend.c: Likewise.
40616 * disk/loopback.c: Likewise.
40617 * disk/lvm.c: Likewise.
40618 * disk/raid.c: Likewise.
40619 * disk/efi/efidisk.c: Likewise.
40620 * disk/i386/pc/biosdisk.c: Likewise.
40621 * disk/ieee1275/ofdisk.c: Likewise.
40622 * font/manager.c: Likewise.
40623 * fs/affs.c: Likewise.
40624 * fs/ext2.c: Likewise.
40625 * fs/fat.c: Likewise.
40626 * fs/fshelp.c: Likewise.
40627 * fs/hfs.c: Likewise.
40628 * fs/hfsplus.c: Likewise.
40629 * fs/iso9660.c: Likewise.
40630 * fs/jfs.c: Likewise.
40631 * fs/minix.c: Likewise.
40632 * fs/sfs.c: Likewise.
40633 * fs/ufs.c: Likewise.
40634 * fs/xfs.c: Likewise.
40635 * hello/hello.c: Likewise.
40636 * include/grub/acorn_filecore.h: Likewise.
40637 * include/grub/arg.h: Likewise.
40638 * include/grub/bitmap.h: Likewise.
40639 * include/grub/boot.h: Likewise.
40640 * include/grub/cache.h: Likewise.
40641 * include/grub/device.h: Likewise.
40642 * include/grub/disk.h: Likewise.
40643 * include/grub/dl.h: Likewise.
40644 * include/grub/elfload.h: Likewise.
40645 * include/grub/env.h: Likewise.
40646 * include/grub/err.h: Likewise.
40647 * include/grub/file.h: Likewise.
40648 * include/grub/font.h: Likewise.
40649 * include/grub/fs.h: Likewise.
40650 * include/grub/fshelp.h: Likewise.
40651 * include/grub/gzio.h: Likewise.
40652 * include/grub/hfs.h: Likewise.
40653 * include/grub/kernel.h: Likewise.
40654 * include/grub/loader.h: Likewise.
40655 * include/grub/lvm.h: Likewise.
40656 * include/grub/misc.h: Likewise.
40657 * include/grub/mm.h: Likewise.
40658 * include/grub/net.h: Likewise.
40659 * include/grub/normal.h: Likewise.
40660 * include/grub/parser.h: Likewise.
40661 * include/grub/partition.h: Likewise.
40662 * include/grub/pc_partition.h: Likewise.
40663 * include/grub/raid.h: Likewise.
40664 * include/grub/rescue.h: Likewise.
40665 * include/grub/script.h: Likewise.
40666 * include/grub/setjmp.h: Likewise.
40667 * include/grub/symbol.h: Likewise.
40668 * include/grub/term.h: Likewise.
40669 * include/grub/terminfo.h: Likewise.
40670 * include/grub/tparm.h: Likewise.
40671 * include/grub/types.h: Likewise.
40672 * include/grub/video.h: Likewise.
40673 * include/grub/efi/api.h: Likewise.
40674 * include/grub/efi/chainloader.h: Likewise.
40675 * include/grub/efi/console.h: Likewise.
40676 * include/grub/efi/console_control.h: Likewise.
40677 * include/grub/efi/disk.h: Likewise.
40678 * include/grub/efi/efi.h: Likewise.
40679 * include/grub/efi/pe32.h: Likewise.
40680 * include/grub/efi/time.h: Likewise.
40681 * include/grub/i386/linux.h: Likewise.
40682 * include/grub/i386/setjmp.h: Likewise.
40683 * include/grub/i386/types.h: Likewise.
40684 * include/grub/i386/efi/kernel.h: Likewise.
40685 * include/grub/i386/efi/loader.h: Likewise.
40686 * include/grub/i386/efi/time.h: Likewise.
40687 * include/grub/i386/pc/biosdisk.h: Likewise.
40688 * include/grub/i386/pc/boot.h: Likewise.
40689 * include/grub/i386/pc/chainloader.h: Likewise.
40690 * include/grub/i386/pc/console.h: Likewise.
40691 * include/grub/i386/pc/init.h: Likewise.
40692 * include/grub/i386/pc/kernel.h: Likewise.
40693 * include/grub/i386/pc/loader.h: Likewise.
40694 * include/grub/i386/pc/memory.h: Likewise.
40695 * include/grub/i386/pc/multiboot.h: Likewise.
40696 * include/grub/i386/pc/serial.h: Likewise.
40697 * include/grub/i386/pc/time.h: Likewise.
40698 * include/grub/i386/pc/vbe.h: Likewise.
40699 * include/grub/i386/pc/vbeblit.h: Likewise.
40700 * include/grub/i386/pc/vbefill.h: Likewise.
40701 * include/grub/i386/pc/vbeutil.h: Likewise.
40702 * include/grub/i386/pc/vga.h: Likewise.
40703 * include/grub/ieee1275/ieee1275.h: Likewise.
40704 * include/grub/ieee1275/ofdisk.h: Likewise.
40705 * include/grub/powerpc/libgcc.h: Likewise.
40706 * include/grub/powerpc/setjmp.h: Likewise.
40707 * include/grub/powerpc/types.h: Likewise.
40708 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40709 * include/grub/powerpc/ieee1275/console.h: Likewise.
40710 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40711 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40712 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40713 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40714 * include/grub/powerpc/ieee1275/time.h: Likewise.
40715 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40716 * include/grub/sparc64/libgcc.h: Likewise.
40717 * include/grub/sparc64/setjmp.h: Likewise.
40718 * include/grub/sparc64/types.h: Likewise.
40719 * include/grub/sparc64/ieee1275/console.h: Likewise.
40720 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40721 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40722 * include/grub/sparc64/ieee1275/time.h: Likewise.
40723 * include/grub/util/biosdisk.h: Likewise.
40724 * include/grub/util/getroot.h: Likewise.
40725 * include/grub/util/lvm.h: Likewise.
40726 * include/grub/util/misc.h: Likewise.
40727 * include/grub/util/raid.h: Likewise.
40728 * include/grub/util/resolve.h: Likewise.
40729 * io/gzio.c: Likewise.
40730 * kern/device.c: Likewise.
40731 * kern/disk.c: Likewise.
40732 * kern/dl.c: Likewise.
40733 * kern/elf.c: Likewise.
40734 * kern/env.c: Likewise.
40735 * kern/err.c: Likewise.
40736 * kern/file.c: Likewise.
40737 * kern/fs.c: Likewise.
40738 * kern/loader.c: Likewise.
40739 * kern/main.c: Likewise.
40740 * kern/misc.c: Likewise.
40741 * kern/mm.c: Likewise.
40742 * kern/parser.c: Likewise.
40743 * kern/partition.c: Likewise.
40744 * kern/rescue.c: Likewise.
40745 * kern/term.c: Likewise.
40746 * kern/efi/efi.c: Likewise.
40747 * kern/efi/init.c: Likewise.
40748 * kern/efi/mm.c: Likewise.
40749 * kern/i386/dl.c: Likewise.
40750 * kern/i386/efi/init.c: Likewise.
40751 * kern/i386/efi/startup.S: Likewise.
40752 * kern/i386/pc/init.c: Likewise.
40753 * kern/i386/pc/lzo1x.S: Likewise.
40754 * kern/i386/pc/startup.S: Likewise.
40755 * kern/ieee1275/ieee1275.c: Likewise.
40756 * kern/powerpc/cache.S: Likewise.
40757 * kern/powerpc/dl.c: Likewise.
40758 * kern/powerpc/ieee1275/cmain.c: Likewise.
40759 * kern/powerpc/ieee1275/crt0.S: Likewise.
40760 * kern/powerpc/ieee1275/init.c: Likewise.
40761 * kern/powerpc/ieee1275/openfw.c: Likewise.
40762 * kern/sparc64/cache.S: Likewise.
40763 * kern/sparc64/dl.c: Likewise.
40764 * kern/sparc64/ieee1275/init.c: Likewise.
40765 * kern/sparc64/ieee1275/openfw.c: Likewise.
40766 * loader/efi/chainloader.c: Likewise.
40767 * loader/efi/chainloader_normal.c: Likewise.
40768 * loader/i386/efi/linux.c: Likewise.
40769 * loader/i386/efi/linux_normal.c: Likewise.
40770 * loader/i386/pc/chainloader.c: Likewise.
40771 * loader/i386/pc/chainloader_normal.c: Likewise.
40772 * loader/i386/pc/linux.c: Likewise.
40773 * loader/i386/pc/linux_normal.c: Likewise.
40774 * loader/i386/pc/multiboot.c: Likewise.
40775 * loader/i386/pc/multiboot_normal.c: Likewise.
40776 * loader/powerpc/ieee1275/linux.c: Likewise.
40777 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40778 * normal/arg.c: Likewise.
40779 * normal/cmdline.c: Likewise.
40780 * normal/command.c: Likewise.
40781 * normal/completion.c: Likewise.
40782 * normal/execute.c: Likewise.
40783 * normal/function.c: Likewise.
40784 * normal/lexer.c: Likewise.
40785 * normal/main.c: Likewise.
40786 * normal/menu.c: Likewise.
40787 * normal/menu_entry.c: Likewise.
40788 * normal/misc.c: Likewise.
40789 * normal/parser.y: Likewise.
40790 * normal/script.c: Likewise.
40791 * normal/i386/setjmp.S: Likewise.
40792 * normal/powerpc/setjmp.S: Likewise.
40793 * normal/sparc64/setjmp.S: Likewise.
40794 * partmap/acorn.c: Likewise.
40795 * partmap/amiga.c: Likewise.
40796 * partmap/apple.c: Likewise.
40797 * partmap/gpt.c: Likewise.
40798 * partmap/pc.c: Likewise.
40799 * partmap/sun.c: Likewise.
40800 * term/gfxterm.c: Likewise.
40801 * term/terminfo.c: Likewise.
40802 * term/efi/console.c: Likewise.
40803 * term/i386/pc/console.c: Likewise.
40804 * term/i386/pc/serial.c: Likewise.
40805 * term/i386/pc/vesafb.c: Likewise.
40806 * term/i386/pc/vga.c: Likewise.
40807 * term/ieee1275/ofconsole.c: Likewise.
40808 * util/biosdisk.c: Likewise.
40809 * util/console.c: Likewise.
40810 * util/genmoddep.c: Likewise.
40811 * util/getroot.c: Likewise.
40812 * util/grub-emu.c: Likewise.
40813 * util/grub-mkdevicemap.c: Likewise.
40814 * util/grub-probe.c: Likewise.
40815 * util/lvm.c: Likewise.
40816 * util/misc.c: Likewise.
40817 * util/raid.c: Likewise.
40818 * util/resolve.c: Likewise.
40819 * util/update-grub.in: Likewise.
40820 * util/update-grub_lib.in: Likewise.
40821 * util/grub.d/00_header.in: Likewise.
40822 * util/grub.d/10_hurd.in: Likewise.
40823 * util/grub.d/10_linux.in: Likewise.
40824 * util/i386/efi/grub-install.in: Likewise.
40825 * util/i386/efi/grub-mkimage.c: Likewise.
40826 * util/i386/pc/grub-install.in: Likewise.
40827 * util/i386/pc/grub-mkimage.c: Likewise.
40828 * util/i386/pc/grub-mkrescue.in: Likewise.
40829 * util/i386/pc/grub-setup.c: Likewise.
40830 * util/i386/pc/misc.c: Likewise.
40831 * util/powerpc/ieee1275/grub-install.in: Likewise.
40832 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40833 * util/powerpc/ieee1275/misc.c: Likewise.
40834 * video/bitmap.c: Likewise.
40835 * video/video.c: Likewise.
40836 * video/i386/pc/vbe.c: Likewise.
40837 * video/i386/pc/vbeblit.c: Likewise.
40838 * video/i386/pc/vbefill.c: Likewise.
40839 * video/i386/pc/vbeutil.c: Likewise.
40840 * video/readers/tga.c: Likewise.
40841
40842 2007-07-02 Robert Millan <rmh@aybabtu.com>
40843
40844 * conf/i386-efi.rmk: Replace obsolete reference to
40845 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
40846 with util/getroot.c.
40847 * conf/powerpc-ieee1275.rmk: Likewise.
40848 * conf/sparc64-ieee1275.rmk: Likewise.
40849
40850 * util/grub-emu.c (main): Fix unchecked pointer handling.
40851
40852 2007-07-02 Robert Millan <rmh@aybabtu.com>
40853
40854 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
40855 invocation to fail, in order to support partition-less media.
40856
40857 * util/i386/pc/grub-install.in: Likewise.
40858
40859 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
40860 which fs or partmap modules are needed (akin to its sister scripts).
40861
40862 Also use grub-probe to get rid of unportable /proc/mounts check.
40863
40864 Print the same informational message that the other scripts do, before
40865 exiting.
40866
40867 2007-06-23 Robert Millan <rmh@aybabtu.com>
40868
40869 * util/update-grub_lib.in (font_path): New function. Determine whether
40870 a font file can be found and, if so, echo the GRUB path to it.
40871
40872 * util/update-grub.in: Handle multiple terminals depending on user
40873 input, platform availability and font file presence. Propagate
40874 variables of our findings to /etc/grub.d/ children.
40875
40876 * util/grub.d/00_header.in: Handle multiple terminals, based on
40877 environment setup by update-grub.
40878
40879 2007-06-23 Robert Millan <rmh@aybabtu.com>
40880
40881 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
40882
40883 2007-06-21 Robert Millan <rmh@aybabtu.com>
40884
40885 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
40886 indicate end of data section in kernel image.
40887 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
40888 GRUB_KERNEL_MACHINE_DATA_END.
40889
40890 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
40891 space for it.
40892 * kern/i386/efi/startup.S: Likewise.
40893
40894 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
40895 during image generation. Implement --prefix option to override this
40896 patch.
40897 * util/i386/efi/grub-mkimage.c: Likewise.
40898
40899 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
40900 code to make path relative to its root into a separate function.
40901
40902 * util/i386/pc/grub-install.in: Use newly provided
40903 make_system_path_relative_to_its_root() to convert ${grubdir}, then
40904 pass the result to grub-install --prefix.
40905
40906 2007-06-13 Robert Millan <rmh@aybabtu.com>
40907
40908 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
40909 DEFAULT_DEVICE_MAP.
40910 * util/grub-emu.c: Use above definitions from misc.h instead of
40911 defining them.
40912 * util/grub-mkdevicemap.c: Likewise.
40913 * util/i386/pc/grub-setup.c: Likewise.
40914 * util/grub-probe.c: Likewise.
40915 (probe): Abort with grub_util_error() when either
40916 grub_guess_root_device or grub_util_get_grub_dev fails.
40917
40918 2007-06-12 Robert Millan <rmh@aybabtu.com>
40919
40920 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40921 "pager" assignment.
40922 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40923 "pcdata".
40924 * util/grub-probe.c (probe): Likewise for "drive_name".
40925
40926 2007-06-11 Robert Millan <rmh@aybabtu.com>
40927
40928 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40929 not just the cdrom one.
40930
40931 2007-06-11 Robert Millan <rmh@aybabtu.com>
40932
40933 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40934 Add --pkglibdir=DIR option to override pkglibdir.
40935 Mention --image-type=TYPE in help output.
40936 Fix --grub-mkimage (it was a no-op).
40937 Abort gracefully when no parameter is given.
40938
40939 2007-06-11 Robert Millan <rmh@aybabtu.com>
40940
40941 * util/i386/pc/grub-mkrescue.in: New file.
40942 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40943 * Makefile.in: Handle bin_SCRIPTS.
40944
40945 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40946
40947 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40948 list of video modes.
40949
40950 2007-06-06 Robert Millan <rmh@aybabtu.com>
40951
40952 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40953 file doesn't exist, or if it is in a filesystem grub can't read.
40954
40955 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40956 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40957 header comment to fit in 80 columns when the variables are resolved.
40958
40959 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40960 could be identified by update-grub. Remove redundant check for
40961 unifont.pff existence (since convert_system_path_to_grub_path now
40962 handles that).
40963
40964 2007-06-04 Robert Millan <rmh@aybabtu.com>
40965
40966 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40967
40968 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40969
40970 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40971
40972 2007-06-04 Robert Millan <rmh@aybabtu.com>
40973
40974 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40975
40976 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40977 grub_apple_partition_map_fini.
40978
40979 * util/biosdisk.c
40980 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40981 to access >2 TiB disks).
40982
40983 Print disk->total_sectors with %llu instead of %lu, since this
40984 variable is always 64-bit (prevents wrong disk size from being displayed
40985 on either >2 TiB disk or big-endian CPU).
40986
40987 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40988 into a generic case that supports all (sane) partition maps.
40989
40990 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40991 breaks big-endian.
40992
40993 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40994 and grub_apple_partition_map_fini() after that.
40995
40996 2007-06-01 Robert Millan <rmh@aybabtu.com>
40997
40998 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40999
41000 * util/grub.d/00_header.in: Only enable gfxterm when
41001 convert_system_path_to_grub_path() succeeds.
41002
41003 2007-05-20 Robert Millan <rmh@aybabtu.com>
41004
41005 * util/update-grub_lib.in: New file.
41006 * DISTLIST: Add update-grub_lib.in.
41007 * conf/common.rmk: Generate update-grub_lib and install it in
41008 $(lib_DATA).
41009 * Makefile.in: Add install routine for $(lib_DATA).
41010
41011 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41012 function provided by update-grub_lib to support arbitrary paths of
41013 unifont.pff.
41014 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41015 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41016
41017 2007-05-19 Robert Millan <rmh@aybabtu.com>
41018
41019 * commands/i386/cpuid.c: New module.
41020 * DISTLIST: Add it.
41021 * conf/i386-efi.rmk: Enable cpuid.mod.
41022 * conf/i386-pc.rmk: Likewise.
41023
41024 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41025
41026 * kern/disk.c (grub_disk_read): Check return value of
41027 grub_realloc().
41028
41029 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41030
41031 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41032 arrays.
41033 * disk/raid.c (grub_raid_open): Likewise.
41034
41035 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41036
41037 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41038 stack instead of on the heap.
41039
41040 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41041 before doing a read on it.
41042
41043 * configure.ac: Only use -fno-stack-protector for the target
41044 environment.
41045
41046 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41047
41048 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41049 __attribute_ ((unused)) to mode_type argument.
41050
41051 * util/getroot.c (grub_guess_root_device): Fix #endif.
41052
41053 * kern/misc.c (memcmp): Fix prototype.
41054
41055 * include/grub/partition.h [GRUB_UTIL]
41056 (grub_gpt_partition_map_init): Add prototype.
41057 (grub_gpt_partition_map_fini): Likewise.
41058
41059 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41060 at the right place.
41061
41062 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41063 (grub_fat_read_data): Likewise.
41064 (grub_fat_find_dir): Likewise.
41065
41066 * font/manager.c (find_glyph): Make table a const.
41067 (grub_font_get_glyph): Remove bitmap from if statement.
41068
41069 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41070
41071 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41072 code, first search for device in /dev/mapper, then in /dev.
41073 (grub_util_get_grub_dev): New function.
41074 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41075 prototype.
41076 * util/grub-probe.c (probe): Remove check for RAID, call
41077 grub_util_get_grub_dev() instead of
41078 grub_util_biosdisk_get_grub_dev().
41079 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41080 grub_util_biosdisk_get_grub_dev().
41081 * util/i386/pc/grub-setup.c (main): Likewise.
41082
41083 2007-05-16 Robert Millan <rmh@aybabtu.com>
41084
41085 * DISTLIST: Update for the latest changes.
41086 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41087 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41088 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41089 grub/util/biosdisk.h.
41090 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41091 grub/util/biosdisk.h.
41092
41093 2007-05-16 Robert Millan <rmh@aybabtu.com>
41094
41095 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41096
41097 2007-05-16 Robert Millan <rmh@aybabtu.com>
41098
41099 * util/i386/efi/grub-install.in: New.
41100 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41101 newly added grub-install.
41102 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41103 include.
41104 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41105 grub/util/biosdisk.h.
41106 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41107 grub/util/biosdisk.h.
41108
41109 2007-05-16 Robert Millan <rmh@aybabtu.com>
41110
41111 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41112 * include/grub/util/biosdisk.h: ... here.
41113 * util/i386/pc/biosdisk.c: Moved to ...
41114 * util/biosdisk.c: ... here.
41115 * util/i386/pc/getroot.c: Moved to ...
41116 * util/getroot.c: ... here.
41117 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41118 * util/grub-mkdevicemap.c: ... here.
41119 * util/i386/pc/grub-probe.c: Moved to ...
41120 * util/grub-probe.c: ... here.
41121
41122 2007-05-15 Robert Millan <rmh@aybabtu.com>
41123
41124 * util/update-grub.in: Remove duplicated line in grub.cfg header
41125 message.
41126
41127 2007-05-13 Robert Millan <rmh@aybabtu.com>
41128
41129 * util/update-grub.in: Fix a few assumptions about the devices holding
41130 /, /boot and /boot/grub being the same.
41131 * util/grub.d/00_header.in: Likewise.
41132 * util/grub.d/10_hurd.in: Likewise.
41133 * util/grub.d/10_linux.in: Likewise.
41134
41135 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41136 patterns. Use that to define the `.old' suffix as older than `'.
41137
41138 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41139
41140 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41141 the grub.cfg header message.
41142
41143 2007-05-11 Robert Millan <rmh@aybabtu.com>
41144
41145 * util/update-grub.in: Create device.map if it doesn't already exist,
41146 before attempting to run grub-probe.
41147 Check for grub-probe and grub-mkdevicemap with the same code
41148 grub-install is using.
41149 Remove test mode.
41150
41151 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41152
41153 * Makefile.in: Add the datarootdir autoconf variable.
41154
41155 2007-05-09 Robert Millan <rmh@aybabtu.com>
41156
41157 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
41158 fail gracefully if dev->disk->partition == NULL.
41159
41160 2007-05-07 Robert Millan <rmh@aybabtu.com>
41161
41162 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41163 determine partition map module.
41164 * util/i386/pc/grub-install.in: Use this feature to decide which
41165 partition module to load, instead of hardcoding pc and gpt.
41166
41167 2007-05-07 Robert Millan <rmh@aybabtu.com>
41168
41169 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41170 source directory differs from build directory.
41171
41172 2007-05-05 Robert Millan <rmh@aybabtu.com>
41173
41174 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41175 initialisation.
41176
41177 2007-05-05 Robert Millan <rmh@aybabtu.com>
41178
41179 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41180
41181 2007-05-05 Robert Millan <rmh@aybabtu.com>
41182
41183 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41184 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41185
41186 2007-05-05 Robert Millan <rmh@aybabtu.com>
41187
41188 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41189 (grub_probe_SOURCES): Likewise.
41190 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41191 GPT and initialize dos_part and bsd_part accordingly.
41192 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41193 install_bsd_part.
41194 (main): Activate gpt module for use during partition identification,
41195 and deactivate it afterwards.
41196 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41197 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41198 partition identification, and deactivate it afterwards.
41199
41200 2007-05-05 Robert Millan <rmh@aybabtu.com>
41201
41202 * term/i386/pc/console.c (grub_console_fini): Call
41203 grub_term_set_current() before grub_term_unregister().
41204
41205 2007-05-04 Robert Millan <rmh@aybabtu.com>
41206
41207 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41208 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41209 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41210 and update-grub_DATA.
41211 * conf/common.rmk: Build and install update-grub components.
41212 * conf/common.mk: Regenerate.
41213 * util/update-grub.in: New. Core of update-grub.
41214 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41215 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41216 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41217 * util/grub.d/README: New. Document grub.d directory layout.
41218
41219 2007-05-01 Robert Millan <rmh@aybabtu.com>
41220
41221 * util/grub-emu.c: Move initialization functions
41222 grub_util_biosdisk_init() and grub_init_all() before
41223 grub_util_biosdisk_get_grub_dev(), which relies on them.
41224
41225 2007-04-19 Robert Millan <rmh@aybabtu.com>
41226
41227 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41228 it is used later.
41229
41230 2007-04-18 Jerone Young <jerone@gmail.com>
41231
41232 * kernel/elf.c: Add missing parenthesis for conditional statement
41233 stanza.
41234
41235 2007-04-10 Jerone Young <jerone@gmail.com>
41236
41237 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41238 continue on and look for device node with real device name.
41239
41240 2007-04-10 Jerone Young <jerone@gmail.com>
41241
41242 * configure.ac: Add argument for autoconf to use transformation
41243 ability.
41244 * Makefile.in: Add autoconf package transformation code.
41245 * util/i386/pc/grub-install.in: Likewise.
41246 * util/powerpc/ieee1275/grub-install.in: Likewise.
41247
41248 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41249
41250 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41251 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41252 (EXT2_REVISION): Likewise.
41253 (EXT2_INODE_SIZE): Likewise.
41254 (struct grub_ext2_block_group): Added a missing member
41255 "used_dirs".
41256 (grub_ext2_read_inode): Divide by the inode size in a superblock
41257 instead of 128 to obtain INODES_PER_BLOCK.
41258 Use the macro EXT2_INODE_SIZE instead of directly using
41259 SBLOCK->INODE_SIZE.
41260
41261 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41262
41263 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41264 superblock instead of the structure size to compute an
41265 offset. This fixes the problem that GRUB could not read a
41266 filesystem when inode size is different from 128-byte.
41267
41268 2007-03-05 Marco Gerards <marco@gnu.org>
41269
41270 * normal/main.c (read_config_file): When "menu" is not set, create
41271 an initial context.
41272
41273 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41274
41275 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41276 (HEAP_LIMIT): New macro.
41277 (grub_claim_heap): Claim memory up to `heaplimit'.
41278
41279 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41280
41281 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41282 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41283 (_start): Likewise.
41284 (grub_arch_modules_addr): Return address after `_end'.
41285 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41286 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41287 (add_segments): Calculate `_end' from phdr size and location.
41288 (ALIGN_UP): Moved to ...
41289 * include/grub/misc.h: here.
41290 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41291 New macro.
41292 (GRUB_IEEE1275_MODULE_BASE): Removed.
41293
41294 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41295
41296 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41297 loop boundary.
41298
41299 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41300
41301 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41302 All users updated.
41303 (grub_elf64_load_hook_t): Likewise.
41304 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41305 debug output.
41306
41307 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41308
41309 * kern/mm.c: Update copyright.
41310 (grub_mm_debug): Correct syntax error.
41311 (grub_mm_dump_free): New function.
41312 (grub_debug_free): Call `grub_free'.
41313 * include/grub/mm.h: Update copyright.
41314 (grub_mm_dump_free): Add declaration.
41315
41316 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41317
41318 * include/grub/ieee1275/ieee1275.h: Update copyright.
41319 * kern/powerpc/ieee1275/init.c: Likewise.
41320 * kern/powerpc/ieee1275/openfw.c: Likewise.
41321
41322 * loader/powerpc/ieee1275/linux.c: Likewise.
41323 * include/grub/elfload.h: Likewise.
41324 * kern/elf.c: Likewise.
41325 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41326 callers.
41327 (grub_elf64_load): Likewise.
41328 (grub_elf32_load_segment): Move to a nested function.
41329 (grub_elf64_load_segment): Likewise.
41330
41331 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41332
41333 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41334 prototype.
41335 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41336 (grub_heap_len): Likewise.
41337 (HEAP_SIZE): New macro.
41338 (grub_claim_heap): New function.
41339 (grub_machine_init): Don't claim heap directly. Call
41340 `grub_claim_heap'.
41341 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41342 (grub_available_iterate): New function.
41343
41344 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41345
41346 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41347 * configure.ac: Use it for testing the HOST and TARGET compilers.
41348
41349 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41350
41351 * Makefile.in (enable_grub_emu): New variable.
41352 * configure.ac (--enable-grub-emu): New option.
41353 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41354 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41355 * conf/i386-pc.rmk: Likewise.
41356 * conf/powerpc-ieee1275.rmk: Likewise.
41357 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41358
41359 2006-12-12 Marco Gerards <marco@gnu.org>
41360
41361 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41362
41363 * kern/env.c (grub_env_unset): Don't free the member `value' when
41364 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41365 pointer.
41366
41367 * normal/main.c (current_menu): Removed.
41368 (free_menu): Unset the `menu' environment variable.
41369 (grub_normal_menu_addentry): Make use of the environment variable
41370 `menu', instead of using the global `current_menu'. Allocate
41371 memory for the sourcecode of this entry.
41372 (read_config_file): New argument `nested', changed all callers.
41373 Only in the case of a new context, initialize a new menu. Set the
41374 `menu' environment variable.
41375 (grub_normal_execute): Don't set and unset the environment
41376 variable `menu' here anymore. Only free the menu when leaving the
41377 context.
41378
41379 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41380 leak.
41381
41382 2006-12-11 Marco Gerards <marco@gnu.org>
41383
41384 * normal/menu_entry.c (run): Fix off by one bug so the last line
41385 is executed. Move the loader check to outside the loop.
41386
41387 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
41388
41389 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
41390
41391 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
41392
41393 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
41394 the number of sectors. Reported by Andrey Shuvikov
41395 <mr_hyro@yahoo.com>.
41396
41397 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
41398
41399 * kern/disk.c (grub_disk_read): When there is a read error, always
41400 try to read only the necessary data.
41401
41402 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
41403 disk/raid.c.
41404 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
41405 prototype.
41406 [GRUB_UTIL] (grub_raid_fini): Likewise.
41407 [GRUB_UTIL] (grub_lvm_init): Likewise.
41408 [GRUB_UTIL] (grub_lvm_fini): Likewise.
41409 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
41410 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
41411 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
41412 and grub_raid_fini().
41413
41414 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41415
41416 * include/grub/types.h (__unused): Rename to UNUSED.
41417 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
41418 (grub_elf64_size): Likewise.
41419
41420 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41421
41422 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
41423 grub_error_push and grub_error_pop in the error-handling path.
41424 (grub_elf32_load_segment): Only call grub_file_read with non-zero
41425 length.
41426
41427 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41428
41429 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
41430 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41432 (kernel_elf_SOURCES): Likewise.
41433 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
41434 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
41435 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41436 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41437 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
41438 (elf_mod_SOURCES): New variable.
41439 (elf_mod_CFLAGS): Likewise.
41440 (elf_mod_LDFLAGS): Likewise.
41441 * include/grub/types.h (__unused): New macro.
41442 * include/grub/elfload.h: New file.
41443 * kern/elf.c: Likewise.
41444 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
41445 (ELF32_LOADMASK): New macro.
41446 (ELF64_LOADMASK): Likewise.
41447 (vmlinux): Removed.
41448 (grub_linux_load32): New function.
41449 (grub_linux_load64): Likewise.
41450 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
41451 Use grub_elf_t instead of grub_file_t.
41452
41453 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
41454
41455 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
41456 `catch_result' to struct set_color_args.
41457
41458 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41459
41460 * normal/menu.c: Include grub/script.h.
41461 * normal/menu_entry.c: Likewise.
41462 * include/grub/normal.h: Do not include grub/script.h.
41463
41464 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41465
41466 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
41467
41468 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41469
41470 * kern/disk.c (grub_disk_open): Print debug messages when opening a
41471 disk.
41472 (grub_disk_close): Print debug messages when closing a disk.
41473 (grub_disk_read): Print debug messages when disk read fails.
41474 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
41475 filesystem type.
41476 * kern/partition.c: Include misc.h.
41477 (grub_partition_iterate): Print debug messages when detecting
41478 partition type.
41479
41480 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41481
41482 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
41483 is negative.
41484 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
41485
41486 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
41487
41488 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41489 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41490
41491 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41492
41493 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41494 instead of sizeof(lv). Patch by Michael Guntsche.
41495
41496 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
41497
41498 * disk/lvm.c: Rename VGS to VG_LIST.
41499 (grub_lvm_iterate): Change VGS->LV to VG-LV.
41500 (grub_lvm_open): Likewise.
41501 Thanks to Michael Guntsche for finding this bug.
41502
41503 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41504
41505 * configure.ac (AC_INIT): Bumped to 1.95.
41506
41507 2006-10-14 Robert Millan <rmh@aybabtu.com>
41508
41509 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
41510 with "/dev/.static/dev/md".
41511
41512 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41513
41514 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
41515 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
41516 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
41517 DRIVE_NAME are always freed.
41518
41519 * util/i386/pc/biosdisk.c (make_device_name): Add one into
41520 DOS_PART, as a DOS partition is counted from one instead of zero
41521 now. Reported by Robert Millan.
41522
41523 2006-10-14 Robert Millan <rmh@aybabtu.com>
41524
41525 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
41526 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
41527 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
41528 string returned by grub_guess_root_device.
41529 * util/i386/pc/grub-setup.c: Likewise.
41530 * util/i386/pc/grub-probefs.c: Likewise.
41531
41532 * util/i386/pc/grub-probefs.c: Rename to ...
41533 * util/i386/pc/grub-probe.c: ... this.
41534 * DISTLIST: Remove grub-probefs, add grub-probe.
41535 * conf/i386-efi.rmk: Likewise.
41536 * conf/i386-pc.rmk: Likewise.
41537 * util/i386/pc/grub-install.in: Likewise.
41538
41539 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
41540 choose which information we want to print.
41541
41542 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41543
41544 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
41545 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
41546 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41547 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41548 video/readers/tga.c and video/i386/pc/vbeutil.c.
41549
41550 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41551
41552 Added support for RAID and LVM.
41553
41554 * disk/lvm.c: New file.
41555 * disk/raid.c: Likewise.
41556 * include/grub/lvm.h: Likewise.
41557 * include/grub/raid.h: Likewise.
41558 * include/grub/util/lvm.h: Likewise.
41559 * include/grub/util/raid.h: Likewise.
41560 * util/lvm.c: Likewise.
41561 * util/raid.c: Likewise.
41562
41563 * include/grub/disk.h (grub_disk_dev_id): Add
41564 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41565 (grub_disk_get_size): New prototype.
41566 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41567 returns a partition.
41568 (grub_disk_get_size): New function.
41569
41570 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41571 verbatim if grub_install_dos_part is -2.
41572
41573 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41574 and LVM devices.
41575
41576 * util/i386/pc/grub-setup.c (setup): New argument
41577 MUST_EMBED. Force embedding of GRUB when the argument is
41578 true. Close FILE before returning.
41579 (main): Add support for RAID and LVM.
41580
41581 * conf/common.rmk: Add RAID and LVM modules.
41582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41583 util/lvm.c.
41584 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41585
41586 * kern/misc.c (grub_strstr): New function.
41587 * include/grub/misc.h (grub_strstr): New prototype.
41588
41589 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41590
41591 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41592
41593 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41594
41595 * kern/misc.c (grub_strtoull): Guess the base only if not
41596 specified.
41597
41598 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41599
41600 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41601 PowerMac support.
41602
41603 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41604
41605 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41606
41607 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41608 Remove `flags' argument. All callers changed.
41609 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41610 (IEEE1275_IHANDLE_INVALID): New variable.
41611 (IEEE1275_CELL_INVALID): New variable.
41612 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41613 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41614 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41615 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41616 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41617 codes from Open Firmware. All callers updated.
41618 (grub_ieee1275_next_property): Directly return Open Firmware return
41619 code.
41620 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41621 Standardize error checking from `grub_ieee1275_get_property'.
41622 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41623 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41624
41625 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41626
41627 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41628 `instance_to_package_args' to `instance_to_path_args'.
41629
41630 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41631 `grub_ieee1275_chosen'.
41632
41633 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41634 `grub_ieee1275_interpret'.
41635
41636 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41637
41638 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41639
41640 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41641
41642 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41643 (__cmpdi): Likewise.
41644
41645 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41646 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41647 `grub_ssize_t'.
41648
41649 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
41650
41651 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41652 to type `grub_ssize_t'.
41653 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41654
41655 2006-09-22 Marco Gerards <marco@gnu.org>
41656
41657 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41658 newlines.
41659
41660 2006-09-22 Marco Gerards <marco@gnu.org>
41661
41662 * commands/echo.c: New file.
41663
41664 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41665
41666 * conf/common.rmk (echo_mod_SOURCES): New variable.
41667 (echo_mod_CFLAGS): Likewise.
41668 (echo_mod_LDFLAGS): Likewise.
41669
41670 2006-09-22 Marco Gerards <marco@gnu.org>
41671
41672 * normal/main.c (get_line): Malloc memory instead of using
41673 preallocated memory. Removed the arguments `cmdline' and
41674 `max_len'. Updated all callers.
41675
41676 2006-09-22 Marco Gerards <marco@gnu.org>
41677
41678 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41679 (normal_mod_DEPENDENCIES): Likewise.
41680
41681 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41682 (normal_mod_DEPENDENCIES): Likewise.
41683
41684 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41685
41686 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
41687
41688 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41689 programs.
41690 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41691 (normal_mod_DEPENDENCIES): Likewise.
41692 * conf/i386-pc.mk: Regenerate.
41693 * conf/i386-efi.mk: Likewise
41694 * conf/common.mk: Likewise.
41695 * conf/powerpc-ieee1275.mk: Likewise.
41696 * conf/sparc64-ieee1275.mk: Likewise.
41697
41698 2006-09-22 Robert Millan <rmh@aybabtu.com>
41699
41700 Sync with i386 version.
41701 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41702 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41703
41704 2006-09-21 Robert Millan <rmh@aybabtu.com>
41705
41706 Import from GRUB Legacy (lib/device.c):
41707 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41708 (init_device_map) [__linux__]: Add support for I2O devices.
41709
41710 2006-09-14 Marco Gerards <marco@gnu.org>
41711
41712 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41713 `-melf_i386'.
41714
41715 2006-09-14 Robert Millan <rmh@aybabtu.com>
41716
41717 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41718 /boot/grub/*.lst.
41719
41720 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
41721
41722 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41723 before adding it to device.map.
41724
41725 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
41726
41727 * genmk.rb: Let GCC generate dependencies the first time it
41728 compiles a file; using the -MD option.
41729 * conf/common.mk: Regenerate.
41730 * conf/i386-pc.mk: Likewise.
41731 * conf/i386-efi.mk: Likewise.
41732 * conf/powerpc-ieee1275.mk: Likewise.
41733 * conf/sparc64-ieee1275.mk: Likewise.
41734
41735 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41736
41737 Move the prototypes of grub_setjmp and grub_longjmp to
41738 cpu/setjmp.h, so that each architecture may specify different
41739 attributes.
41740
41741 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41742 (grub_longjmp): Likewise.
41743 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41744 (grub_longjmp): Likewise.
41745 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41746 (grub_longjmp): Likewise.
41747
41748 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41749 [!GRUB_UTIL] (grub_longjmp): Removed.
41750
41751 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41752
41753 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41754 "color!" method does not return any value.
41755
41756 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41757
41758 * include/grub/bitmap.h: New file.
41759
41760 * include/grub/i386/pc/vbeutil.h: Likewise.
41761
41762 * video/bitmap.c: Likewise.
41763
41764 * video/readers/tga.c: Likewise.
41765
41766 * video/i386/pc/vbeutil.c: Likewise.
41767
41768 * commands/videotest.c: Code cleanup and updated to reflect to new
41769 video API.
41770
41771 * term/gfxterm.c: Likewise.
41772
41773 * video/video.c: Likewise.
41774
41775 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41776 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41777 (bitmap_mod_SOURCES): New entry.
41778 (bitmap_mod_CFLAGS): Likewise.
41779 (bitmap_mod_LDFLAGS): Likewise.
41780 (tga_mod_SOURCES): Likewise.
41781 (tga_mod_CFLAGS): Likewise.
41782 (tga_mod_LDFLAGS): Likewise.
41783
41784 * include/grub/video.h (grub_video_blit_operators): New enum type.
41785 (grub_video_render_target): Changed as forward declaration and moved
41786 actual definition to be video driver specific.
41787 (grub_video_adapter.blit_bitmap): Added blitting operator.
41788 (grub_video_adapter.blit_render_target): Likewise.
41789 (grub_video_blit_bitmap): Likewise.
41790 (grub_video_blit_render_target): Likewise.
41791
41792 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41793 driver specific render target definition.
41794 (grub_video_vbe_map_rgba): Added driver internal helper.
41795 (grub_video_vbe_unmap_color): Updated to use
41796 grub_video_i386_vbeblit_info.
41797 (grub_video_vbe_get_video_ptr): Likewise.
41798
41799 * include/grub/i386/pc/vbeblit.h
41800 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41801 grub_video_i386_vbeblit_info.
41802 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41803 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41804 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41805 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41806 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41807 (grub_video_i386_vbeblit_index_index): Likewise.
41808 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41809 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41810 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41811 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41812 operator.
41813 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41814 operator.
41815
41816 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41817 include/grub/i386/pc/vbeblit.h.
41818
41819 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41820 Updated to use grub_video_i386_vbeblit_info.
41821 (grub_video_i386_vbefill_R8G8B8): Likewise.
41822 (grub_video_i386_vbefill_index): Likewise.
41823 (grub_video_i386_vbefill): Added generic filler.
41824
41825 * video/i386/pc/vbefill.c: Updated to reflect changes on
41826 include/grub/i386/pc/vbefill.h.
41827
41828 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41829 grub_video_i386_vbeblit_info.
41830 (grub_video_vbe_unmap_color): Likewise.
41831 (grub_video_vbe_blit_glyph): Likewise.
41832 (grub_video_vbe_scroll): Likewise.
41833 (grub_video_vbe_draw_pixel): Removed function.
41834 (grub_video_vbe_get_pixel): Likewise.
41835 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41836 updated code to use it.
41837 (common_blitter): Added common blitter for render target and bitmap.
41838 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41839 (grub_video_vbe_blit_render_target): Likewise.
41840
41841 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
41842
41843 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41844 is in text mode if there is no console control protocol instance
41845 available.
41846
41847 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41848
41849 * include/grub/video.h: Code cleanup.
41850
41851 * include/grub/i386/pc/vbe.h: Likewise.
41852
41853 * video/i386/pc/vbe.c: Likewise.
41854
41855 * video/i386/pc/vbeblit.c: Likewise.
41856
41857 * video/i386/pc/vbefill.c: Likewise.
41858
41859 * video/video.c: Likewise. Also added more comments.
41860
41861 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41862
41863 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
41864 (struct grub_biosdisk_dap): Likewise.
41865
41866 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
41867 linkage settings for all functions.
41868
41869 2006-07-12 Marco Gerards <marco@gnu.org>
41870
41871 * configure.ac (--enable-mm-debug): Fix typo.
41872
41873 * genkernsyms.sh.in: Use proper quoting for `CC'.
41874
41875 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
41876
41877 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
41878 (normal_mod_ASFLAGS): Remove "-m32".
41879
41880 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
41881
41882 * util/misc.c: Include config.h.
41883 [!HAVE_MEMALIGN]: Do not include malloc.h.
41884 (grub_memalign): Use posix_memalign, if present. Then, use
41885 memalign, if present. Otherwise, emit an error.
41886
41887 * util/grub-emu.c: Do not include malloc.h.
41888
41889 * include/grub/util/misc.h: Include unistd.h. This is required for
41890 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
41891 D. Eades III <hde@foobar-qux.org>.
41892
41893 * configure.ac (AC_GNU_SOURCE): Added.
41894 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
41895 type.
41896
41897 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
41898
41899 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
41900 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
41901
41902 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
41903
41904 * include/grub/types.h (grub_host_addr_t): Rename to
41905 grub_target_addr_t.
41906 (grub_host_off_t): Rename to grub_target_off_t.
41907 (grub_host_size_t): Rename to grub_target_size_t.
41908 (grub_host_ssize_t): Rename to grub_target_ssize_t.
41909 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
41910
41911 * include/grub/kernel.h (struct grub_module_header): Change type
41912 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
41913 (grub_module_info): Likewise.
41914
41915 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41916
41917 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41918 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41919 Velazquez <jesus.velazquez@gmail.com>.
41920
41921 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41922
41923 Count partitions from 1 instead of 0 in the string representation
41924 of partitions. Still use 0-based internally.
41925
41926 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41927 (sun_partition_map_iterate): Use grub_partition_t instead of
41928 struct grub_partition *. Cast DESC->START_CYLINDER to
41929 grub_uint64_t after converting the endian.
41930 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41931 (sun_partition_map_get_name): Add 1 to P->INDEX.
41932
41933 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41934 PCDATA->DOS_PART.
41935 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41936
41937 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41938 zero instead of one.
41939 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41940 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41941
41942 * partmap/apple.c (apple_partition_map_iterate): Change the type
41943 of POS to unsigned.
41944 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41945 (apple_partition_map_get_name): Add 1 into P->INDEX.
41946
41947 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41948 of POS to unsigned.
41949 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41950 calculate the offset of a partition.
41951 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41952 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41953
41954 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41955 SECTOR to grub_disk_addr_t.
41956 (acorn_partition_map_iterate): Likewise.
41957 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41958 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41959 top.
41960 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41961
41962 * kern/i386/pc/init.c (make_install_device): Add 1 into
41963 GRUB_INSTALL_DOS_PART.
41964
41965 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41966 conditional.
41967
41968 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41969
41970 Clean up the code to support 64-bit addressing in disks and
41971 files. This change is not enough for filesystems yet.
41972
41973 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41974 type of "start" to grub_uint64_t.
41975 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41976 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41977 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41978 convert addresses.
41979
41980 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41981 to grub_disk_addr_t.
41982
41983 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41984 string.
41985
41986 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41987
41988 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41989 to char *.
41990
41991 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41992
41993 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41994
41995 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41996
41997 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41998 to grub_off_t, to detect an error from grub_file_seek.
41999 (grub_multiboot_load_elf32): Likewise.
42000
42001 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42002 maximum unsigned long value when an overflow is detected.
42003 (grub_strtoull): New function.
42004 (grub_divmod64): Likewise.
42005 (grub_lltoa): use grub_divmod64.
42006
42007 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42008 grub_disk_addr_t.
42009 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42010 the pointer to next character. Use grub_strtoull instead of
42011 grub_strtoul.
42012 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42013 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42014 respectively.
42015
42016 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
42017 return value is signed.
42018 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42019 test if OFFSET is less than zero, as OFFSET is unsigned now.
42020
42021 * kern/disk.c (struct grub_disk_cache): Change the type of
42022 "sector" to grub_disk_addr_t.
42023 (grub_disk_cache_get_index): Change the type of SECTOR to
42024 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42025 unsigned after shifting.
42026 (grub_disk_cache_invalidate): Change the type of SECTOR to
42027 grub_disk_addr_t.
42028 (grub_disk_cache_unlock): Likewise.
42029 (grub_disk_cache_store): Likewise.
42030 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42031 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42032 grub_disk_addr_t and grub_uint64_t, respectively.
42033 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42034 body, as the value of OFFSET is tweaked by
42035 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42036 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42037 respectively.
42038 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42039 body, as the value of OFFSET is tweaked by
42040 grub_disk_check_range. Change the types of LEN and N to
42041 grub_size_t.
42042
42043 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42044 and "saved_offset" to grub_off_t.
42045 (test_header): Cast BUF to char *.
42046 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42047 to char *.
42048 (grub_gzio_read): Change the types of OFFSET and SIZE to
42049 grub_off_t and grub_size_t, respectively.
42050
42051 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42052 Removed.
42053 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42054 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42055 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42056 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42057 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42058
42059 * include/grub/types.h (grub_off_t): Unconditionally set to
42060 grub_uint64_t.
42061 (grub_disk_addr_t): Changed to grub_uint64_t.
42062
42063 * include/grub/partition.h (struct grub_partition): Change the
42064 types of "start", "len" and "offset" to grub_disk_addr_t,
42065 grub_uint64_t and grub_disk_addr_t, respectively.
42066 (grub_partition_get_start): Return grub_disk_addr_t.
42067 (grub_partition_get_len): Return grub_uint64_t.
42068
42069 * include/grub/misc.h (grub_strtoull): New prototype.
42070 (grub_divmod64): Likewise.
42071
42072 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42073 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42074 grub_off_t, respectively.
42075 All callers and references changed.
42076
42077 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42078 grub_size_t in "read".
42079 All callers and references changed.
42080
42081 * include/grub/file.h (struct grub_file): Change the types of
42082 "offset" and "size" to grub_off_t and grub_off_t,
42083 respectively. Change the type of SECTOR to grub_disk_addr_t in
42084 "read_hook".
42085 (grub_file_read): Change the type of LEN to grub_size_t.
42086 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42087 grub_off_t.
42088 (grub_file_size): Return grub_off_t.
42089 (grub_file_tell): Likewise.
42090 All callers and references changed.
42091
42092 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42093 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42094 "write".
42095 (struct grub_disk): Change the type of "total_sectors" to
42096 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
42097 "read_hook".
42098 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42099 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42100 (grub_disk_write): Likewise.
42101 All callers and references changed.
42102
42103 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42104 char * for grub_strncmp to silence gcc.
42105 (grub_iso9660_mount): Likewise.
42106 (grub_iso9660_mount): Likewise.
42107 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42108 return statement.
42109 (grub_iso9660_iterate_dir): Likewise.
42110 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42111
42112 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42113 LEN to grub_disk_addr_t and grub_size_t, respectively.
42114
42115 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42116
42117 * fs/jfs.c (grub_jfs_read_file): Likewise.
42118
42119 * fs/minix.c (grub_jfs_read_file): Likewise.
42120
42121 * fs/sfs.c (grub_jfs_read_file): Likewise.
42122
42123 * fs/ufs.c (grub_jfs_read_file): Likewise.
42124
42125 * fs/xfs.c (grub_jfs_read_file): Likewise.
42126
42127 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42128 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42129 respectively.
42130
42131 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42132 BLKNR to -1 instead of returning GRUB_ERRNO.
42133 (grub_ext2_read_file): Change the types of SECTOR and
42134 LEN to grub_disk_addr_t and grub_size_t, respectively.
42135
42136 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42137 LEN to grub_disk_addr_t and grub_size_t, respectively.
42138
42139 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42140 grub_file_read.
42141
42142 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42143 string. Do not cast SECTOR explicitly.
42144
42145 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42146 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42147 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42148 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42149 over 2TB and LBA mode is not supported, raise an error.
42150 (get_safe_sectors): New function.
42151 (grub_biosdisk_read): Use get_safe_sectors.
42152 (grub_biosdisk_write): Likewise.
42153
42154 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42155 (grub_efidisk_write): Likewise.
42156
42157 * disk/loopback.c (delete_loopback): Cosmetic changes.
42158 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42159 correctly.
42160 (grub_loopback_open): Likewise.
42161 (grub_loopback_read): Likewise. Also, change the type of POS to
42162 grub_off_t, and fix the usage of grub_memset.
42163
42164 * commands/i386/pc/play.c: Include grub/machine/time.h.
42165
42166 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42167 print FILE->SIZE.
42168
42169 * commands/configfile.c: Include grub/env.h.
42170
42171 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42172 GRUB_ERRNO directly instead. Change the type of POS to
42173 grub_off_t. Follow the coding standard.
42174
42175 * commands/blocklist.c: Include grub/partition.h.
42176 (grub_cmd_blocklist): Return an error if the underlying device is
42177 not a disk. Take the starting sector of a partition into account,
42178 if a partition is used.
42179
42180 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42181 a length field.
42182 (lba_mode): Support 64-bit addresses.
42183 (chs_mode): Likewise.
42184 (copy_buffer): Adapted to the new offsets of a length field and a
42185 segment field.
42186 (blocklist_default_start): Allocate 64-bit space.
42187
42188 * boot/i386/pc/boot.S (force_lba): Removed.
42189 (boot_drive): Moved to under KERNEL_SECTOR.
42190 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
42191 space.
42192 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42193 is useless.
42194 (lba_mode): Refactored to support a 64-bit address. More size
42195 optimization.
42196 (setup_sectors): Likewise.
42197
42198 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42199
42200 * DISTLIST: Added include/grub/i386/linux.h. Removed
42201 include/grub/i386/pc/linux.h
42202
42203 * configure.ac (AC_INIT): Bumped to 1.94.
42204
42205 * config.guess: Updated from gnulib.
42206 * config.sub: Likewise.
42207 * install-sh: Likewise.
42208 * mkinstalldirs: Likewise.
42209
42210 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42211
42212 * conf/common.rmk (grub_modules_init.lst): Depended on
42213 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42214 MODSRCFILES.
42215
42216 * genmk.rb (PModule::rule): Reverted the previous change.
42217
42218 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42219
42220 * conf/common.rmk (grub_modules_init.lst): Depends on
42221 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42222 that the target does not exist before producing.
42223 (grub_modules_init.h): Remove the target before generating.
42224 (grub_emu_init.c): Likewise.
42225
42226 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42227
42228 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42229
42230 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42231 for the target-specific tests. Make sure that we also have the
42232 up-to-date target variables for those tests.
42233
42234 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42235
42236 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42237 (PModule::rule): Likewise.
42238
42239 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42240
42241 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42242 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42243 target-specific flags should be prefixed.
42244 (PModule::rule): Likewise.
42245
42246 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42247
42248 * configure.ac (CMP): Check if cmp is available explicitly.
42249
42250 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42251
42252 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42253 (target_cpu): New variable.
42254 (pkglibdir): Use target_cpu instead of host_cpu.
42255
42256 * util/i386/pc/grub-install.in (host_cpu): Removed.
42257 (target_cpu): New variable.
42258 (pkglibdir): Use target_cpu instead of host_cpu.
42259
42260 * util/genmoddep.c: Removed.
42261
42262 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42263 instead of GRUB_HOST_SIZEOF_VOID_P.
42264 * kern/dl.c: Likewise.
42265
42266 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42267 ...
42268 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42269 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42270 (GRUB_TARGET_SIZEOF_LONG): ... this.
42271 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42272 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42273 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42274 to ...
42275 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42276 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42277 (GRUB_TARGET_SIZEOF_LONG): ... this.
42278 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42279 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42280 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42281 to ...
42282 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42283 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42284 (GRUB_TARGET_SIZEOF_LONG): ... this.
42285 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42286 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42287
42288 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42289 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42290 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42291 instead of GRUB_HOST_SIZEOF_LONG.
42292 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42293 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42294 GRUB_CPU_WORDS_BIGENDIAN.
42295 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42296 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42297 grub_host_ssize_t.
42298
42299 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42300 (genmoddep_SOURCES): Likewise.
42301 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42302 (genmoddep_SOURCES): Likewise.
42303 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42304 (genmoddep_SOURCES): Likewise.
42305 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42306 Likewise.
42307 (genmoddep_SOURCES): Likewise.
42308
42309 * genmoddep.awk: New file.
42310
42311 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42312 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42313 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42314 (PModule::rule): Likewise.
42315 (Program::rule): Likewise.
42316 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42317 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42318 respectively.
42319
42320 * configure.ac: Rewritten intensively to use host and target
42321 instead of build and host, respectively.
42322
42323 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42324 (host_cpu): Removed.
42325 (target_cpu): New variable.
42326 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42327 (BUILD_CC): Removed.
42328 (BUILD_CFLAGS): Likewise.
42329 (BUILD_CPPFLAGS): Likewise.
42330 (TARGET_CC): New variable.
42331 (TARGET_CFLAGS): Likewise.
42332 (TARGET_CPPFLAGS): Likewise.
42333 (TARGET_LDFLAGS): Likewise.
42334 (AWK): Likewise.
42335 (include): Use target_cpu instead of host_cpu.
42336 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
42337
42338 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42339
42340 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42341
42342 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42343 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42344 field 'false' to 'exec_on_false'.
42345 (grub_script_create_cmdif): Renamed argument names to reflect above
42346 changes.
42347
42348 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42349
42350 * normal/script.c (grub_script_create_cmdif): Likewise.
42351
42352 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42353
42354 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42355 top.
42356 (grub_hfsplus_btree_recptr): Likewise.
42357 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42358 FILEBLOCK both to pass a block number and store next block
42359 number.
42360 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42361 overflow file correctly. Specify errors appropriately, because
42362 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42363 grub_hfsplus_btree_recptr to get the pointer to a found key.
42364 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42365 is found.
42366
42367 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42368 linux.mod.
42369 (_linux_mod_SOURCES): New variable.
42370 (_linux_mod_CFLAGS): Likewise.
42371 (_linux_mod_LDFLAGS): Likewise.
42372 (linux_mod_SOURCES): Likewise.
42373 (linux_mod_CFLAGS): Likewise.
42374 (linux_mod_LDFLAGS): Likewise.
42375
42376 * DISTLIST: Added loader/i386/efi/linux.c,
42377 loader/i386/efi/linux_normal.c and
42378 include/grub/i386/efi/loader.h.
42379
42380 * loader/i386/efi/linux.c: New file.
42381 * loader/i386/efi/linux_normal.c: Likewise.
42382 * include/grub/i386/efi/loader.h: Likewise.
42383
42384 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
42385
42386 * commands/blocklist.c: New file.
42387
42388 * DISTLIST: Added commands/blocklist.c.
42389
42390 * term/efi/console.c (grub_console_highlight_color): Use a lighter
42391 color for the background, and a darker color for the foreground.
42392 (grub_console_checkkey): Return READ_KEY.
42393 (grub_console_cls): Set the background to
42394 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
42395
42396 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
42397
42398 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
42399 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
42400
42401 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
42402 prototype.
42403
42404 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
42405 BG. The spec is wrong again.
42406
42407 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
42408 prototype.
42409 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
42410
42411 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42412 commands/blocklist.c.
42413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42414
42415 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
42416 (blocklist_mod_SOURCES): New variable.
42417 (blocklist_mod_CFLAGS): Likewise.
42418 (blocklist_mod_LDFLAGS): Likewise.
42419
42420 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
42421
42422 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
42423 duplication.
42424 (lba_mode): Use %eax more intensively to reduce the code size.
42425
42426 2006-05-20 Marco Gerards <marco@gnu.org>
42427
42428 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
42429
42430 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
42431 for `menuentry'.
42432 (script): Accept leading newlines.
42433 (newlines): New rule to describe 0 or more newlines.
42434 (commands): Accept `command' with trailing newline. Fixed the
42435 order in which arguments were passed to `grub_script_add_cmd'.
42436 Accept commands separated by newlines.
42437 (function): Changed to accept newlines.
42438 (menuentry) Rewritten.
42439
42440 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
42441 front of the list, instead of to the end.
42442
42443 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
42444
42445 * util/i386/pc/grub-install.in (bindir): New variable.
42446 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
42447 Shaver <lbgwjl@gmail.com>.
42448
42449 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
42450
42451 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
42452 grub/machine/linux.h
42453 * loader/i386/pc/linux.c: Likewise.
42454
42455 * include/grub/i386/pc/linux.h: Moved to ...
42456 * include/grub/i386/linux.h: ... here.
42457
42458 * include/grub/i386/linux.h (struct linux_kernel_params): New
42459 struct.
42460
42461 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
42462
42463 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
42464 checking.
42465 (grub_video_vbe_blit_glyph): Likewise.
42466 (grub_video_vbe_blit_bitmap): Likewise.
42467 (grub_video_vbe_blit_render_target): Likewise.
42468
42469 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
42470
42471 * configure.ac (--with-platform): Properly quote the square
42472 brackets.
42473
42474 2006-05-08 Marco Gerards <marco@gnu.org>
42475
42476 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
42477 this...
42478 (kernel_elf_HEADERS): ...to this. Updated all users.
42479 (grubof_symlist.c): Renamed from this...
42480 (kernel_elf_symlist.c): ...to this. Updated all users.
42481 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42482 (grubof_SOURCES): Renamed from this...
42483 (kernel_elf_SOURCES): ...to this.
42484 (grubof_HEADERS): Renamed from this...
42485 (kernel_elf_HEADERS): ...to this.
42486 (grubof_CFLAGS): Renamed from this...
42487 (kernel_elf_CFLAGS): ...to this.
42488 (grubof_ASFLAGS): Renamed from this...
42489 (kernel_elf_ASFLAGS): ...to this.
42490 (grubof_LDFLAGS): Renamed from this...
42491 (kernel_elf_LDFLAGS): ...to this.
42492
42493 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42494 this...
42495 (kernel_elf_HEADERS): ...to this. Updated all users.
42496 (grubof_symlist.c): Renamed from this...
42497 (kernel_elf_symlist.c): ...to this. Updated all users.
42498 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42499 (grubof_SOURCES): Renamed from this...
42500 (kernel_elf_SOURCES): ...to this.
42501 (grubof_HEADERS): Renamed from this...
42502 (kernel_elf_HEADERS): ...to this.
42503 (grubof_CFLAGS): Renamed from this...
42504 (kernel_elf_CFLAGS): ...to this.
42505 (grubof_ASFLAGS): Renamed from this...
42506 (kernel_elf_ASFLAGS): ...to this.
42507 (grubof_LDFLAGS): Renamed from this...
42508 (kernel_elf_LDFLAGS): ...to this.
42509
42510 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
42511 `kernel.elf' instead of `grubof'.
42512
42513 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
42514
42515 Add --with-platform to configure. Use pkglibdir instead of
42516 pkgdatadir. This is reported by Roger Leigh.
42517
42518 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
42519 (host_vendor): Likewise.
42520 (host_os): Likewise.
42521 (pkgdatadir): Likewise.
42522 (platform): New variable.
42523 (pkglibdir): Likewise.
42524 Use PKGLIBDIR instead of PKGDATADIR.
42525
42526 * util/i386/pc/grub-install.in (datadir): Removed.
42527 (host_vendor): Likewise.
42528 (host_os): Likewise.
42529 (pkgdatadir): Likewise.
42530 (platform): New variable.
42531 (pkglibdir): Likewise.
42532 Use PKGLIBDIR instead of PKGDATADIR.
42533
42534 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
42535 instead of GRUB_DATADIR.
42536 (main): Likewise.
42537 * util/i386/pc/grub-mkimage.c (usage): Likewise.
42538 (main): Likewise.
42539 * util/i386/efi/grub-mkimage.c (usage): Likewise.
42540 (main): Likewise.
42541
42542 * configure.ac (--with-platform): New option.
42543 Use PLATFORM instead of HOST_VENDOR to specify a platform.
42544
42545 * Makefile.in: Include a makefile based on PLATFORM instead of
42546 HOST_VENDOR.
42547 (pkgdatadir): Not appended by the machine type.
42548 (pkglibdir): Appended by the machine type.
42549 (host_vendor): Removed.
42550 (platform): New variable.
42551 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42552 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42553 (uninstall): Likewise.
42554
42555 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42556
42557 Use the environment context in the menu. Remove the commands
42558 "default" and "timeout", and use variables instead.
42559
42560 * normal/menu.c: Include grub/env.h.
42561 (print_entry): Cast TITLE to silence gcc.
42562 (get_timeout): New function.
42563 (set_timeout): Likewise.
42564 (get_entry_number): Likewise.
42565 (run_menu): Use a default entry, a fallback entry and a timeout
42566 in the environment variables "default", "fallback" and
42567 "timeout". Also, tweak the default entry if it is not within the
42568 current menu entries.
42569 (grub_menu_run): Use a fallback entry in the environment variable
42570 "fallback".
42571
42572 * normal/main.c (read_config_file): Do not initialize
42573 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42574 NEWMENU->TIMEOUT.
42575 (grub_normal_execute): Use a data slot to store the menu.
42576
42577 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42578 fallback_entry and timeout.
42579 (struct grub_menu_list): Removed.
42580 (grub_menu_list_t): Likewise.
42581 (struct grub_context): Likewise.
42582 (grub_context_t): Likewise.
42583 (grub_context_get): Likewise.
42584 (grub_context_get_current_menu): Likewise.
42585 (grub_context_push_menu): Likewise.
42586 (grub_context_pop_menu): Likewise.
42587 (grub_default_init): Likewise.
42588 (grub_default_fini): Likewise.
42589 (grub_timeout_init): Likewise.
42590 (grub_timeout_fini): Likewise.
42591
42592 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42593 and timeout.mod.
42594 (normal_mod_SOURCES): Removed normal/context.c.
42595
42596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42597 commands/default.c, commands/timeout.c and normal/context.c.
42598 (normal_mod_SOURCES): Removed normal/context.c.
42599
42600 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42601 commands/timeout.c and normal/context.c.
42602 (normal_mod_SOURCES): Removed normal/context.c.
42603
42604 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42605 commands/default.c, commands/timeout.c and normal/context.c.
42606 (normal_mod_SOURCES): Removed normal/context.c.
42607
42608 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42609 timeout.mod.
42610 (default_mod_SOURCES): Removed.
42611 (default_mod_CFLAGS): Likewise.
42612 (default_mod_LDFLAGS): Likewise.
42613 (timeout_mod_SOURCES): Removed.
42614 (timeout_mod_CFLAGS): Likewise.
42615 (timeout_mod_LDFLAGS): Likewise.
42616
42617 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42618 normal/context.c.
42619
42620 * commands/default.c: Removed.
42621 * commands/timeout.c: Likewise.
42622 * normal/context.c: Likewise.
42623
42624 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42625
42626 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42627
42628 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42629
42630 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42631 "next" to "prev" for readability.
42632 (struct grub_env_sorted_var): New struct.
42633 (grub_env_context): Renamed to ...
42634 (initial_context): ... this.
42635 (grub_env_var_context): Renamed to ...
42636 (current_context): ... this.
42637 (grub_env_find): Look only at CURRENT_CONTEXT.
42638 (grub_env_context_open): Rewritten to copy exported variables from
42639 previous context.
42640 (grub_env_context_close): Rewritten according to the new
42641 scheme. Also, add an assertion to prevent the initial context from
42642 removed.
42643 (grub_env_insert): Removed the code for the sorted list.
42644 (grub_env_remove): Likewise.
42645 (grub_env_export): Simply mark the variable with
42646 GRUB_ENV_VAR_GLOBAL.
42647 (grub_env_set): A cosmetic change for naming consistency.
42648 (grub_env_get): Likewise.
42649 (grub_env_unset): Likewise.
42650 (grub_env_iterate): Rewritten to sort variables within this
42651 function.
42652 (grub_register_variable_hook): Fixed for naming consistency. Call
42653 grub_env_find again, only if NAME is not found at the first time.
42654 (mangle_data_slot_name): New function.
42655 (grub_env_set_data_slot): Likewise.
42656 (grub_env_get_data_slot): Likewise.
42657 (grub_env_unset_data_slot): Likewise.
42658
42659 * include/grub/env.h (grub_env_var_type): New enum.
42660 (GRUB_ENV_VAR_LOCAL): New constant.
42661 (GRUB_ENV_VAR_GLOBAL): Likewise.
42662 (GRUB_ENV_VAR_DATA): Likewise.
42663 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42664 "type".
42665 (grub_env_set): Replace VAR with NAME for consistency.
42666 (grub_register_variable_hook): Likewise.
42667 (grub_env_export): Specify the name of the argument.
42668 (grub_env_set_data_slot): New prototype.
42669 (grub_env_get_data_slot): Likewise.
42670 (grub_env_unset_data_slot): Likewise.
42671
42672 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42673
42674 Extend the loader so that GRUB can accept a loader which comes
42675 back to GRUB when a loaded image exits. Also, this change adds
42676 support for a chainloader on EFI.
42677
42678 * term/efi/console.c: Include grub/misc.h.
42679 (grub_console_checkkey): Display a scan code on the top for
42680 debugging. This will be removed once the EFI port gets stable.
42681 Correct the scan code mapping.
42682
42683 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42684 allocate memory from larger regions, in order to reduce the number
42685 of allocated regions. Otherwise, the MacOSX loader panics.
42686 (filter_memory_map): Avoid less than 1MB for compatibility with
42687 other loaders.
42688 (add_memory_regions): Allocate from the tail of a region, if
42689 possible, to avoid allocating a region near to 1MB, for the MacOSX
42690 loader.
42691
42692 * kern/efi/init.c (grub_efi_set_prefix): Specify
42693 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42694
42695 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42696 argument IMAGE_HANDLE and specify it to get a loaded image.
42697 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42698 grub_efi_get_loaded_image.
42699 (grub_efi_get_filename): Divide the length by the size of
42700 grub_efi_char16_t.
42701 (grub_efi_get_device_path): New function.
42702 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42703 the length by the size of grub_efi_char16_t for a file path device
42704 path node.
42705
42706 * kern/loader.c (grub_loader_noreturn): New variable.
42707 (grub_loader_set): Accept a new argument NORETURN. Set
42708 GRUB_LOADER_NORETURN to NORETURN.
42709 All callers changed.
42710 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42711 grub_machine_fini.
42712
42713 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42714 prototype.
42715 (grub_efi_get_loaded_image): Take an argument to specify an image
42716 handle.
42717
42718 * include/grub/loader.h (grub_loader_set): Added one more argument
42719 NORETURN.
42720
42721 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42722 instead of grub_efi_open_protocol.
42723 (grub_efidisk_get_device_name): Likewise.
42724 (grub_efidisk_close): Print a newline.
42725 (grub_efidisk_get_device_handle): Fixed to use
42726 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42727 GRUB_EFI_DEVICE_PATH_TYPE.
42728
42729 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42730 * kern/efi/efi.c (device_path_guid): ... here.
42731
42732 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42733 chain.mod.
42734 (kernel_mod_HEADERS): Added efi/disk.h.
42735 (_chain_mod_SOURCES): New variable.
42736 (_chain_mod_CFLAGS): Likewise.
42737 (_chain_mod_LDFLAGS): Likewise.
42738 (chain_mod_SOURCES): Likewise.
42739 (chain_mod_CFLAGS): Likewise.
42740 (chain_mod_LDFLAGS): Likewise.
42741
42742 * DISTLIST: Added include/grub/efi/chainloader.h,
42743 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42744
42745 * include/grub/efi/chainloader.h: New file.
42746 * loader/efi/chainloader.c: Likewise.
42747 * loader/efi/chainloader_normal.c: Likewise.
42748
42749 2006-04-30 Marco Gerards <marco@gnu.org>
42750
42751 * commands/configfile.c (grub_cmd_source): New function.
42752 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42753 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42754
42755 2006-04-30 Marco Gerards <marco@gnu.org>
42756
42757 * normal/execute.c (grub_script_execute_cmd): Change the return
42758 type to `grub_err_t'. Correctly return the error.
42759 (grub_script_execute_cmdline): In case a command line is not a
42760 command or a function, try to interpret it as an assignment.
42761
42762 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42763
42764 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42765 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42766 skip a node whose name is obviously invalid as UTF-16,
42767 i.e. contains a NUL character. Stop the iteration when the last
42768 directory entry is found. Instead of using the return value of
42769 grub_hfsplus_btree_iterate_node, store the value in RET and use
42770 it, because the iterator can be stopped by the last directory
42771 entry.
42772
42773 2006-04-30 Marco Gerards <marco@gnu.org>
42774
42775 * include/grub/env.h (grub_env_export): New prototype. Reported
42776 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42777
42778 2006-04-30 Marco Gerards <marco@gnu.org>
42779
42780 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42781 size of the extents in a catalog file record.
42782
42783 2006-04-29 Marco Gerards <marco@gnu.org>
42784
42785 * commands/configfile.c (grub_cmd_configfile): Execute the
42786 configfile within its own context.
42787
42788 * include/grub/env.h (grub_env_context_open): New prototype.
42789 (grub_env_context_close): Likewise.
42790
42791 * kern/env.c (grub_env): Removed.
42792 (grub_env_sorted): Likewise.
42793 (grub_env_context): New variable.
42794 (grub_env_var_context): Likewise.
42795 (grub_env_find): Search both the active context and the global
42796 context.
42797 (grub_env_context_open): New function.
42798 (grub_env_context_close): Likewise.
42799 (grub_env_insert): Likewise.
42800 (grub_env_remove): Likewise.
42801 (grub_env_export): Likewise.
42802 (grub_env_set): Changed to use helper functions to avoid code
42803 duplication.
42804 (grub_env_iterate): Rewritten so both the current context and the
42805 global context are being used.
42806
42807 * normal/command.c (export_command): New function.
42808 (grub_command_init): Register the `export' function.
42809
42810 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42811
42812 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42813 explicitly to suppress gcc's warnings.
42814 * fs/fat.c (grub_fat_find_dir): Likewise.
42815 (grub_fat_label): Likewise.
42816 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42817 (grub_xfs_mount): Likewise.
42818 (grub_xfs_label): Likewise.
42819 * fs/affs.c (grub_affs_mount): Likewise.
42820 (grub_affs_label): Likewise.
42821 (grub_affs_iterate_dir): Likewise.
42822 * fs/sfs.c (grub_sfs_mount): Likewise.
42823 (grub_sfs_iterate_dir): Likewise.
42824 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42825 * fs/hfs.c (grub_hfs_mount): Likewise.
42826 (grub_hfs_cmp_catkeys): Likewise.
42827 (grub_hfs_find_dir): Likewise.
42828 (grub_hfs_dir): Likewise.
42829 (grub_hfs_label): Likewise.
42830 * fs/jfs.c (grub_jfs_mount): Likewise.
42831 (grub_jfs_opendir): Likewise.
42832 (grub_jfs_getent): Likewise.
42833 (grub_jfs_lookup_symlink): Likewise.
42834 (grub_jfs_label): Likewise.
42835 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42836 (grub_hfsplus_iterate_dir): Likewise.
42837 (grub_hfsplus_btree_iterate_node): Made static.
42838
42839 * util/grub-emu.c (prefix): New variable.
42840 (grub_machine_set_prefix): New function.
42841 (main): Do not set the environment variable "prefix" here. Only
42842 set PREFIX, which is used later by grub_machine_set_prefix.
42843
42844 * include/grub/video.h: Do not include grub/symbol.h.
42845 (grub_video_register): Not exported. This symbol is not defined in
42846 the kernel.
42847 (grub_video_unregister): Likewise.
42848 (grub_video_iterate): Likewise.
42849 (grub_video_setup): Likewise.
42850 (grub_video_restore): Likewise.
42851 (grub_video_get_info): Likewise.
42852 (grub_video_get_blit_format): Likewise.
42853 (grub_video_set_palette): Likewise.
42854 (grub_video_get_palette): Likewise.
42855 (grub_video_set_viewport): Likewise.
42856 (grub_video_get_viewport): Likewise.
42857 (grub_video_map_color): Likewise.
42858 (grub_video_map_rgb): Likewise.
42859 (grub_video_map_rgba): Likewise.
42860 (grub_video_fill_rect): Likewise.
42861 (grub_video_blit_glyph): Likewise.
42862 (grub_video_blit_bitmap): Likewise.
42863 (grub_video_blit_render_target): Likewise.
42864 (grub_video_scroll): Likewise.
42865 (grub_video_swap_buffers): Likewise.
42866 (grub_video_create_render_target): Likewise.
42867 (grub_video_delete_render_target): Likewise.
42868 (grub_video_set_active_render_target): Likewise.
42869
42870 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
42871 Undefined.
42872 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
42873
42874 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
42875 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42876 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42877 instead of $(srcdir)/genkernsyms.sh.
42878
42879 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
42880 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42881 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42882 instead of $(srcdir)/genkernsyms.sh.
42883
42884 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
42885 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42886 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42887 instead of $(srcdir)/genkernsyms.sh.
42888
42889 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
42890 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
42891 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
42892 instead of $(srcdir)/genkernsyms.sh.
42893
42894 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
42895 genkernsyms.sh.
42896
42897 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
42898 genkernsyms.sh.
42899 (gensymlist.sh): New target.
42900 (genkernsyms.sh): Likewise.
42901
42902 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
42903 genkernsyms.sh.in and gensymlist.sh.in.
42904
42905 * genkernsyms.sh: Removed.
42906 * gensymlist.sh: Likewise.
42907
42908 * genkernsyms.sh.in: New file.
42909 * gensymlist.sh.in: Likewise.
42910
42911 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42912
42913 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42914 clobber "prefix", since we may have already set it manually.
42915
42916 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42917
42918 * kern/misc.c (abort): New alias for grub_abort.
42919
42920 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42921
42922 A new machine-specific function "grub_machine_set_prefix" is
42923 defined. This is called after loading modules, so that a prefix
42924 initialization can use modules. Also, this change adds an
42925 intensive debugging feature for the memory manager via the
42926 configure option "--enable-mm-debug".
42927
42928 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42929 PART.LEN.
42930
42931 * kern/sparc64/ieee1275/init.c (abort): Removed.
42932 (grub_stop): Likewise.
42933 (grub_exit): New function.
42934 (grub_set_prefix): Renamed to ...
42935 (grub_machine_set_prefix): ... this.
42936 (grub_machine_init): Do not call grub_set_prefix.
42937
42938 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42939 (grub_machine_set_prefix): ... this.
42940 (grub_machine_init): Do not call grub_set_prefix.
42941
42942 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42943 (grub_machine_init): Do not set the prefix here.
42944
42945 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42946
42947 * kern/efi/init.c: Include grub/mm.h.
42948 (grub_efi_set_prefix): New function.
42949
42950 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42951 (grub_efi_get_filename): New function.
42952 (grub_print_device_path): Renamed to ...
42953 (grub_efi_print_device_path): ... this.
42954
42955 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42956 [MM_DEBUG] (grub_realloc): Likewise.
42957 [MM_DEBUG] (grub_free): Likewise.
42958 [MM_DEBUG] (grub_memalign): Likewise.
42959 [MM_DEBUG] (grub_mm_debug): New variable.
42960 [MM_DEBUG] (grub_debug_malloc): New function.
42961 [MM_DEBUG] (grub_debug_free): New function.
42962 [MM_DEBUG] (grub_debug_realloc): New function.
42963 [MM_DEBUG] (grub_debug_memalign): New function.
42964
42965 * kern/misc.c (grub_abort): Print a newline to distinguish
42966 the message.
42967
42968 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42969 grub_set_root_dev after loading modules. This is necessary when
42970 setting a prefix depends on modules.
42971
42972 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42973 (grub_efi_print_device_path): ... this.
42974 (grub_efi_get_filename): New prototype.
42975 (grub_efi_set_prefix): Likewise.
42976
42977 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42978 and grub/disk.h.
42979 (grub_efidisk_get_device_handle): New prototype.
42980 (grub_efidisk_get_device_name): Likewise.
42981
42982 * include/grub/mm.h: Include config.h.
42983 (MM_DEBUG): Removed.
42984 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42985 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42986 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42987 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42988 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42989 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42990 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42991 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42992 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42993
42994 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42995
42996 * disk/efi/efidisk.c: Include grub/partition.h.
42997 (iterate_child_devices): New function.
42998 (add_device): First, compare only last device path nodes, so that
42999 devices are sorted by the types.
43000 (grub_efidisk_get_device_handle): New function.
43001 (grub_efidisk_get_device_name): Likewise.
43002
43003 * configure.ac (--enable-mm-debug): New option to enable the
43004 memory manager debugging feature. This makes the binary much
43005 bigger, so is disabled by default.
43006
43007 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43008
43009 Use grub_abort instead of grub_stop, and grub_exit must be
43010 define in each architecture now. Also, this change adds support
43011 for EFI disks.
43012
43013 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43014 (grub_getkey): New function.
43015 (grub_term_get_current): Likewise.
43016
43017 * util/i386/pc/grub-setup.c: Include grub/term.h.
43018 (grub_getkey): New function.
43019 (grub_term_get_current): Likewise.
43020
43021 * util/misc.c (grub_stop): Renamed to ...
43022 (grub_exit): ... this.
43023
43024 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43025 (grub_exit): ... this.
43026 (grub_machine_init): Use grub_abort instead of abort.
43027 (grub_stop): Removed.
43028
43029 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43030 abort.
43031
43032 * kern/i386/pc/startup.S (grub_exit): New function.
43033 (cold_reboot): New label.
43034
43035 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43036 (grub_efi_init): Call grub_efidisk_init.
43037 (grub_efi_fini): Call grub_efidisk_fini.
43038
43039 * kern/efi/efi.c: Include grub/mm.h.
43040 (grub_efi_console_control_guid): Renamed to ...
43041 (console_control_guid): ... this.
43042 (grub_efi_loaded_image_guid): Renamed to ...
43043 (loaded_image_guid): ... this.
43044 (grub_efi_locate_handle): New function.
43045 (grub_efi_open_protocol): Likewise.
43046 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43047 GRUB_EFI_CONSOLE_CONTROL_GUID.
43048 (grub_efi_exit): Removed.
43049 (grub_stop): Likewise.
43050 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43051 (grub_exit): New function.
43052 (grub_print_device_path): Likewise.
43053
43054 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43055 (grub_enter_rescue_mode): Register "exit".
43056
43057 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43058 (grub_abort): New function.
43059
43060 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43061
43062 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43063
43064 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43065
43066 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43067 (grub_print_device_path): New prototype.
43068 (grub_efi_locate_handle): Likewise.
43069 (grub_efi_open_protocol): Likewise.
43070
43071 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43072 * disk/efi/efidisk.c: Likewise.
43073
43074 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43075
43076 * include/grub/efi/console_control.h
43077 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43078
43079 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43080 last 8 bytes as an array.
43081 (GRUB_EFI_DISK_IO_GUID): New macro.
43082 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43083 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43084 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43085 grub_uint8_t.
43086 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43087 (struct grub_efi_device_path): Rename the member "sub_type" to
43088 "subtype".
43089 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43090 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43091 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43092 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43093 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43094 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43095 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43096 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43097 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43098 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43099 (struct grub_efi_pci_device_path): New structure.
43100 (grub_efi_pci_device_path_t): New type.
43101 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43102 (struct grub_efi_pccard_device_path): New structure.
43103 (grub_efi_pccard_device_path_t): New type.
43104 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43105 (struct grub_efi_memory_mapped_device_path): New structure.
43106 (grub_efi_memory_mapped_device_path_t): New type.
43107 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43108 (struct grub_efi_vendor_device_path): New structure.
43109 (grub_efi_vendor_device_path_t): New type.
43110 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43111 (struct grub_efi_controller_device_path): New structure.
43112 (grub_efi_controller_device_path_t): New type.
43113 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43114 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43115 (struct grub_efi_acpi_device_path): New structure.
43116 (grub_efi_acpi_device_path_t): New type.
43117 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43118 (struct grub_efi_expanded_acpi_device_path): New structure.
43119 (grub_efi_expanded_acpi_device_path_t): New type.
43120 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43121 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43122 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43123 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43124 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43125 (struct grub_efi_atapi_device_path): New structure.
43126 (grub_efi_atapi_device_path_t): New type.
43127 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43128 (struct grub_efi_fibre_channel_device_path): New structure.
43129 (grub_efi_fibre_channel_device_path_t): New type.
43130 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43131 (struct grub_efi_1394_device_path): New structure.
43132 (grub_efi_1394_device_path_t): New type.
43133 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43134 (struct grub_efi_usb_device_path): New structure.
43135 (grub_efi_usb_device_path_t): New type.
43136 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43137 (struct grub_efi_usb_class_device_path): New structure.
43138 (grub_efi_usb_class_device_path_t): New type.
43139 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43140 (struct grub_efi_i2o_device_path): New structure.
43141 (grub_efi_i2o_device_path_t): New type.
43142 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43143 (struct grub_efi_mac_address_device_path): New structure.
43144 (grub_efi_mac_address_device_path_t): New type.
43145 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43146 (struct grub_efi_ipv4_device_path): New structure.
43147 (grub_efi_ipv4_device_path_t): New type.
43148 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43149 (struct grub_efi_ipv6_device_path): New structure.
43150 (grub_efi_ipv6_device_path_t): New type.
43151 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43152 (struct grub_efi_infiniband_device_path): New structure.
43153 (grub_efi_infiniband_device_path_t): New type.
43154 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43155 (struct grub_efi_uart_device_path): New structure.
43156 (grub_efi_uart_device_path_t): New type.
43157 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43158 (struct grub_efi_vendor_messaging_device_path): New structure.
43159 (grub_efi_vendor_messaging_device_path_t): New type.
43160 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43161 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43162 (struct grub_efi_hard_drive_device_path): New structure.
43163 (grub_efi_hard_drive_device_path_t): New type.
43164 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43165 (struct grub_efi_cdrom_device_path): New structure.
43166 (grub_efi_cdrom_device_path_t): New type.
43167 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43168 (struct grub_efi_vendor_media_device_path): New structure.
43169 (grub_efi_vendor_media_device_path_t): New type.
43170 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43171 (struct grub_efi_file_path_device_path): New structure.
43172 (grub_efi_file_path_device_path_t): New type.
43173 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43174 (struct grub_efi_protocol_device_path): New structure.
43175 (grub_efi_protocol_device_path_t): New type.
43176 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43177 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43178 (struct grub_efi_bios_device_path): New structure.
43179 (grub_efi_bios_device_path_t): New type.
43180 (struct grub_efi_disk_io): New structure.
43181 (grub_efi_disk_io_t): New type.
43182 (struct grub_efi_block_io_media): New structure.
43183 (grub_efi_block_io_media_t): New type.
43184 (struct grub_efi_block_io): New structure.
43185 (grub_efi_block_io_t): New type.
43186
43187 * include/grub/misc.h (grub_stop): Removed.
43188 (grub_exit): New prototype.
43189 (grub_abort): Likewise.
43190
43191 * include/grub/disk.h (enum grub_disk_dev_id): Added
43192 GRUB_DISK_DEVICE_EFIDISK_ID.
43193
43194 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43195 disk/efi/efidisk.c.
43196 (kernel_syms.lst): Remove the target if an error occurs.
43197
43198 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43199
43200 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43201 as it was simply too buggy.
43202
43203 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43204
43205 * kern/misc.c (grub_lltoa): New function.
43206 (grub_vsprintf): Added support for the long long suffix,
43207 i.e. "ll".
43208
43209 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43210
43211 * Makefile.in (LDFLAGS): Add variable.
43212 (LD): Remove variable.
43213 * configure.ac: Add -m32 to LDFLAGS.
43214 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43215 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43216 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43217 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43218 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43219 variables.
43220 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43221 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43222 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43223
43224 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43225
43226 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43227 length for unknown glyph.
43228
43229 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43230
43231 Add support for pre-loaded modules into the EFI port.
43232
43233 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43234 completely. Accept one more argument DIR. The caller has changed.
43235
43236 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43237
43238 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43239 (grub_efi_loaded_image_guid): New variable.
43240 (grub_efi_get_loaded_image): New function.
43241 (grub_arch_modules_addr): Likewise.
43242
43243 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43244 prototype.
43245
43246 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43247 (struct grub_efi_loaded_image): New structure.
43248 (grub_efi_loaded_image_t): New type.
43249
43250 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43251
43252 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43253 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43254 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43255
43256 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43257
43258 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43259
43260 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43261
43262 * DISTLIST: Added include/grub/efi/console.h,
43263 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43264 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43265
43266 * include/grub/efi/console.h: New file.
43267 * include/grub/efi/time.h: Likewise.
43268 * include/grub/i386/efi/kernel.h: Likewise.
43269 * kern/efi/init.c: Likewise.
43270 * kern/efi/mm.c: Likewise.
43271 * term/efi/console.c: Likewise.
43272
43273 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43274 (grub_stop): Removed.
43275 (grub_get_rtc): Likewise.
43276 (grub_machine_init): Simply call grub_efi_init.
43277 (grub_machine_fini): Call grub_efi_fini.
43278
43279 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43280 (grub_efi_output_string): Removed.
43281 (grub_efi_stall): New function.
43282 (grub_stop): Likewise.
43283 (grub_get_rtc): Likewise.
43284
43285 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43286 (grub_efi_stall): New prototype.
43287 (grub_efi_allocate_pages): Likewise.
43288 (grub_efi_free_pages): Likewise.
43289 (grub_efi_get_memory_map): Likewise.
43290 (grub_efi_mm_init): Likewise.
43291 (grub_efi_mm_fini): Likewise.
43292 (grub_efi_init): Likewise.
43293 (grub_efi_fini): Likewise.
43294
43295 * include/grub/i386/efi/time.h: Do not include
43296 grub/symbol.h. Include grub/efi/time.h.
43297 (GRUB_TICKS_PER_SECOND): Removed.
43298 (grub_get_rtc): Likewise.
43299
43300 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43301 Added padding. The EFI spec is buggy.
43302 (GRUB_EFI_BLACK): New macro.
43303 (GRUB_EFI_BLUE): Likewise.
43304 (GRUB_EFI_GREEN): Likewise.
43305 (GRUB_EFI_CYAN): Likewise.
43306 (GRUB_EFI_RED): Likewise.
43307 (GRUB_EFI_MAGENTA): Likewise.
43308 (GRUB_EFI_BROWN): Likewise.
43309 (GRUB_EFI_LIGHTGRAY): Likewise.
43310 (GRUB_EFI_BRIGHT): Likewise.
43311 (GRUB_EFI_DARKGRAY): Likewise.
43312 (GRUB_EFI_LIGHTBLUE): Likewise.
43313 (GRUB_EFI_LIGHTGREEN): Likewise.
43314 (GRUB_EFI_LIGHTCYAN): Likewise.
43315 (GRUB_EFI_LIGHTRED): Likewise.
43316 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43317 (GRUB_EFI_YELLOW): Likewise.
43318 (GRUB_EFI_WHITE): Likewise.
43319 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43320 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43321 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43322 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43323 (GRUB_EFI_BACKGROUND_RED): Likewise.
43324 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43325 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43326 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43327 (GRUB_EFI_TEXT_ATTR): Likewise.
43328
43329 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43330 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43331 (kernel_mod_HEADERS): Added efi/time.h.
43332
43333 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43334
43335 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43336 include/grub/efi/api.h, include/grub/efi/console_control.h,
43337 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43338 include/grub/i386/efi/time.h, kern/efi/efi.c,
43339 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43340 and util/i386/efi/grub-mkimage.c.
43341
43342 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43343
43344 * genmk.rb (PModule#rule): Do not export symbols if
43345 #{prefix}_EXPORTS is set to "no".
43346
43347 * conf/i386-efi.mk: New file.
43348 * conf/i386-efi.rmk: Likewise.
43349 * include/grub/efi/api.h: Likewise.
43350 * include/grub/efi/console_control.h: Likewise.
43351 * include/grub/efi/efi.h: Likewise.
43352 * include/grub/efi/pe32.h: Likewise.
43353 * include/grub/i386/efi/time.h: Likewise.
43354 * kern/efi/efi.c: Likewise.
43355 * kern/i386/efi/init.c: Likewise.
43356 * kern/i386/efi/startup.S: Likewise.
43357 * util/i386/efi/grub-mkimage.c: Likewise.
43358
43359 2006-04-17 Marco Gerards <marco@gnu.org>
43360
43361 * include/grub/script.h: Include <grub/parser.h> and
43362 "grub_script.tab.h".
43363 (struct grub_lexer_param): New struct.
43364 (struct grub_parser_param): Likewise.
43365 (grub_script_create_arglist): Pass the state in an argument.
43366 (grub_script_add_arglist): Likewise.
43367 (grub_script_create_cmdline): Likewise.
43368 (grub_script_create_cmdblock): Likewise.
43369 (grub_script_create_cmdif): Likewise.
43370 (grub_script_create_cmdmenu): Likewise.
43371 (grub_script_add_cmd): Likewise.
43372 (grub_script_arg_add): Likewise.
43373 (grub_script_lexer_ref): Likewise.
43374 (grub_script_lexer_deref): Likewise.
43375 (grub_script_lexer_record_start): Likewise.
43376 (grub_script_lexer_record_stop): Likewise.
43377 (grub_script_mem_record): Likewise.
43378 (grub_script_mem_record_stop): Likewise.
43379 (grub_script_malloc): Likewise.
43380 (grub_script_yylex): Likewise.
43381 (grub_script_yyparse): Likewise.
43382 (grub_script_yyerror): Likewise.
43383 (grub_script_yylex): Likewise.
43384 (grub_script_lexer_init): Return the state.
43385
43386 * normal/lexer.c (grub_script_lexer_state): Removed variable.
43387 (grub_script_lexer_done): Likewise.
43388 (grub_script_lexer_getline): Likewise.
43389 (grub_script_lexer_refs): Likewise.
43390 (script): Likewise.
43391 (newscript): Likewise.
43392 (record): Likewise.
43393 (recording): Likewise.
43394 (recordpos): Likewise.
43395 (recordlen): Likewise.
43396 (grub_script_lexer_init): Return the state instead of setting
43397 global variables.
43398 (grub_script_lexer_ref): Use the newly added argument for state
43399 instead of globals.
43400 (grub_script_lexer_deref): Likewise.
43401 (grub_script_lexer_record_start): Likewise.
43402 (grub_script_lexer_record_stop): Likewise.
43403 (recordchar): Likewise.
43404 (nextchar): Likewise.
43405 (grub_script_yylex2): Likewise.
43406 (grub_script_yylex): Likewise.
43407 (grub_script_yyerror): Likewise.
43408
43409 * normal/parser.y (func_mem): Removed variable.
43410 (menu_entry): Likewise.
43411 (err): Likewise.
43412 (%lex-param): New parser option.
43413 (%parse-param): Likewise.
43414 (script): Always return the AST.
43415 (argument): Pass the state around.
43416 (arguments): Likewise.
43417 (grubcmd): Likewise.
43418 (commands): Likewise.
43419 (function): Likewise.
43420 (menuentry): Likewise.
43421 (if_statement): Likewise.
43422 (if): Likewise.
43423
43424 * normal/script.c (grub_script_memused): Removed variable.
43425 (grub_script_parsed): Likewise.
43426 (grub_script_malloc): Added a state argument. Use that instead of
43427 global variables.
43428 (grub_script_mem_record): Likewise.
43429 (grub_script_mem_record_stop): Likewise.
43430 (grub_script_arg_add): Likewise.
43431 (grub_script_add_arglist): Likewise.
43432 (grub_script_create_cmdline): Likewise.
43433 (grub_script_create_cmdif): Likewise.
43434 (grub_script_create_cmdmenu): Likewise.
43435 (grub_script_add_cmd): Likewise.
43436 (grub_script_parse): Setup the state before calling the parser.
43437
43438 2006-04-16 Marco Gerards <marco@gnu.org>
43439
43440 * normal/command.c (grub_command_init): Remove the title command.
43441
43442 * normal/lexer.c (grub_script_yylex): Renamed from this...
43443 (grub_script_yylex2): ... to this.
43444 (grub_script_yylex): New function. Temporary
43445 introduced to filter some tokens.
43446 (grub_script_yyerror): Print a newline.
43447
43448 * normal/main.c (read_config_file): Output information about the
43449 lines that contain errors. Wait for a key after all lines have
43450 been processed. Don't return an empty menu.
43451
43452 * normal/parser.y (func_mem): Don't initialize.
43453 (menu_entry): Likewise.
43454 (err): New variable.
43455 (script): Don't return anything when an error was encountered.
43456 (ws, returns): Removed rules.
43457 (argument): Disabled concatenated variable support.
43458 (arguments): Remove explicit separators.
43459 (grubcmd): Likewise.
43460 (function): Likewise.
43461 (menuentry): Likewise.
43462 (if): Likewise.
43463 (commands): Likewise. Add error handling.
43464
43465 * normal/script.c (grub_script_create_cmdline): If
43466 `grub_script_parsed' is 0, assume the parser encountered an error.
43467
43468 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
43469
43470 * configure.ac: Add support for EFI. Fix the typo
43471 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
43472
43473 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43474
43475 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
43476 foreign multibyte characters should be shown correctly.
43477
43478 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43479
43480 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
43481 calculation.
43482 (read_config_file): Made it to close file before returning.
43483
43484 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
43485
43486 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
43487 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43488 video/i386/pc/vbefill.c.
43489
43490 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43491 video/i386/pc/vbefill.c.
43492
43493 * include/grub/video.h (grub_video_blit_format): New enum.
43494 (grub_video_mode_info): Added new member blit_format.
43495 (grub_video_get_blit_format): New function prototype.
43496
43497 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
43498 function prototype.
43499 (grub_video_vbe_map_rgb): Likewise.
43500 (grub_video_vbe_unmap_color): Likewise.
43501
43502 * include/grub/i386/pc/vbeblit.h: New file.
43503
43504 * include/grub/i386/pc/vbefill.h: New file.
43505
43506 * video/video.c (grub_video_get_blit_format): New function.
43507 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
43508 (grub_video_vbe_map_rgb): Likewise.
43509 (grub_video_vbe_unmap_color): Likewise.
43510
43511 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
43512 optimized fills.
43513 (grub_video_vbe_blit_render_target): Changed to use more optimized
43514 blits.
43515 (grub_video_vbe_setup): Added detection for optimized settings.
43516 (grub_video_vbe_create_render_target): Likewise.
43517
43518 * video/i386/pc/vbeblit.c: New file.
43519
43520 * video/i386/pc/vbefill.c: New file.
43521
43522 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
43523
43524 * font/manager.c (grub_font_get_glyph): Removed font fixup from
43525 here...
43526
43527 * util/unifont2pff.rb: ... and moved it to here. Improved argument
43528 parsing to support both hex and dec ranges. If filename was missing
43529 show usage information.
43530
43531 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
43532
43533 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
43534 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
43535
43536 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
43537 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
43538 (video_mod_SOURCES): Added.
43539 (video_mod_CFLAGS): Likewise.
43540 (video_mod_LDFLAGS): Likewise.
43541 (gfxterm_mod_SOURCES): Likewise.
43542 (gfxterm_mod_CFLAGS): Likewise.
43543 (gfxterm_mod_LDFLAGS): Likewise.
43544 (videotest_mod_SOURCES): Likewise.
43545 (videotest_mod_CFLAGS): Likewise.
43546 (videotest_mod_LDFLAGS): Likewise.
43547 (vesafb_mod_SOURCES): Removed.
43548 (vesafb_mod_CFLAGS): Likewise.
43549 (vesafb_mod_LDFLAGS): Likewise.
43550 (vga_mod_SOURCES): Likewise.
43551 (vga_mod_CFLAGS): Likewise.
43552 (vga_mod_LDFLAGS): Likewise.
43553
43554 * commands/videotest.c: New file.
43555
43556 * font/manager.c (fill_with_default_glyph): Modified to use
43557 grub_font_glyph.
43558 (grub_font_get_glyph): Likewise.
43559 (fontmanager): Renamed from this...
43560 (font_manager): ... to this.
43561
43562 * include/grub/font.h (grub_font_glyph): Added new structure.
43563 (grub_font_get_glyph): Modified to use grub_font_glyph.
43564
43565 * include/grub/misc.h (grub_abs): Added as inline function.
43566
43567 * include/grub/video.h: New file.
43568
43569 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43570 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43571 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43572 (grub_vbe_get_controller_info): Renamed from this...
43573 (grub_vbe_bios_get_controller_info): ... to this.
43574 (grub_vbe_get_mode_info): Renamed from this...
43575 (grub_vbe_bios_get_mode_info): ... to this.
43576 (grub_vbe_set_mode): Renamed from this...
43577 (grub_vbe_bios_set_mode): ... to this.
43578 (grub_vbe_get_mode): Renamed from this...
43579 (grub_vbe_bios_get_mode): ... to this.
43580 (grub_vbe_set_memory_window): Renamed from this...
43581 (grub_vbe_bios_set_memory_window): ... to this.
43582 (grub_vbe_get_memory_window): Renamed from this...
43583 (grub_vbe_bios_get_memory_window): ... to this.
43584 (grub_vbe_set_scanline_length): Renamed from this...
43585 (grub_vbe_set_scanline_length): ... to this.
43586 (grub_vbe_get_scanline_length): Renamed from this...
43587 (grub_vbe_bios_get_scanline_length): ... to this.
43588 (grub_vbe_set_display_start): Renamed from this...
43589 (grub_vbe_bios_set_display_start): ... to this.
43590 (grub_vbe_get_display_start): Renamed from this...
43591 (grub_vbe_bios_get_display_start): ... to this.
43592 (grub_vbe_set_palette_data): Renamed from this...
43593 (grub_vbe_bios_set_palette_data): ... to this.
43594 (grub_vbe_set_pixel_rgb): Removed.
43595 (grub_vbe_set_pixel_index): Likewise.
43596
43597 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43598 from this...
43599 (grub_vbe_bios_get_controller_info): ... to this.
43600 (grub_vbe_get_mode_info): Renamed from this...
43601 (grub_vbe_bios_get_mode_info): ... to this.
43602 (grub_vbe_set_mode): Renamed from this...
43603 (grub_vbe_bios_set_mode): ... to this.
43604 (grub_vbe_get_mode): Renamed from this...
43605 (grub_vbe_bios_get_mode): ... to this.
43606 (grub_vbe_set_memory_window): Renamed from this...
43607 (grub_vbe_bios_set_memory_window): ... to this.
43608 (grub_vbe_get_memory_window): Renamed from this...
43609 (grub_vbe_bios_get_memory_window): ... to this.
43610 (grub_vbe_set_scanline_length): Renamed from this...
43611 (grub_vbe_set_scanline_length): ... to this.
43612 (grub_vbe_get_scanline_length): Renamed from this...
43613 (grub_vbe_bios_get_scanline_length): ... to this.
43614 (grub_vbe_set_display_start): Renamed from this...
43615 (grub_vbe_bios_set_display_start): ... to this.
43616 (grub_vbe_get_display_start): Renamed from this...
43617 (grub_vbe_bios_get_display_start): ... to this.
43618 (grub_vbe_set_palette_data): Renamed from this...
43619 (grub_vbe_bios_set_palette_data): ... to this.
43620 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43621 getting corrupted after calling it. Added more pushes and pops.
43622 (grub_vbe_bios_set_mode): Likewise.
43623 (grub_vbe_bios_get_mode): Likewise.
43624 (grub_vbe_bios_get_memory_window): Likewise.
43625 (grub_vbe_bios_set_scanline_length): Likewise.
43626 (grub_vbe_bios_get_scanline_length): Likewise.
43627 (grub_vbe_bios_get_display_start): Likewise.
43628 (grub_vbe_bios_set_palette_data): Likewise.
43629
43630 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43631 (cl_insert): Likewise.
43632 (cl_delete): Likewise.
43633
43634 * term/gfxterm.c: New file.
43635
43636 * term/i386/pc/vesafb.c: Removed file.
43637
43638 * video/video.c: New file.
43639
43640 * video/i386/pc/vbe.c (real2pm): Added new function.
43641 (grub_video_vbe_draw_pixel): Likewise.
43642 (grub_video_vbe_get_video_ptr): Likewise.
43643 (grub_video_vbe_get_pixel): Likewise
43644 (grub_video_vbe_init): Likewise.
43645 (grub_video_vbe_fini): Likewise.
43646 (grub_video_vbe_setup): Likewise.
43647 (grub_video_vbe_get_info): Likewise.
43648 (grub_video_vbe_set_palette): Likewise.
43649 (grub_video_vbe_get_palette): Likewise.
43650 (grub_video_vbe_set_viewport): Likewise.
43651 (grub_video_vbe_get_viewport): Likewise.
43652 (grub_video_vbe_map_color): Likewise.
43653 (grub_video_vbe_map_rgb): Likewise.
43654 (grub_video_vbe_map_rgba): Likewise.
43655 (grub_video_vbe_unmap_color): Likewise.
43656 (grub_video_vbe_fill_rect): Likewise.
43657 (grub_video_vbe_blit_glyph): Likewise.
43658 (grub_video_vbe_blit_bitmap): Likewise.
43659 (grub_video_vbe_blit_render_target): Likewise.
43660 (grub_video_vbe_scroll): Likewise.
43661 (grub_video_vbe_swap_buffers): Likewise.
43662 (grub_video_vbe_create_render_target): Likewise.
43663 (grub_video_vbe_delete_render_target): Likewise.
43664 (grub_video_vbe_set_active_render_target): Likewise.
43665 (grub_vbe_set_pixel_rgb): Remove function.
43666 (grub_vbe_set_pixel_index): Likewise.
43667 (index_color_mode): Remove static variable.
43668 (active_mode): Likewise.
43669 (framebuffer): Likewise.
43670 (bytes_per_scan_line): Likewise.
43671 (grub_video_vbe_adapter): Added new static variable.
43672 (framebuffer): Likewise.
43673 (render_target): Likewise.
43674 (initial_mode): Likewise.
43675 (mode_in_use): Likewise.
43676 (mode_list): Likewise.
43677
43678 2006-03-10 Marco Gerards <marco@gnu.org>
43679
43680 * configure.ac (AC_INIT): Bumped to 1.93.
43681
43682 * DISTLIST: Added `include/grub/hfs.h'.
43683
43684 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43685
43686 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43687 18H, which might help the BIOS falling back to next boot media.
43688
43689 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43690
43691 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43692 Poe Chen <poe.poechen@gmail.com>.
43693
43694 2006-01-17 Marco Gerards <marco@gnu.org>
43695
43696 * include/grub/normal.h: Include <grub/script.h>.
43697 (grub_command_list): Removed struct.
43698 (grub_command_list_t): Removed type.
43699 (grub_menu_entry): Remove members `num' and `command_list'. Add
43700 members `commands' and `sourcecode'.
43701 * include/grub/script.h: Add inclusion guards.
43702 (grub_script_cmd_menuentry): New struct.
43703 (grub_script_execute_menuentry): New prototype.
43704 (grub_script_lexer_record_start): Likewise.
43705 (grub_script_lexer_record_stop): Likewise.
43706 * normal/execute.c (grub_script_execute_menuentry): New function.
43707 * normal/lexer.c (record, recording, recordpos, recordlen): New
43708 variables.
43709 (grub_script_lexer_record_start): New function.
43710 (grub_script_lexer_record_stop): Likewise.
43711 (recordchar): Likewise.
43712 (nextchar): Likewise.
43713 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43714 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43715 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43716 (current_menu): New variable.
43717 (free_menu): Mainly rewritten.
43718 (grub_normal_menu_addentry): New function.
43719 (read_config_file): Rewritten.
43720 * normal/menu.c (run_menu_entry): Mainly rewritten.
43721 * normal/menu_entry.c (make_screen): Rewritten the code to insert
43722 the menu entry.
43723 (run): Mainly rewritten.
43724 * normal/parser.y (menu_entry): New variable.
43725 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43726 (menuentry): New rule.
43727 (command): Add `menuentry'.
43728 (if_statement): Allow additional returns before `fi'.
43729 * normal/script.c (grub_script_create_cmdmenu): New function.
43730
43731 2006-01-03 Marco Gerards <marco@gnu.org>
43732
43733 * INSTALL: GNU Bison is required.
43734 * configure.ac: Rewritten the test to detect Bison.
43735 * Makefile.in (YACC): New variable. Reported by Xun Sun
43736 <xun.sun.cn@gmail.com>.
43737
43738 2006-01-03 Marco Gerards <marco@gnu.org>
43739
43740 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43741 the HFS+ filesystem to filesystem blocks.
43742 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43743 GCC warning is silenced.
43744
43745 2006-01-03 Marco Gerards <marco@gnu.org>
43746
43747 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43748 read from disk from big endian to host byte order.
43749
43750 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43751
43752 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43753 documentation.
43754 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43755 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43756 embedded HFS+ filesystem.
43757 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43758 (grub_hfs_sblock): Move from here...
43759 * include/grub/hfs.h: To here... New file.
43760 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43761 documentation.
43762 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43763 New macros.
43764 (grub_hfsplus_volheader): Change type of member `magic' to
43765 `grub_uint16_t'.
43766 (grub_hfsplus_data): Add new member `embedded_offset'.
43767 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43768 returned block.
43769 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43770 Calculate the offset.
43771
43772 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43773
43774 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43775 Removed.
43776 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43777
43778 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43779
43780 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43781 ENV->NAME is NULL after allocating ENV->VALUE.
43782
43783 2005-12-25 Marco Gerards <marco@gnu.org>
43784
43785 * kern/env.c (grub_env_set): Rewritten the error handling code.
43786
43787 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43788
43789 * geninit.sh: Made more robust, and more portable.
43790
43791 2005-12-25 Marco Gerards <marco@gnu.org>
43792
43793 Add support for Apple HFS+ filesystems.
43794
43795 * fs/hfsplus.c: New file.
43796
43797 * DISTLIST: Added `fs/hfsplus.c'.
43798
43799 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43800 (hfsplus_mod_SOURCES): New variable.
43801 (hfsplus_mod_CFLAGS): Likewise.
43802 (hfsplus_mod_LDFLAGS): Likewise.
43803 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43804 (grub_setup_SOURCES): Likewise.
43805 (grub_mkdevicemap_SOURCES): Likewise.
43806 (grub_emu_SOURCES): Likewise.
43807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43808
43809 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43810
43811 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43812
43813 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43814
43815 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43816 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43817 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43818 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43819 normal/lexer.c, normal/parser.y, normal/script.c, and
43820 partmap/gpt.c.
43821 Removed kern/sparc64/cache.c.
43822
43823 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43824 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43825 grub_emu_init.c.
43826
43827 * configure.ac (AC_INIT): Bumped to 1.92.
43828
43829 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43830
43831 * kern/err.c (grub_error_push): Added new function to support error
43832 stacks.
43833 (grub_error_pop): Likewise.
43834 (grub_error_stack_items): New local variable to support error stacks.
43835 (grub_error_stack_pos): Likewise.
43836 (grub_error_stack_assert): Likewise.
43837 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43838 stack depth.
43839 (grub_print_error): Added support to print errors from error stack.
43840
43841 * include/grub/err.h (grub_error_push): Added function prototype.
43842 (grub_error_pop): Likewise.
43843
43844 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
43845
43846 * configure.ac: Accept `powerpc64' as host_cpu.
43847 (amd64): Rename to `biarch32'.
43848
43849 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
43850 non-cacheline-aligned addresses.
43851
43852 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
43853 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
43854 if `size' is non-zero.
43855
43856 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
43857
43858 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
43859 and `cd' to make sure the filename is not prefixed with a
43860 directory name.
43861 (pkgdata_MODULES): Add `gpt.mod'.
43862 (gpt_mod_SOURCES): New variable.
43863 (gpt_mod_CFLAGS): Likewise.
43864 (gpt_mod_LDFLAGS): Likewise.
43865
43866 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
43867
43868 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
43869 New macro.
43870
43871 * partmap/gpt.c: New file.
43872
43873 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
43874 GPT partition map is detected.
43875
43876 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
43877
43878 * commands/i386/pc/play.c: New file.
43879 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
43880 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
43881 macros.
43882
43883 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
43884
43885 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
43886 ((unused))' to silence gcc warning.
43887
43888 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
43889
43890 * configure.ac: Correct `AC_PROG_YACC' test.
43891
43892 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43893
43894 * util/powerpc/ieee1275/grub-install.in: Run the mount point
43895 check before installing files.
43896
43897 2005-11-22 Mike Small <smallm@panix.com>
43898
43899 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
43900 number regex so multidigit numbers are recognized correctly.
43901
43902 2005-11-22 Mike Small <smallm@panix.com>
43903
43904 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
43905 debugging message before attempting to claim memory.
43906 (grub_rescue_cmd_initrd): Add a claim debugging message and try
43907 multiple addresses in case of failure.
43908
43909 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43910
43911 * term/tparm.c (get_space): Remove empty `if' statement.
43912
43913 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43914
43915 * kern/parser.c (check_varstate): Rename `state' to 's'.
43916
43917 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43918
43919 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43920 variable definitions to the beginning of each function. Sort stack
43921 variables by size.
43922 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43923 `buf' argument to `char *'.
43924
43925 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43926
43927 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43928 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43929 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43930 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43931 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43932 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43933 configfile.mod, search.mod, gzio.mod and test.mod.
43934 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43935 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43936 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43937 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43938 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43939 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43940 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43941 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43942 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43943 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43944 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43945 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43946 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43947 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43948 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43949 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43950 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43951 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43952 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43953 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43954 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43955 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43956 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43957
43958 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43959 `grep --include'.
43960 (pkgdata_MODULES): Add test.mod.
43961
43962 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43963
43964 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43965 appending to variables with "+=".
43966 (PModule): Use full pathname to generate *.lst filenames.
43967
43968 * Makefile.in: Fixed list rules moved from genmk.rb.
43969 (.DELETE_ON_ERROR): New special target.
43970 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43971
43972 * conf/i386-pc.rmk: Include conf/common.mk.
43973 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43974 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43975 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43976 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43977 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43978 configfile.mod, search.mod, gzio.mod and test.mod.
43979 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43980 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43981 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43982 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43983 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43984 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43985 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43986 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43987 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43988 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43989 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43990 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43991 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43992 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43993 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43994 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43995 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43996 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43997 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43998 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43999 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44000 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44001 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44002 here...
44003 * conf/common.rmk: ... to here. New file.
44004
44005 * conf/common.mk: New file.
44006
44007 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44008
44009 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44010 (grub_script.tab.c): ... here.
44011
44012 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44013 (grub_script.tab.c): ... here.
44014
44015 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44016 (grub_script.tab.c): ... here.
44017
44018 * normal/command.c (grub_command_find): Fixed a memory leak of
44019 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44020
44021 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44022
44023 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44024 "@" which marks the start of a comment on ARM.
44025 (VARIABLE): Likewise.
44026
44027 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44028
44029 Add support for Linux/ADFS partition tables.
44030
44031 * partmap/acorn.c: New file.
44032
44033 * include/grub/acorn_filecore.h: Likewise.
44034
44035 * DISTLIST: Added `partmap/acorn.c' and
44036 `include/grub/acorn_filecore.h'.
44037
44038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44039 `partmap/acorn.c'.
44040 (pkgdata_MODULES): Add `acorn.mod'.
44041 (acorn_mod_SOURCES): New variable.
44042 (acorn_mod_CFLAGS): Likewise.
44043
44044 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44045 `partmap/acorn.c'.
44046 (pkgdata_MODULES): Add `acorn.mod'.
44047 (acorn_mod_SOURCES): New variable.
44048 (acorn_mod_CFLAGS): Likewise.
44049
44050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44051 (pkgdata_MODULES): Add `acorn.mod'.
44052 (acorn_mod_SOURCES): New variable.
44053 (acorn_mod_CFLAGS): Likewise.
44054 (acorn_mod_LDFLAGS): Likewise.
44055
44056 * include/types.h (grub_disk_addr_t): New typedef.
44057
44058 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
44059
44060 * geninit.sh: New file.
44061
44062 * geninitheader.sh: Likewise.
44063
44064 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44065 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44066 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44067 * commands/configfile.c (grub_configfile_init)
44068 (grub_configfile_fini): Likewise.
44069 * commands/default.c (grub_default_init, grub_default_fini):
44070 Likewise.
44071 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44072 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44073 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44074 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44075 Likewise.
44076 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44077 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44078 Likewise.
44079 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
44080 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
44081 Likewise.
44082 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44083 Likewise.
44084 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
44085 Likewise.
44086 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44087 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44088 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44089 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44090 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44091 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44092 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44093 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44094 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44095 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44096 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44097 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44098 * partmap/amiga.c (grub_amiga_partition_map_init)
44099 (grub_amiga_partition_map_fini): Likewise.
44100 * partmap/apple.c (grub_apple_partition_map_init)
44101 (grub_apple_partition_map_fini): Likewise.
44102 * partmap/pc.c (grub_pc_partition_map_init)
44103 (grub_pc_partition_map_fini): Likewise.
44104 * partmap/sun.c (grub_sun_partition_map_init,
44105 grub_sun_partition_map_fini): Likewise.
44106 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44107 Likewise.
44108
44109 * util/grub-emu.c: Include <grub_modules_init.h>.
44110 (main): Don't initialize and de-initialize any modules directly,
44111 use `grub_init_all' and `grub_fini_all' instead.
44112
44113 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44114 `grub_vesafb_mod_init'.
44115 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44116 all users.
44117 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44118 `grub_vga_mod_init'. Updated all users.
44119 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
44120
44121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44122 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44123 rules.
44124
44125 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44126 Generate a function to initialize the module in utilities.
44127 Updated all callers.
44128 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44129 initialize the module in utilities. Updated all callers.
44130
44131 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44132
44133 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44134 escape sequence and a literal ^L to clear the screen.
44135
44136 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44137 when returning from Open Firmware.
44138
44139 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44140
44141 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44142 (grub_ofconsole_height): Likewise.
44143 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44144 manually insert a '\n'.
44145 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44146 `grub_ofconsole_height'. Return early if these are already set.
44147
44148 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44149
44150 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44151 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44152 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44153 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44154 and `normal/script.c'.
44155 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44156 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44157 (test_mod_SOURCES): New variable.
44158 (test_mod_CFLAGS): Likewise.
44159 (test_mod_LDFLAGS): Likewise.
44160 (pkgdata_MODULES): Add `test.mod'.
44161 (grub_script.tab.c): New rule.
44162 (grub_script.tab.h): Likewise.
44163
44164 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
44165
44166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44167 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44168 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44169 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44170 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44171 (test_mod_SOURCES): New variable.
44172 (test_mod_CFLAGS): Likewise.
44173 (pkgdata_MODULES): Add `test.mod'.
44174 (grub_script.tab.c): New rule.
44175 (grub_script.tab.h): Likewise.
44176
44177 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
44178
44179 Add initial scripting support.
44180
44181 * commands/test.c: New file.
44182 * include/grub/script.h: Likewise.
44183 * normal/execute.c: Likewise.
44184 * normal/function.c: Likewise.
44185 * normal/lexer.c: Likewise.
44186 * normal/parser.y: Likewise.
44187 * normal/script.c: Likewise.
44188
44189 * configure.ac: Add `AC_PROG_YACC' test.
44190
44191 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44192 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44193 `normal/function.c' and `normal/script.c'.
44194 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44195 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44196 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44197 variables.
44198 (pkgdata_MODULES): Add `test.mod'.
44199 (grub_script.tab.c): New rule.
44200 (grub_script.tab.h): Likewise.
44201
44202 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44203
44204 * include/grub/normal.h (grub_test_init): New prototype.
44205 (grub_test_fini): Likewise.
44206
44207 * normal/command.c: Include <grub/script.h>.
44208 (grub_command_execute): Rewritten.
44209
44210 * util/grub-emu.c (main): Call `grub_test_init' and
44211 `grub_test_fini'.
44212
44213 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44214
44215 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44216 to 0.
44217 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44218 there are no pending characters.
44219
44220 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44221
44222 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44223 `grub_strndup' to drop device arguments. Replace unnecessary
44224 `grub_strndup' with `grub_strdup'.
44225
44226 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44227
44228 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44229 `debug' environment variable has been set.
44230
44231 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
44232
44233 * Makefile.in (install-local): Use $(DATA).
44234 (uninstall): Likewise.
44235 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44236 (sbin_UTILITIES): ... to here.
44237 (sbin_SCRIPTS): New variable.
44238 (grub_install_SOURCES): New variable.
44239 * util/powerpc/ieee1275/grub-install.in: New file.
44240 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44241 variable.
44242 (add_segments): Call `grub_util_get_path'.
44243
44244 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44245
44246 From Timothy Baldwin:
44247 * commands/ls.c (grub_ls_list_files): Close FILE with
44248 grub_file_close.
44249 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44250
44251 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
44252
44253 * include/grub/parser.h: New file.
44254
44255 * kern/parser.c: Likewise.
44256
44257 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44258 (grub_setup_SOURCES): Likewise.
44259 (grub_probefs_SOURCES): Likewise.
44260 (grub_emu_SOURCES): Likewise.
44261 (kernel_img_HEADERS): Add `parser.h'.
44262
44263 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44264 (grub_emu_SOURCES): Add `kern/parser.c'.
44265 (grubof_SOURCES): Likewise.
44266
44267 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44268 (grubof_SOURCES): Add `kern/parser.c'.
44269
44270 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44271
44272 * kern/misc.c (grub_split_cmdline): Removed function.
44273
44274 * kern/rescue.c: Include <grub/parser.h>.
44275 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44276 of `grub_split_cmdline'.
44277
44278 * normal/command.c: Include <grub/parser.h>.
44279 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44280 of `grub_split_cmdline'.
44281
44282 * normal/completion.c: Include <grub/parser.h>.
44283 (cmdline_state): New variable.
44284 (iterate_dir): End the filename with a quote depending on the
44285 command line state.
44286 (get_state): new function.
44287 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44288 split the arguments and determine the current argument. When the
44289 argument string is not quoted, escape all spaces.
44290
44291 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44292
44293 * normal/sparc64/setjmp.S: New file.
44294
44295 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44296
44297 * include/grub/sparc64/libgcc.h: New file.
44298 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44299 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44300 normal/sparc64/setjmp.c.
44301
44302 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44303
44304 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44305 * kern/sparc64/cache.S: New file.
44306 * kern/sparc64/cache.c: Removed.
44307 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44308 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44309 -mtune=ultrasparc.
44310 (COMMON_LDFLAGS): Add -melf64_sparc.
44311 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44312 (grubof_SOURCES): Use cache.S instead of cache.c.
44313 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44314 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44315 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44316 commented though.
44317 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44318 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44319 (linux_mod_CFLAGS): Commented out.
44320 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44321 out because module isn't built.
44322 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44323 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44324 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44325 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44326 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44327 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44328 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44329 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44330 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44331 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44332 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44333 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44334 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44335 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44336
44337 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44338
44339 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44340 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44341 longer, because HFS should not be used on PC.
44342
44343 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44344
44345 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44346 consistently within the loop.
44347
44348 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
44349
44350 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44351 directory can not be read.
44352
44353 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44354
44355 * configure.ac (AC_INIT): Increase the version number to 1.91.
44356
44357 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44358 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44359 term/i386/pc/serial.c.
44360
44361 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44362
44363 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44364 file size must be permitted.
44365
44366 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44367 between %ah and %al.
44368
44369 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44370
44371 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44372 grub_uint64_t.
44373 Call the hook with a NUL-terminated filename.
44374 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44375 grub_cpu_to_be32.
44376
44377 * kern/term.c (cursor_state): New variable.
44378 (grub_term_set_current): Reset the cursor state on a new
44379 terminal.
44380 (grub_setcursor): Rewritten to use CURSOR_STATE.
44381 (grub_getcursor): New function.
44382
44383 * include/grub/term.h (grub_getcursor): New prototype.
44384
44385 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
44386 integers on ARM. Reported by Timothy Baldwin
44387 <T.E.Baldwin99@members.leeds.ac.uk>.
44388
44389 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
44390
44391 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
44392 allocated.
44393 (grub_sfs_dir): Likewise.
44394
44395 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
44396
44397 Add support for the SFS filesystem.
44398
44399 * fs/sfs.c: New file.
44400
44401 * DISTLIST: Added `fs/sfs.c'.
44402
44403 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
44404 (grub_probefs_SOURCES): Likewise.
44405 (grub_emu_SOURCES): Likewise.
44406 (pkgdata_MODULES): Add `sfs.mod'.
44407 (sfs_mod_SOURCES): New variable.
44408 (sfs_mod_CFLAGS): Likewise.
44409 (sfs_mod_LDFLAGS): Likewise.
44410
44411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
44412 (pkgdata_MODULES): Add `sfs.mod'.
44413 (sfs_mod_SOURCES): New variable.
44414 (sfs_mod_CFLAGS): Likewise.
44415
44416 * util/grub-emu.c (main): Call `grub_sfs_init' and
44417 `grub_sfs_fini'.
44418
44419 * include/grub/fs.h (grub_sfs_init): New prototype.
44420 (grub_sfs_fini): Likewise.
44421
44422 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
44423
44424 Add support for the AFFS filesystem.
44425
44426 * fs/affs.c: New file.
44427
44428 * DISTLIST: Added `fs/affs.c'.
44429
44430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
44431 (grub_probefs_SOURCES): Likewise.
44432 (grub_emu_SOURCES): Likewise.
44433 (pkgdata_MODULES): Add `affs.mod'.
44434 (affs_mod_SOURCES): New variable.
44435 (affs_mod_CFLAGS): Likewise.
44436 (affs_mod_LDFLAGS): Likewise.
44437
44438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
44439 (pkgdata_MODULES): Add `affs.mod'.
44440 (affs_mod_SOURCES): New variable.
44441 (affs_mod_CFLAGS): Likewise.
44442
44443 * util/grub-emu.c (main): Call `grub_affs_init' and
44444 `grub_affs_fini'.
44445
44446 * include/grub/fs.h (grub_affs_init): New prototype.
44447 (grub_affs_fini): Likewise.
44448
44449 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44450
44451 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
44452
44453 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44454
44455 * configure.ac: Accept `x86_64' as host_cpu. In that case add
44456 `-m32' to CFLAGS.
44457
44458 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
44459 linking.
44460
44461 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
44462 (COMMON_LDFLAGS): New variable.
44463 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
44464 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
44465 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
44466 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
44467 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
44468 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
44469 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
44470 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
44471 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
44472 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
44473 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44474 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44475 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
44476 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
44477 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
44478 variables.
44479 (normal_mod_ASFLAGS): Add `-m32'.
44480
44481 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
44482 (grub_host_size_t, grub_host_ssize_t): New types.
44483 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
44484 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
44485 `GRUB_HOST_SIZEOF_VOID_P'.
44486
44487 * include/grub/kernel.h (struct grub_module_header): Type of
44488 member offset changed to `grub_host_off_t'. Type of member size
44489 changed to `grub_host_size_t'.
44490 (struct grub_module_info): Type of member offset changed to
44491 `grub_host_off_t'. Type of member size changed to
44492 `grub_host_size_t'.
44493
44494 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44495
44496 Make GRUB's kernel compliant to Multiboot Specification.
44497
44498 * kern/i386/pc/startup.S (multiboot_header): New label.
44499 (multiboot_entry): Likewise.
44500 (multiboot_trampoline): Likewise.
44501
44502 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44503 Increased to 0x4A0.
44504
44505 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
44506 put parentheses after a question mark.
44507 [!GRUB_UTIL] (my_mod): New variable.
44508
44509 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
44510
44511 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
44512
44513 Adds support for the XFS filesystem. Btrees are not supported
44514 yet.
44515
44516 * fs/xfs.c: New file.
44517
44518 * DISTLIST: Added `fs/xfs.c'.
44519
44520 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
44521 (grub_probefs_SOURCES): Likewise.
44522 (grub_emu_SOURCES): Likewise.
44523 (pkgdata_MODULES): Add `xfs.mod'.
44524 (xfs_mod_SOURCES): New variable.
44525 (xfs_mod_CFLAGS): Likewise.
44526
44527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
44528 (pkgdata_MODULES): Add `xfs.mod'.
44529 (xfs_mod_SOURCES): New variable.
44530 (xfs_mod_CFLAGS): Likewise.
44531
44532 * util/grub-emu.c (main): Call `grub_xfs_init' and
44533 `grub_xfs_fini'.
44534
44535 * include/grub/fs.h (grub_xfs_init): New prototype.
44536 (grub_xfs_fini): Likewise.
44537
44538
44539 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
44540
44541 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
44542 color modes, allow greater than 16 colors to be configured as
44543 a default palette.
44544
44545 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44546
44547 * normal/completion.c (complete_arguments): Add the qualifier
44548 const into OPTIONS.
44549
44550 From Omniflux <omniflux+lists@omniflux.com>:
44551 * include/grub/terminfo.h: New file.
44552 * include/grub/tparm.h: Likewise.
44553 * include/grub/i386/pc/serial.h: Likewise.
44554 * term/terminfo.c: Likewise.
44555 * term/tparm.c: Likewise.
44556 * term/i386/pc/serial.c: Likewise.
44557 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44558 serial.mod.
44559 (terminfo_mod_SOURCES): New variable.
44560 (terminfo_mod_CFLAGS): Likewise.
44561 (serial_mod_SOURCES): Likewise.
44562 (serial_mod_CFLAGS): Likewise.
44563
44564 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44565
44566 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44567 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44568 and kern/powerpc/ieee1275/cmain.c, respectively.
44569
44570 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44571 * kern/powerpc/ieee1275/crt0.S: ... here.
44572
44573 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44574 * kern/powerpc/ieee1275/cmain.c: ... here.
44575
44576 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44577 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44578 instead of boot/powerpc/ieee1275/crt0.S and
44579 boot/powerpc/ieee1275/cmain.c, respectively.
44580
44581 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44582 sectors. It was not used anyway.
44583
44584 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44585
44586 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44587 `unused parameter' warning.
44588
44589 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44590
44591 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44592 function.
44593 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44594 getcharwidth.
44595
44596 2005-08-28 Marco Gerards <metgerards@student.han.nl>
44597
44598 * include/grub/normal.h (enum grub_completion_type): Added
44599 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44600
44601 * normal/cmdline.c (print_completion): Handle
44602 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44603 * normal/menu_entry.c (store_completion): Likewise.
44604
44605 * normal/completion.c (complete_arguments): New function.
44606 (grub_normal_do_completion): Call `complete_arguments' when the
44607 current words start with a dash.
44608
44609 2005-08-27 Marco Gerards <metgerards@student.han.nl>
44610
44611 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44612 `gzio.mod' instead of `io.mod').
44613
44614 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44615
44616 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44617 (DISTDIRS): Added io and video.
44618 Rewrite the search routine to make an output consistently.
44619
44620 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44621 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44622 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44623 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44624 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44625 util/powerpc/ieee1275/misc.c.
44626
44627 * include/grub/gzio.h: New file.
44628 * io/gzio.c: Likewise.
44629
44630 * kern/file.c (grub_file_close): Call grub_device_close only if
44631 FILE->DEVICE is not NULL.
44632
44633 * include/grub/mm.h [!NULL] (NULL): New macro.
44634
44635 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44636
44637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44638 (pkgdata_MODULES): Added gzio.mod.
44639 (gzio_mod_SOURCES): New variable.
44640 (gzio_mod_CFLAGS): Likewise.
44641
44642 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44643 (pkgdata_MODULES): Added gzio.mod.
44644 (gzio_mod_SOURCES): New variable.
44645 (gzio_mod_CFLAGS): Likewise.
44646
44647 * commands/cat.c: Include grub/gzio.h.
44648 (grub_cmd_cat): Use grub_gzfile_open instead of
44649 grub_file_open.
44650
44651 * commands/cmp.c: Include grub/gzio.h.
44652 (grub_cmd_cmp): Use grub_gzfile_open instead of
44653 grub_file_open.
44654
44655 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44656 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44657 grub_file_open.
44658 (grub_rescue_cmd_module): Likewise.
44659
44660 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44661
44662 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44663 kern/sparc64/ieee1275/init.c because it contains _start.
44664 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44665
44666 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44667
44668 * configure.ac: Add support for sparc64 host with ieee1275
44669 firmware.
44670 * configure: Generated from configure.ac.
44671 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44672 instead of int.
44673 (grub_ofdisk_read): Likewise.
44674 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44675 pointers as (void *) to remove a warning.
44676 (grub_ofdisk_close): Likewise.
44677 (grub_ofdisk_read): Likewise.
44678 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44679 returns, so make it return void to remove a warning.
44680 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44681 Corresponding prototype change.
44682 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44683 values, and cast the pointers as (void *) to remove a warning.
44684 (grub_mm_dump): Likewise.
44685 * conf/sparc64-ieee1275.mk: New file.
44686 * conf/sparc64-ieee1275.rmk: Likewise.
44687 * include/grub/sparc64/setjmp.h: Likewise.
44688 * include/grub/sparc64/types.h: Likewise.
44689 * include/grub/sparc64/ieee1275/console.h: Likewise.
44690 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44691 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44692 * include/grub/sparc64/ieee1275/time.h: Likewise.
44693 * kern/sparc64/cache.c: Likewise.
44694 * kern/sparc64/dl.c: Likewise.
44695 * kern/sparc64/ieee1275/init.c: Likewise.
44696 * kern/sparc64/ieee1275/openfw.c: Likewise.
44697
44698 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44699
44700 * util/console.c (grub_ncurses_putchar): If C is greater than
44701 0x7f, set C to a question mark.
44702 (grub_ncurses_getcharwidth): New function.
44703 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44704 getcharwidth.
44705
44706 * normal/menu.c (print_entry): Made aware of Unicode. First,
44707 convert TITLE to UCS-4, and predict the cursor position by
44708 grub_getcharwidth.
44709
44710 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44711 const to SRC.
44712 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44713
44714 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44715
44716 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44717 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44718 grub_strcat.
44719
44720 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44721 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44722 grub_strcpy and grub_strlen. Take it into account that a space
44723 character is inserted as a delimiter.
44724
44725 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44726
44727 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
44728 invalid magic in the error.
44729
44730 * commands/search.c: New file.
44731
44732 * util/grub-emu.c (main): Call grub_search_init and
44733 grub_search_fini.
44734
44735 * kern/rescue.c (grub_rescue_print_disks): Removed.
44736 (grub_rescue_print_devices): New function.
44737 (grub_rescue_cmd_ls): Use grub_device_iterate with
44738 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44739 grub_rescue_print_disks.
44740
44741 * kern/partition.c (grub_partition_iterate): Return the result of
44742 PARTMAP->ITERATE instead of GRUB_ERRNO.
44743
44744 * kern/device.c: Include grub/partition.h.
44745 (grub_device_iterate): New function.
44746
44747 * include/grub/partition.h (grub_partition_iterate): Return int
44748 instead of grub_err_t.
44749
44750 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44751 prototype.
44752 [GRUB_UTIL] (grub_search_fini): Likewise.
44753
44754 * include/grub/device.h (grub_device_iterate): New prototype.
44755
44756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44757 commands/search.c.
44758 (pkgdata_MODULES): Added search.mod.
44759 (search_mod_SOURCES): New variable.
44760 (search_mod_CFLAGS): Likewise.
44761
44762 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44763 (pkgdata_MODULES): Added search.mod.
44764 (search_mod_SOURCES): New variable.
44765 (search_mod_CFLAGS): Likewise.
44766
44767 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44768 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44769 All callers changed.
44770
44771 * DISTLIST: Added commands/search.c.
44772
44773 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44774
44775 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44776 conversion.
44777 (grub_getcharwidth): New function.
44778
44779 * kern/misc.c (grub_utf8_to_ucs4): New function.
44780
44781 * include/grub/term.h (struct grub_term): Added a new member
44782 "getcharwidth".
44783 (grub_getcharwidth): New prototype.
44784
44785 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44786
44787 * term/i386/pc/console.c (map_char): New function. Segregated from
44788 grub_console_putchar.
44789 (grub_console_putchar): Use map_char.
44790 (grub_console_getcharwidth): New function.
44791 (grub_console_term): Specified grub_console_getcharwidth as
44792 getcharwidth.
44793
44794 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44795 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44796
44797 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44798 GRUB_ERRNO.
44799 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44800 on grub_strtoul completely.
44801 (write_char): Declare local variables in the beginning of the
44802 function.
44803 (grub_vesafb_getcharwidth): New function.
44804 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44805 getcharwidth.
44806
44807 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44808
44809 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44810 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44811 commands/i386/pc/vbetest.c.
44812
44813 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44814 call grub_vbe_get_controller_info again, because the returned
44815 information is volatile.
44816 (grub_vbe_set_video_mode): Mostly rewritten.
44817 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44818 grub_vbe_status_t correctly.
44819 (grub_vbe_get_video_mode_info): Likewise.
44820 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44821 several if statements.
44822
44823 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44824 * commands/i386/pc/vbeinfo.c: ... this.
44825
44826 * commands/i386/pc/vbe_test.c: Renamed to ...
44827 * commands/i386/pc/vbetest.c: ... this.
44828
44829 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44830 ...
44831 (grub_cmd_vbeinfo): ... this. Save video modes before
44832 iterating. Skip a video mode, if it is not available, not enough
44833 information is given or it is monochrome. Show the memory
44834 model. Leave the interpretation of MODEVAR to grub_strtoul
44835 completely.
44836 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44837 (GRUB_MOD_FINI): Likewise.
44838
44839 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44840 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44841 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44842 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44843 grub_strtoul completely.
44844 (real2pm): Removed.
44845 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
44846 (GRUB_MOD_FINI): Likewise.
44847
44848 * normal/misc.c: Include grub/mm.h.
44849
44850 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
44851 vbe_list_modes with vbetest.mod and vbeinfo.mod.
44852 (vbe_list_modes_mod_SOURCES): Removed.
44853 (vbe_list_modes_mod_CFLAGS): Likewise.
44854 (vbe_test_mod_SOURCES): Likewise.
44855 (vbe_test_mod_CFLAGS): Likewise.
44856 (vbeinfo_mod_SOURCES): New variable.
44857 (vbeinfo_mod_CFLAGS): Likewise.
44858 (vbetest_mod_SOURCES): Likewise.
44859 (vbetest_mod_CFLAGS): Likewise.
44860
44861 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
44862
44863 * normal/misc.c: New file.
44864
44865 * DISTLIST: Added normal/misc.c.
44866
44867 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
44868 DISK to HOOK. Call HOOK with DISK.
44869 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44870 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44871 * partmap/sun.c (sun_partition_map_iterate): Likewise.
44872
44873 * normal/menu_entry.c (struct screen): Added a new member
44874 "completion_shown".
44875 (completion_buffer): New global variable.
44876 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
44877 (store_completion): New function.
44878 (complete): Likewise.
44879 (clear_completions): Likewise.
44880 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
44881 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
44882 a tab, call complete.
44883
44884 * normal/completion.c (disk_dev): Removed.
44885 (print_simple_completion): Likewise.
44886 (print_partition_completion): Likewise.
44887 (print_func): New global variable.
44888 (add_completion): Do not take the arguments WHAT or PRINT any
44889 longer. Added a new argument TYPE. Instead of printing directly,
44890 call PRINT_FUNC if not NULL.
44891 All callers changed.
44892 (complete_device): Use a local variable DEV instead of
44893 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
44894 (grub_normal_do_completion): Take a new argument HOOK. Do not
44895 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
44896 empty string, return NULL instead.
44897 All callers changed.
44898
44899 * normal/cmdline.c (print_completion): New function.
44900
44901 * kern/partition.c (grub_partition_iterate): Add an argument DISK
44902 to HOOK.
44903 All callers changed.
44904
44905 * kern/disk.c (grub_print_partinfo): Removed.
44906
44907 * include/grub/partition.h (struct grub_partition_map): Add a new
44908 argument DISK into HOOK of ITERATE.
44909 (grub_partition_iterate): Add a new argument DISK to HOOK.
44910
44911 * include/grub/normal.h (enum grub_completion_type): New enum.
44912 (grub_completion_type_t): New type.
44913 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44914 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44915 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44916 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44917 (grub_normal_do_completion): Added a new argument HOOK.
44918 (grub_normal_print_device_info): New prototype.
44919
44920 * include/grub/disk.h (grub_print_partinfo): Removed.
44921
44922 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44923 (normal_mod_SOURCES): Likewise.
44924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44925 (normal_mod_SOURCES): Likewise.
44926
44927 * commands/ls.c (grub_ls_list_disks): Use
44928 grub_normal_print_device_info instead of grub_print_partinfo. Free
44929 PNAME.
44930 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44931 duplicating the code.
44932
44933 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44934
44935 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
44936 follow GCS more precisely.
44937 * commands/i386/pc/vbe_test.c: Likewise.
44938 * include/grub/i386/pc/vbe.h: Likewise.
44939 * term/i386/pc/vesafb.c: Likewise.
44940 * video/i386/pc/vbe.c: Likewise.
44941
44942 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44943
44944 * DISTLIST: Added term/i386/pc/vesafb.c
44945 DISTLIST: Added video/i386/pc/vbe.c
44946 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44947 DISTLIST: Added commands/i386/pc/vbe_test.c.
44948 * commands/i386/pc/vbe_list_modes.c: New file.
44949 * commands/i386/pc/vbe_test.c: Likewise.
44950 * term/i386/pc/vesafb.c: Likewise.
44951 * video/i386/pc/vbe.c: Likewise.
44952 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44953 (grub_vbe_probe) Added prototype.
44954 (grub_vbe_set_video_mode) Likewise.
44955 (grub_vbe_get_video_mode) Likewise.
44956 (grub_vbe_get_video_mode_info) Likewise.
44957 (grub_vbe_set_pixel_rgb) Likewise.
44958 (grub_vbe_set_pixel_index) Likewise.
44959 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44960 (pkgdata_MODULES): Added vesafb.mod.
44961 (pkgdata_MODULES): Added vbe_list_modes.mod.
44962 (pkgdata_MODULES): Added vbe_test.mod.
44963 (vbe_mod_SOURCES): Added.
44964 (vbe_mod_CFLAGS): Likewise.
44965 (vesafb_mod_SOURCES): Likewise.
44966 (vesafb_mod_CFLAGS): Likewise.
44967 (vbe_list_modes_mod_SOURCES): Likewise.
44968 (vbe_list_modes_mod_CFLAGS): Likewise.
44969 (vbe_test_mod_SOURCES): Likewise.
44970 (vbe_test_mod_CFLAGS): Likewise.
44971
44972 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44973
44974 * normal/command.c (grub_command_execute): If INTERACTIVE is
44975 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44976 CMDLINE. Disable the pager if INTERACTIVE is true.
44977 All callers are changed.
44978
44979 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44980 before reading a config file.
44981 * normal/main.c (read_config_file): Even if a command is not
44982 found, register it if it is within an entry.
44983
44984 * util/grub-emu.c: Include sys/types.h and unistd.h.
44985 (options): Added --hold.
44986 (struct arguments): Added a new member "hold".
44987 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44988 missing.
44989 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44990 cleared by a debugger, if it is not zero.
44991
44992 * include/grub/normal.h (grub_command_execute): Add an argument
44993 INTERACTIVE.
44994
44995 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44996
44997 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44998
44999 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45000
45001 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45002 program with another one, because the old one didn't detect a bug
45003 in gcc-3.4. Always use regparm 2, because the new test is still
45004 not enough for gcc-4.0. Someone must investigate a simple test
45005 case which detects a bug in gcc-4.0.
45006
45007 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45008
45009 * DISTLIST: Added normal/completion.c.
45010
45011 * normal/completion.c: New file.
45012
45013 * term/i386/pc/console.c (grub_console_getwh): New function.
45014 (grub_console_term): Assign grub_console_getwh to getwh.
45015
45016 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45017 function is defined in normal/completion.c as
45018 grub_normal_do_completion.
45019 (grub_cmdline_get): Use grub_normal_do_completion instead of
45020 grub_tab_complete.
45021
45022 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45023 returns non-zero, otherwise return 0.
45024 (grub_partition_iterate): First, probe the partition map. Then,
45025 call ITERATE only for this partition map.
45026
45027 * kern/misc.c (grub_strncmp): Rewritten.
45028
45029 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45030 returns non-zero. Otherwise return 0.
45031
45032 * include/grub/partition.h (grub_partition_map_iterate): Return
45033 int instead of void.
45034
45035 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45036
45037 * include/grub/misc.h (grub_strncmp): Change the type of N to
45038 grub_size_t.
45039
45040 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45041 of void.
45042
45043 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
45044 unsigned explicitly before comparing it with I.
45045
45046 * kern/main.c (grub_env_write_root): Add the attribute unused into
45047 VAR.
45048
45049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45050 normal/completion.c.
45051 (normal_mod_SOURCES): Likewise.
45052 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45053 (normal_mod_SOURCES): Likewise.
45054
45055 * normal/command.c (grub_iterate_commands): If ITERATE returns
45056 non-zero, return one immediately.
45057
45058 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45059
45060 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45061 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45062 descriptions.
45063 (grub_vbe_get_controller_info): New function.
45064 (grub_vbe_get_mode_info): Likewise.
45065 (grub_vbe_set_mode): Likewise.
45066 (grub_vbe_get_mode): Likewise.
45067 (grub_vbe_set_memory_window): Likewise.
45068 (grub_vbe_get_memory_window): Likewise.
45069 (grub_vbe_set_scanline_length): Likewise.
45070 (grub_vbe_get_scanline_length): Likewise.
45071 (grub_vbe_set_display_start): Likewise.
45072 (grub_vbe_get_display_start): Likewise.
45073 (grub_vbe_set_palette_data): Likewise.
45074 * include/grub/i386/pc/vbe.h: New file.
45075
45076 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45077
45078 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45079 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45080 * DISTLIST: Likewise.
45081 * kern/ieee1275/of.c: Moved to ...
45082 * kern/ieee1275/ieee1275.c: ... here.
45083
45084 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45085
45086 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45087 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45088 Pass 0 as `end' parameter to grub_strtoul().
45089
45090 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45091
45092 * include/grub/powerpc/ieee1275/console.h: Do not include
45093 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45094 ifdef.
45095 (grub_console_cur_color): Remove i386-specific prototype.
45096 (grub_console_real_putchar): Likewise.
45097 (grub_console_checkkey): Likewise.
45098 (grub_console_getkey): Likewise.
45099 (grub_console_getxy): Likewise.
45100 (grub_console_gotoxy): Likewise.
45101 (grub_console_cls): Likewise.
45102 (grub_console_setcursor): Likewise.
45103 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45104 Include <grub/machine/console.h>.
45105 * term/ieee1275/ofconsole.c: Likewise.
45106
45107 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45108
45109 * Makefile.in (LIBLZO): New variable.
45110
45111 * configure.ac: Check for LZO version 2.
45112
45113 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45114 lzo/lzo1x.h instead of lzo1x.h.
45115
45116 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45117 of -llzo.
45118
45119 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45120 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45121
45122 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45123 copying the data from PARTITION to P.
45124
45125 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45126
45127 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45128 negative, unload the module.
45129
45130 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45131 map is "pc_partition_map" but not "pc".
45132 (usage): Fix the description. The options are --boot-image and
45133 --core-image but not --boot-file or --core-file.
45134 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45135 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45136 DEFAULT_DIRECTORY.
45137
45138 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45139 --core-file. Specify INSTALL_DEVICE as an argument.
45140
45141 * util/console.c: Include config.h.
45142 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45143 [HAVE_NCURSES_H]: Include ncurses.h.
45144 [HAVE_CURSES_H]: Include curses.h.
45145 [!A_NORMAL] (A_NORMAL): Defined as zero.
45146 [!A_STANDOUT] (A_STANDOUT): Likewise.
45147
45148 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45149 -lncurses.
45150 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45151
45152 * configure.ac: Check for curses libraries and headers.
45153
45154 * Makefile.in (LIBCURSES): New variable.
45155
45156 * genmk.rb (Script::rule): Set the executable bits.
45157
45158 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45159 name of the PC partition map is "pc_partition_map" but not "pc".
45160
45161 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45162
45163 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45164 (modules): Likewise.
45165 (usage): Added descriptions for --modules and --grub-probefs.
45166 Handle --modules and --grub-probefs. Save the arguments in MODULES
45167 and GRUB_PROBEFS, respectively.
45168 Auto-detect a filesystem module against GRUBDIR. If the result is
45169 empty and modules are not specified explicitly, abort the
45170 installation. Add the result to MODULES.
45171
45172 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45173 disk/powerpc/ieee1275/ofdisk.c,
45174 include/grub/powerpc/ieee1275/init.h and
45175 term/powerpc/ieee1275/ofconsole.c.
45176 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45177 term/ieee1275/ofconsole.c.
45178
45179 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45180
45181 * COPYING: Upgraded to the latest version. Only the address of the
45182 FSF office has changed.
45183
45184 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45185
45186 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45187 kern/ieee1275.c with kern/ieee1275/of.c.
45188
45189 * kern/ieee1275.c: Moved to ...
45190 * kern/ieee1275/of.c: ... here.
45191
45192 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45193
45194 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
45195 readability.
45196
45197 * config.guess: Updated to the latest version from gnulib.
45198 * config.sub: Likewise.
45199 * install.sh: Likewise.
45200 * mkinstalldirs: Likewise.
45201
45202 * include/grub/console.h: Removed. This file is arch-specific. Do
45203 not put this in include/grub.
45204
45205 * include/grub/i386/pc/console.h: Resurrected.
45206
45207 * util/console.c: Include grub/machine/console.h instead of
45208 grub/console.h.
45209 * util/grub-emu.c: Likewise.
45210
45211 2005-08-04 Marco Gerards <metgerards@student.han.nl>
45212
45213 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45214 hardcoded value.
45215
45216 From Vincent Pelletier <subdino2004@yahoo.fr>
45217 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45218 Redefined to use grub_getwh.
45219 (grub_term): New member named getwh.
45220 (grub_getwh): New prototype.
45221 * kern/term.c (grub_getwh): New function.
45222 * term/i386/pc/console.c (grub_console_getwh): New function.
45223 (grub_console_term): New member `getwh'.
45224 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45225 (grub_vga_term): New member `getwh'.
45226 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
45227 grub_ssize_t.
45228 (grub_ofconsole_getw): New function.
45229 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45230 (grub_ofconsole_term): New field named getwh and new initial
45231 value.
45232
45233 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45234
45235 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45236 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45237 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45238 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45239 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45240 of <grub/machine/ieee1275.h>.
45241 * commands/ieee1275/reboot.c: Likewise.
45242 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45243 * kern/ieee1275.c: ... to here. All users updated. Change all
45244 parameter structs to use new type `grub_ieee1275_cell_t'.
45245 * term/powerpc/ieee1275/ofconsole.c: Move ...
45246 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45247 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45248 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45249 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45250 to return int.
45251 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45252 Remove unused prototypes. All users updated.
45253 * include/grub/powerpc/ieee1275/console.h: Removed.
45254 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45255 `grub_ieee1275_cell_t'.
45256 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45257 Cast comparisons with -1 to the correct type.
45258 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45259 type to match `grub_ieee1275_entry_fn'.
45260
45261 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45262
45263 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45264
45265 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45266 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45267 partmap/sun.c.
45268 (grub_probefs_SOURCES): New variable.
45269
45270 * util/i386/pc/grub-probefs.c: New file.
45271
45272 * util/i386/pc/grub-setup.c (main): Call
45273 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45274 grub_hfs_init and grub_jfs_init to initialize the system. Call
45275 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45276 grub_pc_partition_map_fini to finish the system.
45277
45278 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45279
45280 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45281 function.
45282 (grub_multiboot_load_elf32): Likewise.
45283 (grub_multiboot_is_elf64): Likewise.
45284 (grub_multiboot_load_elf64): Likewise.
45285 (grub_multiboot_load_elf): Likewise.
45286 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45287 an ELF32 or ELF64 file.
45288 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45289
45290 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45291 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45292 NULL before calling FS->LABEL.
45293 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45294 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45295 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45296 before calling FS->LABEL.
45297
45298 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45299
45300 * util/i386/pc/grub-install.in (datadir): New variable.
45301 (libdir): Removed.
45302 (pkgdatadir): New variable.
45303 (pkglibdir): Removed.
45304
45305 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45306
45307 * DISTLIST: Added util/i386/pc/grub-install.in.
45308
45309 * util/i386/pc/grub-install.in: New file.
45310
45311 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45312 (grub_install_SOURCES): Likewise.
45313
45314 * genmk.rb: Added support for scripts.
45315 (Script): New class.
45316 (scripts): New variable.
45317
45318 * Makefile.in (install-local): Install sbin_SCRIPTS by
45319 INSTALL_SCRIPT.
45320 (uninstall): Remove sbin_SCRIPTS.
45321
45322 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45323 device, try to get a GRUB device by
45324 grub_util_biosdisk_get_grub_dev.
45325 Free DEST_DEV.
45326
45327 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45328 description for --device-map.
45329
45330 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45331
45332 Change the semantics of variable hooks. They now return strings
45333 instead of error values.
45334
45335 * util/i386/pc/grub-setup.c: Include grub/env.h.
45336 (setup): Use grub_device_set_root instead of grub_env_set.
45337
45338 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45339 grub_env_get instead of grub_device_set_root and
45340 grub_device_get_root, respectively.
45341
45342 * kern/main.c (grub_env_write_root): New function.
45343 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45344 grub_env_set instead of grub_device_set_root.
45345
45346 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45347 many variables.
45348 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45349 rather than calling ENV->WRITE_HOOK afterwards.
45350 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45351 passing a pointer of a pointer.
45352 (grub_register_variable_hook): Change the types of "read_hook" and
45353 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45354 respectively.
45355 Allocate the default empty string on the heap, because this string
45356 may be freed later.
45357
45358 * kern/device.c: Include grub/env.h.
45359 (grub_device_set_root): Removed.
45360 (grub_device_get_root): Likewise.
45361 (grub_device_open): Use grub_env_get instead of
45362 grub_device_get_root.
45363
45364 * include/grub/env.h (grub_env_read_hook_t): New type.
45365 (grub_env_write_hook_t): Likewise.
45366 (grub_env_var): Change the types of "read_hook" and "write_hook"
45367 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45368 (grub_register_variable_hook): Likewise.
45369
45370 * include/grub/device.h (grub_device_set_root): Removed.
45371 (grub_device_set_root): Likewise.
45372
45373 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45374 make sure that DIRNAME terminates with '/', so that
45375 grub_fat_find_dir will fail if PATH is not a directory.
45376
45377 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45378 from DIRNAME.
45379 Use the qualifier auto for print_files and print_files_long.
45380 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45381 as a regular file.
45382 Put a newline only if there is no error.
45383 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45384 used.
45385
45386 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45387
45388 * kern/partition.c (grub_partition_probe): Initialize PART to
45389 NULL. Otherwise, when no partition map is registered, this returns
45390 a garbage.
45391
45392 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
45393
45394 * partmap/apple.c (apple_partition_map_iterate): Check if POS
45395 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
45396 valid.
45397
45398 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
45399
45400 * commands/ls.c (grub_ls_list_disks): Print the filesystem
45401 information on each device, if it does not have partitions. Print
45402 "Device" instead of "Disk", because this function is not specific
45403 to disk devices.
45404
45405 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
45406 static to ensure that it is put on the memory rather than a
45407 register.
45408
45409 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45410
45411 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
45412 (grub_cat_init): Likewise.
45413 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
45414 (options): Likewise.
45415 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
45416 (grub_configfile_init): Likewise.
45417 * font/manager.c (GRUB_MOD_INIT): Likewise.
45418 * commands/help.c (GRUB_MOD_INIT): Likewise.
45419 (grub_help_init): Likewise.
45420 * normal/command.c (grub_command_init): Likewise.
45421 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
45422 * disk/loopback.c (grub_loop_init): Likewise.
45423 (GRUB_MOD_INIT): Likewise.
45424 * commands/ls.c (grub_ls_init): Likewise.
45425 (GRUB_MOD_INIT): Likewise.
45426 (options): Likewise.
45427 * commands/boot.c (grub_boot_init): Likewise.
45428 (GRUB_MOD_INIT): Likewise.
45429 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
45430 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
45431 (GRUB_MOD_INIT): Likewise.
45432 * commands/cmp.c (grub_cmp_init): Likewise.
45433 (GRUB_MOD_INIT): Likewise.
45434
45435 * normal/arg.c: Use <> instead of "" to include header files.
45436 (SHORT_ARG_HELP): New macro.
45437 (SHORT_ARG_USAGE): Likewise.
45438 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
45439 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
45440 descriptions.
45441 (find_short): Check if C is 'h' or 'u' explicitly.
45442 (grub_arg_show_help): Use space characters instead of tabs. Treat
45443 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
45444 are shown with --help and --usage only if they are not used for
45445 the command itself.
45446 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
45447 'h' and 'u'.
45448
45449 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
45450 const into "longarg". Change the type of "shortarg" to int.
45451
45452 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45453
45454 * boot/i386/pc/boot.S (boot_drive_check): New label.
45455
45456 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
45457 macro.
45458
45459 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
45460 which do not pass a boot drive correctly. Copied from GRUB Legacy.
45461
45462 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45463
45464 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
45465 When turning off Gate A20, skip the check and return immediately,
45466 because this is not fatal usually.
45467
45468 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45469
45470 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
45471 be 0x7C00 instead of 0x8000.
45472
45473 * boot/i386/pc/pxeboot.S: Rewritten.
45474
45475 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
45476 EXT_C.
45477 (gate_a20_check_state): Read a byte from 0x108000. Invert the
45478 result.
45479
45480 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
45481
45482 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
45483 robustness. This routine now supports a BIOS call and System
45484 Control Port A to modify the gate A20.
45485
45486 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45487 Increased to 0x440.
45488
45489 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45490
45491 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45492 device path and resulting ihandle.
45493 (grub_ofdisk_close): dprintf the ihandle being closed.
45494 (grub_ofdisk_read): dprintf function parameters.
45495 * kern/mm.c (grub_mm_init_region): Likewise.
45496 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
45497 (grub_linux_boot): dprintf the Linux entry point, initrd address and
45498 size, and boot arguments.
45499 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
45500 before loading into memory.
45501 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
45502 before loading into memory.
45503
45504 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
45505
45506 * kern/mm.c: Added much documentation.
45507 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
45508 8, set to 5 instead of 8.
45509
45510 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45511
45512 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
45513
45514 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
45515 (grub_mkdevicemap_SOURCES): New variable.
45516
45517 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
45518 lib/device.c of GRUB Legacy.
45519
45520 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45521
45522 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
45523 instead of PATH is NULL.
45524
45525 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
45526
45527 * commands/cmp.c (BUFFER_SIZE): New macro.
45528 (grub_cmd_cmp): Close the right file at the right time. Compare
45529 only data just read. Don't report files of different size as
45530 identical. Dynamically allocate buffers. Move variable
45531 declarations at the beginning of function.
45532
45533 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
45534
45535 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
45536 reverse.
45537
45538 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
45539
45540 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
45541 when backspace is pressed at beginning of line.
45542
45543 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
45544
45545 * DISTLIST: Added genfslist.sh.
45546
45547 * normal/main.c (fs_module_list): New variable.
45548 (autoload_fs_module): New function.
45549 (read_fs_list): Likewise.
45550 (grub_normal_execute): Call read_fs_list.
45551
45552 * kern/fs.c (grub_fs_autoload_hook): New variable.
45553 (grub_fs_probe): Added support for auto-loading.
45554
45555 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45556 (grub_fs_module_list_t): New type.
45557
45558 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45559 (grub_fs_autoload_hook): New prototype.
45560
45561 * genfslist.sh: New file.
45562
45563 * genmk.rb: Added a rule to generate a filesystem list.
45564
45565 2005-06-30 Marco Gerards <metgerards@student.han.nl>
45566
45567 * configure.ac: Fix the test for cross-compiling.
45568
45569 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45570 define GRUB_UTIL anymore.
45571
45572 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45573 so this function works on other systems than just big endian.
45574 (load_modules): Likewise.
45575 (add_segments): Likewise.
45576
45577 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45578
45579 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45580 contains `l' modifier, get a long from va_arg().
45581
45582 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45583
45584 * kern/mm.c (grub_free): If the next free block which is being
45585 merged is the first free block, set the first block to the block
45586 being freed.
45587 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45588
45589 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45590
45591 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45592 `grub_ieee1275_chosen'.
45593
45594 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45595
45596 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45597 (grub_ieee1275_chosen): New variable.
45598 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45599 `chosen'.
45600 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45601 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45602 Rename first argument to `phandle' for consistency.
45603 (grub_ieee1275_get_property_length): Likewise.
45604 (grub_ieee1275_next_property): Likewise. Change type of first argument
45605 to grub_ieee1275_phandle_t.
45606 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45607 Move export next to declaration.
45608 (grub_ieee1275_chosen): New variable.
45609 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45610 Correct cosmetic typo.
45611 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45612 `grub_ieee1275_chosen'.
45613 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45614 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45615 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45616 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45617 `grub_ieee1275_chosen'.
45618
45619 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45620
45621 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45622 /chosen/bootargs.
45623 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45624 /chosen/bootargs as "variable=value" pairs.
45625
45626 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45627
45628 * include/grub/misc.h (grub_dprintf): New macro.
45629 (grub_real_dprintf): New prototype.
45630 (grub_strword): Likewise.
45631 (grub_iswordseparator): Likewise.
45632 * kern/misc.c (grub_real_dprintf): New function.
45633 (grub_strword): Likewise.
45634 (grub_iswordseparator): Likewise.
45635
45636 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45637
45638 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45639 (roundup): Remove macro.
45640 (grub_ieee1275_flags): Make static.
45641 (grub_ieee1275_realmode): Remove.
45642 (grub_ieee1275_test_flag): New function.
45643 (grub_ieee1275_set_flag): Likewise.
45644 (find_options): Rename to `grub_ieee1275_find_options'; update
45645 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45646 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45647 (cmain): New prototype.
45648 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45649 `grub_ieee1275_flags' directly.
45650 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45651 machine/biosdisk.h.
45652 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45653 Don't include grub/machine/init.h.
45654 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45655 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45656 Remove prototype.
45657 (grub_ieee1275_realmode): Likewise.
45658 (grub_ieee1275_flag): New enum.
45659 (grub_ieee1275_test_flag): New prototype.
45660 (grub_ieee1275_set_flag): New prototype.
45661 * include/grub/powerpc/ieee1275/init.h: Remove file.
45662 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45663 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45664 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45665 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45666 comment.
45667 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45668 `grub_ieee1275_test_flag'.
45669 (grub_ieee1275_encode_devname): Likewise.
45670
45671 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45672
45673 * include/grub/powerpc/ieee1275/ieee1275.h
45674 (grub_ieee1275_encode_devname): New prototype.
45675 (grub_ieee1275_get_filename): Likewise.
45676 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45677 function.
45678 (grub_set_prefix): Likewise.
45679 (grub_machine_init): Call grub_set_prefix.
45680 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45681 (grub_parse_type): New enum.
45682 (grub_ieee1275_get_devargs): New function.
45683 (grub_ieee1275_get_devname): Likewise.
45684 (grub_ieee1275_parse_args): Likewise.
45685 (grub_ieee1275_get_filename): Likewise.
45686 (grub_ieee1275_encode_devname): Likewise.
45687
45688 2005-03-30 Marco Gerards <metgerards@student.han.nl>
45689
45690 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45691 `grub_loader_unset'.
45692
45693 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45694
45695 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45696 instead of grub_ieee1275_interpret.
45697 (grub_halt_init): New function.
45698 (grub_halt_fini): Likewise.
45699 (GRUB_MOD_INIT): Correct message grammar.
45700 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45701 instead of grub_ieee1275_interpret.
45702 (grub_reboot_init): New function.
45703 (grub_reboot_fini): Likewise.
45704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45705 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45706 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45707 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45708 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45709 function.
45710 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45711 Add prototype.
45712 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45713 prototype.
45714 (grub_halt): Likewise.
45715 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45716 (cmain): Remove __attribute__((unused)).
45717 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45718 (grub_heap_len): Likewise.
45719 (grub_machine_fini): New function.
45720 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45721 (grub_halt): Likewise.
45722 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45723 function.
45724 * util/powerpc/ieee1275/misc.c: New file.
45725
45726 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45727
45728 * DISTLIST: New file.
45729 * gendistlist.sh: Likewise.
45730
45731 * Makefile.in (COMMON_DISTFILES): Removed.
45732 (BOOT_DISTFILES): Likewise.
45733 (CONF_DISTFILES): Likewise.
45734 (DISK_DISTFILES): Likewise.
45735 (FS_DISTFILES): Likewise.
45736 (INCLUDE_DISTFILES): Likewise.
45737 (KERN_DISTFILES): Likewise.
45738 (LOADER_DISTFILES): Likewise.
45739 (TERM_DISTFILES): Likewise.
45740 (UTIL_DISTFILES): Likewise.
45741 (DISTFILES): Likewise.
45742 (uninstall): Uninstall files in $(pkgdata_DATA).
45743 (DISTLIST): New target.
45744 (distdir): Use the contents of the file DISTLIST to get a list of
45745 distributed files.
45746
45747 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45748
45749 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45750 descriptor. This is ported from GRUB Legacy.
45751
45752 * gencmdlist.sh: Added an extra semicolon to make it work with
45753 old sed versions. Reported by Robert Bihlmeyer
45754 <robbe@orcus.priv.at>.
45755
45756 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
45757
45758 Automatic loading of commands is supported.
45759
45760 * normal/main.c (read_command_list): New function.
45761 (grub_normal_execute): Call read_command_list.
45762
45763 * normal/command.c (grub_register_command): Return zero or CMD.
45764 Allocate CMD->NAME from the heap.
45765 Initialize CMD->MODULE_NAME to zero.
45766 Find the same name as well. If the same command is found and it is
45767 a dummy command, overwrite members. If it is not a dummy command,
45768 return zero.
45769 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45770 (grub_command_find): If a dummy command is found, load a module
45771 and retry to find a command only once.
45772
45773 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45774 make sure that each command is loaded.
45775
45776 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45777 macro.
45778 (struct grub_command): Remove const from the member `name'.
45779 Add a new member `module_name'.
45780 (grub_register_command): Return grub_command_t.
45781
45782 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45783 sure that each command is loaded.
45784
45785 * genmk.rb (PModule::rule): Specify a module name without the
45786 suffix ".mod" to gencmdlist.sh.
45787
45788 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45789
45790 * gencmdlist.sh: New file.
45791
45792 * genmk.rb (PModule::rule): Generate a rule for a command list.
45793 Clean command.lst.
45794 Generate command.lst from $(COMMANDFILES).
45795
45796 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45797 (DATA): Added $(pkgdata_DATA).
45798 (install-local): Install files in $(pkgdata_DATA).
45799
45800 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45801
45802 * term/i386/pc/vga.c (debug_command): Removed.
45803 (GRUB_MOD_INIT): Do not register the command "debug".
45804
45805 From Hollis Blanchard:
45806 * commands/configfile.c: New file.
45807 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45808 commands/configfile.c.
45809 (pkgdata_MODULES): Added configfile.mod.
45810 (configfile_mod_SOURCES): New variable.
45811 (configfile_mod_CFLAGS): Likewise.
45812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45813 commands/configfile.c.
45814 (pkgdata_MODULES): Added configfile.mod.
45815 (configfile_mod_SOURCES): New variable.
45816 (configfile_mod_CFLAGS): Likewise.
45817 * util/grub-emu.c (main): Call grub_configfile_init and
45818 grub_configfile_fini.
45819 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45820 prototype.
45821 [GRUB_UTIL] (grub_configfile_fini): Likewise.
45822
45823 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45824
45825 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45826 address.
45827
45828 * commands/help.c (grub_cmd_help): Do not print newlines after
45829 the last command in print_command_help.
45830
45831 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45832
45833 * commands/default.h: New file.
45834 * commands/timeout.h: Likewise.
45835 * normal/context.c: Likewise.
45836
45837 * util/misc.c: Do not include sys/times.h.
45838 Include sys/time.h and grub/machine/time.h.
45839 (grub_get_rtc): Rewritten with gettimeofday.
45840
45841 * util/grub-emu.c (main): Call grub_default_init and
45842 grub_timeout_init before grub_normal_init, and call
45843 grub_timeout_fini and grub_default_fini after grub_main.
45844
45845 * util/console.c (grub_ncurses_checkkey): Return the read
45846 character or -1.
45847
45848 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
45849 timeouts.
45850
45851 * normal/main.c (read_config_file): Push MENU. If this fails,
45852 print an error and wait for a user input.
45853 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
45854 If a menu is empty or an error occurs, pop MENU.
45855 (grub_normal_execute): Pop and free MENU after grub_menu_run
45856 returns.
45857
45858 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
45859
45860 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
45861 include time.h.
45862 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45863 without GRUB_UTIL.
45864 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
45865 time.h.
45866 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
45867 without GRUB_UTIL.
45868
45869 * include/grub/normal.h (struct grub_menu_list): New struct.
45870 (grub_menu_list_t): New type.
45871 (struct grub_context): New struct.
45872 (grub_context_t): New type.
45873 (grub_register_command): Got rid of EXPORT_FUNC.
45874 (grub_unregister_command): Likewise.
45875 (grub_context_get): New prototype.
45876 (grub_context_get_current_menu): Likewise.
45877 (grub_context_push_menu): Likewise.
45878 (grub_context_pop_menu): Likewise.
45879 [GRUB_UTIL] (grub_default_init): Likewise.
45880 [GRUB_UTIL] (grub_default_fini): Likewise.
45881 [GRUB_UTIL] (grub_timeout_init): Likewise.
45882 [GRUB_UTIL] (grub_timeout_fini): Likewise.
45883
45884 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
45885 commands/timeout.c and normal/context.c.
45886 (pkgdata_MODULES): Added default.mod and timeout.mod.
45887 (normal_mod_SOURCES): Added normal/context.c.
45888 (default_mod_SOURCES): New variable.
45889 (default_mod_CFLAGS): Likewise.
45890 (timeout_mod_SOURCES): Likewise.
45891 (timeout_mod_CFLAGS): Likewise.
45892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
45893 conf/i386-pc.rmk.
45894 (pkgdata_MODULES): Added default.mod and timeout.mod.
45895 (normal_mod_SOURCES): Added normal/context.c.
45896 (default_mod_SOURCES): New variable.
45897 (default_mod_CFLAGS): Likewise.
45898 (timeout_mod_SOURCES): Likewise.
45899 (timeout_mod_CFLAGS): Likewise.
45900
45901 * Makefile.in (all-local): Added $(MKFILES).
45902
45903 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
45904
45905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
45906 (grub_emu_SOURCES): Likewise.
45907 (pkgdata_MODULES): Add `sun.mod'.
45908 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45910 `partmap/sun.c'.
45911 (pkgdata_MODULES): Add `sun.mod'.
45912 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
45913 * include/grub/partition.h (grub_sun_partition_map_init): New
45914 prototype.
45915 (grub_sun_partition_map_fini): Likewise.
45916 * partmap/sun.c: New file.
45917 * util/grub-emu.c (main): Initialize and de-initialize the sun
45918 partitionmap support.
45919
45920 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45921
45922 This implements an Emacs-like menu entry editor.
45923
45924 * normal/menu_entry.c: New file.
45925
45926 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45927 characters to ASCII.
45928 (saved_char): New variable.
45929 (grub_ncurses_checkkey): Rewritten completely.
45930 (grub_ncurses_getkey): Likewise.
45931 (grub_ncurses_init): Call raw instead of cbreak.
45932
45933 * normal/menu.c (print_entry): Do not put a space.
45934 (init_page): Renamed to ...
45935 (grub_menu_init_page): ... this. All callers changed.
45936 (edit_menu_entry): Removed.
45937 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45938
45939 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45940
45941 * kern/misc.c (grub_vprintf): Call grub_refresh.
45942
45943 * normal/menu.c (DISP_LEFT): Renamed to ...
45944 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45945 * normal/menu.c (DISP_UP): Renamed to ...
45946 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45947 * normal/menu.c (DISP_RIGHT): Renamed to ...
45948 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45949 * normal/menu.c (DISP_DOWN): Renamed to ...
45950 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45951 * normal/menu.c (DISP_HLINE): Renamed to ...
45952 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45953 * normal/menu.c (DISP_VLINE): Renamed to ...
45954 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45955 * normal/menu.c (DISP_UL): Renamed to ...
45956 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45957 * normal/menu.c (DISP_UR): Renamed to ...
45958 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45959 * normal/menu.c (DISP_LL): Renamed to ...
45960 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45961 * normal/menu.c (DISP_LR): Renamed to ...
45962 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45963 * normal/menu.c (TERM_WIDTH): Renamed to ...
45964 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45965 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45966 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45967 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45968 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45969 * normal/menu.c (TERM_MARGIN): Renamed to ...
45970 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45971 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45972 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45973 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45974 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45975 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45976 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45977 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45978 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45979 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45980 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45981 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45982 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45983 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45984 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45985 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45986 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45987 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45988 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45989 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45990 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45991 All callers changed.
45992
45993 * include/grub/normal.h: New prototype.
45994
45995 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45996 normal/menu_entry.c.
45997 (normal_mod_SOURCES): Likewise.
45998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45999 (normal_mod_SOURCES): Likewise.
46000
46001 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46002
46003 * include/grub/normal.h (grub_halt_init): New prototype.
46004 (grub_halt_fini): Likewise.
46005 (grub_reboot_init): Likewise.
46006 (grub_reboot_fini): Likewise.
46007
46008 * util/grub-emu.c: Include signal.h.
46009 (main_env): New global variable.
46010 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46011 catch C-c.
46012 (grub_machine_fini): New function.
46013 (main): Call grub_halt_init and grub_reboot_init before
46014 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46015 Call setjmp with MAIN_ENV to go back afterwards.
46016 Call grub_machine_fini right before return.
46017
46018 * include/grub/util/misc.h: Include setjmp.h.
46019 (main_env): New prototype.
46020
46021 * include/grub/kernel.h (grub_machine_fini): New prototype.
46022 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46023 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46024
46025 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46026 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46027 * term/i386/pc/console.c (grub_console_fini): Likewise.
46028
46029 * util/i386/pc/misc.c: New file.
46030
46031 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46032 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46033 commands/i386/pc/reboot.c.
46034
46035 2005-02-14 Guillem Jover <guillem@hadrons.org>
46036
46037 * include/grub/dl.h (grub_dl_check_header): New prototype.
46038 (grub_arch_dl_check_header): Change return type to grub_err_t,
46039 remove size parameter and export function. Update all callers.
46040 * kern/dl.c (grub_dl_check_header): New function.
46041 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46042 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46043 are inside the core.
46044 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46045 independent ELF header checks.
46046 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46047 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46048 `grub_dl_check_header' instead of explicit checks. Check for the
46049 ELF type.
46050 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46051 `grub_dl_check_header' instead of explicit checks. Remove arch
46052 specific ELF header checks.
46053
46054 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46055 argument SIZE.
46056
46057 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46058
46059 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46060 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46061
46062 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46063
46064 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
46065 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
46066 (part_map_iterate): Clear `grub_errno' and return 0 if
46067 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
46068 * partmap/amiga.c (amiga_partition_map_iterate): Return
46069 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46070 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46071
46072 2005-02-01 Guillem Jover <guillem@hadrons.org>
46073
46074 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46075 help info.
46076
46077 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46078
46079 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46080 Removed prototype.
46081 (grub_rescue_cmd_linux): New prototype.
46082 (grub_rescue_cmd_initrd): Likewise.
46083 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46084 `bi_rec'.
46085 (grub_linux_release_mem): Release the memory for the initrd.
46086 (grub_load_linux): Renamed from this...
46087 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46088 Changed `entry' not to be static. Loop over memory regions to
46089 find another one when the default fails.
46090 (grub_rescue_cmd_initrd): New function.
46091 (grub_linux_init): Remove function.
46092 (grub_linux_fini): Likewise.
46093 (GRUB_MOD_INIT): Register `initrd'.
46094 (GRUB_MOD_FINI): Unregister `initrd'.
46095 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46096 Function removed.
46097 (grub_linux_normal_fini): Likewise.
46098 (GRUB_MOD_INIT): Register `initrd'.
46099 (GRUB_MOD_FINI): Unregister `initrd'.
46100
46101 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46102
46103 * commands/help.c: New file.
46104 * normal/arg.c (show_help): Renamed to...
46105 (grub_arg_show_help): ... this.
46106 * commands/i386/pc/halt.c: New file.
46107 * commands/i386/pc/reboot.c: Likewise.
46108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46109 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46110 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46111 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46112 variables.
46113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46114 `commands/help.c'.
46115 (pkgdata_MODULES): Add `help.mod'.
46116 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46117 * grub/i386/pc/init.h (grub_reboot): New prototype.
46118 (grub_halt): Likewise.
46119 * include/grub/normal.h (grub_arg_show_help): New prototype.
46120 (grub_help_init): Likewise.
46121 (grub_help_fini): Likewise.
46122 * util/grub-emu.c (main): Initialize and deinitialize the help
46123 command.
46124
46125 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46126
46127 * normal/command.c (grub_command_init): Fixed the description of
46128 the `set' and `unset' commands.
46129
46130 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46131
46132 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46133 function.
46134 * commands/ieee1275/halt.c: New file.
46135 * commands/ieee1275/reboot.c: Likewise.
46136 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46137 `__attribute__ ((unused))'. Some GCS related fixed.
46138 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46139 (grub_suspend_fini): Likewise.
46140 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46141 and `halt.mod'.
46142 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46143 (halt_mod_CFLAGS): New variables.
46144 * include/grub/powerpc/ieee1275/ieee1275.h
46145 (grub_ieee1275_interpret): New prototype.
46146
46147 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46148
46149 * include/grub/misc.h (memmove): New prototype.
46150 (memcpy): Likewise.
46151
46152 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46153
46154 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46155 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46156
46157 2005-01-22 Marco Gerards <metgerards@student.han.nl>
46158
46159 * kern/misc.c (grub_strndup): Function rewritten.
46160
46161 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46162
46163 * normal/menu.c (TERM_WIDTH): Macro redefined.
46164 (TERM_TOP_BORDER_Y): Likewise.
46165 (draw_border): Replaced while-loop by a for-loop. Make the number
46166 of lines consistent with the number of lines displayed in
46167 print_entries. Added a margin below the rectangle.
46168 (print_entry): Make the entry fit in the rectangle.
46169 (print_entries): Display the scroll arrows next to the right
46170 border.
46171
46172 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46173
46174 * fs/minix.c (grub_minix_find_file): Reserve more space for
46175 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46176 `grub_strncpy' to copy `path' into it.
46177
46178 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46179
46180 Add the loopback device, a device via which files can be accessed
46181 as devices.
46182
46183 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46184 (pkgdata_MODULES): Add loopback.mod.
46185 (loopback_mod_SOURCES): New variable.
46186 (loopback_mod_CFLAGS): Likewise.
46187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46188 `disk/loopback.c'.
46189 (pkgdata_MODULES): Add loopback.mod.
46190 (loopback_mod_SOURCES): New variable.
46191 (loopback_mod_CFLAGS): Likewise.
46192 * disk/loopback.c: new file.
46193 * include/grub/normal.h (grub_loop_init): New prototype.
46194 (grub_loop_fini): New prototype.
46195 * util/grub-emu.c (main): Initialize and de-initialize loopback
46196 support.
46197 * include/grub/disk.h (grub_disk_dev_id): Add
46198 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46199
46200 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46201
46202 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46203 function.
46204 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46205 (suspend_mod_SOURCES): New variable.
46206 (suspend_mod_CFLAGS): Likewise.
46207 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46208 New prototype.
46209 * commands/ieee1275/suspend.c: New file.
46210
46211 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46212
46213 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
46214 ((unused))' to `__attribute__ ((used))'.
46215 (GRUB_MOD_FINI): Likewise.
46216 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46217 * genmk.rb (PModule): Assign space to common symbols when linking
46218 modules.
46219
46220 2005-01-20 Marco Gerards <metgerards@student.han.nl>
46221
46222 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46223 `unsigned' arguments to `grub_size_t'.
46224 (grub_malloc): Likewise.
46225 (grub_realloc): Likewise.
46226 (grub_memalign): Likewise.
46227 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46228 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46229 * util/misc.c (grub_malloc): Likewise.
46230 (grub_realloc): Likewise.
46231 * kern/mm.c (get_header_from_pointer): Change the casts to
46232 `unsigned' into a cast to `grub_size_t'.
46233
46234 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46235 point to `currnode' when `currnode' is changed.
46236
46237 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46238 Schottelius <nico-linux@schottelius.org>.
46239
46240 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46241
46242 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46243 (note_path): Remove variable.
46244 (GRUB_IEEE1275_NOTE_NAME): New macro.
46245 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46246 (grub_ieee1275_note_hdr): New structure.
46247 (grub_ieee1275_note_desc): Likewise.
46248 (grub_ieee1275_note): Likewise.
46249 (load_note): Remove `dir' argument. All callers updated. Remove
46250 `note_img' and `path'. Do not load a file from `note_path'.
46251 Initialize a struct grub_ieee1275_note and write that to `out'.
46252 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46253
46254 2005-01-05 Marco Gerards <metgerards@student.han.nl>
46255
46256 * util/misc.c (grub_util_read_image): Revert last change. It
46257 called `grub_util_read_at', which seeks from the beginning of the
46258 file.
46259
46260 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46261
46262 * TODO: Add note about endianness in grub-mkimage.
46263 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46264 section.
46265 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46266 (grub_mkimage_SOURCES): New target.
46267 * include/grub/kernel.h (grub_start_addr): Remove variable.
46268 (grub_end_addr): Likewise.
46269 (grub_total_module_size): Likewise.
46270 (grub_kernel_image_size): Likewise.
46271 (GRUB_MODULE_MAGIC): New constant.
46272 (grub_module_info): New structure.
46273 (grub_arch_modules_addr): New prototype.
46274 (grub_get_end_addr): Remove prototype.
46275 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46276 * include/grub/powerpc/ieee1275/kernel.h: New file.
46277 * include/grub/util/misc.h (grub_util_get_fp_size): New
46278 prototype.
46279 (grub_util_read_at): Likewise.
46280 (grub_util_write_image_at): Likewise.
46281 * kern/main.c (grub_get_end_addr): Remove function.
46282 (grub_load_modules): Call grub_arch_modules_addr instead of using
46283 grub_end_addr. Look for a grub_module_info struct in memory. Use
46284 the grub_module_info fields instead of calling grub_get_end_addr
46285 as loop conditions. Move grub_add_unused_region code here.
46286 (grub_add_unused_region): Remove function.
46287 * kern/i386/pc/init.c: Include grub/cache.h.
46288 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46289 one call to add_mem_region.
46290 (grub_arch_modules_addr): New function.
46291 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46292 (grub_total_module_size): Likewise.
46293 Include grub/machine/kernel.h.
46294 (grub_arch_modules_addr): New function.
46295 * util/grub-emu.c (grub_end_addr): Remove variable.
46296 (grub_total_module_size): Likewise.
46297 (grub_arch_modules_addr): New function.
46298 * util/misc.c: Include unistd.h.
46299 (grub_util_get_fp_size): New function.
46300 (grub_util_read_at): Likewise.
46301 (grub_util_write_image_at): Likewise.
46302 (grub_util_read_image): Call grub_util_read_at.
46303 (grub_util_write_image): Call grub_util_write_image_at.
46304 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46305 additional memory in kernel_img for a struct grub_module_info.
46306 Fill in that grub_module_info.
46307 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46308
46309 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46310
46311 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46312 New function.
46313 * include/grub/powerpc/ieee1275/ieee1275.h
46314 (grub_ieee1275_milliseconds): New prototype.
46315 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46316 Change to 1000.
46317 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46318 grub_ieee1275_milliseconds.
46319
46320 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46321
46322 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46323 variable.
46324 (find_options): New function.
46325 (cmain): Call find_options.
46326 * include/grub/powerpc/ieee1275/ieee1275.h
46327 (grub_ieee1275_realmode): New extern variable.
46328 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46329 grub_map if grub_ieee1275_realmode is false.
46330
46331 2004-12-29 Marco Gerards <metgerards@student.han.nl>
46332
46333 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46334 lines are inserted and make it work like readline. Reported by
46335 Vincent Pelletier <subdino2004@yahoo.fr>.
46336
46337 2004-12-28 Marco Gerards <metgerards@student.han.nl>
46338
46339 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46340
46341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46342 `kern/powerpc/cache.S'.
46343
46344 2004-12-27 Marco Gerards <metgerards@student.han.nl>
46345
46346 * genmk.rb: Handle the `Program' class in the main loop. Written
46347 by Johan Rydberg <jrydberg@gnu.org>.
46348 (Program): New class.
46349 (programs): New variable.
46350 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46351 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46352 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46353 (help_arch): Function removed.
46354 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46355 `powerpc/libgcc.h' and `loader.h'.
46356 (pkgdata_PROGRAMS): New variable.
46357 (sbin_UTILITIES): Variable removed.
46358 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46359 (grubof_SOURCES): Variable re-defined so it only includes the
46360 core functionality.
46361 (grubof_CFLAGS): Remove `-DGRUBOF'.
46362 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46363 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46364 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46365 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46366 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46367 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46368 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46369 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46370 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46371 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46372 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46373 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46374 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46375 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46376 (pc_mod_CFLAGS): New variables.
46377 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46378 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46379 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46380 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46381 Moved from here...
46382 * include/grub/i386/pc/init.h (grub_os_area_addr)
46383 (rub_os_area_size): ... to here.
46384 * include/grub/powerpc/ieee1275/ieee1275.h
46385 (grub_ieee1275_entry_fn): Export symbol.
46386 * include/grub/powerpc/ieee1275/init.h: New file.
46387 * include/grub/powerpc/libgcc.h: Likewise.
46388 * include/grub/cache.h: Likewise.
46389 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
46390 <hollis@penguinppc.org>.
46391 * kern/dl.c: Include <grub/cache.h>.
46392 (grub_dl_flush_cache): New function.
46393 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
46394 for this module.
46395 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
46396 (grub_console_init): Removed prototypes.
46397 (grub_machine_init): Don't initialize the modules anymore.
46398 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
46399 static.
46400 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
46401 Macro undef removed.
46402 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
46403 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
46404 relocation `R_PPC_REL32'. Return an error when the relocation is
46405 unknown.
46406 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
46407 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
46408 * util/misc.c (grub_arch_sync_caches): Likewise.
46409
46410 2004-12-19 Marco Gerards <metgerards@student.han.nl>
46411
46412 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
46413 `symlist.c', add `grubof_symlist.c'.
46414 (symlist.c): Variable removed.
46415 (grubof_HEADERS): Variable added.
46416 (grubof_symlist.c): New target.
46417 (kernel_syms.lst): Use `grubof_HEADERS' instead of
46418 `kernel_img_HEADERS'.
46419 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
46420 * kern/powerpc/dl.c: New file.
46421 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
46422 Function removed.
46423 (grub_arch_dl_relocate_symbols): Likewise.
46424 (grub_register_exported_symbols): Likewise.
46425
46426 2004-12-13 Marco Gerards <metgerards@student.han.nl>
46427
46428 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
46429 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
46430 to fail instead. Reported by Vincent Pelletier
46431 <subdino2004@yahoo.fr>.
46432
46433 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
46434 it is not allocated. Reported by Vincent Pelletier
46435 <subdino2004@yahoo.fr>.
46436
46437 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
46438 output so the output looks better.
46439
46440 2004-12-04 Marco Gerards <metgerards@student.han.nl>
46441
46442 Modulize the partition map support and add support for the amiga
46443 partition map.
46444
46445 * commands/ls.c: Include <grub/partition.h> instead of
46446 <grub/machine/partition.h>.
46447 * kern/disk.c: Likewise.
46448 * kern/rescue.c: Likewise.
46449 * loader/i386/pc/chainloader.c: Likewise.
46450 * normal/cmdline.c: Likewise.
46451 * kern/powerpc/ieee1275/init.c: Likewise.
46452 (grub_machine_init): Call `grub_pc_partition_map_init',
46453 `grub_amiga_partition_map_init' and
46454 `grub_apple_partition_map_init'.
46455 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
46456 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
46457 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
46458 `partition.h' and `pc_partition.h'.
46459 (grub_setup_SOURCES): Remove
46460 `disk/i386/pc/partition.c'. Add `kern/partition.c',
46461 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46462 (grub_emu_SOURCES): Likewise.
46463 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
46464 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
46465 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
46466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46467 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
46468 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46469 (grubof_SOURCES): Likewise.
46470 * disk/i386/pc/partition.c: File removed.
46471 * disk/powerpc/ieee1275/partition.c: Likewise.
46472 * include/grub/powerpc/ieee1275/partition.h: Likewise.
46473 * include/grub/i386/pc/partition.h: Likewise.
46474 * kern/partition.c: New file.
46475 * partmap/amiga.c: Likewise.
46476 * partmap/apple.c: Likewise.
46477 * partmap/pc.c: Likewise.
46478 * include/grub/partition.h: Likewise..
46479 * include/grub/pc_partition.h: Likewise.
46480 * util/grub-emu.c: Include <grub/partition.h> instead of
46481 <grub/machine/partition.h>.
46482 (main): Call `grub_pc_partition_map_init',
46483 `grub_amiga_partition_map_init' and
46484 `grub_apple_partition_map_init' and deinitialize afterwards.
46485 * util/i386/pc/biosdisk.c: Include `#include
46486 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46487 `<grub/machine/partition.h>'.
46488 * util/i386/pc/grub-setup.c: Likewise.
46489 * util/i386/pc/biosdisk.c: Likewise.
46490 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46491 partition information in case of a PC partition.
46492 * util/i386/pc/grub-setup.c: Include `#include
46493 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46494 `<grub/machine/partition.h>'.
46495 (setup): Only access the PC specific partition information in case
46496 of a PC partition.
46497
46498 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
46499
46500 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
46501 (grub_longjmp): Likewise.
46502 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
46503 20.
46504 * normal/powerpc/setjmp.S: New file.
46505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46506 `normal/powerpc/setjmp.S'.
46507 (grubof_CFLAGS): Add `-DGRUBOF'.
46508 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
46509 [GRUB_UTIL && !GRUBOF].
46510
46511 2004-11-16 Marco Gerards <metgerards@student.han.nl>
46512
46513 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
46514 property named `name'. Correctly handle the error returned by
46515 `grub_ieee1275_finddevice' if a device can not be opened.
46516
46517 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
46518
46519 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
46520 `actual' for negativity.
46521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46522 kern/fshelp.c.
46523
46524 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46525
46526 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
46527 (PAGE_OFFSET): New macro.
46528 (CRTC_ADDR_PORT): Likewise.
46529 (CRTC_DATA_PORT): Likewise.
46530 (START_ADDR_HIGH_REGISTER): Likewise.
46531 (START_ADDR_LOW_REGISTER): Likewise.
46532 (GRAPHICS_ADDR_PORT): Likewise.
46533 (GRAPHICS_DATA_PORT): Likewise.
46534 (READ_MAP_REGISTER): Likewise.
46535 (INPUT_STATUS1_REGISTER): Likewise.
46536 (INPUT_STATUS1_VERTR_BIT): Likewise.
46537 (page): New variable.
46538 (wait_vretrace): New function.
46539 (set_read_map): Likewise.
46540 (set_start_address): Likewise.
46541 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
46542 the right page.
46543 (check_vga_mem): Take the page into account.
46544 (write_char): Likewise.
46545 (write_cursor): Likewise.
46546 (scroll_up): Likewise. Copy the page to the page that is not
46547 shown and switch between both pages.
46548 (grub_vga_putchar): Fix off by one error.
46549 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46550 account.
46551
46552 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46553
46554 Add support for iso9660 (including rockridge).
46555
46556 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46557 (iso9660_mod_SOURCES): New variable.
46558 (iso9660_mod_CFLAGS): Likewise.
46559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46560 * include/grub/fs.h (grub_iso9660_init): New prototype.
46561 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46562 * fs/iso9660.c: New file.
46563
46564 * include/grub/misc.h (grub_strncat): New prototype.
46565 * kern/misc.c (grub_strncat): New function.
46566
46567 * fs/hfs.c (grub_hfs_mount): Translate the error
46568 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46569 * fs/jfs.c (grub_jfs_mount): Likewise.
46570 * fs/ufs.c (grub_ufs_mount): Likewise.
46571
46572 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46573
46574 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46575 which initialized BAT registers.
46576 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46577 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46578 Move from here...
46579 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46580 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46581 ... to here.
46582 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46583 (grub_mapclaim): Likewise.
46584 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46585 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46586 hand.
46587
46588 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46589
46590 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46591 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46592 -ffreestanding and -msoft-float.
46593
46594 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46595
46596 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46597 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46598 set in grub_ieee1275_flags.
46599
46600 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46601
46602 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46603 prototype.
46604 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46605 grub_console_init first.
46606 Change the memory range used for grub_ieee1275_claim and
46607 grub_mm_init_region.
46608 Print an error message if the claim fails.
46609 Include <grub/misc.h>.
46610
46611 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46612
46613 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46614 Call grub_children_iterate for device nodes of type `scsi',
46615 `ide', or `ata'.
46616 (grub_ofdisk_open): Remove manual device alias resolution.
46617 Fix memory leak when device cannot be opened.
46618 * include/grub/powerpc/ieee1275/ieee1275.h
46619 (grub_children_iterate): New prototype.
46620 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46621 New function.
46622 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46623 Return -1 if args.size was -1.
46624
46625 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46626
46627 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46628 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46629 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46630 Open Firmware's memory for it; claim memory from _start to _end.
46631 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46632 (_end): New extern.
46633 (_start): Zero BSS from __bss_start to _end.
46634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46635 New extern.
46636 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46637
46638 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46639
46640 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46641 -1 if args.base was -1.
46642
46643 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46644
46645 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46646 escape sequence instead of a literal ^L. Also call
46647 grub_ofconsole_gotoxy.
46648
46649 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46650
46651 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46652 void * arguments to grub_addr_t. All callers updated. Also make
46653 the `result' argument optional.
46654 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46655 All callers updated.
46656
46657 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46658
46659 * commands/ls.c (grub_ls_list_files): Use the string following the
46660 initial ')', if present, as the filesystem path.
46661 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46662
46663 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46664
46665 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46666
46667 Make the source code of the menu interface more readable.
46668
46669 * normal/menu.c: Include grub/mm.h.
46670 (TERM_WIDTH): New macro.
46671 (TERM_HEIGHT): Likewise.
46672 (TERM_INFO_HEIGHT): Likewise.
46673 (TERM_MARGIN): Likewise.
46674 (TERM_SCROLL_WIDTH): Likewise.
46675 (TERM_TOP_BORDER_Y): Likewise.
46676 (TERM_LEFT_BORDER_X): Likewise.
46677 (TERM_BORDER_WIDTH): Likewise.
46678 (TERM_MESSAGE_HEIGHT): Likewise.
46679 (TERM_BORDER_HEIGHT): Likewise.
46680 (TERM_NUM_ENTRIES): Likewise.
46681 (TERM_FIRST_ENTRY_Y): Likewise.
46682 (TERM_ENTRY_WIDTH): Likewise.
46683 (TERM_CURSOR_X): Likewise.
46684 (draw_border): Use macros instead of magic numbers.
46685 (print_entry): Likewise.
46686 (print_entries): Likewise.
46687 (run_menu): Likewise. Also, handle the key 'e'.
46688 (run_menu_entry): Ignore empty command lines.
46689 (print_message): Added a new argument EDIT. If EDIT is true,
46690 print a different message.
46691 (init_page): Likewise.
46692 (edit_menu_entry): New function. Not implemented yet.
46693
46694 2004-09-17 Marco Gerards <metgerards@student.han.nl>
46695
46696 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46697 can be loaded from normal mode.
46698
46699 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46700 `multiboot.mod'.
46701 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46702 (multiboot_mod_CFLAGS): New variables.
46703 * loader/i386/pc/linux_normal.c: New file.
46704 * loader/i386/pc/multiboot_normal.c: Likewise.
46705
46706 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46707 attribute `unused'.
46708
46709 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46710 `fdiro' to read the mode information from instead of `diro'.
46711
46712 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46713 looking up a symlink.
46714
46715 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46716 macro.
46717 * normal/command.c (grub_command_execute): Don't parse the
46718 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46719 flags of the command.
46720
46721 * normal/menu.c (grub_menu_run): Fix typo.
46722
46723 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46724
46725 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46726
46727 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46728 `y + 1' instead of `y - 1'.
46729
46730 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
46731
46732 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46733
46734 From Hollis Blanchard <hollis@penguinppc.org>:
46735 * kern/misc.c (memmove): New alias for grub_memmove.
46736 (memcmp): New alias for grub_memcmp.
46737 (memset): New alias for grub_memset.
46738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46739 Change "int handle" to "grub_ieee1275_phandle_t handle".
46740 * include/grub/powerpc/ieee1275/ieee1275.h
46741 (grub_ieee1275_get_property): Likewise.
46742
46743 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46744
46745 Added normal mode command `chainloader' as module chain.mod, which
46746 depends on normal.mod and _chain.mod.
46747
46748 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46749 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46750 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46751 Deleted prototype.
46752 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46753 but arguments parsing moved to ...
46754 (grub_chainloader_cmd): ... here. New function.
46755 * include/grub/i386/pc/chainloader.h: New file.
46756 * loader/i386/pc/chainloader_normal.c: Likewise.
46757
46758 2004-09-11 Marco Gerards <metgerards@student.han.nl>
46759
46760 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46761 (grub_mkimage_LDFLAGS): Likewise.
46762 (grub_emu_SOURCES): Likewise.
46763 (kernel_img_HEADERS): Added fshelp.h.
46764 * fs/ext2.c: Include <grub/fshelp.h>.
46765 (FILETYPE_REG): New macro.
46766 (FILETYPE_INO_REG): Likewise.
46767 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46768 Changed all users.
46769 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46770 all users.
46771 (grub_fshelp_node): New struct.
46772 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46773 to a pointer.
46774 (grub_ext2_get_file_block): Removed function.
46775 (grub_ext2_read_block): New function.
46776 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46777 This function was written.
46778 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46779 (grub_ext2_find_file): Removed function.
46780 (grub_ext2_read_symlink): New function.
46781 (grub_ext2_iterate_dir): Likewise.
46782 (grub_ext2_open): Rewritten.
46783 (grub_ext2_dir): Rewritten.
46784 * include/grub/fshelp.h: New file.
46785 * fs/fshelp.c: Likewise.
46786
46787 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46788
46789 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46790 (print_message): Add a missing newline.
46791 (run_menu): Added timeout support.
46792 (run_menu_entry): New local function.
46793 (grub_menu_run): Added support for booting.
46794
46795 * kern/loader.c (grub_loader_is_loaded): New function.
46796
46797 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46798 (grub_get_rtc): Exported.
46799
46800 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46801 (grub_get_rtc): Exported.
46802
46803 * include/grub/normal.h (struct grub_command_list): Remove
46804 constant from the member `command'.
46805
46806 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46807
46808 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46809
46810 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46811
46812 2004-08-28 Marco Gerards <metgerards@student.han.nl>
46813
46814 Add support for the JFS filesystem.
46815
46816 * fs/jfs.c: New file.
46817 * include/grub/fs.h (grub_jfs_init): New prototype.
46818 (grub_jfs_fini): New prototype.
46819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46820 (grub_emu_SOURCES): Likewise.
46821 (pkgdata_MODULES): Add jfs.mod.
46822 (jfs_mod_SOURCES): New variable.
46823 (jfs_mod_CFLAGS): Likewise.
46824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46825 (grubof_SOURCES): Likewise.
46826 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46827
46828 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46829 endian to the host endian.
46830 (grub_fat_utf16_to_utf8): Move function from there...
46831 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
46832 the endianness of the source string anymore.
46833 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46834
46835 2004-08-24 Marco Gerards <metgerards@student.han.nl>
46836
46837 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46838 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46839 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46840 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
46841
46842 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46843 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46844 for `node_found' and `it_dir'.
46845 (grub_hfs_dir): Add prototype for `dir_hook'.
46846
46847 * fs/minix.c (grub_minix_get_file_block): Add prototype for
46848 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
46849 and `indir32' to silence a gcc warning.
46850
46851 * include/grub/fs.h (grub_hfs_init): New prototype.
46852 (grub_hfs_fini): Likewise.
46853
46854
46855 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46856
46857 Each disk device has its own id now. This is useful to make use
46858 of multiple disk devices.
46859
46860 * include/grub/disk.h (grub_disk_dev_id): New enum.
46861 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
46862 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
46863
46864 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
46865 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46866
46867 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
46868 GRUB_DISK_DEVICE_OFDISK_ID as an id.
46869
46870 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
46871 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
46872
46873 * include/grub/disk.h (struct grub_disk_dev): Added a new member
46874 "id" which is used by the cache manager.
46875
46876 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
46877 of just "GRUB".
46878
46879 2004-08-18 Marco Gerards <metgerards@student.han.nl>
46880
46881 * fs/hfs.c: New file.
46882 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
46883 (grub_emu_SOURCES): Likewise.
46884 (pkgdata_MODULES): Add hfs.mod.
46885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
46886 (grubof_SOURCES): Likewise.
46887 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
46888
46889 * include/grub/misc.h (grub_strncasecmp): Add prototype.
46890 * kern/misc.c (grub_strncasecmp): Add function.
46891
46892 2004-08-14 Marco Gerards <metgerards@student.han.nl>
46893
46894 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
46895 with parentheses.
46896
46897 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
46898 (grub_ext2_dir): In case the directory entry type is unknown, read
46899 it from the inode.
46900
46901 2004-08-02 Peter Bruin <pjbruin@dds.nl>
46902
46903 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
46904 grub_load_linux instead of grub_rescue_cmd_linux as second
46905 argument of grub_rescue_register_command.
46906
46907 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
46908
46909 2004-07-27 Marco Gerards <metgerards@student.han.nl>
46910
46911 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
46912 function.
46913 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46914 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46915 `loader/powerpc/ieee1275/linux.c',
46916 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46917 * include/grub/powerpc/ieee1275/ieee1275.h
46918 (grub_ieee1275_release): New prototype.
46919 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46920 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46921 normal, boot, linux and linux_normal.
46922 * loader/powerpc/ieee1275/linux.c: New file.
46923 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46924
46925 2004-07-12 Marco Gerards <metgerards@student.han.nl>
46926
46927 * normal/arg.c (grub_arg_parse): Correct error handling after
46928 reallocating the argumentlist (check if `argl' is not null instead
46929 of checking if `args' is not null).
46930 * kern/mm.c (grub_realloc): Return the same pointer when using the
46931 same region, instead of returning the header address.
46932
46933 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46934
46935 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46936 one block instead of two when looking for the initial partition.
46937 (grub_partition_probe): Initialize the local variable `p' with 0.
46938 Use base 10 for the grub_strtoul call.
46939 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46940 need for one local variable.
46941 (grub_strtoul): Don't add the new value to `num', instead of that
46942 just assign it.
46943
46944 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46945
46946 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46947 (pxeboot_img_SOURCES): New variable.
46948 (pxeboot_img_ASFLAGS): Likewise.
46949 (pxeboot_img_LDFLAGS): Likewise.
46950 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46951 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46952 <lode_leroy@hotmail.com>.
46953
46954 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46955
46956 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46957 there was no input.
46958
46959 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46960
46961 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46962 the history buffer logic.
46963
46964 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46965
46966 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46967 (FILETYPE_INO_SYMLINK): New macros.
46968 (grub_ext2_find_file): Check if the node is a directory using the
46969 inode stat information instead of using the filetype in the
46970 dirent. Exclude the first character of an absolute symlink.
46971 (grub_ext2_dir): Mask out the filetype part of the mode member of
46972 the inode.
46973
46974 2004-05-24 Marco Gerards <metgerards@student.han.nl>
46975
46976 Add support for UFS version 1 and 2. Add support for the minix
46977 filesystem version 1 and 2, both the variants with 14 and 30 long
46978 filenames.
46979
46980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46981 fs/minix.c.
46982 (grub_emu_SOURCES): Likewise.
46983 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46984 (ufs_mod_SOURCES): New variable.
46985 (ufs_mod_CFLAGS): Likewise.
46986 (minix_mod_SOURCES): Likewise.
46987 (minix_mod_CFLAGS): Likewise.
46988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46989 fs/minix.c.
46990 (grubof_SOURCES): Likewise.
46991 * fs/ufs.c: New file.
46992 * fs/minix.c: New file.
46993 * include/grub/fs.h (grub_ufs_init): New prototype.
46994 (grub_ufs_fini): Likewise.
46995 (grub_minix_init): Likewise.
46996 (grub_minix_fini): Likewise.
46997 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46998 minix fs.
46999
47000 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47001
47002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47003 commands/ls.c, commands/terminal.c, commands/boot.c,
47004 commands/cmp.c and commands/cat.c.
47005 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47006
47007 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47008 "env.h"
47009
47010 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47013 and grub_, respectively. Because the conversion is trivial and
47014 mechanical, I omit the details here. Please refer to the CVS
47015 if you need more information.
47016
47017 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47018
47019 * include/pupa: Renamed to ...
47020 * include/grub: ... this.
47021 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47022 * util/i386/pc/grub-mkimage.c: ... this.
47023 * util/i386/pc/pupa-setup.c: Renamed to ...
47024 * util/i386/pc/grub-setup.c: ... this.
47025 * util/pupa-emu.c: Renamed to ...
47026 * util/grub-emu.c: ... this.
47027
47028 2004-03-29 Marco Gerards <metgerards@student.han.nl>
47029
47030 Add support for the newworld apple macintosh (PPC). This has been
47031 tested on the powerbook 2000 only. It only adds support for
47032 generic ieee1275 functions, console and disk support. This should
47033 be easy to port to other architectures with support for Open
47034 Firmware.
47035
47036 * configure.ac: Accept the powerpc as host_cpu. In the case of
47037 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47038 specific tests are only executed while building for the i386.
47039 Inverse test for crosscompile.
47040 * genmk.rb (Utility): Allow assembler files.
47041 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47042 * conf/powerpc-ieee1275.rmk: New file.
47043 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47044 * disk/powerpc/ieee1275/partition.c: Likewise.
47045 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47046 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47047 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47048 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47049 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47050 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47051 * include/pupa/powerpc/ieee1275/loader.h
47052 * include/pupa/powerpc/setjmp.h: Likewise.
47053 * include/pupa/powerpc/types.h: Likewise.
47054 * kern/powerpc/ieee1275/init.c: Likewise.
47055 * kern/powerpc/ieee1275/openfw.c: Likewise.
47056 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47057
47058 These files were written by Johan Rydberg
47059 (jrydberg@night.trouble.net) and I only modified them slightly.
47060
47061 * boot/powerpc/ieee1275/cmain.c: New file.
47062 * boot/powerpc/ieee1275/crt0.S: Likewise.
47063 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47064 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47065
47066 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47067
47068 * Makefile.in: Update copyright.
47069 * genmodsrc.sh: Likewise.
47070 * gensymlist.sh: Likewise.
47071 * term/i386/pc/vga.c: Indent correctly.
47072
47073 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47074 bugreporting address.
47075 * util/i386/pc/pupa-setup.c (usage): Likewise,
47076 (main): Call pupa_ext2_init and pupa_ext2_fini.
47077
47078 * fs/fat.c (log2): Renamed to ...
47079 (fat_log2): ... this.
47080 All callers changed.
47081 * kern/misc.c (memcpy): Alias to pupa_memmove.
47082 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47083 lvalue cast.
47084 * util/console.c (pupa_ncurses_fini): Return 0.
47085
47086 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47087 Move fail label here.
47088 [__GNU__]: Don't warn when using stat.
47089 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47090 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47091 long int. Use strtol instead of strtoul.
47092
47093 2004-03-14 Marco Gerards <metgerards@student.han.nl>
47094
47095 * commands/boot.c: New file.
47096 * commands/cat.c: Likewise.
47097 * commands/cmp.c: Likewise.
47098 * commands/ls.c: Likewise.
47099 * commands/terminal.c: Likewise.
47100 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47101 (pupa_register_command): Changed interface to match the new
47102 argument parser.
47103 (pupa_command_execute): Changed (almost rewritten) so it uses
47104 pupa_split_command. Added support for setting variables using the
47105 syntax `foo=bar'.
47106 (rescue_command): Changed to work with the new argument parser.
47107 (terminal_command): Moved from here to commands/terminal.c.
47108 (set_command): New function.
47109 (unset_command): New function.
47110 (insmod_command): New function.
47111 (rmmod_command): New function.
47112 (lsmod_command): New function.
47113 (pupa_command_init): Don't initialize the command terminal
47114 anymore. Initialize the commands set, unset, insmod, rmmod and
47115 lsmod.
47116 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47117 (kernel_img_HEADERS): Add arg.h and env.h.
47118 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47119 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47120 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47121 normal/arg.c.
47122 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47123 terminal.mod.
47124 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47125 (boot_mod_SOURCES): New variable.
47126 (terminal_mod_SOURCES): Likewise.
47127 (ls_mod_SOURCES): Likewise.
47128 (cmp_mod_SOURCES): Likewise.
47129 (cat_mod_SOURCES): Likewise.
47130
47131 * normal/arg.c: New file.
47132 * kern/env.c: Likewise.
47133 * include/pupa/arg.h: Likewise.
47134 * include/pupa/env.h: Likewise.
47135 * font/manager.c (font_command): Changed to match argument parsing
47136 interface changes.
47137 (PUPA_MOD_INIT): Likewise.
47138 * hello/hello.c (pupa_cmd_hello): Likewise.
47139 (PUPA_MOD_INIT): Likewise.
47140 * include/pupa/disk.h: Include <pupa/device.h>.
47141 (pupa_print_partinfo): New prototype.
47142 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47143 (pupa_dl_get_prefix): Likewise.
47144 * include/pupa/misc.h: Include <pupa/err.h>.
47145 (pupa_isgraph): New prototype.
47146 (pupa_isdigit): Likewise.
47147 (pupa_split_cmdline): Likewise.
47148 * include/pupa/normal.h: Include <pupa/arg.h>.
47149 (pupa_command): Changed the prototype of the member `func' to
47150 match the argument parsing interface. Added member `options'.
47151 (pupa_register_command): Updated to match function.
47152 (pupa_arg_parse): New prototype.
47153 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47154 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47155 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47156 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47157 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47158 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47159 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47160 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47161 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47162 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47163 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47164 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47165 * kern/disk.c: Include <pupa/file.h>.
47166 (pupa_print_partinfo): New function.
47167 * kern/dl.c: Include <pupa/env.h>.
47168 (pupa_dl_dir): Variable removed.
47169 (pupa_dl_load): Use the environment variable `prefix' instead of
47170 the variable pupa_dl_dir.
47171 (pupa_dl_set_prefix): Function removed.
47172 (pupa_dl_get_prefix): Likewise.
47173 * kern/i386/pc/init.c: Include <pupa/env.h>.
47174 (pupa_machine_init): Use the environment variable `prefix' instead of
47175 using pupa_dl_set_prefix to set the prefix.
47176 * kern/main.c: Include <pupa/env.h>.
47177 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47178 using pupa_dl_get_prefix to get the prefix.
47179 * kern/misc.c: Include <pupa/env.h>.
47180 (pupa_isdigit): New function.
47181 (pupa_isgraph): Likewise.
47182 (pupa_ftoa): Likewise.
47183 (pupa_vsprintf): Added support for printing values of the type
47184 `double'. Make it possible to format variable output when using
47185 formatting like `%1.2%f'.
47186 (pupa_split_cmdline): New function.
47187 * kern/rescue.c: Include <pupa/env.h>.
47188 (next_word): Removed function.
47189 (pupa_rescue_cmd_prefix): Likewise.
47190 (pupa_rescue_cmd_set): New function.
47191 (pupa_rescue_cmd_unset): New function.
47192 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47193 split the command line instead of splitting it here. Added
47194 support for setting variables using the syntax `foo=bar'. Don't
47195 initialize the prefix command anymore. Initialized the set and
47196 unset commands.
47197 * normal/cmdline.c: Include <pupa/env.h>.
47198 (pupa_tab_complete): Added prototypes for print_simple_completion,
47199 print_partition_completion, add_completion, iterate_commands,
47200 iterate_dev, iterate_part and iterate_dir. Moved code to print
47201 partition information from here to kern/disk.c.
47202 (pupa_cmdline_run): Don't check if the function exists anymore.
47203 * normal/main.c: Include <pupa/env.h>.
47204 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47205 instead of using pupa_dl_get_prefix to get the prefix.
47206 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47207 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47208 warning.
47209 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47210 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47211 ((unused))' to silence a gcc warning.
47212 (pupa_vga_setcolor): Likewise.
47213 (debug_command): Changed to match argument parsing
47214 interface changes.
47215 * util/pupa-emu.c: Include <pupa/env.h>.
47216 (options): Added 0's for unused fields to silence a gcc warning.
47217 (argp): Likewise.
47218 (main): Use the environment variable `prefix' instead of using
47219 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47220 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47221 and terminal.
47222
47223 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47224 * util/misc.c: Include <malloc.h>.
47225 (pupa_malloc): Rewritten so errors are correctly reported.
47226 (pupa_realloc): Likewise.
47227 (pupa_memalign): Likewise.
47228 (pupa_mm_init_region): Declare unused variables with
47229 `__attribute__ ((unused))' to silence a gcc warning.
47230 * normal/i386/setjmp.S: Remove tab at the end of the file to
47231 silence a gcc warning.
47232 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47233 variables with `__attribute__ ((unused))' to silence a gcc
47234 warning.
47235 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47236 local variable i unsigned to silence a gcc warning.
47237
47238 * kern/term.c: Include <pupa/misc.h>.
47239 (pupa_more_lines): New variable.
47240 (pupa_more): Likewise.
47241 (pupa_putcode): When the pager is active pause at the end of every
47242 screen.
47243 (pupa_set_more): New function.
47244 * include/pupa/term.h (pupa_set_more): New prototype.
47245
47246
47247 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47248
47249 Now this project is GRUB 2 rather than PUPA. The location of
47250 the CVS repository was moved to GRUB's.
47251
47252 * configure.ac: Use bug-grub as the reporting address.
47253 Use GRUB instead of PUPA.
47254 Change the version number to 1.90.
47255
47256 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47257
47258 * genkernsyms.sh: Updated copyright information.
47259 * genmk.rb: Likewise.
47260 * genmodsrc.sh: Likewise.
47261 * gensymlist.sh: Likewise.
47262 * boot/i386/pc/boot.S: Likewise.
47263 * boot/i386/pc/diskboot.S: Likewise.
47264 * disk/i386/pc/biosdisk.c: Likewise.
47265 * disk/i386/pc/partition.c: Likewise.
47266 * font/manager.c: Likewise.
47267 * fs/ext2.c: Likewise.
47268 * fs/fat.c: Likewise.
47269 * include/pupa/boot.h: Likewise.
47270 * include/pupa/device.h: Likewise.
47271 * include/pupa/disk.h: Likewise.
47272 * include/pupa/dl.h: Likewise.
47273 * include/pupa/elf.h: Likewise.
47274 * include/pupa/err.h: Likewise.
47275 * include/pupa/file.h: Likewise.
47276 * include/pupa/font.h: Likewise.
47277 * include/pupa/fs.h: Likewise.
47278 * include/pupa/kernel.h: Likewise.
47279 * include/pupa/loader.h: Likewise.
47280 * include/pupa/misc.h: Likewise.
47281 * include/pupa/mm.h: Likewise.
47282 * include/pupa/net.h: Likewise.
47283 * include/pupa/normal.h: Likewise.
47284 * include/pupa/rescue.h: Likewise.
47285 * include/pupa/setjmp.h: Likewise.
47286 * include/pupa/symbol.h: Likewise.
47287 * include/pupa/term.h: Likewise.
47288 * include/pupa/types.h: Likewise.
47289 * include/pupa/i386/setjmp.h: Likewise.
47290 * include/pupa/i386/types.h: Likewise.
47291 * include/pupa/i386/pc/biosdisk.h: Likewise.
47292 * include/pupa/i386/pc/boot.h: Likewise.
47293 * include/pupa/i386/pc/console.h: Likewise.
47294 * include/pupa/i386/pc/init.h: Likewise.
47295 * include/pupa/i386/pc/kernel.h: Likewise.
47296 * include/pupa/i386/pc/linux.h: Likewise.
47297 * include/pupa/i386/pc/loader.h: Likewise.
47298 * include/pupa/i386/pc/memory.h: Likewise.
47299 * include/pupa/i386/pc/multiboot.h: Likewise.
47300 * include/pupa/i386/pc/partition.h: Likewise.
47301 * include/pupa/i386/pc/time.h: Likewise.
47302 * include/pupa/i386/pc/vga.h: Likewise.
47303 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47304 * include/pupa/util/getroot.h: Likewise.
47305 * include/pupa/util/misc.h: Likewise.
47306 * include/pupa/util/resolve.h: Likewise.
47307 * kern/device.c: Likewise.
47308 * kern/disk.c: Likewise.
47309 * kern/dl.c: Likewise.
47310 * kern/err.c: Likewise.
47311 * kern/file.c: Likewise.
47312 * kern/fs.c: Likewise.
47313 * kern/loader.c: Likewise.
47314 * kern/main.c: Likewise.
47315 * kern/misc.c: Likewise.
47316 * kern/mm.c: Likewise.
47317 * kern/rescue.c: Likewise.
47318 * kern/term.c: Likewise.
47319 * kern/i386/dl.c: Likewise.
47320 * kern/i386/pc/init.c: Likewise.
47321 * kern/i386/pc/lzo1x.S: Likewise.
47322 * kern/i386/pc/startup.S: Likewise.
47323 * loader/i386/pc/chainloader.c: Likewise.
47324 * loader/i386/pc/linux.c: Likewise.
47325 * loader/i386/pc/multiboot.c: Likewise.
47326 * normal/cmdline.c: Likewise.
47327 * normal/command.c: Likewise.
47328 * normal/main.c: Likewise.
47329 * normal/menu.c: Likewise.
47330 * normal/i386/setjmp.S: Likewise.
47331 * term/i386/pc/console.c: Likewise.
47332 * term/i386/pc/vga.c: Likewise.
47333 * util/console.c: Likewise.
47334 * util/genmoddep.c: Likewise.
47335 * util/misc.c: Likewise.
47336 * util/pupa-emu.c: Likewise.
47337 * util/resolve.c: Likewise.
47338 * util/unifont2pff.rb: Likewise.
47339 * util/i386/pc/biosdisk.c: Likewise.
47340 * util/i386/pc/getroot.c: Likewise.
47341 * util/i386/pc/pupa-mkimage.c: Likewise.
47342 * util/i386/pc/pupa-setup.c: Likewise.
47343
47344 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47345
47346 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47347 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47348 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47349 reading and reset it after reading.
47350 (pupa_ext2_close): Return PUPA_ERR_NONE.
47351
47352 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47353 Correct value.
47354 (struct linux_kernel_header): Add kernel_version and
47355 initrd_addr_max.
47356 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47357 pupa_file_read succeeds.
47358 (pupa_rescue_cmd_initrd): Implement.
47359
47360 2003-12-03 Marco Gerards <metgerards@student.han.nl>
47361
47362 * fs/ext2.c (pupa_ext2_label): New function.
47363 (pupa_ext2_fs): Added label.
47364 * fs/fat.c (pupa_fat_label): New function.
47365 (pupa_fat_fs): Added label.
47366 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47367
47368 * kern/misc.c (pupa_strndup): New function.
47369 * include/pupa/misc.h (pupa_strndup): New prototype.
47370
47371 * include/pupa/normal.h: Include <pupa/err.h>.
47372 (pupa_set_history): New prototype.
47373 (pupa_iterate_commands): New prototype.
47374 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47375 <pupa/disk.h>, <pupa/file.h>.
47376 (hist_size): New variable.
47377 (hist_lines): Likewise.
47378 (hist_end): Likewise.
47379 (hist_used): Likewise.
47380 (pupa_set_history): New function.
47381 (pupa_history_get): Likewise.
47382 (pupa_history_add): Likewise.
47383 (pupa_history_replace): Likewise.
47384 (pupa_tab_complete): Likewise.
47385 (pupa_cmdline_run): Added tab completion and history buffer. Tab
47386 completion shows partitionnames while completing partitions, this
47387 feature was suggested by Jeff Bailey.
47388 * normal/command.c (pupa_iterate_commands): New function.
47389 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
47390 (pupa_normal_init): Initialize history buffer.
47391 (PUPA_MOD_INIT): Likewise.
47392 (pupa_normal_fini): Free the history buffer.
47393 (PUPA_MOD_FINI): Likewise.
47394
47395 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
47396 key.
47397
47398 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
47399 * configure.ac [i386]: Check for regparam bug.
47400 (NESTED_FUNC_ATTR) [! i386]: Defined.
47401
47402 2003-11-17 Marco Gerards <metgerards@student.han.nl>
47403
47404 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
47405 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
47406 (pupa_emu_SOURCES): New variable.
47407 (pupa_emu_LDFLAGS): Likewise.
47408 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
47409 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
47410 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
47411 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47412 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
47413 (pupa_jmp_buf): New typedef.
47414 (pupa_setjmp) [PUPA_UTIL]: New macro.
47415 (pupa_longjmp) [PUPA_UTIL]: Likewise.
47416 * include/pupa/term.h (struct pupa_term): New member `refresh'.
47417 (pupa_refresh): New prototype.
47418 * include/pupa/util/getroot.h: New file.
47419 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
47420 it.
47421 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
47422 (pupa_rescue_cmd_cat): Likewise.
47423 (pupa_rescue_cmd_ls): Likewise.
47424 (pupa_rescue_cmd_testload): Likewise.
47425 (pupa_rescue_cmd_lsmod): Likewise.
47426 * normal/cmdline.c (pupa_cmdline_get): Likewise.
47427 * normal/menu.c (run_menu): Likewise.
47428 * kern/term.c (pupa_cls): Likewise.
47429 (pupa_refresh): New function.
47430 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
47431 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47432 * util/console.c: New file.
47433
47434 * util/i386/pc/getroot.c: New file.
47435 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
47436 (pupa_putchar): New function.
47437 (pupa_refresh): Likewise.
47438 (xgetcwd): Function moved to ...
47439 (strip_extra_slashes): Likewise.
47440 (get_prefix): Likewise.
47441 * util/i386/pc/getroot.c: ... here.
47442 (find_root_device): Function moved and renamed to...
47443 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
47444 Changed all callers.
47445 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
47446 and renamed to...
47447 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
47448 Changed all callers.
47449 * util/misc.c (pupa_memalign): New function.
47450 (pupa_mm_init_region): Likewise.
47451 (pupa_register_exported_symbols): Likewise.
47452 (pupa_putchar): Function removed.
47453 * util/pupa-emu.c: New file.
47454
47455 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
47456
47457 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
47458 (_multiboot_mod_SOURCES): New variable.
47459 (_multiboot_mod_CFLAGS): Likewise.
47460 * loader/i386/pc/multiboot.c: New file.
47461 * include/pupa/i386/pc/multiboot.h: Likewise.
47462 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
47463 (pupa_multiboot_real_boot): New function.
47464 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
47465 (pupa_multiboot_real_boot): New prototype.
47466 (pupa_rescue_cmd_multiboot): Likewise
47467 (pupa_rescue_cmd_module): Likewise.
47468
47469 * kern/loader.c (pupa_loader_set): Continue when
47470 pupa_loader_unload_func() fails.
47471 (pupa_loader_unset): New function.
47472 * include/pupa/loader.h (pupa_loader_unset): New prototype.
47473
47474 * kern/misc.c (pupa_stpcpy): New function.
47475 * include/pupa/misc.h (pupa_stpcpy): New prototype.
47476
47477 2003-11-12 Marco Gerards <metgerards@student.han.nl>
47478
47479 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
47480 for available extensions.
47481
47482 * include/pupa/i386/pc/time.h: New file.
47483 * kern/disk.c: Include <pupa/machine/time.h>.
47484 (PUPA_CACHE_TIMEOUT): New macro.
47485 (pupa_last_time): New variable.
47486 (pupa_disk_open): Flush the cache when there was a timeout.
47487 (pupa_disk_close): Reset the timer.
47488 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47489 pupa_currticks.
47490 * util/misc.c: Include <sys/times.h>
47491 (pupa_get_rtc): New function.
47492
47493 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47494
47495 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
47496 as blocks.
47497 (pupa_ext2_get_file_block): Use blocks member.
47498
47499 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
47500 first block. Return -1 instead of pupa_errno on error.
47501
47502 2003-10-27 Marco Gerards <metgerards@student.han.nl>
47503
47504 * README: In the pupa-mkimage example use _chain instead of chain
47505 and ext2 instead of fat.
47506 * TODO: Replace ext2fs with jfs as an example. Add an item for
47507 adding journal playback for ext2fs.
47508 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
47509 (pkgdata_MODULES): Added ext2.mod.
47510 (ext2_mod_SOURCES): New variable.
47511 (ext2_mod_CFLAGS): Likewise.
47512 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
47513 * include/pupa/misc.h (pupa_strncpy): New prototype.
47514 (pupa_strcat): Likewise.
47515 (pupa_strncmp): Likewise.
47516 * kern/misc.c (pupa_strcat): Enable function.
47517 (pupa_strncpy): New function.
47518 (pupa_strncmp): Likewise.
47519 * fs/ext2.c: New file.
47520
47521 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
47522 when the read failed before retrying.
47523 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
47524 (_FILE_OFFSET_BITS): Likewise.
47525 * configure.ac: Added AC_SYS_LARGEFILE.
47526
47527 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47528
47529 * genmk.rb (PModule#rule): Make sure to get only symbol names
47530 from the output of nm.
47531 Reported by Robert Millan <rmh.grub@aybabtu.com>.
47532
47533 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47534
47535 I forgot to check in these changes for a long time. This adds
47536 incomplete support for VGA console, and this is still very
47537 buggy. Also, a lot of consideration is required for I18N,
47538 UNICODE, and VGA font issues. Therefore, assume that this is
47539 such that "better than nothing".
47540
47541 * font/manager.c: New file.
47542 * include/pupa/font.h: Likewise.
47543 * include/pupa/i386/pc/vga.h: Likewise.
47544 * term/i386/pc/vga.c: Likewise.
47545 * util/unifont2pff.rb: Likewise.
47546
47547 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47548 (pkgdata_MODULES): Added vga.mod and font.mod.
47549 (vga_mod_SOURCES): New variables.
47550 (vga_mod_CFLAGS): Likewise.
47551 (font_mod_SOURCES): Likewise.
47552 (font_mod_CFLAGS): Likewise.
47553
47554 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47555
47556 * include/pupa/term.h: Include pupa/err.h.
47557 (struct pupa_term): Added init and fini.
47558 Changed the argument of putchar to pupa_uint32_t.
47559
47560 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47561 (pupa_console_real_putchar): New prototype.
47562 (pupa_console_putchar): Removed.
47563 (pupa_console_checkkey): Exported.
47564 (pupa_console_getkey): Likewise.
47565
47566 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47567 characters.
47568
47569 * kern/term.c (pupa_term_set_current): Rewritten.
47570 (pupa_putchar): Likewise.
47571 (pupa_putcode): New function.
47572
47573 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47574 (pupa_console_real_putchar): ... this.
47575 (pupa_vga_set_mode): New function.
47576 (pupa_vga_get_font): Likewise.
47577
47578 * normal/command.c: Include pupa/term.h.
47579 (terminal_command): New function.
47580 (pupa_command_init): Register the command "terminal".
47581
47582 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47583 (DISP_UP): Likewise.
47584 (DISP_RIGHT): Likewise.
47585 (DISP_DOWN): Likewise.
47586 (DISP_HLINE): Likewise.
47587 (DISP_VLINE): Likewise.
47588 (DISP_UL): Likewise.
47589 (DISP_UR): Likewise.
47590 (DISP_LL): Likewise.
47591 (DISP_LR): Likewise.
47592
47593 * term/i386/pc/console.c (pupa_console_putchar): New function.
47594
47595 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47596
47597 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47598 FIX. Reverse the path_list.
47599
47600 * include/pupa/normal.h: Export pupa_register_command and
47601 pupa_unregister_command.
47602
47603 * hello/hello.c (pupa_cmd_hello): New module.
47604 * conf/i386-pc.rmk: Added hello.mod.
47605
47606 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47607
47608 * kern/i386/pc/lzo1x.S: New file.
47609
47610 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47611 (compress_kernel): New variable.
47612 (generate_image): Heavily modified to support compressing a
47613 large part of the core image.
47614
47615 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47616 leak.
47617 (pupa_util_load_image): New function.
47618
47619 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47620 (pupa_compressed_size): New variable.
47621 (codestart): Enable Gate A20 here.
47622 Decompress the compressed part of the core image.
47623 Rearrange the code to put functions and variables which are
47624 required for initialization in the non-compressed part.
47625 Include lzo1x.S.
47626
47627 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47628 here.
47629
47630 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47631
47632 * include/pupa/i386/pc/kernel.h
47633 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47634 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47635 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47636 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47637 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47638
47639 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47640
47641 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47642 (Utility#rule): Likewise.
47643
47644 * configure.ac: Check if LZO is available.
47645
47646 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47647
47648 * include/pupa/normal.h: New file.
47649 * include/pupa/setjmp.h: Likewise.
47650 * include/pupa/i386/setjmp.h: Likewise.
47651 * normal/cmdline.c: Likewise.
47652 * normal/command.c: Likewise.
47653 * normal/main.c: Likewise.
47654 * normal/menu.c: Likewise.
47655 * normal/i386/setjmp.S: Likewise.
47656
47657 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47658 (pupa_rescue_cmd_initrd): Likewise.
47659
47660 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47661 Likewise.
47662
47663 * kern/i386/pc/startup.S (translation_table): New variable.
47664 (translate_keycode): New function.
47665 (pupa_console_getkey): Call translate_keycode.
47666
47667 * kern/rescue.c (attempt_normal_mode): New function.
47668 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47669 it failed, print a message.
47670
47671 * kern/mm.c (pupa_real_malloc): Print more information when a
47672 free magic is broken.
47673 (pupa_free): If the first free header is not free actually, set
47674 it to P.
47675
47676 * kern/main.c (pupa_load_normal_mode): Just load the module
47677 "normal".
47678 (pupa_main): Don't print the message
47679 "Entering into rescue mode..." here.
47680
47681 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47682 Declared.
47683 (pupa_rescue_cmd_initrd): Likewise.
47684 (pupa_rescue_cmd_initrd): Likewise.
47685
47686 * include/pupa/symbol.h (FUNCTION): Specify the type.
47687 (VARIABLE): Likewise.
47688
47689 * include/pupa/err.h (pupa_err_t): Added
47690 PUPA_ERR_UNKNOWN_COMMAND.
47691
47692 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47693 (pupa_dl_get_prefix): Likewise.
47694
47695 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47696 Added _chain.mod and _linux.mod instead of chain.mod and
47697 linux.mod.
47698 (chain_mod_SOURCES): Renamed to ...
47699 (_chain_mod_SOURCES): ... this.
47700 (chain_mod_CFLAGS): Renamed to ...
47701 (_chain_mod_CFLAGS): ... this.
47702 (linux_mod_SOURCES): Renamed to ...
47703 (_linux_mod_SOURCES): ... this.
47704 (linux_mod_CFLAGS): Renamed to ...
47705 (_linux_mod_CFLAGS): ... this.
47706 (normal_mod_SOURCES): New variable.
47707 (normal_mod_CFLAGS): Likewise.
47708 (normal_mod_ASFLAGS): Likewise.
47709
47710 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47711
47712 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47713 possible.
47714
47715 * kern/dl.c (pupa_dl_ref): Refer depending modules
47716 recursively.
47717 (pupa_dl_unref): Unrefer depending modules recursively.
47718 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47719 a module is unloaded before one depending on that module is
47720 unloaded.
47721 (pupa_dl_unload): Unload depending modules explicitly,
47722 if possible.
47723
47724 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47725
47726 * include/pupa/i386/pc/linux.h: New file.
47727 * loader/i386/pc/linux.c: Likewise.
47728
47729 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47730 Removed.
47731 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47732 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47733 of PUPA_CHAINLOADER_BOOT_SECTOR.
47734
47735 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47736 (pupa_linux_prot_size): New variable.
47737 (pupa_linux_tmp_addr): Likewise.
47738 (pupa_linux_real_addr): Likewise.
47739 (pupa_linux_boot_zimage): New function.
47740 (pupa_linux_boot_bzimage): Likewise.
47741
47742 * kern/i386/pc/init.c (struct mem_region): New structure.
47743 (MAX_REGIONS): New macro.
47744 (mem_regions): New variable.
47745 (num_regions): Likewise.
47746 (pupa_os_area_addr): Likewise.
47747 (pupa_os_area_size): Likewise.
47748 (pupa_lower_mem): Likewise.
47749 (pupa_upper_mem): Likewise.
47750 (add_mem_region): New function.
47751 (compact_mem_regions): Likewise.
47752 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47753 the size of the conventional memory and that of so-called upper
47754 memory (before the first memory hole).
47755 Instead of adding each found region to free memory, use
47756 add_mem_region and add them after removing overlaps.
47757 Also, add only 1/4 of the upper memory to free memory. The rest
47758 is used for loading OS images. Maybe this is ad hoc, but this
47759 makes it much easier to relocate OS images when booting.
47760
47761 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47762 (pupa_enter_rescue_mode): Don't register initrd and module.
47763
47764 * kern/mm.c: Include pupa/dl.h.
47765
47766 * kern/main.c: Include pupa/file.h and pupa/device.h.
47767
47768 * kern/loader.c (pupa_loader_load_module_func): Removed.
47769 (pupa_loader_load_module): Likewise.
47770
47771 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47772 ``.o''.
47773
47774 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47775 (pupa_linux_tmp_addr): Likewise.
47776 (pupa_linux_real_addr): Likewise.
47777 (pupa_linux_boot_zimage): Likewise.
47778 (pupa_linux_boot_bzimage): Likewise.
47779
47780 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47781 (pupa_upper_mem): Likewise.
47782 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47783 module is too dangerous.
47784
47785 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47786 (pupa_os_area_size): Likewise.
47787 (pupa_loader_set): Remove the first argument. Loader doesn't
47788 manage modules or initrd any longer.
47789 (pupa_loader_load_module): Removed.
47790
47791 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47792 (linux_mod_SOURCES): New variable.
47793 (linux_mod_CFLAGS): Likewise.
47794
47795 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47796
47797 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47798 the length of a blocklist correctly.
47799
47800 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47801 Use ioctl only if the OS file is a block device.
47802 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47803 not very useful for normal files.
47804
47805 * kern/main.c (pupa_set_root_dev): New function.
47806 (pupa_load_normal_mode): Likewise.
47807 (pupa_main): Call those above.
47808
47809 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47810 pupa_uint16_t.
47811
47812 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47813
47814 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47815
47816 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47817 (setup): Configure the installed partition information and the
47818 dl prefix.
47819
47820 * loader/i386/pc/chainloader.c (my_mod): New variable.
47821 (pupa_chainloader_unload): New function.
47822 (pupa_rescue_cmd_chainloader): Refer itself.
47823 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47824
47825 * kern/i386/pc/startup.S (install_partition): Removed.
47826 (version_string): Likewise.
47827 (config_file): Likewise.
47828 (pupa_install_dos_part): New variable.
47829 (pupa_install_bsd_part): Likewise.
47830 (pupa_prefix): Likewise.
47831 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47832
47833 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47834 and pupa/misc.h.
47835 (make_install_device): New function.
47836 (pupa_machine_init): Set the dl prefix.
47837
47838 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47839 (buf): Renamed to ...
47840 (linebuf): ... this.
47841 (pupa_rescue_cmd_prefix): New function.
47842 (pupa_rescue_cmd_insmod): Likewise.
47843 (pupa_rescue_cmd_rmmod): Likewise.
47844 (pupa_rescue_cmd_lsmod): Likewise.
47845 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
47846 rmmod and lsmod.
47847
47848 * kern/mm.c (pupa_memalign): If failed even after invalidating
47849 disk caches, unload unneeded modules and retry.
47850
47851 * kern/misc.c (pupa_memmove): New function.
47852 (pupa_memcpy): Removed.
47853 (pupa_strcpy): New function.
47854 (pupa_itoa): Made static.
47855
47856 * kern/dl.c (pupa_dl_iterate): New function.
47857 (pupa_dl_ref): Likewise.
47858 (pupa_dl_unref): Likewise.
47859 (pupa_dl_unload): Return if succeeded or not.
47860 (pupa_dl_unload_unneeded): New function.
47861 (pupa_dl_unload_all): Likewise.
47862 (pupa_dl_init): Renamed to ...
47863 (pupa_dl_set_prefix): ... this.
47864 (pupa_dl_get_prefix): New function.
47865
47866 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
47867 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
47868 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47869 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47870 (pupa_install_dos_part): Declared.
47871 (pupa_install_bsd_part): Likewise.
47872 (pupa_prefix): Likewise.
47873 (pupa_boot_drive): Likewise.
47874
47875 * include/pupa/types.h: Fix a typo.
47876
47877 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
47878 pupa_memmove.
47879 (pupa_memmove): Declared.
47880 (pupa_strcpy): Likewise.
47881
47882 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
47883 pupa_mod_init takes one argument, its own module.
47884 (pupa_dl_unload_unneeded): Declared.
47885 (pupa_dl_unload_all): Likewise.
47886 (pupa_dl_ref): Likewise.
47887 (pupa_dl_unref): Likewise.
47888 (pupa_dl_iterate): Likewise.
47889 (pupa_dl_init): Renamed to ...
47890 (pupa_dl_set_prefix): ... this.
47891 (pupa_dl_get_prefix): Declared.
47892
47893 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
47894 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
47895 unloaded.
47896 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
47897 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
47898
47899 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
47900 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
47901
47902 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47903
47904 * util/i386/pc/pupa-setup.c (setup): Define the internal
47905 function find_first_partition_start at the top level, because GCC
47906 3.0.x cannot compile internal functions in deeper scopes
47907 correctly.
47908 (find_root_device): Use lstat instead of stat.
47909 Don't follow symbolic links.
47910 Fix the path-constructing code.
47911
47912 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
47913 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47914 by a BLKGETSIZE ioctl first, because block devices don't fill
47915 the member st_mode of the structure stat on Linux.
47916 [__linux__] (linux_find_partition): Use a temporary buffer
47917 REAL_DEV for the working space. Copy it to DEV before returning.
47918 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47919 buffer cache consistent.
47920 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47921 strncmp. The previous value was merely wrong.
47922 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47923
47924 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47925 FAT size is 12. The previous value was merely wrong.
47926
47927 * kern/main.c (pupa_main): Don't split the starting message from
47928 newlines.
47929
47930 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47931 LF, because BIOS goes crazy about character attributes in this
47932 case.
47933
47934 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47935
47936 * include/i386/pc/util/biosdisk.h: New file.
47937 * util/i386/pc/biosdisk.c: Likewise.
47938 * util/i386/pc/pupa-setup.c: Likewise.
47939
47940 * Makefile.in (INCLUDE_DISTFILES): Added
47941 include/pupa/i386/pc/util/biosdisk.h.
47942 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47943 directory util/i386/pc.
47944 (install-local): Added a rule for sbin_UTILITIES.
47945 (uninstall): Likewise.
47946
47947 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47948
47949 * util/misc.c (xrealloc): New function.
47950 (pupa_malloc): Likewise.
47951 (pupa_free): Likewise.
47952 (pupa_realloc): Likewise.
47953 (pupa_stop): Likewise.
47954 (pupa_putchar): Likewise.
47955
47956 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47957
47958 * include/pupa/util/misc.h (xrealloc): Declared.
47959
47960 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47961 macro.
47962 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47963 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47964
47965 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47966 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47967
47968 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47969 way should be implemented.
47970 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47971
47972 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47973 the size of NAME for safety.
47974 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47975 0x88.
47976
47977 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47978 (pupa_setup_SOURCES): Likewise.
47979
47980 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47981
47982 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47983
47984 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47985 bunch of pushl's from pusha, because this destroys the return
47986 value.
47987
47988 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47989
47990 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47991 This means that any missing prototypes could be fatal. Also, you
47992 must take care when writing assembly code. See the comments at
47993 the beginning of startup.S, for more details.
47994
47995 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47996 compilation mechanism.
47997 (pupa_chainloader_real_boot): Likewise.
47998 (pupa_biosdisk_rw_int13_extensions): Likewise.
47999 (pupa_biosdisk_rw_standard): Likewise.
48000 (pupa_biosdisk_check_int13_extensions): Likewise.
48001 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48002 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48003 (pupa_get_memsize): Likewise.
48004 (pupa_get_mmap_entry): Likewise.
48005 (pupa_console_putchar): Likewise.
48006 (pupa_console_setcursor): Likewise.
48007 (pupa_getrtsecs): Use pushl instead of push.
48008
48009 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48010 memory instead of the stack for a mmap entry, because some
48011 BIOSes may ignore the maximum size and overflow.
48012
48013 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48014
48015 * genmk.rb (PModule#rule): Compile automatically generated
48016 sources with module-specific CFLAGS as well as other sources.
48017
48018 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48019
48020 * configure.ac: Check ld.
48021 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48022 respectively, before checking endianness and sizes.
48023
48024 * Makefile.in (LD): New variable.
48025
48026 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48027
48028 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48029
48030 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48031
48032 * Changelog: New file.
48033