]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
[grub2.git] / ChangeLog
1 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4 grub-core/disk/geli.c.
5
6 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-mkfont.c: Prefer enum to #define.
9
10 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
13
14 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15
16 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
17
18 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19
20 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
21
22 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
25
26 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * include/grub/bsdlabel.h: Use enums.
29
30 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31
32 Move GRUB_CHAR_BIT to types.h.
33
34 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
35
36 * docs/grub.texi: Document more user commands.
37
38 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
39
40 * docs/grub.texi: Document menuentry --id option.
41
42 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
43
44 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
45
46 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Unify file copying setup across different install scripts. Add
49 options for performing partial install.
50
51 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
52 2013-04-04 Peter Jones <pjones@redhat.com>
53
54 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
55
56 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
57
58 Use TSC as a possible time source on i386-ieee1275.
59
60 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
63 Init err.
64
65 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * util/grub-setup.c (setup): Handle some corner cases.
68
69 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
72
73 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/commands/verify.c: Save verified file to avoid it being
76 tampered with after verification was done.
77
78 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
81 reported width by one to compensate for curesor algorithm problem.
82
83 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Fix screen corruption in menu entry editor and simplify the code
86 flow while on it.
87
88 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
89
90 * util/grub-mount.c (fuse_init): Return error if fuse_main
91 failed.
92
93 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
94
95 * include/grub/elf.h: Add missing ARM relocation codes and fix
96 existing ones.
97
98 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
99
100 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
101
102 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
103 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
106 into account when calculating radius.
107
108 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
109
110 * grub-core/gfxmenu/view.c: Fix off-by-one error.
111
112 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
113
114 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
115
116 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
117
118 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
119 missing closing bracket.
120
121 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
122
123 * INSTALL: Mention xorriso requirement.
124
125 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
126
127 * grub-core/commands/verify.c: Fix hash algorithms values for
128 the first three hashes - they start with 1, not with 0.
129
130 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
133 Try terminating EFI services several times due to quirks in some
134 implementations.
135
136 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
137
138 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
139 skipping Event, Device, Processor, PowerRes, ThermalZone, and
140 BankField extended opcodes.
141 (get_sleep_type): Add minimal scope handling (just enough to
142 handle setting the scope to the root path).
143 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
144 * include/grub/acpi.h: Add enumeration values for Event, Device,
145 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
146
147 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
148
149 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
150 memory leak.
151
152 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/disk/ahci.c: Give more time for AHCI request.
155
156 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
159 command.
160
161 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Replace the region at 0 from coreboot tables to available in BSD
164 memory map.
165
166 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
169 non-BIOS platforms.
170
171 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
174 platforms.
175
176 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
179 handling of multi-device filesystems.
180
181 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
184 platforms.
185
186 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
187
188 Add new 'proc' filesystem framework and put luks_script into it.
189
190 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
193 and qemu.
194
195 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
198
199 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Add ability to generate newc additions on runtime.
202
203 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
206 description.
207
208 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * po/POTFILES.in: Regenerate.
211
212 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/commands/verify.c (hashes): Add several hashes
215 from the spec.
216
217 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Slight improve in USB-related boot-time checkpoints.
220
221 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/commands/boottime.c: Fix copyright header.
224
225 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
226
227 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
228 coreboot tables content. Support for cbmemc.
229
230 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Fix a conflict between ports structures with 2 controllers of
233 same kind.
234
235 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * include/grub/boottime.h: Add missing file.
238
239 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
240
241 Initialize USB ports in parallel to speed-up boot.
242
243 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Fix USB devices not being detected when requested
246 due to delayed attach.
247
248 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Implement boot time analysis framework.
251
252 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
253
254 Remove get_endpoint_descriptor and change all functions needing
255 descriptor to just receive it as argument rather than endpoint
256 address.
257
258 2013-03-19 Aleš Nesrsta <starous@volny.cz>
259
260 Better estimate the maximum USB transfer size.
261
262 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Resend a packet if we got the wrong buffer in status.
265
266 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
269 multiplication rather than division.
270
271 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
274 than divisions.
275
276 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
279 operations to have intended shifts and not divisions.
280
281 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
284 intended shifts rather than division.
285
286 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
289 computation for some years before epoch. Avode confusing division
290 while on it.
291
292 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/video/i386/pc/vbe.c
295 (grub_video_vbe_print_adapter_specific_info): Replace division by
296 shifts.
297
298 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Adjust types in gdb module to have intended unsigned shifts rather than
301 signed divisions.
302
303 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
306 maximum size is 4G - 1 on hfs
307
308 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
309
310 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
311
312 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
315 function.
316
317 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
318
319 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
320 causing gcc error with gcc 4.7.1.
321
322 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
323
324 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
325 dereference null pointer. While the code is technically correct, gcc
326 may eliminate a null check if pointer is already dereferenced.
327
328 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
329
330 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
331 OOM check.
332 * grub-core/normal/term.c (read_terminal_list): Likewise.
333
334 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Lift up core size limits on some platforms. Fix potential memory
337 corruption with big core on small memory systems. Document remaining
338 limits.
339
340 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
343 gotoxy to 0,0.
344
345 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
346
347 Remove all trampoline support. Add -Wtrampolines when
348 present. Remove symbols used for trampolines to make
349 link fail if trampolines are present.
350
351 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
354 append out of its parent.
355
356 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
359 parent.
360
361 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
364 all vars to a macro. All users updated.
365
366 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/disk/ieee1275/nand.c: Fix compilation on
369 i386-ieee1275.
370
371 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
374
375 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
378
379 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Move to more hookless approach in IEEE1275 devices handling.
382
383 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/kern/term.c (grub_term_normal_color),
386 (grub_term_highlight_color): Add back lost defaults.
387
388 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Make elfload not use hooks. Opt for flags and iterators instead.
391
392 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
395 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
396
397 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/script/execute.c (gettext_append): Remove nested functions.
400
401 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
404 hook pass-through parameter. All users updated and unnested.
405
406 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
409 out of its parent.
410
411 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/fs/hfs.c: Remove nested functions.
414
415 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
418 the context through.
419 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
420
421 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * util/grub-editenv.c (list_variables): Move print_var out of its
424 parent.
425
426 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
429 function.
430
431 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/gentrigtables.c: Make tables const.
434
435 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
436
437 Remove nested functions from videoinfo iterators.
438
439 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
442 for 64-bit platforms.
443
444 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
447 a FOR_CHILDREN macro.
448
449 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
452 platform from firmware path.
453
454 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
455
456 Enable linux16 on non-BIOS systems for i.a. memtest.
457
458 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
459 correctly.
460 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
461
462 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
465 Fix end of table condition.
466
467 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
470 out of its parent.
471
472 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/fs/jfs.c: Remove nested functions.
475
476 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/fs/minix.c: Remove nested functions.
479
480 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/fs/iso9660.c: Remove nested functions.
483
484 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
487 of parent function.
488
489 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * util/grub-fstest.c: Remove nested functions.
492
493 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/loader/machoXX.c: Remove nested functions.
496
497 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
498
499 Remove nested functions from disk and file read hooks.
500
501 * include/grub/disk.h (grub_disk_read_hook_t): New type.
502 (struct grub_disk): Add read_hook_data member.
503 * include/grub/file.h (struct grub_file): Likewise.
504 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
505 argument.
506
507 Update all callers.
508
509 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
510
511 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
512 Fix off by one error in enumerating extended partitions.
513
514 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
515
516 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
517 memory leak if device name is not found.
518
519 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
520
521 * grub-core/normal/menu_entry.c (update_screen): remove
522 unused variable `off' which caused scroll down arrow to be always shown.
523
524 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
525
526 * grub-core/normal/menu_entry.c (insert_string): fix off by one
527 access to unallocated memory.
528
529 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
530
531 * Makefile.util.def: Add partmap/msdos.c to common library.
532 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
533 * grub-core/disk/ldm.c: Check for existence of
534 GRUB_PC_PARTITION_TYPE_LDM.
535
536 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
539 sizes and display sector size.
540
541 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
542
543 Implement new command cmosdump.
544
545 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
546
547 Support Openfirmware disks with non-512B sectors.
548
549 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
550 size of the disk.
551 * (grub_ofdisk_get_block_size): New function.
552 * (grub_ofdisk_prepare): Use the correct block size.
553 * (grub_ofdisk_read): Likewise.
554 * (grub_ofdisk_write): Likewise.
555 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
556 New proto.
557
558 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
561
562 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
565 on first error.
566
567 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
570 freeing it.
571
572 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
573
574 Implement USBDebug (full USB stack variant).
575
576 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
579 unless they have unexpected values.
580
581 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
584 grub_print_error.
585
586 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
589 zero-out of port structure.
590
591 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
594 of extended attributes.
595
596 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
597
598 * util/grub-install.in: change misleading comment about
599 device.map creation
600
601 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
604 when menu highlight color isn't set.
605
606 2013-01-27 C. Masloch <pushbx@38.de>
607
608 Improve FreeDOS direct loading support compatibility.
609
610 * include/grub/i386/relocator.h (grub_relocator16_state):
611 New member ebp.
612 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
613 variable.
614 (grub_relocator16_boot): Handle %ebp.
615 * grub-core/lib/i386/relocator16.S: Likewise.
616 * grub-core/loader/i386/pc/freedos.c:
617 Load BPB to pass kernel which partition to load from.
618 Check that kernel file is not too large.
619 Set register dl to BIOS unit number as well.
620
621 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
622
623 * util/grub-reboot.in (usage): Document the need for
624 GRUB_DEFAULT=saved.
625 * util/grub-set-default.in (usage): Likewise.
626 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
627
628 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
631 than defining WORDS_BIGENDIAN manually.
632
633 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
636 invariants.
637
638 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
639
640 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
641 nested.
642 (blit_comb: add_device_width): Likewise.
643
644 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
645
646 Remove nested functions from USB iterators.
647
648 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
649 (grub_usb_controller_iterate_hook_t): Likewise.
650 (grub_usb_iterate): Add hook_data argument.
651 (grub_usb_controller_iterate): Likewise.
652 (struct grub_usb_controller_dev.iterate): Likewise.
653
654 Update all implementations and callers.
655
656 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
659 margin when not needed.
660
661 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Make color variables global instead of it being per-terminal.
664
665 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
668 asterisk.
669
670 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
671
672 Fix powerpc and sparc64 build failures caused by un-nesting memory
673 map iterators.
674
675 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
676
677 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
678 parameter declarations.
679
680 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
683
684 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
685
686 Improve spkmomdem reliability by adding a separator between bytes.
687
688 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
689
690 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
691 an Acer registration utility with several sightings in the wild.
692 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
693
694 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
695
696 Remove nested functions from filesystem directory iterators.
697
698 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
699 (struct grub_fs.dir): Add hook_data argument.
700
701 Update all implementations and callers.
702
703 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
704
705 * docs/grub.texi (Multi-boot manual config): Fix typo for
706 "recommended".
707
708 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
709
710 * util/grub-mkimage.c (main): Postpone freeing arguments.output
711 until after its use in generate_image.
712
713 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
714
715 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
716 initrd size to addr_min, since the initrd will be allocated after
717 this address.
718
719 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
720
721 * conf/Makefile.common: Fix autogen rules to pass definition
722 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
723
724 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
725
726 * include/grub/elf.h: Update ARM definitions based on binutils.
727
728 2013-01-20 Aleš Nesrsta <starous@volny.cz>
729
730 Split long USB transfers into short ones.
731
732 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
733
734 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
735 is interrupted by ESC.
736
737 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * util/grub-script-check.c (main): Uniform the error message.
740
741 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
742
743 Remove nested functions from ELF iterators.
744
745 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
746
747 Remove nested functions from device iterators.
748
749 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
750 (grub_arc_iterate_devs): Add hook_data argument.
751 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
752 (struct grub_ata_dev.iterate): Add hook_data argument.
753 * include/grub/device.h (grub_device_iterate_hook_t): New type.
754 (grub_device_iterate): Add hook_data argument.
755 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
756 (struct grub_disk_dev.iterate): Add hook_data argument.
757 (grub_disk_dev_iterate): Likewise.
758 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
759 Likewise.
760 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
761 Likewise.
762 * include/grub/partition.h (grub_partition_iterate_hook_t): New
763 type.
764 (struct grub_partition_map.iterate): Add hook_data argument.
765 (grub_partition_iterate): Likewise.
766 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
767 (struct grub_scsi_dev.iterate): Add hook_data argument.
768
769 Update all callers.
770
771 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
772
773 Fix typos for "developer" and "development".
774
775 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
776
777 Add license header to spkmodem-recv.c.
778
779 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
780
781 Rewrite spkmodem to use PIT for timing. Double the speed.
782
783 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Add new command pcidump.
786
787 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
788
789 New terminal outputs using serial: morse and spkmodem.
790
791 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
792
793 Improve bidi handling in entry editor.
794
795 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
798 argument to prevent name collision.
799
800 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
801
802 Remove nested functions from script reading and parsing.
803
804 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
805 getline_data argument, passed to getline.
806 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
807 getline_data argument, passed to grub_parser_split_cmdline.
808 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
809 lexerstate->getline_data to lexerstate->getline.
810 (grub_script_lexer_init): Add getline_data argument, saved in
811 lexerstate->getline_data.
812 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
813 argument, passed to grub_script_parse.
814 * grub-core/script/script.c (grub_script_parse): Add getline_data
815 argument, passed to grub_script_lexer_init.
816 * include/grub/parser.h (grub_parser_split_cmdline): Update
817 prototype. Update all callers to pass appropriate getline data.
818 (struct grub_parser.parse_line): Likewise.
819 (grub_rescue_parse_line): Likewise.
820 * include/grub/reader.h (grub_reader_getline_t): Add void *
821 argument.
822 * include/grub/script_sh.h (struct grub_lexer_param): Add
823 getline_data member.
824 (grub_script_parse): Update prototype. Update all callers to pass
825 appropriate getline data.
826 (grub_script_lexer_init): Likewise.
827 (grub_normal_parse_line): Likewise.
828
829 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
830 data argument.
831 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
832 static instead of nested. Rename to ...
833 (grub_parser_execute_getline): ... this.
834 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
835 data argument.
836 * grub-core/normal/main.c (read_config_file: getline): Make static
837 instead of nested. Rename to ...
838 (read_config_file_getline): ... this.
839 (grub_normal_read_line): Add unused data argument.
840 * grub-core/script/execute.c (grub_script_execute_sourcecode:
841 getline): Make static instead of nested. Rename to ...
842 (grub_script_execute_sourcecode_getline): ... this.
843 * util/grub-script-check.c (main: get_config_line): Make static
844 instead of nested.
845
846 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
847
848 Remove nested functions from memory map iterators.
849
850 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
851 argument, passed to hook.
852 * grub-core/kern/i386/coreboot/mmap.c
853 (grub_linuxbios_table_iterate): Likewise.
854 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
855 instead of nested.
856 (grub_machine_mmap_iterate): Add hook_data argument.
857 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
858 Add hook_data argument, passed to hook.
859 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
860 Likewise.
861 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
862 Likewise.
863 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
864 Likewise.
865 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
866 Likewise.
867 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
868 Likewise.
869 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
870 Likewise.
871 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
872 (grub_machine_mmap_iterate): Likewise.
873 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
874 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
875 prototype.
876 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
877 Remove NESTED_FUNC_ATTR from here and from all users.
878 (grub_mmap_iterate): Update prototype.
879 (grub_efi_mmap_iterate): Update prototype. Update all callers to
880 pass appropriate hook data.
881 (grub_machine_mmap_iterate): Likewise.
882
883 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
884 static instead of nested.
885 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
886 Rename to ...
887 (lsmmap_hook): ... this.
888 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
889 Likewise.
890 (grub_efiemu_mmap_fill: fill_hook): Likewise.
891 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
892 heap_init): Likewise.
893 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
894 Rename to ...
895 (mmap_iterate_hook): ... this.
896 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
897 Likewise.
898 * grub-core/lib/ieee1275/relocator.c
899 (grub_relocator_firmware_get_max_events: count): Likewise.
900 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
901 to ...
902 (grub_relocator_firmware_fill_events_iter): ... this.
903 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
904 hook): Likewise. Rename to ...
905 (grub_relocator_alloc_chunk_align_iter): ... this.
906 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
907 Rename to ...
908 (generate_e820_mmap_iter): ... this.
909 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
910 Rename to ...
911 (count_hook): ... this.
912 (grub_linux_boot: hook): Likewise. Rename to ...
913 (grub_linux_boot_mmap_find): ... this.
914 (grub_linux_boot: hook_fill): Likewise. Rename to ...
915 (grub_linux_boot_mmap_fill): ... this.
916 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
917 hook): Likewise. Rename to ...
918 (grub_fill_multiboot_mmap_iter): ... this.
919 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
920 hook): Likewise. Rename to ...
921 (count_hook): ... this.
922 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
923 hook): Likewise. Rename to ...
924 (grub_fill_multiboot_mmap_iter): ... this.
925 * grub-core/loader/powerpc/ieee1275/linux.c
926 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
927 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
928 Likewise. Rename to ...
929 (alloc_phys_choose): ... this.
930 (determine_phys_base: get_physbase): Likewise.
931 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
932 find_hook): Likewise.
933 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
934 (malloc_hook: count_hook): Likewise.
935 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
936 Likewise. Rename to ...
937 (lower_hook): ... this.
938 (grub_mmap_get_upper: hook): Likewise. Rename to ...
939 (upper_hook): ... this.
940 (grub_mmap_get_post64: hook): Likewise. Rename to ...
941 (post64_hook): ... this.
942 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
943 Likewise. Rename to ...
944 (lower_hook): ... this.
945 (grub_mmap_get_upper: hook): Likewise. Rename to ...
946 (upper_hook): ... this.
947 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
948 (grub_mmap_iterate: fill_hook): Likewise.
949 (fill_mask): Pass addr and mask within a single struct.
950 (grub_cmd_badram: hook): Make static instead of nested. Rename
951 to ...
952 (badram_iter): ... this.
953 (grub_cmd_cutmem: hook): Likewise. Rename to ...
954 (cutmem_iter): ... this.
955
956 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
959 delimit path in strings using quotes.
960 * util/getroot.c (grub_guess_root_devices): Likewise.
961 (grub_make_system_path_relative_to_its_root): Likewise.
962 * util/grub-probe.c (probe): Likewise.
963 * util/ieee1275/ofpath.c (find_obppath): Likewise.
964 (xrealpath): Likewise.
965
966 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Fix compilation with older compilers.
969
970 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
971 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
972 declarations.
973 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
974 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
975 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
976 identifier with b.
977 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
978 * include/grub/crypto.h: Add type defines.
979 * util/import_gcrypth.sed: Remove duplicate type defines.
980
981 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
982
983 New command list_trusted.
984
985 * grub-core/commands/verify.c (grub_cmd_list): New function.
986
987 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
988
989 * util/grub-mkimage.c (generate_image): Fix "size of public key"
990 info message.
991
992 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
993
994 Remove nested functions from PCI iterators.
995
996 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
997 passed to hook. Update all callers to pass appropriate hook data.
998 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
999 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1000 Remove NESTED_FUNC_ATTR from here and from all users.
1001 (grub_pci_iterate): Update prototype.
1002 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1003 instead of nested. Rename to ...
1004 (grub_cs5536_find_iter): ... this.
1005 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1006 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1007 Likewise.
1008 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1009 Likewise.
1010 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1011 Likewise.
1012 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1013 Likewise.
1014 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1015 * grub-core/video/radeon_fuloong2e.c
1016 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1017 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1018 find_card): Likewise.
1019 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1020 Likewise.
1021
1022 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/commands/verify.c: Mark messages for translating.
1025
1026 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1029 fatal.
1030
1031 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1034 fatal.
1035
1036 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * autogen.sh: Do not try to delete nonexistant files.
1039 * util/import_gcrypth.sed: Add some missing header removals.
1040
1041 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
1042
1043 Clean up dangling references to grub-setup.
1044 Fixes Ubuntu bug #1082045.
1045
1046 * docs/grub.texi (Images): Refer generally to grub-install rather
1047 than directly to grub-setup.
1048 (Installing GRUB using grub-install): Remove direct reference to
1049 grub-setup.
1050 (Device map) Likewise.
1051 (Invoking grub-install): Likewise.
1052 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1053 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1054 * util/grub-install.in (usage): Likewise.
1055
1056 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1057 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1058 grub-setup.
1059 * configure.ac: Remove grub_setup output variable.
1060
1061 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1062 to grub-bios-setup.
1063 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1064 grub-setup to grub-sparc64-setup.
1065
1066 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 Import gcrypt public-key cryptography and implement signature checking.
1069
1070 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/fs/ntfs.c: Ue more appropriate types.
1073 * grub-core/fs/ntfscomp.c: Likewise.
1074 * include/grub/ntfs.h: Likewise.
1075
1076 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Support Apple FAT binaries on non-Apple platforms.
1079
1080 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1081 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1082 Likewise.
1083 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1084 Apple FAT binaries.
1085
1086 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1089 sector devices.
1090
1091 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
1092
1093 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1094 explicitly zeroing elements.
1095 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1096 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1097 of elements in a structure already allocated using grub_zalloc.
1098 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1099
1100 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
1101
1102 * docs/grub.texi (grub_cpu): New subsection.
1103 (grub_platform): Likewise.
1104
1105 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1108
1109 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1112 divisions.
1113
1114 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1117 * grub-core/fs/ntfscomp.c: Likewise.
1118 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1119 (grub_ntfs_comp): Likewise.
1120
1121 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1124 Rename to ...
1125 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1126 of groups_per_block. All users updated.
1127
1128 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1131 grub_error properly.
1132 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1133 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1134
1135 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1138 always in /boot/zfs.
1139 Reported by: Yuta Satoh.
1140
1141 2013-01-03 Yuta Satoh <nigoro>
1142
1143 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1144 ${grub_probe}
1145
1146 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * configure.ac: Extend -Wno-trampolines to host.
1149
1150 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1153 entry->len = 0.
1154
1155 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1156
1157 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1158 (Invoking grub-script-check): Likewise.
1159
1160 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
1161
1162 * docs/grub.texi (Invoking grub-mount): New section.
1163 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1164
1165 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1166
1167 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1168 test failures, so that a failing unit test correctly causes 'make
1169 check' to fail.
1170
1171 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1172
1173 Fix failing printf test.
1174
1175 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1176 '$' in the correct order when collecting type information.
1177
1178 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
1179
1180 * docs/grub.texi (configfile): Explain environment variable
1181 handling.
1182 (source): New section.
1183 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1184
1185 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
1186
1187 Remove several trivially-unnecessary uses of nested functions.
1188
1189 * grub-core/commands/i386/pc/sendkey.c
1190 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1191 instead of nested.
1192 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1193 Rename to ...
1194 (legacy_file_getline): ... this.
1195 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1196 Likewise.
1197 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1198 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1199 to ...
1200 (probe_dummy_iter): ... this.
1201 * grub-core/kern/i386/coreboot/mmap.c
1202 (grub_linuxbios_table_iterate: check_signature): Likewise.
1203 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1204 check_varstate): Likewise. Mark inline.
1205 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1206 an additional parameter.
1207 (find_long: fnd_long): Likewise. Pass two additional parameters.
1208 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1209 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1210 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1211 Likewise. Rename to ...
1212 (grub_cmos_find_port_iter): ... this.
1213 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1214 Rename to ...
1215 (find_rtc_iter): ... this.
1216
1217 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1218 function directly into the function body, since it is only called
1219 once.
1220
1221 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
1222
1223 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1224 __attribute__ ((unused)).
1225 * grub-core/video/bochs.c (find_card): Likewise.
1226 * grub-core/video/cirrus.c (find_card): Likewise.
1227 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1228 * grub-core/video/sis315pro.c (find_card): Likewise.
1229 * grub-core/video/sm712.c (find_card): Likewise.
1230
1231 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1232
1233 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1234 Fixes Savannah bug #37821.
1235
1236 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1237
1238 Apply program name transformations at build-time rather than at
1239 run-time. Fixes Debian bug #696465.
1240
1241 * acinclude.m4 (grub_TRANSFORM): New macro.
1242 * configure.ac: Create output variables with transformed names for
1243 most programs.
1244 * util/bash-completion.d/grub-completion.bash.in: Use
1245 pre-transformed variables for program names.
1246 * util/grub-install.in: Likewise.
1247 * util/grub-kbdcomp.in: Likewise.
1248 * util/grub-mkconfig.in: Likewise.
1249 * util/grub-mkconfig_lib.in: Likewise.
1250 * util/grub-mknetdir.in: Likewise.
1251 * util/grub-mkrescue.in: Likewise.
1252 * util/grub-mkstandalone.in: Likewise.
1253 * util/grub-reboot.in: Likewise.
1254 * util/grub-set-default.in: Likewise.
1255 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1256 * tests/util/grub-shell-tester.in: Remove unused assignment.
1257 * tests/util/grub-shell.in: Likewise.
1258 * util/grub.d/00_header.in: Likewise.
1259
1260 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
1261
1262 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1263
1264 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1265 HAVE_RAW_DECL_GETS.
1266 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1267
1268 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1271 Reported by: Eriks Latosheks <foresterlv>.
1272
1273 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * docs/grub.texi (Network): Update instructions on generating netboot
1276 image.
1277
1278 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1281 around device name if necessarry.
1282
1283 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1284
1285 * util/grub-install.in: Follow the symbolic link parameter added
1286 to the file command.
1287
1288 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1289
1290 * util/grub-install.in: Remove stale TODO.
1291
1292 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1293
1294 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1295 dynamic allocation for the bootpath buffer.
1296
1297 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1298
1299 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1300 window too small.
1301
1302 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1305 argument rather than font name. All users updated.
1306 (grub_gfxterm_set_window): Likewise.
1307
1308 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1309
1310 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1311 from working.
1312
1313 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * util/getroot.c (convert_system_partition_to_system_disk): Support
1316 nbd disks.
1317
1318 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1321 infinite loop on corrupted FS.
1322
1323 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 Fix big-endian mtime.
1326
1327 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1328 together sec and usec.
1329 (grub_ufs_dir): Use correct byteswapping for UFS time.
1330
1331 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Support big-endian UFS1.
1334
1335 * Makefile.util.def (libgrubmods): Add ufs_be.c
1336 * grub-core/Makefile.core.def (ufs1_be): New module.
1337 * grub-core/fs/ufs_be.c: New file.
1338 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1339 the file.
1340
1341 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1342
1343 * include/grub/types.h: Fix functionality unaffecting typo in
1344 GRUB_TARGET_WORDSIZE conditional macro.
1345
1346 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1347
1348 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1349
1350 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1351
1352 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1353 that /netbsd appears first (when it exists).
1354
1355 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
1356
1357 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1358 Fixes Savannah bug #37558.
1359
1360 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
1361
1362 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1363 description of extract_entries_configfile.
1364
1365 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
1366
1367 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1368 preferred_address.
1369 (grub_cmd_linux): Likewise.
1370 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1371 preferred_lifetime. Update all users.
1372
1373 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1374
1375 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1376 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1377
1378 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
1379
1380 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1381 errors from grub-probe to /dev/null, not stdout.
1382
1383 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1386 sector 1.
1387
1388 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
1389
1390 * util/grub-install.in: Make the error message if $source_dir
1391 doesn't exist more useful.
1392
1393 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
1394
1395 Fix grub-emu build on FreeBSD.
1396
1397 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
1398 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
1399 headers on Linux.
1400 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
1401 implementation is currently Linux-specific.
1402 * util/getroot.c (exec_pipe): Define only on Linux or when either
1403 libzfs or libnvpair is unavailable.
1404 (find_root_devices_from_poolname): Remove unused path variable.
1405
1406 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1407
1408 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
1409 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
1410 should fit before end == 63.
1411
1412 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
1413
1414 * util/grub-setup.c (write_rootdev): Remove unused core_img
1415 parameter. Update all callers.
1416 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
1417 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
1418 GRUB_SETUP_BIOS.
1419
1420 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * util/grub-mkconfig_lib.in (grub_tab): New variable.
1423 (grub_add_tab): New function.
1424 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
1425 * util/grub.d/10_illumos.in: Likewise.
1426 * util/grub.d/10_kfreebsd.in: Likewise.
1427 * util/grub.d/10_linux.in: Likewise.
1428 * util/grub.d/10_netbsd.in: Likewise.
1429 * util/grub.d/10_windows.in: Likewise.
1430 * util/grub.d/10_xnu.in: Likewise.
1431 * util/grub.d/20_linux_xen.in: Likewise.
1432 * util/grub.d/30_os-prober.in: Likewise.
1433
1434 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1437 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
1438 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
1439 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
1440 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
1441 ieee1275-nocursor.
1442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1443 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
1444
1445 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
1448 le-conversion.
1449 Reported by: BURETTE, Bernard.
1450
1451 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
1452
1453 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
1454 from comment.
1455
1456 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
1457
1458 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
1459 IEEE1275 machines. Fixes powerpc-emu compilation.
1460 * include/grub/terminfo.h: Likewise.
1461
1462 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
1465 a const pointer.
1466 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
1467 const pointer.
1468 (efiemu_set_variable): Make vendor_guid a const pointer.
1469
1470 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 Don't require grub-mkconfig_lib to generate manpages for programs.
1473
1474 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
1475 dependencies, don't add grub-mkconfig_lib.
1476 (program): Pass empty adddeps.
1477 (script): Pass grub-mkconfig_lib as adddeps.
1478
1479 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
1482 * util/getroot.c (grub_find_device): Likewise.
1483 (get_mdadm_uuid): Likewise.
1484 (grub_util_is_imsm): Likewise.
1485 (grub_util_pull_device): Likewise.
1486 * util/grub-probe.c (probe): Likewise.
1487
1488 2012-09-10 Benoit Gschwind <gschwind>
1489
1490 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
1491 (devs): Add devpath_8.
1492
1493 2012-09-08 Peter Jones <pjones@redhat.com>
1494
1495 * grub-core/Makefile.core.def (efifwsetup): New module.
1496 * grub-core/commands/efi/efifwsetup.c: New file.
1497 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
1498 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
1499 New define.
1500 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
1501
1502 2012-09-05 Jiri Slaby <jslaby@suse.cz>
1503
1504 * configure.ac: Add SuSe path.
1505
1506 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * NEWS: Fix typo.
1509
1510 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
1511
1512 * util/import_gcry.py: Sort cipher_files, to make build system
1513 generation more deterministic.
1514
1515 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
1518 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
1519 (grub_set_datetime): Likewise.
1520
1521 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
1524 warnings.
1525
1526 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
1529
1530 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
1533
1534 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
1537 required for checkouts from bzr, but it may be useful for users or
1538 distributors wishing to update translations against a tarball
1539 distribution, and it can be helpful for the tarball to be a superset
1540 of what's in bzr.
1541
1542 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1543
1544 * Makefile.am (EXTRA_DIST): Add
1545 grub-core/tests/boot/linux.init-mips.S,
1546 grub-core/tests/boot/linux.init-ppc.S, and
1547 grub-core/tests/boot/linux-ppc.cfg.
1548
1549 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1550
1551 * grub-core/mmap/mips/loongson: Remove empty directory.
1552
1553 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1554
1555 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
1556 gone.
1557
1558 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
1559
1560 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
1561 grub-sparc64-setup.
1562
1563 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1564
1565 * configure.ac: Strengthen the test for working -nostdinc -isystem.
1566
1567 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1568
1569 * po/POTFILES.in: Regenerated.
1570
1571 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
1572
1573 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
1574 (NetBSD): New subsection.
1575
1576 2012-07-22 Ales Nesrsta <starous@volny.cz>
1577
1578 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
1579 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
1580
1581 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
1584 * util/grub.d/10_hurd.in: Add missing quoting.
1585 * util/grub.d/10_illumos.in: Likewise.
1586 * util/grub.d/10_kfreebsd.in: Likewise.
1587 * util/grub.d/10_linux.in: Likewise.
1588 * util/grub.d/20_linux_xen.in: Likewise.
1589
1590 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 New command `lsefi'.
1593
1594 * grub-core/Makefile.core.def (lsefi): New module.
1595 * grub-core/commands/efi/lsefi.c: New file.
1596 * include/grub/efi/api.h: Add more GUIDs.
1597
1598 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
1601 (grub_bsd_elf32_hook): Likewise.
1602 (grub_bsd_elf64_size_hook): Likewise.
1603 (grub_bsd_elf64_hook): Likewise.
1604 (grub_bsd_load_elf): Likewise.
1605
1606 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
1609 if hash function is unavailable.
1610 (dec_stream_header): Likewise.
1611
1612 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
1615 filter state.
1616
1617 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Fix coreboot compilation.
1620
1621 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
1622 (grub_vga_text_init_real): ... this.
1623 (grub_vga_text_fini): Rename to ...
1624 (grub_vga_text_fini_real): ... this.
1625
1626 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
1629
1630 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/lib/legacy_parse.c: Support clear and testload.
1633
1634 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
1637
1638 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/fs/ext2.c: Experimental support for 64-bit.
1641
1642 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/net/tftp.c (ack): Fix endianness problem.
1645 (tftp_receive): Likewise.
1646 Reported by: Michael Davidsaver.
1647
1648 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * gentpl.py: Make mans depend on grub-mkconfig_lib.
1651
1652 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
1655 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
1656 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
1657
1658 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
1661 efi_mmap_size.
1662 Reported by: Stuart Hayes.
1663
1664 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
1667
1668 * grub-core/Makefile.core.def (mda_text): New module.
1669 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
1670 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
1671 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
1672 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
1673 here.
1674 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
1675 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
1676 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
1677 here.
1678 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
1679 to ..
1680 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
1681 ... here
1682 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
1683 here.
1684 * grub-core/term/i386/vga_common.c: Removed.
1685 * include/grub/i386/vga_common.h: Likewise.
1686 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
1687 (grub_vga_cr_bw_read): Likewise.
1688 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
1689 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
1690 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
1691 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
1692 grub_vga_cr_read/grub_vga_cr_write.
1693 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
1694
1695 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * configure.ac: Bump version to 2.00.
1698 * grub-core/normal/main.c (features): Add feature_200_final.
1699
1700 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1701 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
1702
1703 * NEWS: Fix unclarity and language mistakes.
1704
1705 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
1708 additional size to 3 pages.
1709 Reported by: Stuart Hayes.
1710
1711 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * NEWS: Add 2.00 entry.
1714
1715 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
1718 put explicit "/" for empty path.
1719 (wildcard_expand): Improve dprintf.
1720
1721 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
1724 it's equal to currnode. This can happen with "" symlink.
1725
1726 2012-06-27 Yves Blusseau <blusseau@zetam.org>
1727
1728 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
1729 echo shell command by printf command.
1730
1731 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
1734 the value returned by firmware is the maximal position, not diumension.
1735 (grub_terminfo_output_state): Use a more sane fallback.
1736
1737 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
1740
1741 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
1744 frequency to 150 MHz.
1745
1746 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 Apple fixes.
1749
1750 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
1751 __APPLE_
1752 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
1753 definition.
1754 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
1755
1756 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Handle slash in HFS label.
1759
1760 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
1761 (grub_hfs_dir): Tanslate slash.
1762 (grub_hfs_label): Don't translate slash.
1763
1764 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
1767 network protocol listing since it introduces problematic dependency on
1768 net module.
1769
1770 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
1773
1774 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 Init video early on yeeloong to avoid being rebooted by watchdog.
1777
1778 * grub-core/Makefile.am (gensm712): New target.
1779 (sm712_start.S): Likewise.
1780 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
1781 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
1782 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
1783 description.
1784 * include/grub/vga.h: Move registry definitions to...
1785 * include/grub/vgaregs.h: ... here.
1786
1787 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
1790 signedness.
1791
1792 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
1795 platforms with firmware disk drivers in the core.
1796
1797 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
1800 informative verbose message.
1801 (read_lv): Handle 64-bit segment size.
1802
1803 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
1806
1807 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
1810 character but still remove trainling spaces.
1811 (grub_fat_label): Ignore archive flag.
1812
1813 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
1816 cast between linux_kernel_header and linux_kernel_params.
1817
1818 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
1821 type for size.
1822 (grub_raid6_recover_func_t): Likewise.
1823 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
1824 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1825
1826 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
1829
1830 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1831
1832 Fix overflow.
1833
1834 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
1835 [__NetBSD__]: Add explicit cast before bitshift.
1836
1837 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * configure.ac: Bump to 2.00~rc1.
1840
1841 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
1844 half of $a0.
1845
1846 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1847 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
1848
1849 * docs/grub.texi: Fix search syntax.
1850 (Multi-boot manual config): Put msdos rather than GPT example.
1851 Grammar corrections.
1852
1853 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
1856
1857 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
1860
1861 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
1864 message on double free. Put the value of magic in case of mismatch.
1865
1866 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Speed-up video on yeeloong.
1869
1870 * grub-core/video/sm712.c (framebuffer): Remove render_target and
1871 add cached_ptr.
1872 (grub_video_sm712_video_fini): Unmap cached_ptr.
1873 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
1874 (grub_video_sm712_set_active_render_target): Removed.
1875 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1876 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
1877 sync caches.
1878
1879 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 Avoid flushing the same line multiple times on loongson.
1882
1883 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
1884 Step in 32 bytes and not 1 byte.
1885 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
1886 Likewise.
1887
1888 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
1891 subvolumes.
1892
1893 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 Implement flow control for http.
1896
1897 * grub-core/net/http.c (parse_line): Handle response 206.
1898 (http_receive): Stall if too many packets are in the queue.
1899 (http_establish): Fix range header.
1900 (http_seek): Fix double free.
1901 (http_close): Likewise.
1902 (http_packets_pulled): New function.
1903 (grub_http_protocol): Set http_seek
1904 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
1905 (ack_real): Set window depending on i_stall.
1906 (grub_net_send_tcp_packet): Likewise.
1907 (grub_net_tcp_stall): New function.
1908 (grub_net_tcp_unstall): Likewise.
1909 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
1910 (grub_net_tcp_unstall): Likewise.
1911
1912 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/net/tftp.c: Decrease stall to 50 packets.
1915
1916 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
1919
1920 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * tests/util/grub-shell.in: Fix a typo.
1923
1924 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 Implement flow control for tftp.
1927
1928 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
1929 packets but stop only if stop condition is satisfied.
1930 (grub_net_fs_read_real): Call packets_pulled after real read. Use
1931 `stall' instead of `eof' as stop condition.
1932 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
1933 (http_err): Likewise.
1934 * grub-core/net/tftp.c (ack): Replace the first argument with data
1935 instead of socket.
1936 (tftp_receive): Stall if too many packets are in wait queue.
1937 (tftp_packets_pulled): New function.
1938 (grub_tftp_protocol): Set packets_pulled.
1939 * include/grub/net.h (grub_net_packets): New field count.
1940 (grub_net_put_packet): Increment count.
1941 (grub_net_remove_packet): Likewise.
1942 (grub_net_app_protocol): New field `packets_pulled'.
1943 (grub_net): New field `stall'.
1944
1945 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
1948 sync part to handle them.
1949
1950 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
1953 * grub-core/net/drivers/ieee1275/ofnet.c
1954 (grub_ieee1275_net_config_real): Likewise.
1955
1956 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
1959 the direct route for server/gateway.
1960
1961 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
1964 IP address to server name since we may not hame the DNS.
1965
1966 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
1969 freeing random buffer on failure.
1970 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
1971
1972 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
1975
1976 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
1979 reserved bytes.
1980 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
1981 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
1982 Handle malloc error correctly.
1983
1984 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1987 blocks.
1988
1989 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
1992 increment.
1993
1994 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
1997 none is explicitly specified.
1998
1999 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2002 while reallocating.
2003
2004 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Respect netmask from bootp/dhcp.
2007
2008 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2009 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2010 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2011 into ...
2012 (grub_net_add_ipv4_local): ... this.
2013 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2014 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2015 (grub_net_add_ipv4_local): New proto.
2016
2017 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2020 determining EFI memory map size.
2021
2022 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2025
2026 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2029 when looking for partition separator.
2030
2031 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2034 Escape commas.
2035
2036 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 Restructure FAT driver to avoid hook in label reading as it hits a
2039 GCC bug.
2040
2041 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2042 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2043 (grub_fat_iterate_dir): Split into ...
2044 (grub_fat_iterate_init): ... this, ...
2045 (grub_fat_iterate_fini): ... this, ...
2046 (grub_fat_iterate_dir_next): ... and this. All users updated.
2047
2048 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2051 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2052 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2053 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2054 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2055 New fields last_key and last_key_time.
2056 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2057 extended key-esc into extended key-extended key.
2058
2059 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 Avoid unnecessary memcpy of whole video buffer.
2062
2063 * grub-core/video/fb/video_fb.c (dirty): New struct.
2064 (framebuffer): Add members current_dirty and previous_dirty.
2065 (dirty): New function.
2066 (grub_video_fb_fill_rect): Update dirty.
2067 (common_blitter): Likewise.
2068 (grub_video_fb_scroll): Likewise.
2069 (doublebuf_blit_update_screen): Copy only dirty part.
2070 (doublebuf_pageflipping_update_screen): Likewise.
2071 (grub_video_fb_doublebuf_blit_init): Init dirty.
2072 (doublebuf_pageflipping_init): Likewise.
2073 (grub_video_fb_setup): Likewise.
2074
2075 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2078 poll rate.
2079
2080 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Fix wildcard regexp dot and other special characters handling.
2083 Reported by: Robert Mabee.
2084
2085 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2086 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2087 (split_path): Trigger expansion on '?'.
2088 (unescape): New function.
2089 (wildcard_expand): Unescape parts copied without globbing.
2090 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2091 (grub_script_arglist_to_argv): Don't unescape expansions.
2092
2093 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * include/grub/net.h (grub_net_card): New member txbufsize.
2096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2097 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2098 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2099 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2100 txbufsize.
2101 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2102 compatible property to check for macs. Set
2103 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2104 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2105 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2106 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2107 (send_card_buffer): Use txbuf.
2108 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2109 nested function out of the parent while on it.
2110
2111 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2114 presence check.
2115 (grub_ieee1275_net_config_real): Fix config pointer.
2116
2117 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2120 filename parsing to non-block devices.
2121
2122 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2125
2126 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2129 All users updated.
2130
2131 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2134 UUID search command even if hints probing failed.
2135
2136 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * po/POTFILES.in: Regenerated.
2139
2140 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Speed-up video on fuloong.
2143
2144 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2145 New function.
2146 (grub_pci_device_unmap_range): Handle non-cached address.
2147 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2148 add direct_ptr.
2149 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2150 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2151 (grub_video_sis315pro_set_active_render_target): Removed.
2152 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2153 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2154 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2155 sync caches.
2156 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2157 New proto.
2158
2159 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * docs/grub.texi (Multi-boot manual config): New section.
2162
2163 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Avoid slow read-back from VRAM.
2166
2167 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2168 Move from here ...
2169 * grub-core/video/fb/video_fb.c
2170 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2171 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2172 (front_target): Remove front_target. Add pages.
2173 (grub_video_fb_init): Skip setting front_pages.
2174 (grub_video_fb_fini): Likewise.
2175 (doublebuf_blit_update_screen): Use pages.
2176 (grub_video_fb_doublebuf_blit_init): Likewise.
2177 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2178 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2179 (grub_video_fb_setup): Prefer doublebuffing.
2180
2181 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2184 gzio.
2185
2186 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Add loongson tests.
2189
2190 * tests/util/grub-shell.in: Handle loongson.
2191 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2192 drivers.
2193 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2194 Reboot instead of shutdown if REBOOT is defined.
2195
2196 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2199 sized ports since unlike on real hardware qemu supports only 32-bit
2200 regs.
2201
2202 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2205 * util/grub-mkrescue.in: Handle loongson.
2206
2207 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2210 Set is_part appropriately.
2211 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2212 names. Canonicalize partition without full disk.
2213
2214 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Revert usb-quiesce since it's wrong.
2217
2218 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2219 (grub_ofdisk_init): Don't do quiesce.
2220
2221 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2224 PowerMac workaround to Xserves as well.
2225 Information supplied by: Benjamin Herrenschmidt.
2226
2227 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Don't assume that beginning address is also the entry point on ppc.
2230
2231 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2232 (grub_linux_boot): Use linux_entry.
2233 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2234 (grub_linux_load64): Likewise.
2235
2236 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2239
2240 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2243 needlessly lose the console.
2244
2245 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2248 space.
2249
2250 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2253 than current grub_get_rtc() not implemented when booted with
2254 coreboot without TSC.
2255
2256 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2257 Add machine/time.h to kernel headers on loongson.
2258 * grub-core/Makefile.core.def (kernel): Remove
2259 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2260 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2261 (grub_get_rtc): Likewise.
2262 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2263 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2264 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2265 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2266 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2267 rather than installing known non-working time source.
2268 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2269 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2270 * include/grub/time.h: Don't include machine/time.h.
2271 * include/grub/efi/time.h: Removed.
2272 * include/grub/i386/efi/time.h: Likewise.
2273 * include/grub/i386/ieee1275/time.h: Likewise.
2274 * include/grub/powerpc/ieee1275/time.h: Likewise.
2275 * include/grub/sparc64/ieee1275/time.h: Likewise.
2276 * include/grub/x86_64/efi/time.h: Likewise.
2277
2278 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 Remove dot on i and j when combining with above diacritics.
2281
2282 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2283 value.
2284 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2285 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2286 with dotless variants when any combining above is present.
2287
2288 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2291 text and not binary.
2292
2293 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 Stop polling as soon as we have the packet we were waiting for.
2296
2297 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2298 All users updated.
2299 * grub-core/net/arp.c (have_pending): New var.
2300 (pending_req): Likewise.
2301 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2302 stop indicator.
2303 (grub_net_arp_receive): Set have_pending.
2304 * grub-core/net/dns.c (recv_data): New field stop.
2305 (recv_hook): Set stop.
2306 (grub_net_dns_lookup): Init stop and use as stop condition.
2307 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2308 condition.
2309 * grub-core/net/net.c (grub_net_poll_cards): New argument
2310 stop_condition. Stop when it goes true.
2311 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2312 indicator.
2313 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2314
2315 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 Keep TX and RX buffers on EFI rather than always allocate new ones.
2318
2319 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2320 card. All users updated.
2321 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2322 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2323 (get_card_packet): Likewise.
2324 (grub_efinet_findcards): Init new fields.
2325
2326 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2329 compilation error on sparc64.
2330
2331 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Use ITC on IA64 rather than broken routine based on daytime.
2334
2335 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2336 ia64.
2337 (grub_get_rtc) [__ia64__]: Likewise.
2338 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2339 (get_itc): New function.
2340 (grub_rtc_get_time_ms): Likewise.
2341 (grub_machine_init): Calibrate ITC.
2342 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2343 Keep only on non-ia64. Don't export since it's broken and used only
2344 if TSC is unavailable.
2345
2346 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2349 even if it's used.
2350 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2351 Skip if parent is unused.
2352
2353 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2356
2357 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 Fix wildcard escaping.
2360
2361 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2362 * grub-core/script/execute.c (wildcard_escape): .. to here.
2363 Don't escape dot.
2364 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2365 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2366 Don't escape dot.
2367 * grub-core/script/execute.c (gettext_append): Always escape.
2368 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2369 * grub-core/script/yylex.l: Don't cut away the escaping.
2370 * tests/grub_script_echo1.in: Add tests with wildcard.
2371
2372 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2375 (ftdi_hw_configure): Likewise.
2376 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2377 define.
2378 (real_config): Handle 1.5 stop bits.
2379 (pl2303_hw_configure): Likewise.
2380
2381 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * Makefile.am: Add ppc linux bootcheck.
2384 * grub-core/tests/boot/linux-ppc.cfg: New file.
2385 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2386
2387 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * tests/grub_script_expansion.in: Skip network protocols.
2390
2391 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2394
2395 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
2398 --rom-directory.
2399 Add -graft-points.
2400
2401 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 ESCC serial driver for conducting sautomated tests in qemu.
2404 Not tested on real hardware.
2405
2406 * include/grub/serial.h (grub_serial_port): New field escc_desc.
2407 * grub-core/term/ieee1275/escc.c: New file.
2408 * grub-core/Makefile.core.def (escc): New module.
2409
2410 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
2413 invalid on error.
2414 (serial_hw_fetch): Don't read invalid handle.
2415 (serial_hw_put): Don't write into invalid handle.
2416
2417 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Add a 1.5 stop bits value.
2420
2421 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
2422 * include/grub/serial.h (grub_serial_stop_bits_t): Add
2423 GRUB_SERIAL_STOP_BITS_1_5.
2424
2425 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
2428 value rather than let it uninited.
2429
2430 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/commands/wildcard.c (+check_file): New function.
2433 (wildcard_expand): Don't expand to non-existing files, expand with
2434 suffix and not attempt to expand if not needed.
2435
2436 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
2439 out of partitions containing other partitions.
2440
2441 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
2444 on some qemu versions with GRUB.
2445
2446 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
2447 define.
2448 (grub_openbsd_bootarg_pcibios): New struct.
2449 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
2450 Add PCIINFO.
2451
2452 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * tests/util/grub-shell.in: Trim firmware output on EFI.
2455
2456 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
2459 and coreboot since it's already in kernel.
2460
2461 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
2464 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2465 to here. New return value start. All users updated.
2466 Recursively scan linear mappings.
2467 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
2468 proto.
2469 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2470 Use grub_util_get_dm_node_linear_info.
2471 * util/getroot.c (convert_system_partition_to_system_disk): Use
2472 grub_util_info rather than grub_dprintf.
2473 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2474
2475 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
2478
2479 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
2480 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
2481
2482 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * include/grub/types.h (grub_set_unaligned64): New function.
2485 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
2486 (setup): Likewise.
2487
2488 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
2491 (grub_ofdisk_fini): Quiesce USB devices.
2492
2493 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
2496 caches.
2497
2498 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
2501
2502 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * grub-core/disk/pata.c (grub_pata_pio_read)
2505 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
2506 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2507
2508 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Extend automated tests to qemu-mips.
2511
2512 * Makefile.am: reorganise tests and enable qemu-mips.
2513 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
2514 * grub-core/tests/boot/linux.init-mips.S: New file.
2515 * tests/partmap_test.in: Handle ata0 disks.
2516 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
2517 non-pc i386.
2518
2519 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
2522 ia64.
2523 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
2524 quotes while on it.
2525
2526 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
2529 (grub_halt): Likewise.
2530 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
2531
2532 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/term/serial.c (grub_serial_register)
2535 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
2536 the behaviour in line with x86 platforms.
2537
2538 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
2541 (grub_ata_strncpy): Likewise.
2542 (grub_ata_identify): Add missing byteswaps.
2543
2544 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
2547 byte-swap.
2548 (screen_read_char): Likewise.
2549 (grub_vga_text_cls): Likewise.
2550
2551 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
2554 filenames.
2555 (make_file_path): Likewise.
2556
2557 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
2560 machines.
2561 Tested by: Paulo Flabiano Smorigo.
2562 Crucial information about API supplied by: Coleen <Last name unknown>.
2563 Reviewed by: Coleen <Last name unknown>.
2564
2565 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * util/grub-mkimage.c: Disable -Wcast-align.
2568
2569 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
2572 as they are fatal.
2573
2574 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
2577
2578 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * util/grub-probe.c (escape_of_path): Fix double free.
2581
2582 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/commands/videoinfo.c (hook): Show pitch.
2585
2586 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * util/grub.d/20_linux_xen.in: Skip xen-syms.
2589
2590 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
2593 (probe): Add ieee1275 to OFW devices.
2594
2595 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
2598
2599 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 Handle IBM OFW path.
2602
2603 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
2604 available.
2605 (of_path_of_scsi): Handle vdevice.
2606
2607 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
2610 Allocate in multiples of 16 to avoid adding a few bytes free region the
2611 windows bugs upon.
2612
2613 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
2616 Allocate in multiples of 16 to avoid adding a few bytes free region the
2617 windows bugs upon.
2618 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
2619
2620 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
2623 resolutions.
2624 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
2625 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
2626
2627 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
2628
2629 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
2630
2631 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
2634 resulted in \\ at the end of the line.
2635
2636 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
2639 (grub_parser_cmdline_state): Likewise.
2640 (grub_parser_split_cmdline): Likewise.
2641
2642 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
2645 /dev/root and /dev/dm-*.
2646
2647 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
2650 fix partially stale display.
2651
2652 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/normal/menu_entry.c (backward_char): Use right line for
2655 substraction.
2656
2657 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
2660 Fix MBR remapping workaround.
2661 (grub_util_biosdisk_read) [__linux__]: Likewise.
2662
2663 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * util/grub-install.in: Check for ieee1275 and not ieee1276.
2666
2667 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * configure.ac: Bump to beta6.
2670
2671 2012-05-31 Christer Weinigel <christer@weinigel.se>
2672
2673 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
2674
2675 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
2678 (grub_cmd_linux): Likewise.
2679
2680 2012-05-31 Christer Weinigel <christer@weinigel.se>
2681
2682 Fix EHCI low-speed.
2683
2684 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
2685 (GRUB_EHCI_MULT_TWO): Likewise.
2686 (GRUB_EHCI_MULT_THREE): Likewise.
2687 (GRUB_EHCI_CMASK_MASK): New enum value.
2688 (GRUB_EHCI_SMASK_MASK): Likewise.
2689 (GRUB_EHCI_CMASK_OFF): Likewise.
2690 (GRUB_EHCI_SMASK_OFF): Likewise.
2691 (grub_ehci_pci_iter): Enable periodic schedule.
2692 (grub_ehci_parse_notrun): Likewise.
2693 (grub_ehci_restore_hw): Likewise.
2694 (grub_ehci_setup_qh): Set flags for low speed transfers.
2695 (grub_ehci_find_qh): Use periodic list for low speed.
2696 (grub_ehci_setup_transfer): Check periodic queue as well.
2697 (grub_ehci_check_transfer): Likewise.
2698 (grub_ehci_cancel_transfer): Cancel periodic transfer.
2699
2700 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2701
2702 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
2703 parameter is used.
2704
2705 2012-05-31 Peter Jones <pjones@redhat.com>
2706
2707 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
2708 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
2709 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
2710
2711 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
2714 uninited variable. Allocate at least setup_sects.
2715
2716 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Fix handling of EFI with big memory maps.
2719
2720 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
2721 (real_mode_mem): Likewise.
2722 (real_mode_target): Likewise.
2723 (real_mode_pages): Likewise.
2724 (prot_mode_pages): Likewise.
2725 (linux_params): New var.
2726 (linux_cmdline): Likewise.
2727 (free_pages): Don't set real mode variables.
2728 (allocate_pages): Don't allocate real mode memory.
2729 (grub_e820_add_region): Remove the limit.
2730 (grub_linux_boot): Allocate and copy real mode memory.
2731 (grub_linux_unload): Free linux_cmdline.
2732 (grub_cmd_linux): Use temporary storage for parameters.
2733 (grub_cmd_initrd): Likewise.
2734 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
2735 (linux_kernel_params): Make it 1K big.
2736
2737 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * Makefile.util.def: Remove -Wno-format.
2740 * grub-core/Makefile.core.def: Likewise.
2741
2742 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * tests/cmp_unit_test.c: Add missing failure message.
2745 * tests/example_unit_test.c: Likewise.
2746 * tests/printf_unit_test.c: Likewise.
2747
2748 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
2751 relaxation of protective MBR requirements.
2752
2753 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * configure.ac: Add condition for COND_HOST_XNU.
2756 * Makefile.util.def (10_xnu): New script.
2757 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
2758
2759 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
2762 objconv bug.
2763
2764 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
2767 Binary on other platforms stays identical.
2768
2769 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
2772 Apple.
2773
2774 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
2777
2778 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
2781 rather than defining size_t ourselves to avoid conflict.
2782
2783 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
2786 initialisation to avoid __bzero reference.
2787
2788 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
2791 version.
2792 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
2793 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
2794 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
2795 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
2796 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
2797
2798 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
2801 * grub-core/kern/misc.c: Likewise.
2802 * grub-core/loader/i386/xnu.c: Likewise.
2803 * include/grub/i386/tsc.h: Likewise.
2804 * include/grub/symbol.h: Likewise.
2805
2806 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
2809 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
2810 on older compiler.
2811
2812 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2815 Implement Apple flavour.
2816 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2817
2818 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
2821 (memmove) [__APPLE__]: Likewise.
2822 (memcpy) [__APPLE__]: Likewise.
2823 (memset) [__APPLE__]: Likewise.
2824 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
2825 (memmove) [__APPLE__]: Likewise.
2826 (memcpy) [__APPLE__]: Likewise.
2827 (memset) [__APPLE__]: Likewise.
2828
2829 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
2832 dependency discard.
2833
2834 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/normal/main.c (read_config_file): Provide config_file and
2837 config_directory.
2838 * util/grub.d/41_custom.in: Use config_directoy when available.
2839
2840 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
2843 (grub_bfs_dir): Likewise.
2844
2845 2012-05-27 Peter Jones <pjones@redhat.com>
2846
2847 The old code gives arguments to a printf function which can't work
2848 correctly, and the compiler complains.
2849
2850 * grub-core/tests/example_functional_test.c (example_test): Add
2851 missing text.
2852 * grub-core/tests/lib/test.c (add_failure): Rewrite.
2853 * include/grub/test.h (grub_test_assert_helper): New declaration.
2854 (grub_test_assert): Use grub_test_assert_helper.
2855
2856 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
2859 (exfctest): ... this to avoid overlong filenames.
2860 All users updated.
2861
2862 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Handle "." and ".." on squashfs.
2865
2866 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
2867 Make inode numbers into stack.
2868 (grub_squash_read_symlink): Use stack.
2869 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
2870 (make_root_node): Fill stack.
2871 (grub_squash_open): Use stack.
2872
2873 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
2876 freeing.
2877
2878 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
2881 stderr on test calls.
2882
2883 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
2886
2887 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
2890
2891 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
2894 "..".
2895
2896 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
2899 (grub_hfsplus_iterate_dir): Add "." and "..".
2900
2901 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/fs/cpio.c (canonicalize): Handle "..".
2904 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
2905
2906 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
2909 (find_path): Handle "." and "..".
2910
2911 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
2914 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
2915 (grub_affs_iterate_dir): Handle hardlinks.
2916
2917 2012-05-26 Matthew Garrett <mjg@redhat.com>
2918
2919 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
2920 (grub_efi_console_fini): Likewise.
2921 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
2922 (grub_video_gop_fill_mode_info): Rename to ...
2923 (grub_video_gop_fill_real_mode_info): ... this.
2924 (grub_video_gop_fill_mode_info): New function.
2925 (grub_video_gop_setup): Setup double framebuffer.
2926 (grub_video_gop_get_info_and_fini): Use original framebuffer.
2927 Free offscreen.
2928 (grub_video_gop_swap_buffers): Copy framebuffer.
2929 (grub_video_gop_fini): Free offscreen buffer.
2930 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
2931 New enum.
2932 (grub_efi_gop_blt_pixel): New struct.
2933
2934 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * gentpl.py: Remove error disabling for objconv.
2937
2938 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * configure.ac: Remove -Wunitialized as it's not available on older
2941 compilers.
2942
2943 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 Fix extent overflow comparator.
2946
2947 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
2948 (grub_hfsplus_read_block): Set type.
2949 (grub_hfsplus_cmp_extkey): Compare type.
2950
2951 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
2954
2955 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
2958 than 0.
2959
2960 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
2963 (dejavu_bold_14.pf2): New target.
2964
2965 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * configure.ac: Fix djvu font detection.
2968
2969 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
2972 ext* instead of ext2.
2973
2974 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
2977 name with \0.
2978
2979 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
2980
2981 * docs/grub-dev.texi: Remove dot from .png.
2982
2983 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
2986 protective entry in any slot.
2987 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
2988 if protective entry is found in any slot.
2989
2990 Protective entry in non-first slot make no sense but is a widespread
2991 brain damage.
2992
2993 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2996
2997 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3000 with old reiserfs.
3001 (grub_reiserfs_open): Don't free root.
3002
3003 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3006 after freeing for safety.
3007
3008 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3011 Reported by: Jordan Uggla.
3012
3013 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3014
3015 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3016 actual implementation. Specifically, clarify that the grub menu will
3017 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3018 passed.
3019
3020 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3021
3022 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3023 of r0.
3024
3025 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 Remove unjustified hard dependency of normal.mod on gfxterm.
3028
3029 * include/grub/term.h (grub_term_output): New member fullscreen.
3030 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3031 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3032 (grub_gfxterm): Set .fullscreen.
3033 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3034 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3035
3036 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3039 mentioning possible problems with non-ASCII (non-compliant) ISOs.
3040 Mention case-insensitive AFFS, SFS and JFS.
3041
3042 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3045
3046 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3049 a bad FS.
3050
3051 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3054 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3055
3056 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3059 (grub_jfs_mount): Fill caseins.
3060 (grub_jfs_find_file): Respect caseins.
3061
3062 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3065 through UTF-16.
3066
3067 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3070 New argument origpath. All users updated.
3071
3072 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3075 (read_attr): Ensure that we read start of possibly compressed block.
3076
3077 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3080 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3081 All users updated.
3082
3083 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3086 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3087 (dejavu.pf2): Replace with ...
3088 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3089 this.
3090
3091 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * util/grub.d/20_linux_xen.in: Add missing line.
3094
3095 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3098 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3099 (grub_utf16_to_utf8): Likewise.
3100
3101 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3104 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3105 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3106 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3108 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3109
3110 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3113 a bad FS.
3114
3115 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3118 (grub_udf_read_symlink): Handle read_string failure.
3119
3120 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3123 comment.
3124
3125 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 Fix handling of UDF symlinks.
3128
3129 * grub-core/fs/udf.c (read_string): New argument outbuf.
3130 All users updated.
3131 (grub_ufs_read_symlink): Rename to ...
3132 (grub_udf_read_symlink): ... this. All users updated.
3133 Handle symlinks with more than one component.
3134
3135 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3138 symlinks. Replace leading colon with a slash.
3139
3140 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3143 filename.
3144
3145 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3148 match in inner node.
3149
3150 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3153 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3154 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3155 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3156 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3157 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3158 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3159 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3160 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3161
3162 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Use grub-probe and not cmp to check that disk is empty.
3165
3166 * util/grub-install.in: Use grub-probe for zero-check.
3167 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3168 (probe): Handle PRINT_ZERO_CHECK.
3169 (argp_parser): Handle -t zero_check.
3170
3171 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Flush block cache on adding disk to device map.
3174
3175 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3176 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3177 adding.
3178 (read_device_map): Likewise.
3179 (open_device): Flush on opening.
3180
3181 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3184 (handle_symlink): Fix off-by-one error.
3185 Canonicalize the target.
3186 (grub_cpio_dir): Canonicalize the name.
3187 Fix memory leak.
3188 Set directory.
3189 (grub_cpio_open): Canonicalize the name.
3190
3191 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3194 handling.
3195
3196 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3199 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3200
3201 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3204 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3205 All users updated.
3206
3207 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3210 counterpart.
3211
3212 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Fix UFS1 big file support.
3215
3216 * grub-core/fs/ufs.c (INODE): Removed.
3217 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3218 64-bit.
3219 (INODE_MODE): Simplify.
3220 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3221 (grub_ufs_lookup_symlink): Don't use INODE.
3222
3223 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3226
3227 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3228 (grub_minix_data): Replace log_block_size with block_size.
3229 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3230 (grub_minix_mount): Fill block_size.
3231
3232 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * configure.ac: Bump to beta5.
3235
3236 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 Fix wrapped HFS+ handling.
3239
3240 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3241 blocks_start. All users updated.
3242 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3243 wrapping offset.
3244 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3245
3246 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 Fix long symlinks on reiserfs.
3249
3250 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3251 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3252 (grub_reiserfs_iterate_dir): Save size for non-directories.
3253 (grub_reiserfs_open): Don't reread stat block as we already know the
3254 size.
3255 (grub_reiserfs_read): Split into...
3256 (grub_reiserfs_read_real): ... and ...
3257 (grub_reiserfs_read): ...this.
3258
3259 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 Fix non-indexed JFS.
3262
3263 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3264 (grub_jfs_data): New field namecomponentlen.
3265 (grub_jfs_mount): Fill namecomponentlen.
3266 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3267
3268 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3271 * tests/grub_script_echo1.in: Add tests.
3272
3273 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * util/grub-install.in: Ignore empty devicetree directory.
3276
3277 2012-05-08 Bean <bean123ch@gmail.com>
3278
3279 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3280 All users updated.
3281 (free_rsm): Free header as well.
3282 (free_old_fragments): Fix memory leak.
3283 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3284 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3285 (destroy_pq): Likewise.
3286 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3287
3288 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3291 resulting hash as a precaution.
3292
3293 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3296 '_' in variable names.
3297 * grub-core/net/net.c (grub_net_network_level_interface_register):
3298 Likewise.
3299
3300 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3301
3302 Fix AFFS with non-512B blocks.
3303
3304 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3305 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3306 (grub_affs_data): Replace blocksize with log_blocksize.
3307 (grub_affs_read_block): Fix non-512B blocks.
3308 (grub_affs_read_symlink): Likewise.
3309 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3310 (grub_affs_read): Fix non-512B blocks.
3311 (grub_affs_label): Likewise.
3312 (grub_affs_mtime): Likewise.
3313 (grub_affs_mount): Fix block detection routine.
3314
3315 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Add filesystem mtime to AFFS.
3318
3319 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3320 (aftime2ctime): New function.
3321 (grub_affs_dir): Use aftime2ctime.
3322 (grub_affs_label): Fix return value.
3323 (grub_affs_mtime): New function.
3324 (grub_affs_fs): Add mtime.
3325
3326 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3329 UTF-8.
3330
3331 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3334 UTF-8.
3335
3336 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3339
3340 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3343 flags.
3344 (FLAGS_CASE_SENSITIVE): New enum value.
3345 (cache_entry): New struct.
3346 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3347 cache_size and cache.
3348 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3349 Add log_blocksize and fshelp_flags.
3350 (grub_sfs_read_extent): Handle non-512 blocks.
3351 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3352 (grub_sfs_read_file): Handle non-512 blocks.
3353 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3354 fshelp_flags.
3355 (grub_sfs_read_symlink): Handle non-512 blocks.
3356 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3357 (grub_sfs_dir): Free cache.
3358 (grub_sfs_close): Likewise.
3359
3360 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3363 filesystems.
3364
3365 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3368
3369 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3372
3373 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3376 (grub_sfs_read_extent): Likewise.
3377 (grub_sfs_read_block): Likewise.
3378 (grub_sfs_mount): Likewise.
3379 (grub_sfs_iterate_dir): Likewise.
3380 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3381 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3382
3383 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 Fix errors on compressed NTFS with 512B clusters.
3386
3387 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3388 types.
3389 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3390 not 0.
3391 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3392 Relax check for inline extents.
3393 (ntfscomp): Return correct -1 on error and not 0.
3394
3395 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * util/grub-install.in: Fix handling of prefix containing spaces.
3398
3399 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
3402 (grub_squash_read_data): Fix offset byte-swapping.
3403
3404 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
3407 per common usage and preffered in several parts of code.
3408 (grub_memcmp): Likewise.
3409 (grub_strncmp): Likewise.
3410 * include/grub/misc.h (grub_strcasecmp): Likewise.
3411 (grub_strncasecmp): Likewise.
3412 * Makefile.util.def (cmp_test): New test.
3413 (grub_script_strcmp): Likewise.
3414 * tests/cmp_unit_test.c: New file.
3415 * tests/grub_script_strcmp.in: Likewise.
3416 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
3417
3418 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * include/grub/pci.h: Move enums into no-asm part.
3421
3422 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
3425
3426 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3427
3428 * util/getroot.c (find_hurd_root_device): Try to make error message
3429 and comments to translators clearer.
3430
3431 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
3434
3435 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
3438 btrfs.
3439
3440 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * docs/grub.cfg: Update.
3443
3444 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * docs/grub.texi (PXE): Remove not present variables.
3447
3448 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/net/net.c (defserver_set_env): New function.
3451 (defserver_get_env): Likewise.
3452 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
3453
3454 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
3457 entries.
3458
3459 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
3462 * grub-core/kern/emu/hostdisk.c: Likewise.
3463
3464 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
3465
3466 Handle hurd userspace partitions.
3467
3468 * util/getroot.c (find_hurd_root_device): New function.
3469 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
3470
3471 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
3474 names.
3475 Reported by: Bastian Blank.
3476
3477 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
3480 crossing page boundary.
3481
3482 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 Fix B-tree search in BFS, especially in presence of non-ASCII
3485 characters.
3486
3487 * grub-core/fs/bfs.c (bfs_strcmp): New function.
3488 (find_in_b_tree): Use standard bsearch + btree algorithm.
3489
3490 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
3493 and so on.
3494
3495 2012-05-03 Matthew Garrett <mjg@redhat.com>
3496 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Suspend broadcom cards in order to stop their DMA.
3499
3500 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
3501 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
3502 (pci): Don't build on x86 EFI.
3503 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
3504 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
3505 New function.
3506 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
3507 stop_broadcom if running on EFI.
3508 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
3509 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
3510 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
3511 (grub_pci_find_capability): New proto.
3512
3513 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * docs/grub.texi: Remove dot from the extension as it apparently
3516 doesn't work with some makeinfo versions.
3517
3518 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
3521 with GRUB expectance.
3522
3523 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
3526
3527 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
3530 zero after directory block since last entry may be not 0-terminated if
3531 it ends on block boundary. Use continue instead of if spanning whole
3532 loop.
3533
3534 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Support 4K sectors UDF inline files.
3537
3538 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
3539 (grub_udf_extended_file_entry): Likewise.
3540 (grub_fshelp_node): Name the anonymous union. Put block at the end.
3541 All users updated.
3542 (get_fshelp_size): New function.
3543 (grub_udf_read_icb): Read whole block.
3544 (grub_udf_iterate_dir): Likewise.
3545 (grub_udf_dir): Likewise.
3546 (grub_udf_open): Likewise.
3547
3548 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
3551
3552 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
3555 inline symlinks in addition to workaround.
3556
3557 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
3560
3561 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
3564
3565 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
3568
3569 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 Fix reiserfs big seek times.
3572
3573 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
3574 exact. All users updated.
3575 (grub_reiserfs_read): Use nearest btree search for seeking.
3576 Fix return value on error.
3577
3578 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
3581 entries.
3582 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
3583 * docs/grub.texi: Update menuentry description.
3584
3585 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
3588 crash when embedding onto filesystem.
3589
3590 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
3593 name.
3594
3595 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
3598
3599 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
3602 commit.
3603
3604 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3605 2012-05-01 Bean <bean123ch@gmail.com>
3606
3607 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
3608
3609 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
3612 Special behaviour for len = 0 to read whole file isn't used anywhere and
3613 can cause buffer ovewrflows in several places.
3614
3615 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
3618
3619 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 Handle RAIDZ on non-512B sectors.
3622
3623 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
3624 max_children_ashift.
3625 (fill_vdev_info_real): Fill max_children_ashift.
3626 (read_device): Use max_children_ashift.
3627
3628 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
3631
3632 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
3635 disk names.
3636 * docs/grub.texi: Update device.map parts.
3637
3638 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Don't scan into non-diskfilter devices having diskfilter names.
3641
3642 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
3643 (scan_disk): New argument accept_diskfilter. Fix recursion depth
3644 handling.
3645 (scan_disk_hook): New function.
3646
3647 2012-04-29 Bean <bean123ch@gmail.com>
3648
3649 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
3650 allocation.
3651
3652 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
3653
3654 * configure.ac: Detect starfield theme font path
3655 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
3656
3657 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
3660 geometry on serial consoles.
3661
3662 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
3665 because of network consoles.
3666
3667 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
3670 handling.
3671
3672 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
3675 falls on Q syndrom.
3676
3677 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
3680 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
3681
3682 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
3685 Allocate at lest 8192 for temporary buffer as required for lzo.
3686
3687 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
3690 to cluster_bits, since it's already added in.
3691 (grub_fat_read_data): Likewise.
3692
3693 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
3696 as long as cluster size is multiple of 512 bytes.
3697
3698 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * util/grub-mkrescue.in: Fix locale directory.
3701
3702 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/kern/emu/hostdisk.c (map): Make static.
3705
3706 2012-04-23 Bean <bean123ch@gmail.com>
3707
3708 * util/grub-fstest.c (fstest): Add missing break.
3709
3710 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
3711
3712 Fix hurd build.
3713
3714 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
3715 not define nr variable.
3716 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
3717 find_root_devices_from_poolname, find_root_devices_from_libzfs,
3718 grub_find_device): Do not define.
3719
3720 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 Fix kfreebsd compile and behaviour.
3723
3724 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
3725 format-security.
3726 * util/getroot.c: Fix wait.h include.
3727 (grub_guess_root_devices): Error if grub_find_device fails.
3728 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
3729 (grub_util_get_dev_abstraction): Likewise.
3730 (grub_util_pull_device): Likewise.
3731 (grub_util_get_grub_dev): Likewise.
3732 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
3733
3734 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 Fix and unify wholedisk detection.
3737
3738 * util/getroot.c (convert_system_partition_to_system_disk): New argument
3739 is_part. All users updated.
3740 (device_is_wholedisk): Removed.
3741 (grub_util_biosdisk_get_grub_dev): Use is_part.
3742
3743 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
3746 mode.
3747
3748 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * configure.ac: Bump to beta4.
3751
3752 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
3755 --fs-uuid --set UUID syntax.
3756
3757 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
3760 disunification.
3761
3762 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
3765
3766 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
3767
3768 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
3769
3770 2012-04-18 Mike Gilbert <floppym@gentoo.org>
3771
3772 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
3773
3774 2012-04-18 Bean <bean123ch@gmail.com>
3775
3776 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
3777 place.
3778
3779 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
3782 users updated.
3783 (grub_util_biosdisk_read): Handle Linux partitions not exactly
3784 corresponding to GRUB partitions.
3785 (grub_util_biosdisk_write): Likewise.
3786
3787 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 Scan mdraid before LVM.
3790
3791 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
3792 (grub_diskfilter_register_front): ... this.
3793 (grub_diskfilter_register_back): New function.
3794 All users of grub_diskfilter_register updated.
3795
3796 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * util/grub-install.in: Fix an automatic target detection bug.
3799
3800 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * util/grub-install.in: New option --efi-directory.
3803
3804 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
3807 boot services if we have no other choice.
3808
3809 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * util/grub-mknetdir.in: Rename --override-directory to --directory and
3812 document it.
3813 * tests/util/grub-shell.in: Update to --directory.
3814
3815 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
3818
3819 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
3822 (grub_minix_read_file): Likewise.
3823 (grub_minix_read_inode): Likewise.
3824 (grub_minix_find_file): Likewise.
3825 (grub_minix_dir): Likewise.
3826
3827 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * util/grub-setup.c (setup): Fix partition handling and blocklist
3830 check.
3831
3832 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
3835 redundant buggy overlap check.
3836
3837 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
3840 and grub-mknetdir.
3841
3842 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
3845 kh.loadflags on pre-2.00 kernels.
3846
3847 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 Terminate UNDI and PXE before launching the payload to avoid problems
3850 with DMA.
3851
3852 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
3853 (grub_loader_flags): ... this. All users updated.
3854 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
3855 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
3856 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
3857 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
3858 function.
3859 (grub_pxe_restore): Likewise.
3860 (fini_hnd): New var.
3861 (GRUB_MOD_INIT): Register shutdown hook.
3862 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
3863 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
3864 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
3865 (grub_loader_set): Rename second argument to flags.
3866
3867 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
3870 written bytes.
3871 (grub_get_num_of_utf8_bytes): New function.
3872 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
3873 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
3874 executing it.
3875 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
3876 (grub_ucs4_to_utf8): Change return type.
3877
3878 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
3881 warning.
3882 * grub-core/fs/bfs.c (hop_level): Likewise.
3883 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
3884
3885 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/lib/adler32.c: Recode due to license unclearness.
3888
3889 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
3892 (test_header): Likewise.
3893
3894 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 Fix --help formatting.
3897
3898 * util/grub-mkconfig_lib.in (print_option_help): New function.
3899 (grub_fmt): Likewise.
3900 * util/grub-install.in: Use print_option_help and grub_fmt.
3901 * util/grub-kbdcomp.in: Likewise.
3902 * util/grub-mkconfig.in: Likewise.
3903 * util/grub-mknetdir.in: Likewise.
3904 * util/grub-mkrescue.in: Likewise.
3905 * util/grub-mkstandalone.in: Likewise.
3906 * util/grub-reboot.in: Likewise.
3907 * util/grub-set-default.in: Likewise.
3908 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3909
3910 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * linguas.sh: Remove autogenerated *.po.
3913
3914 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * po/README: Move language fetcing to ...
3917 * linguas.sh: ... here.
3918 * po/README: Point to linguas.sh.
3919
3920 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * po/README: Exclude ko.po due to disclaimer problems.
3923
3924 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
3927 len = 0.
3928 (grub_gettext_translate_real): Handle 0th string.
3929 (grub_gettext_translate): Ensure that "" isn't translated.
3930
3931 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
3934 TRANSLATORS comment.
3935 (grub_diskfilter_print_partmap): Propagate changing of error into
3936 warning.
3937
3938 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
3941 to uint64_t to prevent overflow.
3942 (grub_diskfilter_lv): Increase start_extent and extent_count
3943 to uint64_t to prevent overflow.
3944
3945 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * configure.ac: Increase version.
3948
3949 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
3952
3953 * po/Rules-translit: New file.
3954 * po/arabic.sed: Likewise.
3955 * po/cyrillic.sed: Likewise.
3956 * po/greek.sed: Likewise.
3957 * po/hebrew.sed: Likewise.
3958 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
3959 * po/Makefile.in.in: Add extra_dist4.
3960
3961 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 Handle big-endian minixfs (fixes minixfs tests on bigendian).
3964
3965 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
3966 modify names. Introduce MODE_BIGENDIAN.
3967 * grub-core/fs/minix_be.c: New file.
3968 * grub-core/fs/minix2_be.c: Likewise
3969 * grub-core/fs/minix3_be.c: Likewise.
3970 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
3971 minix3_be.
3972 * grub-core/Makefile.core.def (minix_be): New module.
3973 (minix2_be): Likewise.
3974 (minix3_be): Likewise.
3975
3976 2012-04-01 Felix <email@hamburg.de>
3977
3978 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
3979 (devs): Add MBP 2011.
3980
3981 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
3984
3985 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/normal/cmdline.c (print_completion): New field
3988 prompt_len.
3989 (grub_cmdline_get): Handle width properly.
3990
3991 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/commands/lsacpi.c (options): Add missing terminator.
3994
3995 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
3998 after 29th of February.
3999
4000 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Fix exfat endianness handling.
4003
4004 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4005 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4006 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4007 Byte-swap utf16 when necessary.
4008 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4009
4010 2012-03-31 Anton Blanchard <anton@samba.org>
4011 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Fix btrfs endianness handling.
4014
4015 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4016 (lower_bound): Make root uint64_t. Use root in le.
4017 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4018 (find_path): Fix template key init.
4019 (grub_btrfs_dir): Fix mtime byteswap.
4020 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4021
4022 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4025 recursion_depth. Break infinite resursions. All users updated.
4026
4027 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4030 after free.
4031 Reported by: Peter Jones.
4032
4033 2012-03-31 Anton Blanchard <anton@samba.org>
4034
4035 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4036 8 bit values.
4037
4038 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * util/grub-install.in: Fix nvram call for PreP.
4041
4042 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4045 the error when some elements are missing into a warning.
4046
4047 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4050
4051 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
4052
4053 * docs/grub.texi (Invoking grub-probe): New section.
4054 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4055
4056 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Fix tab and wide character handling in editor and menu.
4059
4060 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4061 agglomerate control characters with combining marks.
4062 (bidi_line_wrap): Allow break on tab.
4063 (grub_unicode_get_comb_start): New function.
4064 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4065 and tab correctly.
4066 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4067 with a space.
4068 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4069 fixed_tab_size. All users updated.
4070 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4071 (grub_term_getcharwidth): Handle \t.
4072 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4073 and copy.
4074
4075 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Handle big-endian mdraid.
4078
4079 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4080 * grub-core/Makefile.core.def (mdraid09_be): New module.
4081 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4082 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4083 * grub-core/disk/mdraid_linux_be.c: New file.
4084
4085 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4088
4089 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4092 missing quotes which caused confusion among translators.
4093
4094 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * util/grub-mkconfig_lib.in: Fix typo.
4097
4098 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4101 spaces.
4102 * tests/grub_script_leading_whitespace.in: New file.
4103 * Makefile.util.def (grub_script_leading_whitespace): New test.
4104
4105 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4108 to work.
4109
4110 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4113 starts with control character.
4114
4115 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4118 overflow.
4119 (grub_gdb_outbuf): Likewise.
4120
4121 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4124 zero terminator. Fixes a crash.
4125
4126 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4129 beyond 4 GiB.
4130 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4131 images independently of preffered adderss field.
4132
4133 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4136 * grub-core/commands/regexp.c: Likewise.
4137 * grub-core/loader/i386/linux.c: Likewise.
4138 * grub-core/partmap/msdos.c: Likewise.
4139 * grub-core/script/execute.c: Likewise.
4140 * grub-core/term/gfxterm.c: Likewise.
4141
4142 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Add variable parsing in $"..." and fix several mismatches with bash.
4145
4146 * Makefile.util.def (grub_script_gettext): New test.
4147 * grub-core/script/execute.c (parse_string): New function.
4148 (gettext_append): Likewise.
4149 (grub_script_arglist_to_argv): Use gettext_append.
4150 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4151 * tests/grub_script_gettext.in: New file.
4152
4153 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Fix handling of leading spaces in scripts.
4156
4157 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4158 spaces.
4159 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4160 other than skipping \r. All users updated.
4161 * tests/grub_script_echo1.in: Add space-related tests.
4162 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4163
4164 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4167
4168 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * configure.ac: Bump up the version to beta2.
4171
4172 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 Fix gettext reload bugs (e.g. inability to disable gettext
4175 once enabled).
4176
4177 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4178 main_context and secondary_context. All functions updated.
4179 (grub_gettext_translate): Rename to ...
4180 (grub_gettext_translate_real): ... this. Return NULL on failed
4181 translate.
4182 (grub_gettext_translate): Handle secondary context.
4183 (grub_gettext_delete_list): Close file and zero-out the context.
4184 (grub_mofile_open): Don't call grub_gettext_delete_list.
4185 Don't close file.
4186 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4187 if locale="" to avoid pointless error message.
4188 (grub_gettext_env_write_lang): Update lang even if load fails.
4189 Handle secondary context.
4190 (grub_gettext_reread_prefix): New function.
4191 (read_main): Likewise.
4192 (read_secondary): Likewise.
4193 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4194 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4195 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4196 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4197
4198 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * configure.ac: Decrease warning level to avoid spurious warnings and
4201 to be able to compile with GCC 4.2.
4202 * Makefile.util.def: Remove -Wno-error=logical-op.
4203
4204 2012-03-10 William Bittner <william.bittner@gmail.com>
4205
4206 * util/import_unicode.py: Add missing brackets around string for
4207 python 3 support.
4208
4209 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 Fix efi chainloader on network root.
4212
4213 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4214 network devices.
4215 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4216 New function.
4217
4218 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4221 unused show_text member.
4222 * docs/grub.texi: Document "text" property.
4223
4224 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4227 in dprintf.
4228
4229 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 Fix IMSM handling on Fedora.
4232
4233 * util/getroot.c (grub_util_is_imsm): New function.
4234 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4235
4236 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * Makefile.am: Strip gold section.
4239 * conf/Makefile.common: Likewise.
4240 * gentpl.py: Likewise.
4241 * grub-core/Makefile.core.def: Likewise.
4242 * grub-core/genmod.sh.in: Likewise.
4243
4244 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4247 * util/grub.d/20_linux_xen.in: Likewise.
4248 Based on Debian patch.
4249
4250 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * util/grub.d/10_linux.in: Fix syntax error resulting in
4253 Richard Laager's patch.
4254 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4255
4256 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4259 dependencies.
4260
4261 2012-03-10 Richard Laager <rlaager@wiktel.com>
4262
4263 * util/grub.d/10_linux.in: Fix ZFS root passing.
4264
4265 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4268 * grub-core/commands/xnu_uuid.c: Likewise.
4269 * grub-core/loader/efi/appleloader.c: Likewise.
4270 * grub-core/script/execute.c: Likewise.
4271 * grub-core/script/main.c: Likewise.
4272 * util/grub-mkfont.c: Likewise.
4273
4274 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * util/grub-mkfont.c (options): Use more appropriate "select" that
4277 "set" for face index.
4278
4279 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * util/grub-editenv.c (options): Gettextize command summaries.
4282
4283 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4286 "out of memory" error messagge.
4287
4288 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4291 of diskfilter for diskfilter on diskfilter support.
4292
4293 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4296
4297 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4300 themes/starfield.
4301
4302 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4305
4306 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4309
4310 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4313 of error message.
4314
4315 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4318
4319 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4322 message.
4323 * util/grub-install.in: Fix and gettextize error message.
4324
4325 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4328 Gettextize.
4329 * util/grub-mount.c (options): Likewise.
4330
4331 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4334 gettextize.
4335 * grub-core/commands/search_wrap.c (options): Likewise.
4336
4337 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4340
4341 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4344 size calculation.
4345 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4346 none is known.
4347
4348 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4351 "temporary" since it's used in identifier and is limited in space.
4352
4353 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * po/POTFILES.in: Regenerate. Include *.h since they contain
4356 translatable strings as well.
4357
4358 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4361 byte-swap on big-endian.
4362 Reported by: Lennart Sorensen
4363
4364 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4367 (allocate_pages): Improve dprintf.
4368 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4369 code32_start. Fill code32_start and kernel_alignment in params.
4370 (grub_cmd_initrd): Use prot_init_space.
4371
4372 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4375
4376 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * util/grub-install.in: Add missing dot at the end of sentence.
4379
4380 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4383 * grub-core/commands/videotest.c: Likewise.
4384 * grub-core/loader/i386/linux.c: Likewise.
4385
4386 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4389 sentence.
4390 Reported by: Milo Casagrande.
4391
4392 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4395 * grub-core/commands/gptsync.c: Likewise.
4396 * grub-core/commands/hashsum.c: Likewise.
4397 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4398 * grub-core/commands/legacycfg.c: Likewise.
4399 * grub-core/io/gzio.c: Likewise.
4400 * grub-core/net/net.c: Likewise.
4401 * grub-core/term/gfxterm.c: Likewise.
4402 * grub-core/term/terminfo.c: Likewise.
4403 * grub-core/tests/test_blockarg.c: Likewise.
4404 * grub-core/video/video.c: Likewise.
4405 * util/grub-install.in: Likewise.
4406 * util/grub-mkfont.c: Likewise.
4407
4408 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
4411
4412 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/commands/search_wrap.c (options): Fix a typo.
4415 Reported by: David Prévot.
4416
4417 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
4420 description.
4421
4422 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * util/grub-script-check.c (main): Fix a syntax error message which was
4425 unclear.
4426
4427 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
4430
4431 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
4434 messages.
4435
4436 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
4439 without argument.
4440 * util/grub-mount.c (options): Likewise.
4441
4442 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
4445
4446 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/net/http.c: Add TRANSLATORS comments.
4449 * grub-core/normal/cmdline.c: Likewise.
4450 * grub-core/normal/misc.c: Likewise.
4451 * grub-core/partmap/msdos.c: Likewise.
4452 * grub-core/parttool/msdospart.c: Likewise.
4453 * grub-core/script/execute.c: Likewise.
4454 * grub-core/script/main.c: Likewise.
4455 * grub-core/term/terminfo.c: Likewise.
4456 * grub-core/video/bitmap.c: Likewise.
4457 * util/grub-install.in: Likewise.
4458 * util/grub-mkimage.c: Likewise.
4459 * util/grub-mklayout.c: Likewise.
4460 * util/grub-setup.c: Likewise.
4461
4462 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
4465 with similar messages in grub-fstest.
4466
4467 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/grub-install.in: Unify "option requires an argument" message
4470 with similar messages in other files.
4471 * util/grub-mkconfig.in: Likewise.
4472
4473 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub-set-default.in: Replace printf with gettext_printf (the
4476 string in in question is already translated from grub-reboot)
4477
4478 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * configure.ac: Bump up the version to beta1.
4481
4482 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
4485 case when min_align = 0.
4486
4487 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
4490 and fix a case when line_start overflows.
4491
4492 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/grub-reboot.in (usage): Mention id posibility.
4495 * util/grub-set-default.in (usage): Likewise.
4496
4497 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
4500 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
4501 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4502 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4503 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4504 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4505 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4506
4507 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/commands/menuentry.c (options): Remove
4510 GRUB_ARG_OPTION_REPEATABLE.
4511 Reported by: Andreas Vogel
4512
4513 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
4514
4515 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
4516
4517 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
4518
4519 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
4520 error.
4521
4522 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 Use sort -V by the idea of Georgi Georgiev.
4525
4526 * util/grub-mkconfig_lib.in (version_sort): New function.
4527 (version_test_numeric): Use version_sort.
4528
4529 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Use submenus in grub-mkconfig.
4532
4533 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
4534 * util/grub-mkconfig_lib.in (grub_quote): New function.
4535 (gettext_printf): Use gettext and not gettext_quoted to fix several
4536 messages.
4537 * util/grub.d/10_hurd.in: Use submenus.
4538 * util/grub.d/10_kfreebsd.in: Likewise.
4539 * util/grub.d/10_linux.in: Likewise.
4540 * util/grub.d/10_netbsd.in: Likewise.
4541 * util/grub.d/20_linux_xen.in: Likewise.
4542 * util/grub.d/30_os-prober.in: Likewise.
4543 * util/grub.d/10_illumos.in: Add missing quoting.
4544 * util/grub.d/10_windows.in: Likewise.
4545
4546 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 Fix menu title instability bug.
4549
4550 * grub-core/commands/menuentry.c (options): New option --id.
4551 (grub_normal_add_menu_entry): New argument id. All users updated.
4552 (grub_cmd_menuentry): Handle --id.
4553 (grub_menu_init): Accept unknown arguments.
4554 * grub-core/normal/main.c (features): Add feature_menuentry_id and
4555 feature_menuentry_options.
4556 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
4557 saved_entry.
4558 (get_entry_number): Match with id as well.
4559 * include/grub/menu.h (grub_menu_entry): New member id.
4560 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
4561 * util/grub.d/00_header.in: Define menuentry_id_option.
4562 * util/grub.d/10_hurd.in: Define id.
4563 * util/grub.d/10_illumos.in: Likewise.
4564 * util/grub.d/10_kfreebsd.in: Likewise.
4565 * util/grub.d/10_linux.in: Likewise.
4566 * util/grub.d/10_netbsd.in: Likewise.
4567 * util/grub.d/10_windows.in: Likewise.
4568 * util/grub.d/20_linux_xen.in: Likewise.
4569 * util/grub.d/30_os-prober.in: Likewise.
4570
4571 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
4574 "scope" with "body".
4575
4576 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
4579 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
4580 prot_size and prot_file_size.
4581
4582 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
4585 All users updated. If easily=1 require raid-5/-6 to be full.
4586 (is_node_readable): Likewise.
4587 (scan_devices): Scan incomplete but readable LVs at the end.
4588 (grub_diskfilter_memberlist): Pull missing devices.
4589 (insert_array): Skip scanning until device is complete or scan is
4590 done otherwise.
4591 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
4592 check.
4593 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
4594 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
4595
4596 2012-03-03 Matthew Garrett <mjg@redhat.com>
4597 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 Avoid EFI boot services when loading Linux.
4600
4601 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
4602 avoid_efi_bootservices. All users updated.
4603 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
4604 argument avoid_efi_bootservices. All users updated.
4605 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
4606 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
4607 align, min_align, relocatable, prefered_address. All users updated.
4608 Allocate avoiding boot services if kernel is relocatable.
4609 (grub_cmd_linux): Check if kernel is relocatable.
4610 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
4611 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
4612 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
4613 avoid_efi_boot_services.
4614 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
4615 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
4616 (linux_kernel_params): Likewise.
4617
4618 2012-03-03 Matthew Garrett <mjg@redhat.com>
4619 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Use EDID on EFI.
4622
4623 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
4624 datasize_out.
4625 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
4626 modes. Set gop_handle.
4627 (grub_video_gop_get_edid): New function.
4628 (grub_gop_get_preferred_mode): Likewise.
4629 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
4630 (grub_video_efi_gop_adapter): Set .get_edid.
4631 * include/grub/efi/edid.h: New file.
4632 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
4633
4634 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub-install.in: Load efivars unconditionally.
4637
4638 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * po/Rules-piglatin: Change suffix from .po-update-en to
4641 .po-update-en-piglatin.
4642
4643 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Add a pig farm.
4646
4647 * po/piglatin.sed: New file.
4648 * po/en@piglatin.header: Likewise.
4649 * po/Rules-piglatin: Likewise.
4650 * po/README: Add en@piglatin to autogenerated languages.
4651
4652 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
4655 "Command for ...".
4656 * grub-core/commands/hdparm.c (options): Use "Display" rather than
4657 "Check" since we don't check anything.
4658 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
4659 is 64-bit one.
4660 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
4661 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
4662 (grub_md_sha512_real): Likewise.
4663
4664 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/commands/gptsync.c: Fix typographic quoting.
4667 * grub-core/commands/ieee1275/suspend.c: Likewise.
4668 * grub-core/commands/parttool.c: Likewise.
4669 * grub-core/commands/search_wrap.c: Likewise.
4670 * grub-core/commands/videoinfo.c: Likewise.
4671 * grub-core/gfxmenu/gui_label.c: Likewise.
4672 * grub-core/hello/hello.c: Likewise.
4673 * grub-core/kern/emu/main.c: Likewise.
4674 * grub-core/net/net.c: Likewise.
4675 * grub-core/normal/menu.c: Likewise.
4676 * grub-core/normal/menu_text.c: Likewise.
4677 * grub-core/normal/misc.c: Likewise.
4678 * util/grub-editenv.c: Likewise.
4679 * util/grub-install.in: Likewise.
4680 * util/grub-kbdcomp.in: Likewise.
4681 * util/grub-mkconfig.in: Likewise.
4682 * util/grub-mknetdir.in: Likewise.
4683 * util/grub-mkrescue.in: Likewise.
4684 * util/grub-mkstandalone.in: Likewise.
4685 * util/grub-reboot.in: Likewise.
4686 * util/grub-set-default.in: Likewise.
4687 * util/grub-setup.c: Likewise.
4688 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4689
4690 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
4693 * grub-core/commands/keystatus.c: Likewise.
4694 * grub-core/commands/loadenv.c: Likewise.
4695 * grub-core/commands/probe.c: Likewise.
4696 * grub-core/commands/regexp.c: Likewise.
4697 * grub-core/commands/true.c: Likewise.
4698 * grub-core/commands/videoinfo.c: Likewise.
4699 * grub-core/disk/cryptodisk.c: Likewise.
4700 * grub-core/disk/ldm.c: Likewise.
4701 * grub-core/disk/loopback.c: Likewise.
4702 * grub-core/disk/luks.c: Likewise.
4703 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4704 * grub-core/kern/disk.c: Likewise.
4705 * grub-core/kern/emu/hostdisk.c: Likewise.
4706
4707 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
4710 * util/grub-install.in: Add missing quote in the comment.
4711
4712 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
4715 * grub-core/commands/lsmmap.c: Likewise.
4716 * grub-core/commands/minicmd.c: Likewise.
4717 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4718 * grub-core/commands/regexp.c: Likewise.
4719 * grub-core/gdb/gdb.c: Likewise.
4720 * grub-core/term/gfxterm.c: Likewise.
4721 * util/grub-mkconfig.in: Likewise.
4722 * util/grub-mkfont.c: Likewise.
4723 * util/grub-mklayout.c: Likewise.
4724 * util/grub-mknetdir.in: Likewise.
4725 * util/grub-mkrescue.in: Likewise.
4726 * util/grub.d/30_os-prober.in: Likewise.
4727
4728 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
4731 with "Direct color" and "Packed" with "Packed pixel".
4732 (grub_cmd_videoinfo): Simplify legend.
4733
4734 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4737 absolutely unclear error message.
4738
4739 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * util/grub-mkstandalone.in: Remove confusing leftover print.
4742
4743 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
4746 comments.
4747 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
4748 (GRUB_MOD_INIT): Likewise.
4749 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
4750 VGA mode.
4751 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
4752 comments.
4753 * util/grub-install.in (usage): Likewise.
4754 Spell ID in whole letters.
4755 Add missing ending dot.
4756 Quote variables.
4757 * util/grub-reboot.in: Fix capitalisation.
4758 * util/grub-set-default.in: Likewise.
4759
4760 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
4763 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
4764 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
4765 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
4766 Disable -Werror for -Wdeprecated-declarations.
4767 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
4768 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
4769 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
4770 (grub_util_get_grub_dev): Make luks handling dependent on
4771 HAVE_DEVICE_MAPPER and not __linux__.
4772 (get_win32_path): Fix format security.
4773 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
4774 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
4775 Don't try grub_find_zpool_from_dir.
4776 (grub_make_system_path_relative_to_its_root) [!__linux__]:
4777 #ifdef-out paresdir.
4778
4779 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * util/grub-pe2elf.c (usage): Add missing noreturn.
4782 (write_section_data): Rename name to shname to avoid shadowing.
4783 (write_symbol_table): Rename name to symname to avoid shadowing.
4784 Fix write_reloc_section call.
4785
4786 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
4789 to ensure that it's after the last byte of .text.
4790
4791 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * util/ieee1275/ofpath.c (my_isdigit): New function.
4794 (trailing_digits): Use my_isdigit.
4795 (strip_trailing_digits): Likewise.
4796
4797 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
4800 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
4801
4802 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/kern/i386/pc/startup.S: Define __start.
4805
4806 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
4809 strip already transforms he format.
4810
4811 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
4814
4815 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * util/grub-install.in: Add missing gettext init.
4818 * util/grub-kbdcomp.in: Likewise.
4819 * util/grub-mkconfig.in: Likewise.
4820 * util/grub-mknetdir.in: Likewise.
4821 * util/grub-mkrescue.in: Likewise.
4822 * util/grub-mkstandalone.in: Likewise.
4823 * util/grub-reboot.in: Likewise.
4824 * util/grub-set-default.in: Likewise.
4825 * util/grub.d/00_header.in: Likewise.
4826 * util/grub.d/10_hurd.in: Likewise.
4827 * util/grub.d/10_windows.in: Likewise.
4828 * util/grub.d/30_os-prober.in: Likewise.
4829 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4830
4831 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * po/Rules-swiss: Fix header comment.
4834
4835 2012-02-29 Andreas Vogel <anvoit>
4836
4837 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
4838 resulted in leak of arguments.
4839
4840 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/boot/i386/pc/startup_raw.S: Use separate
4843 reed_solomon_size const definition instead of computing it since
4844 Apple assembler doesn't support the later.
4845
4846 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * gentpl.py (kernel): Rewrite Apple part.
4849
4850 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * include/grub/kernel.h (FOR_MODULES): Check module magic.
4853
4854 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * util/grub-mkimagexx.c (locate_sections): Support non-standard
4857 ELF section gap.
4858 (load_image): Likewise.
4859
4860 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * configure.ac: Fix a typo in previous commit.
4863
4864 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 Don't add -Wl,-N on Apple platform.
4867
4868 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
4869 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
4870
4871 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/Makefile.core.def (lzma_decompress): Use
4874 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
4875
4876 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/genmod.sh.in: Rewrite the Apple part.
4879
4880 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
4883 comparison.
4884
4885 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * acinclude.m4 (grub_CHECK_PIC): New test.
4888 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
4889
4890 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
4893 to avoid the warning.
4894
4895 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
4898 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
4899 after. All users updated.
4900
4901 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 Use the common size routine in hostfs so we can read disks as well.
4904
4905 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
4906 (grub_util_get_fd_size): ... this. Return size in bytes.
4907 All users updated.
4908 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
4909 grub_util_get_fd_size.
4910
4911 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
4914 Add blocksize retrieval.
4915
4916 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * configure.ac: Restore CFLAGS after efiemu check.
4919
4920 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
4923 Apple bug.
4924
4925 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
4928
4929 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
4932 (grub_cmd_halt): Likewise.
4933
4934 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
4937 for local arithmetics.
4938 Break %sp init into 2 instructions.
4939 Add 0 byte at the end.
4940
4941 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/disk/diskfilter.c (read_segment): Initialise err
4944 before loops.
4945
4946 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
4949 for context.
4950
4951 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/disk/ldm.c (make_vg): Init part.name.
4954 (grub_ldm_detect): Silence spurious warning.
4955 (grub_util_is_ldm): Likewise.
4956
4957 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
4960 sane value to avoid a spurious warning.
4961
4962 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
4965 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
4966
4967 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
4970 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
4971
4972 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
4975 hardcoding the relevant info.
4976
4977 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
4980 missing const qualifiers.
4981 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
4982
4983 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * util/getroot.c [__APPLE__]: Add missing includes.
4986 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
4987
4988 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * util/grub-mkimage.c (generate_image): Silence spurious warning.
4991
4992 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
4995 avoid conflicts.
4996
4997 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5000
5001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5004 and grub_file_close call.
5005
5006 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 Add LZSS Mach-O support (needed for new xnu kernelcache).
5009
5010 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5011 * grub-core/loader/lzss.c: New file.
5012 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5013 on Mach-O open failure.
5014 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5015 Don't free cmdsXX in uncompressedXX is set.
5016 (grub_macho_file): Init new fields.
5017 New argument is_64bit. All users updated.
5018 Handle compressed. Error out if no suitable architecture is found.
5019 Don't close file.
5020 (grub_macho_open): New argument is_64bit. All users updated.
5021 * grub-core/loader/macho32.c: Add defines for new fields.
5022 * grub-core/loader/macho64.c: Likewise.
5023 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5024 (grub_macho_parse): Handle compressed.
5025 Defer actual processing if compressed.
5026 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5027 "filename". All users updated.
5028 (grub_macho_size): New argument "filename". All users updated.
5029 (grub_macho_get_entry_point): Likewise.
5030 (grub_macho_load): Handle compressed.
5031 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5032 (GRUB_MACHO_LZSS_OFFSET): New define.
5033 (grub_decompress_lzss): New proto.
5034 * include/grub/machoload.h (grub_macho_file): New fields to handle
5035 compressed.
5036 (grub_macho_contains_macho64): Remove proto.
5037 (grub_macho_contains_macho32): Likewise.
5038 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5039
5040 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5043
5044 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 Fix make dist.
5047
5048 * Makefile.am (starfield_theme_files): New var.
5049 (starfield_DATA): Use starfield_theme_files.
5050 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5051 Add bootcheck-related files.
5052 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5053 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5054 and font_char_metrics.txt.
5055 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5056 (setjmp): Add lib/ia64/longjmp.S.
5057 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5058 * po/POTFILES.in: Regenerate.
5059 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5060 DISTFILES.common.extra1.
5061 * util/devicemap.c: Removed.
5062 * grub-core/lib/i386/relocator_backward.S: Likewise.
5063 * util/import_gcry.py: Remove unused files. Add extra_dist for
5064 ChangeLog.
5065
5066 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5069 grub_gettext_delete_list before changing grub_gettext_max to avoid
5070 running out of array bounds.
5071
5072 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5075 grub_vga_text_init/grub_vga_text_fini.
5076
5077 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5080
5081 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * configure.ac: Bump to 2.00~beta0.
5084
5085 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5088 missing initialisation.
5089
5090 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5093
5094 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 Support v2 xnu boot arguments.
5097
5098 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5099 New argument fsbfreq_out.
5100 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5101 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5102 be used.
5103 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5104 darwin_version.
5105 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5106 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5107 (grub_xnu_boot_params): Rename to ...
5108 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5109 (grub_xnu_boot_params_v2): New struct.
5110
5111 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5114 zeroing of CRC field before computing CRC.
5115
5116 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5119 Change order of allocations to decrease fragmentation.
5120
5121 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5124
5125 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
5126
5127 Use write-combining MTRR to speed up video with buggy BIOSes.
5128
5129 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5130 (cpuid): New define.
5131 (rdmsr): Likewise.
5132 (wrmsr): Likewise.
5133 (mtrr_base): Likewise.
5134 (mtrr_mask): Likewise.
5135 (grub_vbe_enable_mtrr_entry): New function.
5136 (grub_vbe_enable_mtrr): Likewise.
5137 (grub_vbe_disable_mtrr): Likewise.
5138 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5139 control off to BIOS.
5140 (grub_video_vbe_init): Fill mtrr.
5141 (grub_video_vbe_fini): Disable mtrr.
5142 (grub_video_vbe_get_info_and_fini): Likewise.
5143 (grub_video_vbe_setup): Enable mtrr.
5144
5145 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
5146
5147 * include/grub/partition.h (grub_partition_map): Change prototype of
5148 embed to take a maximum value for nsectors.
5149 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5150 * include/grub/fs.h (grub_fs): Likewise.
5151 * grub-core/partmap/msdos.c (embed_signatures): New array.
5152 (pc_partition_map_embed): Check for and avoid sectors matching any
5153 of the signatures in embed_signatures, up to max_nsectors.
5154 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5155 returned sector map to max_nsectors.
5156 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5157 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5158 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5159 * util/grub-setup.c (setup): Allow for the embedding area being
5160 split into multiple blocklists. Tell dest_partmap->embed the
5161 maximum number of sectors we care about.
5162
5163 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5166 Specify blocklist_install and reserver_first_sector for all fs.
5167 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5168 blocklists.
5169
5170 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * util/grub-install.in: Clarify strings.
5173 Fix source dir check.
5174
5175 2012-02-27 Richard Laager <rlaager@wiktel.com>
5176
5177 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5178 "zfs" and "fuse.zfs" as synonyms.
5179
5180 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * configure.ac: Put platform and target_cpu substitutions back since
5183 they are used for directories.
5184
5185 2012-02-27 Richard Laager <rlaager@wiktel.com>
5186 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5189 * util/grub.d/20_linux_xen.in: Likewise.
5190
5191 2012-02-27 Richard Laager <rlaager@wiktel.com>
5192
5193 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5194 with full paths.
5195
5196 2012-02-27 Richard Laager <rlaager@wiktel.com>
5197
5198 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5199 unescape.
5200
5201 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Don't use insecure popen in getroot.
5204
5205 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5206 (exec_pipe): ... here.
5207 (find_root_devices_from_poolname): Use exec_pipe.
5208
5209 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Remove platform and target_cpu replacement.
5212
5213 * configure.ac: Remove platform and target_cpu substitutions.
5214 * tests/util/grub-shell.in: Use modinfo.
5215 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5216 explicitly.
5217
5218 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 Autodetect platform in grub-install but allow override.
5221
5222 * util/grub-install.in: Autodetect platform. Support --target and
5223 --directory. Read platform from modinfo.sh.
5224
5225 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 Support btrfs multi-volume probe.
5228
5229 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5230 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5231 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5232 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5233 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5234 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5235 grub_find_root_devices_from_btrfs if on btrfs.
5236
5237 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Remove any awareness of *.c util files about target.
5240
5241 * Makefile.util.def (grub-setup): Split to ...
5242 (grub-bios-setup): ... and this.
5243 (grub-sparc64-setup): ... and this.
5244 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5245 * docs/man/grub-setup.h2m: Split into ...
5246 * docs/man/grub-sparc64-setup.h2m: ... this.
5247 * docs/man/grub-bios-setup.h2m: ... and this.
5248 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5249 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5250 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5251 (grub_target_addr_t): Remove.
5252 (grub_target_size_t): Remove.
5253 (grub_target_ssize_t): Remove.
5254 * util/grub-install.in: Use new grub-*-setup.
5255 * util/grub-mkimagexx.c (Elf_Word): New define.
5256 (Elf_Half): Likewise.
5257 (Elf_Section): Likewise.
5258 (ELF_ST_TYPE): Likewise.
5259 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5260 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5261
5262 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 Replace grub_target_addr with more appropriate types.
5265
5266 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5267 grub_target_addr with grub_addr.
5268 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5269 grub_target_addr with grub_port.
5270 (grub_cmd_write): Likewise.
5271 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5272 grub_target_addr with grub_addr.
5273 (grub_cmd_write): Likewise.
5274 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5275
5276 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5279 const qualifier for vendor_guid.
5280
5281 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5284 const qualifier.
5285 (efiemu_memequal): Likewise.
5286 (find_variable): Likewise.
5287
5288 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Fix missing console prototype on qemu-mips.
5291
5292 * include/grub/mips/qemu_mips/console.h: New file.
5293
5294 2012-02-27 Matthew Garrett <mjg@redhat.com>
5295 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5298 * include/grub/efi/efi.h: Likewise.
5299 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5300 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5301 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5302 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5303 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5304 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5305
5306 2012-02-27 Matthew Garrett <mjg@redhat.com>
5307
5308 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5309
5310 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5313 error.
5314
5315 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * configure.ac: Remove inappropriate use of program_transform_name
5318 on grubdir and bootdir but allow explicit specification of those
5319 variables.
5320
5321 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * util/grub-mknetdir.in (grub_prefix): Removed.
5324 (subdir): Use @bootdirname@ and @grubdirname@.
5325
5326 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5329
5330 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * po/POTFILES.in: Regenerated.
5333
5334 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 Remove improper use of program_transform_name on pkglibrootdir.
5337
5338 * configure.ac (pkglibrootdir): Removed.
5339 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5340 * util/grub-mkimage.c: Likewise.
5341
5342 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5345 warning.
5346
5347 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * util/grub-install.in: Use file identifier if no UUID is available
5350 or user explicitly prompted for it.
5351
5352 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
5353
5354 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5355 (freebsd_get_zfs): New function.
5356 (grub_freebsd_boot): Pass zfs UUID.
5357 (grub_cmd_freebsd): Set zfs UUID.
5358
5359 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5362 pkglibrootdir.
5363
5364 2012-02-27 Mike Gilbert <floppym@gentoo.org>
5365
5366 Add configure flag to control libzfs integration.
5367
5368 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5369
5370 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5373 device.
5374 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5375 small devices.
5376
5377 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5380 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5381 be used on non-modules.
5382
5383 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5384 Rename to grub_boot_init.
5385 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5386 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5387 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5388 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5389 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5390 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5391 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5392 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5393 includes.
5394 (grub_machine_init): Remove empty inits.
5395 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
5396 includes.
5397 (grub_machine_init): Remove empty inits.
5398 * grub-core/term/arc/console.c: Remove explicit proto.
5399 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
5400 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
5401 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5402 grub_at_keyboard_fini.
5403 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
5404 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
5405 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5406 grub_gfxterm_fini.
5407 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
5408 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
5409 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5410 grub_vgatext_fini.
5411 * grub-core/term/ieee1275/console.c: Remove explicit proto.
5412 * grub-core/term/serial.c (GRUB_MOD_INIT)
5413 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
5414 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5415 grub_serial_fini.
5416 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
5417 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
5418 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
5419 grub_terminfo_fini.
5420 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
5421 (GRUB_MOD_FINI): Likewise.
5422 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
5423 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
5424 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5425 grub_video_radeon_fuloong2e_fini.
5426 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
5427 [LOONGSON]: Rename to grub_video_sis315pro_init.
5428 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5429 grub_video_sis315pro_fini.
5430 * grub-core/video/sm712.c (GRUB_MOD_INIT)
5431 [LOONGSON]: Rename to grub_video_sm712_init.
5432 (GRUB_MOD_FINI) [LOONGSON]: Rename to
5433 grub_video_sm712_fini.
5434 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
5435 (grub_at_keyboard_fini): Likewise.
5436 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
5437 Don't declare grub_{modname}_init.
5438 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
5439 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
5440 New proto.
5441 (grub_keylayouts_fini) [!EMU]: Likewise.
5442 * include/grub/serial.h (grub_serial_init) [!EMU]:
5443 New proto.
5444 (grub_serial_fini) [!EMU]: Likewise.
5445 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
5446 New proto.
5447 (grub_terminfo_fini) [!EMU]: Likewise.
5448 * include/grub/video.h (grub_font_init) [!EMU]:
5449 New proto.
5450 (grub_font_fini) [!EMU]: Likewise.
5451 (grub_gfxterm_init) [!EMU]: Likewise.
5452 (grub_gfxterm_fini) [!EMU]: Likewise.
5453 (grub_video_sm712_init) [!EMU]: Likewise.
5454 (grub_video_sm712_fini) [!EMU]: Likewise.
5455 (grub_video_sis315pro_init) [!EMU]: Likewise.
5456 (grub_video_sis315pro_fini) [!EMU]: Likewise.
5457 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
5458 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
5459
5460 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 Make nand a prefix for nand devices.
5463
5464 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
5465
5466 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
5469 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
5470
5471 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * include/grub/env.h (grub_env_find): Remove prototype.
5474 * grub-core/kern/env.c (grub_env_find): Make static.
5475 (grub_env_set): Remove useless set.
5476
5477 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/kern/i386/realmode.S: Remove useless align.
5480
5481 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * include/grub/dl.h (grub_dl_load_file): Don't export.
5484
5485 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
5488 grub_dprintf.
5489
5490 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
5493 grub_errors.
5494 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
5495 not reloading whole superblock but only the part which is really needed.
5496 Remove useless grub_errors.
5497 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
5498 grub_errors.
5499
5500 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Don't export grub_get_rtc.
5503
5504 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
5505 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
5506
5507 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
5510
5511 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
5514 argument since it can be deduced from diskfilter. All users updated.
5515
5516 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 Remove prio_list.
5519
5520 * include/grub/list.h (grub_prio_list): Removed.
5521 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
5522 GRUB_COMMAND_PRIO_MASK.
5523 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
5524 GRUB_COMMAND_FLAG_ACTIVE.
5525 (grub_prio_list_insert): Removed.
5526 (grub_prio_list_remove): Likewise.
5527 (GRUB_AS_PRIO_LIST): Likewise.
5528 (GRUB_AS_PRIO_LIST_P): Likewise.
5529 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
5530 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
5531 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
5532 * grub-core/kern/command.c (grub_register_command_prio): Inline
5533 the prio_list code.
5534 (grub_unregister_command): Likewise.
5535
5536 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 Fix interrupt mixup from previous commit.
5539
5540 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
5541 (grub_realidt): New var.
5542 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
5543 Load idt.
5544 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
5545 New declaration.
5546 (grub_relocator16_boot): Set grub_relocator16_idt.
5547 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
5548 (LOCAL(realidt)): ... this.
5549 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
5550 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
5551 (grub_realidt): New variable.
5552
5553 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
5556 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
5557 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
5558 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
5559 Gettextize.
5560 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
5561 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
5562 * po/POTFILES.in: Regenerate.
5563
5564 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
5567 errors.
5568
5569 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
5572 \0.
5573 (add_length): Likewise.
5574
5575 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5576 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
5577
5578 GDB serial and backtrace support.
5579
5580 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
5581 (prot_to_real): Likewise.
5582 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
5583 * grub-core/Makefile.core.def (backtrace): New module.
5584 (gdb): Likewise.
5585 * grub-core/gdb/cstub.c: New file.
5586 * grub-core/gdb/gdb.c: Likewise.
5587 * grub-core/gdb/i386/idt.c: Likewise.
5588 * grub-core/gdb/i386/machdep.S: Likewise.
5589 * grub-core/gdb/i386/signal.c: Likewise.
5590 * grub-core/lib/i386/backtrace.c: Likewise.
5591 * grub-core/lib/backtrace.c: Likewise.
5592 * include/grub/backtrace.h: Likewise.
5593 * include/grub/gdb.h: Likewise.
5594 * include/grub/i386/gdb.h: Likewise.
5595
5596 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
5599 New function.
5600 (add_length): Likewise.
5601 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
5602 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
5603 proto.
5604 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
5605 __argp_get_display_len.
5606
5607 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 $"..." support in scripts.
5610
5611 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
5612 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
5613 * grub-core/script/yylex.l: Likewise.
5614 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
5615 value.
5616
5617 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * gentpl.py: Remove obsolete pkglib_DATA handling.
5620
5621 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 Don't transform PACKAGE_TARNAME following a discussion on autoconf
5624 mailing list.
5625
5626 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
5627 * util/grub-kbdcomp.in: Likewise.
5628 * util/grub-mkconfig.in: Likewise.
5629 * util/grub-mkconfig_lib.in: Likewise.
5630 * util/grub-mknetdir.in: Likewise.
5631 * util/grub-mkrescue.in: Likewise.
5632 * util/grub-mkstandalone.in: Likewise.
5633 * util/grub-reboot.in: Likewise.
5634 * util/grub-set-default.in: Likewise.
5635 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5636
5637 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 Remove GRUB_PREFIX.
5640
5641 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
5642 * util/grub.d/00_header.in: Compute prefix in the only place it's still
5643 used for backward compatibility.
5644
5645 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Add new all_video module.
5648
5649 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
5650 * grub-core/Makefile.core.def (all_video): New module.
5651 * grub-core/genmoddep.awk: Generate dependency of all_video from
5652 video.lst.
5653 * grub-core/lib/fake_module.c: New file.
5654 * grub-core/normal/main.c (features): Add feature_all_video_module.
5655 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
5656 don't do explicit search again.
5657 insmod all_video in load_video if available.
5658
5659 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 Another round of string clarification and adding TRANSLATORS comments.
5662
5663 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
5666
5667 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
5670 to grub_ssize_t.
5671 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
5672 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
5673
5674 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
5677 trailing newline implicitly. All users updated.
5678
5679 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 Implement serial on IEEE1275 and EFI.
5682
5683 * docs/grub.texi (Platform-specific limitations): Fix the columen video
5684 on emu. Mention arc and emu as the only platforms without serial
5685 support.
5686 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
5687 ieee1275 platforms.
5688 * grub-core/term/efi/serial.c: New file.
5689 * grub-core/term/ieee1275/serial.c: Likewise.
5690 * grub-core/term/serial.c (grub_serial_find): Disable direct port
5691 specification if no ns8250 driver is available.
5692 (grub_cmd_serial): Likewise.
5693 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
5694 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
5695 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
5696 (grub_efi_parity_type_t): New type.
5697 (grub_efi_stop_bits_t): Likewise.
5698 (grub_efi_serial_io_interface): New struct.
5699 * include/grub/serial.h (grub_serial_port): Make 'broken' field
5700 available for all interfaces.
5701 Add EFI and IEEE1275 fields.
5702 (grub_ofserial_init): New proto.
5703 (grub_efiserial_init): Likeiwse.
5704 * util/grub.d/00_header.in: Don't check for the presence of serial
5705 module.
5706
5707 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
5710 name as if it was an alias.
5711
5712 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/commands/lsacpi.c (options): Fix typo.
5715
5716 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 Convert grub-emu to argp.
5719
5720 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
5721 emu.
5722 * util/argp_common.c: Rename to ...
5723 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
5724 Add missing includes.
5725 * grub-core/kern/emu/main.c: Convert to argp.
5726 * po/POTFILES.in: Regenerate.
5727 * util/grub-install.in (usage): Make first letter lowcase in messages
5728 for uniformity.
5729 * util/grub-setup.c (options): Likewise.
5730
5731 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
5734 Put back accidently commented-out code.
5735
5736 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
5739 loop check using Brent algorithm.
5740 (grub_hfsplus_btree_search): Likewise.
5741
5742 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * util/grub-install.in: Fix usage of wrong device for PreP install.
5745
5746 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * conf/Makefile.common (CFLAGS_GNULIB): Add
5749 -Wno-unsafe-loop-optimizations.
5750 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
5751 on tools.
5752 * grub-core/commands/legacycfg.c: Add pragma to skip
5753 -Wunsafe-loop-optimizations.
5754 (check_password_md5_real): Fix loop counter type.
5755 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
5756 reading.
5757 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
5758 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
5759 loop condition.
5760 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
5761 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
5762 * grub-core/net/net.c (grub_net_route_address): Add safety loop
5763 condition.
5764 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
5765 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
5766 avoid possible infinite loops.
5767 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
5768 and -Wunsafe-loop-optimizations.
5769 * grub-core/script/yylex.l: Likewise.
5770 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
5771 (print_glyphs): Avoid infinite loops.
5772 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
5773
5774 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
5775
5776 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
5777 to avoid infinite loop.
5778 (disp_acpi_rsdt_table): Likewise.
5779
5780 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/font/font.c (grub_font_load): Add support for default
5783 path for fonts ($prefix/fonts).
5784 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
5785 for checking if string is a path.
5786 * grub-core/normal/main.c (features): Add feature_default_font_path.
5787 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
5788 * util/grub.d/00_header.in: Use default directory if possible.
5789 * util/grub-install.in: Install unicode.pf2.
5790
5791 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
5794 * po/Rules-swiss: New file.
5795 * po/swiss.sed: Likewise.
5796
5797 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/fs/btrfs.c (find_device): Fix typos.
5800 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
5801 * util/grub-mkrelpath.c (argp_parser): Likewise.
5802 Reported by: Yuri Chornoivan.
5803
5804 2012-02-23 Dalet Omega <daletomega@gmail.com>
5805
5806 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
5807 for usual informative messages.
5808
5809 2012-02-23 Dalet Omega <daletomega@gmail.com>
5810
5811 Starfield theme.
5812
5813 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
5814 * conf/Makefile.common: Define starfielddir.
5815 * configure.ac: Configure starfield.
5816 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
5817 * themes/starfield/README: Likewise.
5818 * themes/starfield/blob_w.png: Likewise.
5819 * themes/starfield/boot_menu_c.png: Likewise.
5820 * themes/starfield/boot_menu_e.png: Likewise.
5821 * themes/starfield/boot_menu_n.png: Likewise.
5822 * themes/starfield/boot_menu_ne.png: Likewise.
5823 * themes/starfield/boot_menu_nw.png: Likewise.
5824 * themes/starfield/boot_menu_s.png: Likewise.
5825 * themes/starfield/boot_menu_se.png: Likewise.
5826 * themes/starfield/boot_menu_sw.png: Likewise.
5827 * themes/starfield/boot_menu_w.png: Likewise.
5828 * themes/starfield/slider_c.png: Likewise.
5829 * themes/starfield/slider_n.png: Likewise.
5830 * themes/starfield/slider_s.png: Likewise.
5831 * themes/starfield/src/blob_nw.xcf: Likewise.
5832 * themes/starfield/src/bootmenu/: Likewise.
5833 * themes/starfield/src/bootmenu/center.xcf: Likewise.
5834 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
5835 * themes/starfield/src/bootmenu/side.xcf: Likewise.
5836 * themes/starfield/src/slider_c.xcf: Likewise.
5837 * themes/starfield/src/slider_n.xcf: Likewise.
5838 * themes/starfield/src/slider_s.xcf: Likewise.
5839 * themes/starfield/src/terminalbox/: Likewise.
5840 * themes/starfield/src/terminalbox/center.xcf: Likewise.
5841 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
5842 * themes/starfield/src/terminalbox/side.xcf: Likewise.
5843 * themes/starfield/starfield.png: Likewise.
5844 * themes/starfield/terminal_box_c.png: Likewise.
5845 * themes/starfield/terminal_box_e.png: Likewise.
5846 * themes/starfield/terminal_box_n.png: Likewise.
5847 * themes/starfield/terminal_box_ne.png: Likewise.
5848 * themes/starfield/terminal_box_nw.png: Likewise.
5849 * themes/starfield/terminal_box_s.png: Likewise.
5850 * themes/starfield/terminal_box_se.png: Likewise.
5851 * themes/starfield/terminal_box_sw.png: Likewise.
5852 * themes/starfield/terminal_box_w.png: Likewise.
5853 * themes/starfield/theme.txt: Likewise.
5854
5855 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * util/grub.d/00_header.in: Add missing export theme.
5858
5859 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
5862 already included.
5863 Reported by: Eren D.
5864
5865 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * conf/Makefile.common (grubdatadir): Removed.
5868 (Makefile.am): Move eveything grubdata to pkgdata.
5869
5870 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/commands/acpihalt.c (get_sleep_type):
5873 Remove unused variable.
5874
5875 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
5878 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
5879 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
5880 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
5881 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
5882 i18n with gettext no-op.
5883 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
5884 GRUB_ACPI_OPCODE_STRING_CONST.
5885 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
5886 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
5887
5888 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * po/POTFILES.in: Regenerate.
5891
5892 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
5895 -Wno-error=missing-noreturn.
5896
5897 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
5900 condition to avoid possibly infinite loops.
5901 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
5902 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
5903
5904 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
5907 condition to avoid possibly infinite loops.
5908
5909 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
5912 on show_error.
5913
5914 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
5917
5918 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
5921
5922 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/bin2h.c (usage): Add missing attribute noreturn.
5925
5926 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
5929 if the size isn't divisible by 512.
5930
5931 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 Make list_push and list_remove functions rather than inline functions
5934 to decrease size and avoid aliasing violations.
5935
5936 * include/grub/list.h (grub_list_push): Move to ...
5937 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
5938 * include/grub/list.h (grub_list_remove): Move to ...
5939 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
5940
5941 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
5944 and -Wunused-result.
5945
5946 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
5949 Reported by: Seth Goldberg
5950
5951 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
5954
5955 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
5956
5957 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
5958 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5959 command line.
5960 * docs/grub.texi (Simple configuration): Document
5961 GRUB_CMDLINE_GNUMACH.
5962
5963 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * conf/Makefile.common (platform_SCRIPTS): New variable.
5966 (platform_PROGRAMS): Likewise.
5967 * gentpl.py: Mark *,module and *.image for install.
5968 * grub-core/gdb_grub.in: Add a notice of expected environment.
5969 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
5970 (gmodule.pl): Likewise.
5971
5972 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 Replace grub_checkkey with grub_getkey_noblock.
5975
5976 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
5977 (grub_getkey_noblock): ... this. All users updated.
5978
5979 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/kern/emu/console.c: Move to ...
5982 * grub-core/term/emu/console.c: ...here.
5983 (grub_ncurses_getkey): Fix return value if no key is detected.
5984
5985 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
5988 (grub_unit_test_fini): Likewise.
5989 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
5990
5991 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * include/grub/test.h (GRUB_UNIT_TEST)
5994
5995 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/script/execute.c (grub_script_break): Clarify logic.
5998 Better error handling.
5999 (grub_script_return): Likewise.
6000 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6001
6002 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6005 rimplicit redifinition.
6006
6007 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6010 GRUB.
6011
6012 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6015 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6016 prompt here.
6017
6018 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6021 as GRUB_ERR_BUG. Don't malloc if no device is available.
6022
6023 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6026 Mark calling with invalid term as GRUB_ERR_BUG.
6027
6028 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6031 packets rather than raising an error.
6032
6033 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6036 in if.
6037
6038 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6041 diagnostic to dprintf.
6042 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6043
6044 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6047 device name.
6048
6049 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6052 (grub_ntfs_iterate_dir): Likewise.
6053
6054 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Efiemu stylistic fixes and gettext.
6057
6058 * grub-core/efiemu/i386/loadcore32.c
6059 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6060 * grub-core/efiemu/i386/loadcore64.c
6061 (grub_arch_efiemu_relocate_symbols64): Likewise.
6062 * grub-core/efiemu/i386/pc/cfgtables.c
6063 (grub_machine_efiemu_init_tables): Likewise.
6064 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6065 (grub_efiemu_loadcore_initXX): Add a filename argument.
6066 All users updated.
6067 Improved error message.
6068 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6069 Add a filename argument.
6070 All users updated.
6071 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6072 Reclassify double relocation as GRUB_ERR_BUG.
6073
6074 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6077 handling.
6078
6079 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6082 on partition.
6083
6084 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6087
6088 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 Improve string. Gettextize.
6091
6092 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6095 utils.
6096 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6097
6098 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6101 [GRUB_UTIL]: New function.
6102 (insert_array) [GRUB_UTIL]: Store partmaps.
6103 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6104 partmaps.
6105 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6106 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6107 (probe_abstraction): Print diskfilter and not raid.
6108 Reported by: Lennart Sorensen
6109
6110 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6113 * util/grub-mkimagexx.c (MASK3): New define.
6114 (add_value_to_slot_20b): Use MASK3.
6115 (add_value_to_slot_21): Likewise.
6116 (relocate_addresses): Fix format specification.
6117 (load_image): Explicitly init symtab_section.
6118
6119 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6122 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6123
6124 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6127 on powerpc.
6128 Reported by: Lennart Sorensen
6129
6130 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * gentpl.py: Add missing license header.
6133 * docs/grub.texi: Update copyright year.
6134
6135 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6136
6137 Source grub-mkconfig_lib from the build directory at build time.
6138 Suggested by: Vladimir Serbinenko.
6139
6140 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6141 * util/grub-install.in: Define pkgdatadir if not already set, and source
6142 grub-mkconfig_lib from there.
6143 * util/grub-kbdcomp.in: Likewise.
6144 * util/grub-mkconfig.in: Likewise.
6145 * util/grub-mknetdir.in: Likewise.
6146 * util/grub-mkrescue.in: Likewise.
6147 * util/grub-mkstandalone.in: Likewise.
6148 * util/grub-reboot.in: Likewise.
6149 * util/grub-set-default.in: Likewise.
6150 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6151
6152 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 Increase warning level.
6155
6156 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6157 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6158 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6159 (TARGET_CFLAGS): Likewise.
6160 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6161 * grub-core/Makefile.core.def (decompressor_xz): Add
6162 -Wno-unreachable-code.
6163 (normal): Add -Wno-redundant-decls.
6164 (xzio): Add -Wno-unreachable-code.
6165 (lzopio): Add -Wno-redundant-decls -Wno-error.
6166 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6167 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6168 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6169 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6170 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6171 * grub-core/kern/i386/coreboot/init.c: Add exception to
6172 -Wsuggest-attribute=noreturn.
6173 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6174 * grub-core/kern/ia64/dl_helper.c: Likewise.
6175 * grub-core/kern/mips/dl.c: Likewise.
6176 * grub-core/kern/sparc64/dl.c: Likewise.
6177 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6178 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6179 (memcmp): Likewise.
6180 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6181 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6182 * grub-core/loader/mips/linux.c: Likewise.
6183 * grub-core/loader/multiboot_elfxx.c: Likewise.
6184 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6185 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6186 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6187 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6188 fixme.
6189 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6190 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6191 Fix prototype.
6192
6193 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6196 address.
6197
6198 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6201 Avoid improper use of strings.
6202 (grub_cmd_legacy_initrdnounzip): Likewise.
6203
6204 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6207 attribute.
6208 (grub_util_info): Likewise.
6209 (grub_util_error): Likewise.
6210
6211 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6214 * util/grub-fstest.c (fstest): Likewise.
6215
6216 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6219 (grub_md_sha512_real): Likewise.
6220 (grub_util_get_geli_uuid): Likewise.
6221 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6222 (grub_util_biosdisk_open): Fix format specification.
6223 Respect format security.
6224 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6225 (xrealloc): Likewise.
6226 (xasprintf): Likewise.
6227
6228 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * util/import_gcry.py: Include grub/crypto.h in init.c.
6231
6232 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6235 (generate_image): Make prefix a const char *.
6236 Fix format specifications. Respect format security.
6237 Avoid void * arithmetics.
6238 Avoid shadowing.
6239 (argp_parser): Remove unused variable. Respect format security.
6240 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6241 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6242 (count_funcs): Remove unused variable.
6243 (relocate_addresses): Fix format specification.
6244 Disable x86-64 with elf32. Remove unused variables.
6245 (add_fixup_entry): Avoid shadowing.
6246 (make_reloc_section): Fix format specification.
6247 Use assert.
6248 (locate_sections): Fix format specifications.
6249 (load_image): Avoid shadowing.
6250
6251 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6254 Fix format specifications. Respect format security.
6255 Don't translate already translated grub_errmsg.
6256 (argp_parser): Remove unused variable
6257
6258 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6261
6262 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6265 (main): Likewise. Use xmalloc. Respect format security.
6266
6267 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6270 a const char *.
6271 (argp_parser): Remove unused variable.
6272
6273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6276 (add_pixel): Make static.
6277 (add_font): Likewise.
6278 (write_string_section): Make name and str a const char *.
6279 (write_be16_section): Make name a const char *.
6280 (print_glyphs): Make static.
6281 (write_font_ascii_bitmap): Likewise.
6282 (write_font_width_spec): Likewise.
6283 (write_font_pf2): Likewise.
6284 (argp_parser): Remove unused variable.
6285 Respect format security.
6286 (main): Avoid shadowing. Respect format security.
6287
6288 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * util/grub-editenv.c (argp_parser): Make static.
6291 (create_envblk_file): Use xmalloc.
6292 (open_envblk_file): Likewise.
6293 Resepect format security.
6294 (set_variables): Respect format security.
6295
6296 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * util/getroot.c (grub_find_device): Respect format security.
6299 (get_mdadm_uuid): Remove unused variable.
6300 (grub_util_pull_device): Dont call gettext on already translated
6301 grub_errmsg.
6302 (find_system_device): Remove unused variable.
6303 (grub_util_get_grub_dev): Likewise.
6304 (grub_make_system_path_relative_to_its_root): Respect format security.
6305
6306 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub-fstest.c (execute_command): Make first argument
6309 a const char *.
6310 (read_file): Avoid shadowing.
6311 Reuse underlying error message if device open fails.
6312 (cmd_cmp): Respect format security.
6313 (root): Make const char *.
6314 (fstest): Remove args argument and use global copy.
6315 Respect format security.
6316 (argp_parser): Make static.
6317 (main): Make default_root const char *.
6318
6319 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/grub-mount.c (root): Make const char *.
6322 (execute_command): Make first argument a const char *.
6323 (fuse_init): Respect format security.
6324 (argp_parser): Make static. Remove unused variable.
6325 (main): Make default_root a const char *.
6326 Respect format security.
6327
6328 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * util/grub-probe.c (probe): Don't call gettext on already translated
6331 grub_errmsg.
6332 Remove unused variables.
6333 (argp_parser): Remove unused variable.
6334
6335 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * util/grub-script-check.c (argp_parser): Remove unused variable.
6338 (main): Rename read to curread to avoid shadowing.
6339
6340 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * util/misc.c (grub_util_write_image_at): Fix format specification.
6343 (grub_util_write_image): Likewise.
6344 (grub_script_execute_argument_to_string): Removed (unused).
6345 (grub_script_execute_menuentry): Likewise.
6346 (grub_putchar): Likewise.
6347
6348 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6351 (FUNCTION) [GRUB_UTIL]: Likewise.
6352 (VARIABLE) [GRUB_UTIL]: Likewise.
6353
6354 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6357 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6358
6359 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6362 buffer.
6363
6364 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6367 (LzmaEnc_SaveState): Removed (unused).
6368 (LzmaEnc_RestoreState): Likewise.
6369 (LzmaEnc_InitPriceTables): Made static.
6370 (LzmaEnc_Construct): Likewise.
6371 (LzmaEnc_FreeLits): Likewise.
6372 (LzmaEnc_Destruct): Likewise.
6373 (LzmaEnc_Init): Likewise.
6374 (LzmaEnc_InitPrices): Likewise.
6375 (LzmaEnc_Finish): Likewise.
6376 (LzmaEnc_PrepareForLzma2): Removed (unused).
6377 (LzmaEnc_MemPrepare): Likewise.
6378 (LzmaEnc_GetNumAvailableBytes): Likewise.
6379 (LzmaEnc_GetCurBuf): Likewise.
6380 (LzmaEnc_CodeOneMemBlock): Likewise.
6381
6382 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6385 (grub_util_ldm_embed): Likewise.
6386
6387 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * util/grub-editenv.c (print_var): Rename name to varname to
6390 avoid shadowing.
6391 (main): Rename index to curindex to avoid shadowing.
6392 Make filename a const char *.
6393
6394 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
6397 to arg_getline to avoid shadowing.
6398
6399 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
6402 disk_ to avoid shadowing.
6403
6404 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
6407 curindex to avoid shadowing.
6408 Make static.
6409 (MatchFinder_GetNumAvailableBytes): Make static.
6410
6411 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
6414 avoid shadowing.
6415
6416 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
6419 argument from encrypt to do_encrypt to avoid shadowing.
6420
6421 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
6424 incorrect nesting of #if's.
6425
6426 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
6429 checks which are always false on some platforms.
6430 (grub_cmd_lsacpi): Likewise.
6431 * grub-core/kern/misc.c (grub_strtoul): Likewise.
6432 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
6433 Likewise.
6434
6435 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
6438 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
6439
6440 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
6443 re_dfa_t to avoid breaking alignment invariants.
6444 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
6445 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
6446
6447 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
6450 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
6451
6452 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
6455 Fix declaration.
6456
6457 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
6460 conserve alignment invariants.
6461 (grub_ehci_ehcc_read16): Likewise.
6462 (grub_ehci_oper_read32): Likewise.
6463 (grub_ehci_oper_write32): Likewise.
6464 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6465 Conserve alignment invariants.
6466
6467 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
6470 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
6471 declarations.
6472
6473 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
6476 Remove unused variable.
6477
6478 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
6481 Remove set in if.
6482
6483 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * include/grub/net.h: Remove double declarations.
6486
6487 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Remove "payload" command in ia64 Linux loader since I couldn't
6490 find any evidence of it being used for anything.
6491 Replace "relocate" command with an environment variable
6492
6493 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
6494 fields.
6495 (ia64_boot_payload): Removed.
6496 (last_payload): Likewise.
6497 (RELOCATE_OFF): Likewise.
6498 (RELOCATE_ON): Likewise.
6499 (RELOCATE_FORCE): Likewise.
6500 (relocate): Likewise.
6501 (free_pages): Don't free payloads.
6502 (grub_load_elf64): Use common error messages.
6503 Use "linux_relocate" variable.
6504 Increase the space after boot_params.
6505 (grub_cmd_payload): Removed.
6506 (grub_cmd_relocate): Likewise.
6507 (grub_cmd_fpswa): Improve messages.
6508 (cmd_payload): Removed.
6509 (cmd_relocate): Likewise.
6510 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
6511 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
6512
6513 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 Convert UHCI to DMA framework.
6516
6517 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
6518 (grub_uhci_pci_iter): Fill new members
6519 (grub_alloc_td): Use P2V and V2P functions.
6520 (grub_free_queue): Likewise.
6521 (grub_alloc_qh): Likewise.
6522 (grub_uhci_setup_transfer): Likewise.
6523 (grub_uhci_check_transfer): Likewise.
6524
6525 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
6528 Remove assignment in if while on it.
6529
6530 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * util/grub-mkstandalone.in: Fix modules directory.
6533
6534 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
6537 on i386-pc target.
6538 (argp_parser): Accept "auto" as compression specification.
6539
6540 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 Fix `help' with unloaded modules.
6543
6544 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
6545 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
6546 (grub_dyncmd_dispatcher): Small stylistic fix.
6547 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
6548 explicit help is requested.
6549
6550 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
6553 Explicitly init restart while on it.
6554
6555 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
6558 uninited variable.
6559
6560 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * util/grub-mknetdir.in: Use . rather than source for POSIX
6563 compatibility.
6564
6565 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
6568
6569 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
6572 variable.
6573
6574 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
6577 without quotes.
6578
6579 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
6582
6583 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
6586 iteration of partitions.
6587
6588 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Improve gettext support. Stylistic fixes and error handling fixes while
6591 on it.
6592
6593 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
6596 part. Instead setup the correct stack in RM.
6597 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
6598 for stack.
6599 * include/grub/i386/relocator_private.h: New file.
6600
6601 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
6604 argument.
6605 * util/grub-fstest.c (options): Add missing DEVICE part.
6606
6607 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Clarify and unify messages.
6610
6611 * grub-core/commands/hashsum.c (options): Unify messages.
6612 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
6613 literal-only message as translatable.
6614 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
6615 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
6616 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
6617 commands.
6618 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
6619 key, not the key used to unlock. Clarify what it's used for.
6620 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
6621 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
6622 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
6623 * util/grub-editenv.c (options): Unify "verbose" message.
6624 * util/grub-fstest.c (read_file): Unify error message.
6625 (fstest): Add quotes around commands.
6626 (options): Unify "verbose" message.
6627 * util/grub-install.in: Add quotes around variable name.
6628 * util/grub-kbdcomp.in: Unify error message.
6629 * util/grub-mkfont.c (main): Likewise.
6630 * util/grub-mkrescue.in: Likewise.
6631 * util/grub-mklayout.c (options): Unify "verbose" message.
6632 * util/grub-mkstandalone.in: Unify help and verbose messages.
6633 * util/grub-mount.c (options): Unify "verbose" message.
6634 * util/grub-probe.c (options): Likewise.
6635 * util/grub-script-check.c (options): Likewise.
6636 * util/grub-setup.c (setup): Unify no-terminator message.
6637 (options): Use DEVICE and not DEV.
6638 Unify "verbose" message.
6639 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
6640
6641 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 Improve and unify messages.
6644
6645 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
6646 name. All users updated.
6647 Print filename in error.
6648 (read_device_map): Print filename in error.
6649 * util/getroot.c (grub_guess_root_devices): Print filename in error.
6650 (grub_util_get_os_disk): Likewise.
6651 (grub_util_biosdisk_get_grub_dev): Likewise.
6652 (grub_util_check_block_device): Likewise.
6653 (grub_util_check_char_device): Likewise.
6654 (grub_make_system_path_relative_to_its_root): Likewise.
6655 * util/grub-editenv.c (create_envblk_file): Likewise.
6656 (open_envblk_file): Likewise.
6657 (write_envblk): Likewise.
6658 * util/grub-fstest.c (cmd_cp): Likewise.
6659 (cmd_cat): Likewise.
6660 (cmd_cmp): Likewise.
6661 * util/grub-menulst2cfg.c (main): Likewise.
6662 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
6663 (write_font_width_spec): Likewise.
6664 (write_font_pf2): Likewise.
6665 * util/grub-mkimage.c (generate_image): New argument outname.
6666 All users updated.
6667 Remove unreacheable message.
6668 (options): Unify messages.
6669 (help_filter): Likewise.
6670 * util/grub-mklayout.c (usage): Removed (unused).
6671 (main): Print filename in error.
6672 * util/grub-mkrescue.in: Fix wrong quoting.
6673 * util/grub-setup.c (setup): Print filename in error.
6674 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
6675 (check_sas): Likewise.
6676 * util/misc.c (grub_util_get_fp_size): Removed.
6677 (grub_util_get_image_size): Print filename in error.
6678 (grub_util_read_at): Removed.
6679 (grub_util_read_image): Print filename in error.
6680 (grub_util_load_image): Likewise.
6681 (grub_util_write_image_at): New argument filename. All users updated.
6682 Print filename in error.
6683 (grub_util_write_image): New argument filename. All users updated.
6684 Print filename in error.
6685 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
6686 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
6687
6688 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/Makefile.core.def (pxechain): New module.
6691 * grub-core/loader/i386/pc/pxechainloader.c: New file.
6692 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
6693 function.
6694 (grub_pc_net_config_real): Use grub_pxe_get_cached.
6695 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
6696
6697 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
6700 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
6701 * include/grub/err.h (grub_error_saved): New struct.
6702 (grub_errmsg): Make array size explicit.
6703 * include/grub/misc.h (grub_error_save): New function.
6704 (grub_error_load): Likewise.
6705 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
6706 (grub_error_push): Update `errno' member name.
6707 (grub_error_pop): Likewise
6708 * grub-core/net/tftp.c (tftp_data): New member save_err.
6709 (tftp_receive): Save error.
6710 (tftp_open): Restore error.
6711
6712 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
6715 to real mode down to execute A20-related code in protected mode as
6716 intended.
6717
6718 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6719
6720 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
6721 NULL when the argument `level' has an unexpected value.
6722
6723 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Move platform-dependent files from $prefix to $prefix/$platform.
6726
6727 * config.h.in (GRUB_TARGET_CPU): New definition.
6728 (GRUB_PLATFORM): Likewise.
6729 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
6730 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
6731 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6732 * grub-core/kern/dl.c (grub_dl_load): Likewise.
6733 * grub-core/normal/autofs.c (read_fs_list): Likewise.
6734 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
6735 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
6736 * grub-core/normal/term.c (read_terminal_list): Likewise.
6737 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
6738 $prefix/locale.
6739 (grub_gettext_init_ext): Likewise.
6740 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
6741 grub_platform.
6742 * util/grub-install.in: Update directories.
6743 * util/grub-mknetdir.in: Likewise.
6744 * util/grub-mkrescue.in: Likewise.
6745
6746 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
6749 grub_error framework. All users updated.
6750
6751 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
6754 lists (by always binsearching), improve caching (cache strings
6755 used for binsearch, not only results), improve
6756 maintainability (by using more structured binary search) and correct
6757 error handling.
6758
6759 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/script/execute.c (grub_script_return): Fix warning.
6762
6763 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/script/execute.c (grub_script_return): Fix potential
6766 NULL-dereference.
6767 Reported by: Jim Meyering.
6768
6769 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * po/POTFILES.in: Regenerate.
6772 * util/grub-install.in: Gettextize the strings missed in first pass.
6773
6774 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * Makefile.util.def (grub-mkdevicemap): Removed.
6777 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
6778 * include/grub/util/deviceiter.h: Removed.
6779 * util/deviceiter.c: Likewise.
6780 * util/getroot.c (grub_util_get_os_disk): New function.
6781 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
6782 replacement for EFI.
6783 * util/grub-mkdevicemap.c: Removed.
6784 * util/grub-probe.c (probe): Handle PRINT_DISK.
6785 (argp_parser): Handle -t disk.
6786
6787 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * util/grub-mkfont.c: Migrate to argp.
6790 * util/grub-mklayout.c: Likewise.
6791 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6792 * util/grub-mkrelpath.c: Likewise.
6793 * util/grub-probe.c: Likewise.
6794 * util/grub-script-check.c: Likewise.
6795
6796 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/grub-reboot.in: Add missing datarootdir.
6799 Add missing newline.
6800 * util/grub-set-default.in: Add missing datarootdir.
6801 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
6802 * util/grub-mkrescue.in: Likewise.
6803
6804 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
6807
6808 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * util/grub-kbdcomp.in: Add decent help and gettextize.
6811 * docs/man/grub-kbdcomp.h2m: New file.
6812
6813 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 Migrate grub-mkimage.c to argp.
6816
6817 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
6818 (grub-setup): Likewise.
6819 * util/grub-setup.c (print_version): Move to ...
6820 * util/argp_common.c (print_version): ... here.
6821 * util/grub-setup.c (argp_program_version_hook): Move to ...
6822 * util/argp_common.c (argp_program_version_hook): ... here.
6823 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
6824 safety.
6825 * util/grub-mkimage.c (main): Migrate to argp.
6826
6827 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * util/grub-mkrescue.in: Use same message as
6830 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
6831 for better translations.
6832
6833 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
6836 options with generic grub-mkrescue.in with the goal of future
6837 merge.
6838
6839 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/kern/mm.c: Add missing include of i18n.h
6842 * grub-core/lib/relocator.c: Likewise.
6843
6844 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
6847 error.
6848 (allocate_pages): Check return value.
6849 Replace fatal with error.
6850 (grub_linux_boot): Replace printf with dprintf.
6851 Check find_mmap_size return value.
6852 Replace fatal with error.
6853 Don't call grub_machine_fini.
6854 (grub_load_elf64): Replace printf with dprintf.
6855 (grub_cmd_linux): Likewise.
6856 (grub_cmd_initrd): Likewise.
6857 (grub_cmd_payload): Likewise.
6858
6859 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
6862 message.
6863 * grub-core/video/radeon_fuloong2e.c
6864 (grub_video_radeon_fuloong2e_setup): Likewise.
6865 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
6866 * grub-core/video/video.c (grub_video_set_mode): Don't override
6867 standard out of memory message.
6868
6869 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
6870
6871 NetBSD disk wedge support.
6872
6873 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
6874 [__NetBSD__]: Handle NetBSD disk wedges.
6875 * util/getroot.c (convert_system_partition_to_system_disk)
6876 [__NetBSD__]: Likewise.
6877
6878 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
6879
6880 * util/grub-mkconfig.in: Use umask rather than chmod to create
6881 grub.cfg.new to avoid insecure grub.cfg.
6882
6883 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/commands/ls.c: Gettextize.
6886 * grub-core/commands/setpci.c: Likewise.
6887 * grub-core/commands/videotest.c: Likewise.
6888 * grub-core/disk/geli.c: Likewise.
6889 * grub-core/kern/mm.c: Likewise.
6890 * grub-core/lib/relocator.c: Likewise.
6891 * grub-core/loader/efi/appleloader.c: Likewise.
6892 * grub-core/loader/i386/xnu.c: Likewise.
6893 * grub-core/loader/ia64/efi/linux.c: Likewise.
6894 * grub-core/loader/xnu.c: Likewise.
6895 * grub-core/net/dns.c: Likewise.
6896 * grub-core/net/net.c: Likewise.
6897 * grub-core/script/lexer.c: Likewise.
6898 * grub-core/script/parser.y: Likewise.
6899 * grub-core/script/yylex.l: Likewise.
6900 * util/getroot.c: Likewise.
6901 * util/grub-setup.c: Likewise.
6902
6903 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
6906 number.
6907
6908 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
6911
6912 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
6915 macro.
6916 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
6917 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
6918
6919 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
6922 * util/grub-install.in: Gettextize.
6923 * util/grub-mkconfig.in: Likewise.
6924 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
6925 if not available.
6926 (grub_warn): Gettextize.
6927 * util/grub-mknetdir.in: Gettextize.
6928 * util/grub-mkrescue.in: Likewise.
6929 * util/grub-mkstandalone.in: Likewise.
6930 * util/grub-reboot.in: Likewise.
6931 * util/grub-set-default.in: Likewise.
6932 * util/grub.d/00_header.in: Likewise.
6933 * util/grub.d/10_hurd.in: Likewise.
6934 * util/grub.d/10_kfreebsd.in: Likewise.
6935 * util/grub.d/10_linux.in: Likewise.
6936 * util/grub.d/10_netbsd.in: Likewise.
6937 * util/grub.d/10_windows.in: Likewise.
6938 * util/grub.d/20_linux_xen.in: Likewise.
6939 * util/grub.d/30_os-prober.in: Likewise.
6940 * po/POTFILES-shell.in: Regenerate.
6941
6942 2012-02-03 Richard Laager <rlaager@wiktel.com>
6943
6944 * util/grub-mkimage.c (main): Fix format-security warning.
6945 * util/grub-mkrelpath.c (main): Likewise.
6946 * util/grub-probe.c (main): Likewise.
6947
6948 2012-02-03 Richard Laager <rlaager@wiktel.com>
6949
6950 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
6951 failure.
6952 Put back lost PRINT_DRIVE.
6953
6954 2012-02-03 Richard Laager <rlaager@wiktel.com>
6955
6956 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
6957 (grub_guess_root_devices): Replace strlen with sizeof.
6958 Avoid crash.
6959 (find_root_devices_from_poolname): Remove unused variable.
6960 Handle raidzN.
6961
6962 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Support install on multi-device filesystems.
6965
6966 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
6967 (grub_guess_root_devices): ...this. Return char **. All users updated.
6968 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
6969 Removed.
6970 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
6971 (find_root_devices_from_poolname): ... here.
6972 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
6973 Support zfs-fuse.
6974 (grub_guess_root_device): Rename to ...
6975 (grub_guess_root_devices): ... this. Return char **. All users updated.
6976 * util/grub-install.in: Handle multi-device filesystems.
6977 * util/grub-probe.c (probe). Make device_names a char **. Add delim
6978 argument. All users updated.
6979 Handle multi-device filesystems.
6980 Use 'delim' as separator.
6981 Remove device check to allow filesystems on file.
6982 (main): Support -0 argument. Handle multi-device.
6983 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
6984 Fix a cross-device check while on it.
6985 (arguments): Remove root_dev.
6986 (argp_parser): Remove -r.
6987 (main): Remove root_dev.
6988
6989 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
6992
6993 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
6996 symbol.
6997 Reported by: NODA, Kai <nodakai>.
6998
6999 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 Fix ehci on amd64.
7002
7003 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7004 pointers.
7005 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7006 (grub_ehci_setup_qh): Likewise.
7007 (grub_ehci_find_qh): Likewise.
7008 (grub_ehci_transaction): Likewise.
7009 (grub_ehci_setup_transfer): Likewise.
7010 (grub_ehci_check_transfer): Likewise.
7011 (grub_ehci_portstatus): Likewise.
7012 (grub_ehci_detect_dev): Likewise.
7013 (grub_ehci_transfer_controller_data): New field td_last_phys.
7014 (grub_ehci_setup_transfer): Fill td_last_phys.
7015 (grub_ehci_check_transfer): Use td_last_phys.
7016
7017 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7018
7019 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7020 if no submenu is present.
7021
7022 2012-02-01 Aleš Nesrsta <starous@volny.cz>
7023
7024 CBI support.
7025
7026 * include/grub/usb.h (grub_usbms_protocol_t): New values
7027 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7028 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7029 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7030 (grub_usbms_dev): Add subclass, protocol and intrpt.
7031 Remove in_maxsz and out_maxsz.
7032 (grub_usbms_reset): Rename to ...
7033 (grub_usbms_bo_reset): .. this.
7034 (grub_usbms_cbi_cmd): New function.
7035 (grub_usbms_cbi_reset): Likewise.
7036 (grub_usbms_reset): Likewise.
7037 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7038 (grub_usbms_transfer): Rename to ...
7039 (grub_usbms_transfer_bo): ... this.
7040 (grub_usbms_transfer_cbi): Likewise.
7041 (grub_usbms_transfer): Likewise.
7042
7043 2012-02-01 Aleš Nesrsta <starous@volny.cz>
7044 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7047 the support for the CS5536 modification thereos and few bugfixes.
7048
7049 * grub-core/Makefile.core.def (ehci): New module.
7050 * grub-core/bus/usb/ehci.c: New file.
7051 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7052 port and hubaddr. All users updated.
7053 Save port and hubaddr into dev structure.
7054 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7055 define.
7056 * include/grub/pci.h (grub_dma_phys2virt): New function.
7057 (grub_dma_virt2phys): Likewise.
7058 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7059
7060 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7063 check as some mkfs implementations omit it.
7064
7065 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7068
7069 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7072 Add new member volname2.
7073 (grub_jfs_label): Use volname2 if available.
7074
7075 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7078 over last_mounted as seen in image generated by mkfs.nilfs2.
7079 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7080
7081 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7084 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7085 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7086
7087 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7090 over the sector.
7091
7092 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7095 subvolume name (by removing a bogus and useless check).
7096
7097 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7100 sizeof while on it.
7101
7102 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7105 (grub_scsi_read_capacity10): ... this.
7106 (grub_scsi_read_capacity16): New function.
7107 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7108 0xffffffff.
7109 Fix off-by-one error.
7110 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7111 64-bit unsigned.
7112 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7113 (grub_scsi_read_capacity10): ... this.
7114 (grub_scsi_read_capacity_data): Rename to ...
7115 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7116 (grub_scsi_read_capacity16): New struct.
7117 (grub_scsi_read_capacity16_data): Likewise.
7118 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7119 grub_scsi_cmd_read_capacity10.
7120 New command grub_scsi_cmd_read_capacity16.
7121
7122 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 SCSI >2TiB support.
7125
7126 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7127 (grub_scsi_write16): Likewise.
7128 (grub_scsi_read): Use read16 when necessary.
7129 (grub_scsi_write): Likewise.
7130 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7131 (grub_scsi_write16): Likewise.
7132 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7133
7134 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 SCSI write support (for usbms mainly).
7137
7138 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7139 a const pointer.
7140 (grub_scsi_write): Implement.
7141 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7142
7143 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7146 variable.
7147
7148 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7151
7152 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * po/POTFILES.in: Regenerate.
7155
7156 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7159 with grub_printf to avoid unnecessary fatal failure.
7160
7161 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7164 (INT_MAX): Likewise.
7165 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7166 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7167 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7168 (strcpy): Likewise.
7169 (strstr): Likewise.
7170 (strchr): Likewise.
7171 (strncpy): Likewise.
7172 (strcat): Likewise.
7173 (strncat): Likewise.
7174 (strcoll): Likewise.
7175 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7176 (GRUB_INT_MAX): Likewise.
7177
7178 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7181 unexpected error.
7182 (optimize_utf8): Likewise.
7183 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7184
7185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/boot/i386/pc/lnxboot.S: Use
7188 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7189 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7190 location.
7191 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7192 definition.
7193 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7194
7195 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7198 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7199 now to avoid double free.
7200 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7201 hostdisk.
7202 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7203 * util/grub-probe.c (escape_of_path): Always return a new copy.
7204 (print_full_name): Escape path.
7205 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7206 Fix hints on abstractions.
7207
7208 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7211 Don't add "root" line if no compatibility hont is available.
7212 Suggested by: Seth Goldberg.
7213
7214 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7217 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7218 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7219 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7220
7221 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7224
7225 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * util/grub-pe2elf.c (ehdr): Make static.
7228 (shdr): Likewise.
7229 (num_sections): Likewise.
7230 (offset): Likewise.
7231
7232 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Eliminate ofpath limits and possible overflows.
7235
7236 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7237 (OF_PATH_MAX): Removed.
7238 (MAX_DISK_CAT): New const.
7239 (find_obppath): Use allocated rather than preallocated buffer.
7240 Return result. Argument of_path removed. All users updated.
7241 Add missing fdstat.
7242 (xrealpath): New function.
7243 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7244 Allocate rather than use preallocated buffer. All users updated.
7245 (__of_path_common): Use allocated rather than preallocatecd buffer.
7246 Return result. Argument of_path removed. All users updated.
7247 (vendor_is_ATA): Read only needed part form the file.
7248 (check_sas): Allocate depending on contents rather than fixed.
7249 (main) [STANDALONE]: Handle NULL result.
7250
7251 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7254
7255 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 Cryptodisk write support.
7258
7259 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7260 (grub_cryptodisk_decrypt): Moved logic to ...
7261 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7262 (grub_cryptodisk_write): Implement.
7263 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7264 (grub_util_fd_write): ... this. Make global.
7265 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7266
7267 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * include/grub/list.h (grub_list_remove): Don't crash if element is
7270 removed twice.
7271
7272 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Rename ofconsole to console.
7275
7276 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7277 as sysnonym to console.
7278 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7279 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7280 Rename grub_ofconsole_ to grub_console_. All users updated
7281 (grub_console_term_output): Rename "ofconsole" to "console".
7282 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7283 as "console".
7284
7285 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7288 handling.
7289 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7290 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7291 GRUB_DISK_DEVICE_FILE_ID.
7292
7293 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7296 and improve performance.
7297
7298 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7301 missing ieee1275/ prefix on whole disk.
7302
7303 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7306 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7307
7308 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7311
7312 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Merge common RAID and LVM logic to an abstract diskfilter.
7315 Add LDM support using the same framework.
7316
7317 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7318 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7319 (libgrubmods): Remove grub-core/disk/raid.c and
7320 grub-core/partmap/gpt.c.
7321 * grub-core/Makefile.core.def (ldm): New module.
7322 (raid): Renamed to diskfilter. All users updated.
7323 * grub-core/disk/raid.c: Moved to ...
7324 * grub-core/disk/diskfilter.c: ... here.
7325 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7326 (lv_num): New var.
7327 (find_array): Renamed to ...
7328 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7329 (grub_is_array_readable): Renamed to ...
7330 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7331 (insert_array): New argument id.
7332 (is_node_readable): New function.
7333 (scan_device): Rename to ...
7334 (scan_disk): .. this. Restrict to one disk.
7335 (scan_devices): New function.
7336 (grub_diskfilter_iterate): Support multi-LV.
7337 Skip invisible and nameless LVs.
7338 (grub_diskfilter_memberlist): Support multi-LV.
7339 (grub_diskfilter_read_node): New function.
7340 (grub_raid_read): Most of logic moved to ...
7341 (read_segment): ... here
7342 (read_lv): New function.
7343 (grub_diskfilter_get_vg_by_uuid): New function.
7344 (grub_diskfilter_make_raid): Likewise.
7345 * grub-core/disk/ldm.c: New file.
7346 * grub-core/disk/lvm.c (vg_list): Removed.
7347 (lv_count): Likewise.
7348 (scan_depth): Likewise.
7349 (is_lv_readable): Likewise.
7350 (grub_lvm_getvalue): Advance pointer past the number.
7351 (find_lv): Removed.
7352 (do_lvm_scan): Refactored into ...
7353 (grub_lvm_detect): ... this. Support raid.
7354 (grub_lvm_iterate): Removed.
7355 (grub_lvm_memberlist): Likewise.
7356 (grub_lvm_open): Likewise.
7357 (grub_lvm_close): Likewise.
7358 (read_lv): Likewise.
7359 (read_node): Likewise.
7360 (is_node_readable): Likewise.
7361 (is_lv_readable): Likewise.
7362 (grub_lvm_read): Likewise.
7363 (grub_lvm_write): Likewise.
7364 (grub_lvm_dev): Use diskfilter
7365 (GRUB_MOD_INIT): Likewise.
7366 (GRUB_MOD_FINI): Likewise.
7367 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7368 new interface.
7369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7370 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7371 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7372 grub_diskfilter_read_node.
7373 Fix a bug with xor.
7374 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7375 grub_diskfilter_read_node.
7376 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7377 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7378 (grub_disk_dev_iterate): Move from here...
7379 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7380 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7381 Make global.
7382 (grub_hostdisk_find_partition_start): Likewise.
7383 (grub_hostdisk_os_dev_to_grub_drive): New function.
7384 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7385 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7386 * util/getroot.c (make_device_name): ... here.
7387 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7388 Move to ...
7389 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7390 * grub-core/kern/emu/hostdisk.c
7391 (convert_system_partition_to_system_disk): Move to ...
7392 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7393 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7394 * util/getroot.c (device_is_wholedisk): ... here.
7395 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
7396 * util/getroot.c (find_system_device): ... here.
7397 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
7398 Move to ...
7399 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
7400 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7401 Move to ...
7402 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
7403 Handle LDM.
7404 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7405 Move to ...
7406 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
7407 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
7408 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
7409 DISKFILTER.
7410 * include/grub/raid.h: Renamed to ...
7411 * include/grub/diskfilter.h: ... this.
7412 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
7413 (GRUB_RAID_LAYOUT_*): Make into array.
7414 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
7415 (grub_diskfilter_vg): New struct.
7416 (grub_diskfilter_pv_id): Likewise.
7417 (grub_raid_member): Removed.
7418 (grub_raid_array): Likewise.
7419 (grub_diskfilter_pv): New struct.
7420 (grub_diskfilter_lv): Likewise.
7421 (grub_diskfilter_segment): Likewise.
7422 (grub_diskfilter_node): Likewise.
7423 (grub_diskfilter_get_vg_by_uuid): New proto.
7424 (grub_raid_register): Inline.
7425 (grub_diskfilter_unregister): Likewise.
7426 (grub_diskfilter_make_raid): New proto.
7427 (grub_diskfilter_vg_register): Likewise.
7428 (grub_diskfilter_read_node): Likewise.
7429 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
7430 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
7431 (grub_util_is_ldm): Likewise.
7432 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
7433 (grub_hostdisk_find_partition_start): Likewise.
7434 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
7435 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
7436 New definition.
7437 (grub_gpt_partition_map_iterate): New proto.
7438 * include/grub/lvm.h (grub_lvm_vg): Removed.
7439 (grub_lvm_pv): Likewise.
7440 (grub_lvm_lv): Likewise.
7441 (grub_lvm_segment): Likewise.
7442 (grub_lvm_node): Likewise.
7443 * util/getroot.c [...]
7444 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
7445 (probe_abstraction): Likewise.
7446 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
7447 (main): Remove dead logic.
7448
7449 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 Simplify root device discover and don't fail when trying to open
7452 incorrect devices.
7453
7454 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
7455 function.
7456 (get_diskname_from_path): Likewise.
7457 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
7458 of iterating.
7459
7460 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
7463
7464 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
7467 pastthe end.
7468
7469 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * util/grub-install.in: Add missing \.
7472 Reported by: gentoofan
7473
7474 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
7477 (direct_read): Use correct compressed size.
7478 (grub_squash_read_data): Likewise.
7479
7480 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * docs/grub.texi (Platform limitations): New section.
7483 (Platform-specific operations): Likewise.
7484 * docs/grub-dev.texi (Porting): Likewise.
7485
7486 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 IEEE1275 disk write support.
7489
7490 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
7491 const void *.
7492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
7493 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
7494 and seek loginc to ...
7495 (grub_ofdisk_prepare): ... here.
7496 (grub_ofdisk_write): Implement.
7497
7498 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 ARC disk write support.
7501
7502 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
7503 (reopen): New argument writable. All users updated.
7504 Handle required access mode.
7505 (grub_arcdisk_write): Implement.
7506 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
7507 (grub_arc_firmware_vector): Make buffer to write a const buffer.
7508
7509 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
7512 (read_sblock): Don't attempt to read superblocks outside the disk size.
7513
7514 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
7517 first superblock to find the second one when possible.
7518
7519 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * util/grub-install.in: Fix an ARC bug.
7522 Print a warning if no platform-specific setup is available.
7523
7524 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 Use static allocation rather than scratch pointer in reed_solomon.
7527 It decreases its size significantly and avoids a variable in .text.
7528
7529 * grub-core/lib/reed_solomon.c (scratch): Removed.
7530 (chosenstat): New const or static array.
7531 (sigma): Likewise.
7532 (errpot): Likewise.
7533 (errpos): Likewise.
7534 (sy): Likewise.
7535 (mstat): Likewise.
7536 (errvals): Likewise.
7537 (eqstat): Likewise.
7538 (pol_evaluate): Replace x with log_x argument. All users updated.
7539 (syndroms): Removed.
7540 (gauss_solve): Use statically allocated arrays.
7541 (rs_recover): Likewise.
7542 Calculate syndroms directly.
7543 (decode_block): Use statically allocated arrays.
7544 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
7545 (main) [TEST]: Allow -DTEST -DSTANDALONE.
7546
7547 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Eliminate fixed limit on reed solomon decoder length.
7550
7551 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
7552 rather than hardcoding the address.
7553 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
7554 no_reed_solomon_length.
7555 Move gate_a20 to no-reed-solomon part.
7556 Don't force a particular size of no reed-solomon part.
7557 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7558 Removed.
7559 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
7560 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
7561
7562 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/commands/wildcard.c (match_files): Handle filenames
7565 without explicit device.
7566 (wildcard_expand): Don't add explicit device if not already present.
7567 * tests/grub_script_echo1.in: Add a new expansion test.
7568
7569 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 Replace single-linked with double-linked lists. It results in more
7572 compact and more efficient code.
7573
7574 * grub-core/kern/list.c (grub_list_push): Moved from here ...
7575 * include/grub/list.h (grub_list_push): ... to here. Set prev.
7576 (grub_list_remove): Moved from here ...
7577 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
7578 (grub_prio_list_insert): Set prev.
7579 * include/grub/list.h (grub_list): Add prev. All users updated.
7580
7581 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 Handle newer autotools. Add some missing quotes while on it.
7584
7585 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
7586 (pkglib_DATA): Move grub-mkconfig_lib from here ...
7587 (pkgdata_DATA): ... here.
7588 * Makefile.util.def (update-grub_lib): Removed.
7589 * conf/Makefile.common (pkglib_DATA): Removed.
7590 (pkglib_SCRIPTS): Likewise.
7591 (pkgdata_DATA): New variable.
7592 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
7593 needed.
7594 Add missing quotes.
7595 Remove unused variable while on it.
7596 * tests/util/grub-shell.in: Likewise.
7597 * util/grub-install.in: Likewise.
7598 * util/grub-mkconfig.in: Likewise.
7599 * util/grub-mknetdir.in: Likewise.
7600 * util/grub-mkrescue.in: Likewise.
7601 * util/grub-mkstandalone.in: Likewise.
7602 * util/grub.d/00_header.in: Likewise.
7603 * util/grub.d/10_hurd.in: Likewise.
7604 * util/grub.d/10_illumos.in: Likewise.
7605 * util/grub.d/10_kfreebsd.in: Likewise.
7606 * util/grub.d/10_linux.in: Likewise.
7607 * util/grub.d/10_netbsd.in: Likewise.
7608 * util/grub.d/10_windows.in: Likewise.
7609 * util/grub.d/20_linux_xen.in: Likewise.
7610 * util/grub.d/30_os-prober.in: Likewise.
7611 * util/update-grub_lib.in: Removed.
7612
7613 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
7614
7615 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
7616 a workaround for intel problem.
7617
7618 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
7619 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7620 2012-01-23 pfsmorigo
7621
7622 * util/grub-install.in: Support dd'in into PreP partition.
7623 * util/grub-probe.c (probe): Support discovering partition type.
7624 (main): Support -t msdos_parttype.
7625
7626 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
7629 infinite recursion using counter.
7630 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
7631 init to skip it if the magic check fails.
7632 (dec_stream_header): Init s->crc32.
7633
7634 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7635 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
7636 2012-01-22 Richard Laager <rlaager@wiktel.com>
7637
7638 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
7639 All users updated.
7640 (find_bestub): Determine correct size.
7641 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
7642 (scan_disk): Align the size down.
7643 Call check pool before find_bestub to have ashift.
7644
7645 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
7648 dprintf in no-malloc zone.
7649
7650 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
7651
7652 * configure.ac: Add back in test for limits.h.
7653
7654 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 Support 4K-sector NTFS.
7657
7658 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
7659 (grub_ntfs_data): Remove blocksize.
7660 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
7661 Remove data argument. All users updated.
7662
7663 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
7666 being in .text to avoid dprel references.
7667 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
7668 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
7669 (grub_arch_highmemsize): Likewise.
7670 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
7671 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
7672 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
7673
7674 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
7677
7678 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
7679 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
7680
7681 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
7684 GRUB_UTIL.
7685 (grub_set_datetime_cmos): Likewise.
7686
7687 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 Make XZ compression parameters dependent on target and not host CPU.
7690
7691 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
7692 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
7693
7694 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
7697 set but not used variable.
7698
7699 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
7702 created when no uuid support is compiled into mkfs.reiser.
7703
7704 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
7707 (utf8_to_macroman): Do the opposite.
7708 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
7709
7710 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * configure.ac: Refise build qemu_mips w/o unifont.
7713
7714 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 Eliminate grub_min/grub_max prone to overflow usage.
7717
7718 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
7719 (poll_nonroot_hub): Likewise.
7720 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
7721 (grub_affs_label): Likewise.
7722 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
7723 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
7724 (grub_hfs_label): Likewise.
7725 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
7726 * grub-core/fs/zfs/zfs.c (MIN): Remove.
7727 (zap_leaf_array_equal): Use grub_size. Remove MIN.
7728 (zap_leaf_array_get): Likewise.
7729 (dnode_get_path): Likewise.
7730 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
7731 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
7732 * grub-core/script/execute.c (grub_script_break): Likewise.
7733 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
7734 grub_max.
7735 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
7736 * include/grub/misc.h (grub_min): Removed.
7737 (grub_max): Likewise.
7738
7739 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
7740
7741 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
7742 direct.inode = 0.
7743
7744 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
7747
7748 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
7751
7752 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
7755 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
7756
7757 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
7760 rather than a hack for grub_strncasemap.
7761
7762 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 Support multiple initrds
7765 Note: part of this was accidently committed in r3739.
7766
7767 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
7768 initrd.
7769 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7770 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7771 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7772 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7773 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7774
7775 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
7778 disks with unknown size.
7779 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
7780
7781 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Remove defines pertaining to arbitrary limits not affecting GRUB
7784 anymore.
7785
7786 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
7787 (EXT2_MAX_SYMLINKCNT): Likewise.
7788 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
7789 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
7790 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
7791 (GRUB_PXE_MAX_BLKSIZE): Likewise.
7792 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
7793 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
7794 (DN_MAX_OBJECT_SHIFT): Likewise.
7795 (DN_MAX_OFFSET_SHIFT): Likewise.
7796 (DN_MAX_OBJECT): Likewise.
7797 (DNODES_PER_LEVEL_SHIFT): Likewise.
7798 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
7799 (SPA_MAXBLOCKSIZE): Likewise.
7800 (SPA_BLOCKSIZES): Likewise.
7801 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
7802 (MZAP_MAX_BLKSZ): Likewise.
7803
7804 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
7807 handle NULL appropriately.
7808 Remove MIN.
7809
7810 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 Fix efiemu.
7813
7814 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
7815 cpu/types.h.
7816 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
7817 * configure.ac: Fix efiemu check.
7818
7819 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
7822 grub_probe.
7823 Reported by: adamwill
7824
7825 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
7826
7827 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
7828
7829 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Fix handling of wide characters in gfxterm.
7832
7833 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
7834 (clear_char): Likewise.
7835 (paint_char): Skip code == NULL chars.
7836 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
7837
7838 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/normal/charset.c: Move comment to right place.
7841
7842 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
7845 (GRUB_AFFS_FLAG_FFS): Put back where it was.
7846 (grub_affs_mount): Revert the correct version checking.
7847
7848 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * docs/grub.texi (Unicode): Mention several other unsupported features.
7851
7852 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
7855 case statements as compile-time one.
7856 (direct_read): Prevent spurious warnings.
7857 (grub_squash_read_data): Likewise.
7858
7859 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 Various squash4 fixes and LZO and XZ support.
7862
7863 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
7864 Add xzembed source files.
7865 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
7866 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
7867 (grub_squash_inode): New subtype long_dir.
7868 (SQUASH_TYPE_LONG_DIR): New inode type.
7869 (COMPRESSION): New enum.
7870 (XZBUFSIZ): New const.
7871 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
7872 (read_chunk): Use data->decompress.
7873 (zlib_decompress): New function.
7874 (lzo_decompress): Likewise.
7875 (xz_decompress): Likewise.
7876 (squash_mount): Set new data fields.
7877 (grub_squash_iterate_dir): Handle long dir.
7878 (squash_unmount): Free xzdec and xzbuf.
7879 (grub_squash_open): Check ino type.
7880 (direct_read): Stylistic fixes. Use data->decompress.
7881 (grub_squash_read_data): Likewise.
7882 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
7883 (get_byte): Likewise.
7884 (grub_zlib_disk_read): Removed.
7885 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
7886 (GRUB_POSIX_BOOL_DEFINED): New define.
7887 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
7888 * grub-core/lib/xzembed/xz.h: Addmissing includes.
7889 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
7890 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
7891
7892 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 Don't override more informative errors.
7895
7896 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
7897 * grub-core/font/font.c (open_section): Likewise.
7898 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
7899 filename. Don't override errors.
7900 (grub_cmd_openbsd_ramdisk): Don't override errors.
7901 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
7902 (grub_cmd_initrd): Likewise.
7903 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7904 (grub_cmd_initrd): Likewise.
7905 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
7906 (grub_cmd_linux): Likewise.
7907 (grub_cmd_initrd): Likewise.
7908 (grub_cmd_payload): Likewise.
7909 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7910 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
7911 (grub_cmd_module): Likewise.
7912 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7913 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7914 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
7915 (grub_cmd_xnu_mkext): Likewise.
7916 (grub_cmd_xnu_ramdisk): Likewise.
7917 (grub_xnu_check_os_bundle_required): Likewise.
7918 (grub_xnu_load_kext_from_dir): Likewise.
7919 (grub_cmd_xnu_kextdir): Likewise.
7920 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
7921
7922 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
7925 as 1024 in block size field. Found on one of my test images.
7926 Small optimisation while on it.
7927
7928 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
7931 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
7932 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
7933 performance fixes while on it.
7934 (grub_sfs_close): Fix memory leak while on it.
7935 (grub_sfs_label): Convert Latin1 to UTF-8.
7936
7937 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
7940 space to avoid overflows.
7941 (grub_hfs_label): Convert from macroman to UTF-8.
7942
7943 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
7946
7947 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
7950
7951 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * unicode: Import Unicode 6.0 data.
7954
7955 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
7958 outside of range.
7959
7960 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Avoid cutting in the middle of UTF-8 character.
7963
7964 * include/grub/charset.h (grub_getend): New function.
7965 * grub-core/script/function.c (grub_script_function_find): Use
7966 grub_getend.
7967 * grub-core/normal/completion.c (add_completion): Likewise.
7968
7969 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
7972 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
7973 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
7974 (GRUB_UNICODE_TAG_END): Likewise.
7975 (GRUB_UNICODE_LAST_VALID): Likewise.
7976
7977 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
7980 len and make it smaller. All users updated.
7981 * util/import_unicode.py: Put length and not end character.
7982 Check length.
7983
7984 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Make better Unicode-compliant and unify some UTF-8 code pathes.
7987
7988 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
7989 valid character.
7990 (grub_is_valid_utf8): Use grub_utf8_process.
7991 Check resulting code range.
7992 (grub_utf8_to_ucs4): Use grub_utf8_process.
7993 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
7994 valid character.
7995
7996 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
7999
8000 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * docs/grub.texi (Filesystems): Mention AFS.
8003
8004 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * docs/grub.texi (Filesystems): Clarify restrictions.
8007 (Regexp): Mention non-Unicode regexp behaviour.
8008 (Other): Mention non-Unicode matching behaviour.
8009
8010 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 Make HFS implementation use MacRoman.
8013
8014 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8015 (macroman): New const array.
8016 (macroman_to_utf8): New function.
8017 (utf8_to_macroman): Likewise.
8018 (grub_hfs_find_dir): Use utf8_to_macroman.
8019 (grub_hfs_dir): Use macroman_to_utf8.
8020 Set case_insensitive.
8021
8022 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8025
8026 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 Integrate hints into autogeneration scripts.
8029
8030 * docs/grub.texi (Filesystems): Add a hostdisk example.
8031 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8032 (grub-probe): Add ofpath.
8033 * gentpl.py: Remove group nosparc64.
8034 * grub-core/commands/search.c (cache_entry): New struct.
8035 (cache): New var.
8036 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8037 * grub-core/commands/search_wrap.c (options): Add platform-specific
8038 hint options.
8039 (grub_cmd_search): Handle platform-specific hints.
8040 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8041 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8042 (grub_util_biosdisk_data): Likewise.
8043 (grub_util_biosdisk_open): Set device_map.
8044 (read_device_map): Handle "" as indication of no map.
8045 Set device_map.
8046 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8047 (grub_util_biosdisk_get_compatibility_hint): New function.
8048 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8049 * include/grub/emu/hostdisk.h
8050 (grub_util_biosdisk_get_compatibility_hint): New proto.
8051 * util/grub-install.in: Don't call grub-mkdevicemap.
8052 Add platform-specific hint to load.cfg.
8053 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8054 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8055 hints. Set root preliminary to compatibility hint, not to OS name.
8056 * util/grub-probe.c (PRINT_*): Add hints.
8057 (print): Make static.
8058 (escape_of_path): New function.
8059 (guess_bios_drive): Likewise.
8060 (guess_efi_drive): Likewise.
8061 (guess_baremetal_drive): Likewise.
8062 (print_full_name): Likewise.
8063 (probe): Handle hints.
8064 (main): Likewise.
8065 * util/ieee1275/devicemap.c: Removed.
8066 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8067 updated.
8068 (grub_util_devname_to_ofpath): Return NULL on failure.
8069
8070 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8071 resource leak.
8072 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8073
8074 * po/POTFILES.in: Regenerated.
8075
8076 Allow purely long options
8077
8078 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8079 (SHORT_ARG_USAGE): Likewise.
8080 (grub_arg_show_help): Compare opt with help_options.
8081 (parse_option): Receive opt as argument. If makes big simplificatons.
8082 All users updated
8083
8084 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8087 Restructure to avoid warning.
8088
8089 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * util/grub-install.in: Account for possible escaped comma in device
8092 name.
8093
8094 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8097 channel.
8098
8099 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8102 allocation and zero-setting.
8103 (grub_ieee1275_get_devname): Check that alias is complete.
8104
8105 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8108 unaligned segments.
8109
8110 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8113 prefix.
8114 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8115 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8116 Add ieee1275 prefix.
8117
8118 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * docs/grub.texi (Filesystems): Update.
8121
8122 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Support odc, newc and bigendian cpio formats.
8125
8126 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8127 * grub-core/Makefile.core.def (newc): New module.
8128 (odc): Likewise.
8129 (cpio_be): Likewise.
8130 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8131 (MAGIC): Likewise.
8132 (MAGIC2): Likewise.
8133 (head) [MODE_ODC]: Adapt for the format.
8134 (head) [MODE_NEWC]: Likewise.
8135 (head) [!MODE_*]: Write fields of interest as arrays.
8136 (MAGIC_USTAR): Removed.
8137 (read_number) [MODE_NEWC]: Change to hex.
8138 (read_number) [!MODE_*]: Parse binary arrays.
8139 (grub_cpio_find_file): Factor out the code for better structure and
8140 always use read_number.
8141 (grub_cpio_mount): Use MAGIC and MAGIC2.
8142 (grub_cpio_dir): Exit on first hook non-0 return.
8143 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8144 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8145 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8146 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8147 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8148 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8149 * grub-core/fs/newc.c: New file.
8150 * grub-core/fs/odc.c: Likewise.
8151 * grub-core/fs/cpio_be.c: Likewise.
8152
8153 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 Fix handling of tar numbers occupying the whole field.
8156
8157 * grub-core/fs/cpio.c (read_number): New function.
8158 (grub_cpio_find_file): Use read_number instead of strtoull.
8159
8160 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8163 occupying the whole field size.
8164
8165 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8166
8167 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8168
8169 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8172
8173 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8174
8175 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8176 TARGET_IMG_LDFLAGS.
8177
8178 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8181 (mountinfo_entry): Increase the field size to take escaping into
8182 account.
8183 (find_root_device_from_libzfs): Add one byte to size of strings for
8184 security.
8185
8186 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8189 an assert.
8190 * util/grub-setup.c (setup): Likewise.
8191
8192 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8195 _LzmaDecodeA.
8196
8197 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * docs/grub.texi (Internationalisation): New section.
8200
8201 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * docs/grub.texi (Loopback booting): New section.
8204
8205 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
8206
8207 * util/grub-mkstandalone.in: Fix minor typo errors.
8208
8209 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8212
8213 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8214 net/icmp.c and net/icmp6.c.
8215 (http): New module.
8216 (priority_queue): Likewise.
8217 * grub-core/io/bufio.c: Rewritten.
8218 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8219 TYPE_WITH_CONFIGFILE_OPTION.
8220 (legacy_commands): Add bootp and dhcp.
8221 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8222 (grub_legacy_parse): Likewise.
8223 * grub-core/lib/priority_queue.c: New file.
8224 * grub-core/net/arp.c: Add missing license header.
8225 (arp_find_entry): Removed.
8226 (arp_find_entry): Likewise.
8227 (grub_net_arp_resolve): Rename to ...
8228 (grub_net_arp_send_request): ...this.
8229 (grub_net_arp_receive): New card argument.
8230 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8231 Set router and DNS server.
8232 (grub_net_configure_by_dhcp_ack): Handle routing information.
8233 (grub_cmd_bootp): Set checksum.
8234 (grub_bootp_init): Remove net_dhcp.
8235 * grub-core/net/dns.c: New file.
8236 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8237 completion.
8238 (get_card_packet): Handle allocation.
8239 (grub_efinet_findcards): Set mtu.
8240 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8241 (get_card_packet): Handle allocation.
8242 (emucard): Set mtu.
8243 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8244 (GRUB_MOD_INIT): Set mtu.
8245 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8246 mtu.
8247 (get_card_packet): Handle allocation.
8248 (grub_ofnet_findcards): Set mtu.
8249 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8250 assert.
8251 (grub_net_recv_ethernet_packet): Handle IPv6.
8252 * grub-core/net/http.c: New file.
8253 * grub-core/net/icmp.c: Likewise.
8254 * grub-core/net/icmp6.c: Likewise.
8255 * grub-core/net/ip.c (ip6addr): New type.
8256 (ip6hdr): Likewise.
8257 (reassemble): Likewise.
8258 (cmp): New function.
8259 (reassembles): New variable.
8260 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8261 (id): New variable.
8262 (send_fragmented): New function.
8263 (grub_net_send_ip_packet): Rename to ...
8264 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8265 Handle non-UDP.
8266 (grub_net_recv_ip_packets): Rename to ...
8267 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8268 (free_rsm): New function.
8269 (free_old_fragments): Likewise.
8270 (grub_net_recv_ip4_packets): New function.
8271 (grub_net_send_ip6_packet): Likewise.
8272 (grub_net_send_ip_packet): Likewise.
8273 (grub_net_recv_ip6_packets): Likewise.
8274 (grub_net_recv_ip_packets): Likewise.
8275 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8276 (LINK_LAYER_CACHE_SIZE): New const.
8277 (link_layer_find_entry): New function.
8278 (grub_net_link_layer_add_address): Likewise.
8279 (grub_net_link_layer_resolve_check): Likewise.
8280 (grub_net_link_layer_resolve): Likewise.
8281 (grub_net_ipv6_get_slaac): Likewise.
8282 (grub_net_ipv6_get_link_local): Likewise.
8283 (grub_cmd_ipv6_autoconf): Likewise.
8284 (parse_ip): Handle one number representation.
8285 (parse_ip6): New functoion.
8286 (match_net): Handle IPv6.
8287 (grub_net_resolve_address): Handle IPv6 and DNS.
8288 (grub_net_resolve_net_address): Handle IPv6.
8289 (route_cmp): New function.
8290 (grub_net_route_address): Find best route.
8291 (grub_net_addr_to_str): Handle IPv6.
8292 (grub_net_addr_cmp): New function.
8293 (grub_net_add_addr): Register local route.
8294 (print_net_address): Handle net address.
8295 (grub_net_poll_cards): Retransmit TCP.
8296 (grub_net_poll_cards_idle_real): Likewise.
8297 (have_ahead): New function.
8298 (grub_net_seek_real): Use underlying seek.
8299 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8300 * grub-core/net/tcp.c: New file.
8301 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8302 (cmp): New function.
8303 (ack): Likewise.
8304 (tftp_receive): Handle unordered input.
8305 (destroy_pq): New function.
8306 (tftp_close): Close pq.
8307 * grub-core/net/udp.c: Put missing license header.
8308 (grub_net_udp_socket): New function.
8309 (udp_socket_register): Likewise.
8310 (grub_net_udp_close): Likewise.
8311 (grub_net_recv_udp_packet): Check checksum.
8312 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8313 * include/grub/misc.h (grub_memchr): New function.
8314 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8315 (grub_net_card_driver): Return buf in recv.
8316 (grub_net_slaac_mac_list): New struct.
8317 (grub_network_level_protocol_id): Add ipv6.
8318 (grub_net_network_level_addr): Likewise.
8319 (grub_net_network_level_net_addr): Likewise.
8320 (grub_net_app_protocol): Add seek.
8321 (grub_net_socket): Removed.
8322 (grub_net_sockets): Likewise.
8323 (grub_net_socket_register): Likewise.
8324 (grub_net_socket_unregister): Likewise.
8325 (FOR_NET_SOCKETS): Likewise.
8326 (grub_net_add_addr): Add const.
8327 (GRUB_NET_BOOTP_*): New enum.
8328 (grub_net_addr_cmp): New proto.
8329 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8330 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8331 (grub_net_hwaddr_to_str): NEw proto.
8332 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8333 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8334 (grub_dns_init): New proto.
8335 (grub_dns_fini): Likewise.
8336 (grub_net_tcp_retransmit): Likewise.
8337 (grub_net_link_layer_add_address): Likewise.
8338 (grub_net_link_layer_resolve_check): Likewise.
8339 (grub_net_link_layer_resolve): Likewise.
8340 (grub_net_dns_lookup): Likewise.
8341 (grub_net_add_dns_server): Likewise.
8342 (grub_net_remove_dns_server): Likewise.
8343 (GRUB_NET_TRIES): New const.
8344 (GRUB_NET_INTERVAL): Likewise.
8345 * include/grub/net/arp.h: Mostly rewritten.
8346 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8347 * include/grub/net/ip.h: Mostly rewritten.
8348 * include/grub/net/netbuff.h: Indent.
8349 * include/grub/net/tcp.h: New file.
8350 * include/grub/net/udp.h: Mostly rewritten.
8351 * include/grub/priority_queue.h: New file.
8352 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8353 (grub_swap_bytes64_compile_time): Likewise.
8354 (grub_cpu_to_be16_compile_time): Likewise.
8355 (grub_cpu_to_be32_compile_time): Likewise.
8356 (grub_cpu_to_be64_compile_time): Likewise.
8357 (grub_be_to_cpu64_compile_time): Likewise.
8358
8359 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8362 UINT_TO_PTR with cast.
8363
8364 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8367 don't use them.
8368
8369 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8372 already there.
8373
8374 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8377 confusing ipxe.
8378
8379 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8382 Add missing const attribute.
8383 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8384 Likewise.
8385 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8386 Likewise.
8387
8388 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8391 misaligned access.
8392 (serpent_setkey): Likewise.
8393 (serpent_encrypt_internal): Likewise.
8394 (serpent_decrypt_internal): Likewise.
8395 (serpent_encrypt): Don't put an alignment-increasing cast.
8396 (serpent_decrypt): Likewise.
8397 (serpent_test): Likewise.
8398
8399 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
8402
8403 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
8406
8407 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
8408 grub_addr_t casts.
8409 (PTR_TO_UINT64): Likewise.
8410 (PTR_TO_UINT32): Likewise.
8411
8412 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * util/grub-mkimage.c (generate_image): Decrease the higher limit
8415 because of stack.
8416 * util/grub-setup.c (setup): Don't add redundancy past the higher load
8417 limit.
8418
8419 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
8422 text_width > available width a bit more gracefully.
8423
8424 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
8427 current address calculation.
8428
8429 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
8432 stack.
8433 (encode_block): Likewise.
8434
8435 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
8438 certainety.
8439
8440 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
8443 non-RS part to avoid RS messing with GDT.
8444 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8445 Increase to suit in realmode routines.
8446
8447 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/kern/i386/realmode.S: Increase alignment.
8450 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
8451
8452 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
8455 be deterministic.
8456 (syndroms): Compute 0 syndrom.
8457 (rs_recover): Use 0 syndrom.
8458
8459 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
8462
8463 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
8466 brackets.
8467
8468 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
8471 account.
8472 (get_top_pad): Likewise.
8473 (get_right_pad): Likewise.
8474 (get_bottom_pad): Likewise.
8475
8476 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
8479
8480 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
8483 attribute as the structure isn't guaranteed to be properly aligned.
8484 (grub_efi_pci_device_path): Likewise.
8485 (grub_efi_pccard_device_path): Likewise.
8486 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
8487 specify the size of `memory_type'.
8488 (grub_efi_vendor_device_path): Likewise.
8489 (grub_efi_controller_device_path): Likewise.
8490 (grub_efi_acpi_device_path): Likewise.
8491 (grub_efi_expanded_acpi_device_path): Likewise.
8492 (grub_efi_atapi_device_path): Likewise.
8493 (grub_efi_scsi_device_path): Likewise.
8494 (grub_efi_fibre_channel_device_path): Likewise.
8495 (grub_efi_1394_device_path): Likewise.
8496 (grub_efi_usb_device_path): Likewise.
8497 (grub_efi_usb_class_device_path): Likewise.
8498 (grub_efi_i2o_device_path): Likewise.
8499 (grub_efi_mac_address_device_path): Likewise.
8500 (grub_efi_ipv4_device_path): Likewise.
8501 (grub_efi_ipv6_device_path): Likewise.
8502 (grub_efi_infiniband_device_path): Likewise.
8503 (grub_efi_uart_device_path): Likewise.
8504 (grub_efi_vendor_messaging_device_path): Likewise.
8505 (grub_efi_hard_drive_device_path): Likewise.
8506 (grub_efi_cdrom_device_path): Likewise.
8507 (grub_efi_vendor_media_device_path): Likewise.
8508 (grub_efi_file_path_device_path): Likewise.
8509 (grub_efi_protocol_device_path): Likewise.
8510 (grub_efi_piwg_device_path): Likewise.
8511 (grub_efi_bios_device_path): Likewise.
8512
8513 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
8516 (grub_ucs4_to_utf8_alloc): Likewise.
8517 (grub_ucs4_to_utf8): Likewise.
8518 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
8519 (grub_ucs4_to_utf8_alloc): Likewise.
8520
8521 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 AFFS never uses unicode.
8524
8525 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
8526 (grub_latin1_to_utf8): New inline function.
8527 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
8528
8529 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
8532 overflow.
8533
8534 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
8537 (grub_squash_dirent_header): Likewise.
8538 (read_chunk): Don't double swap.
8539 (grub_squash_iterate_dir): Fix swap sizes.
8540
8541 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
8544
8545 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
8548 (grub_hfs_iterate_dir): Likewise.
8549
8550 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Fix video on platforms where unaligned access is forbidden.
8553 Make several optimisations while on it.
8554
8555 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
8556 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8557 (grub_video_fbblit_replace_32bit_1bit): Likewise.
8558 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8559 Disable.
8560 (grub_video_fbblit_replace_16bit_1bit):
8561 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8562 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8563 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
8564 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
8565 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8566 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
8567 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
8568 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
8569 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
8570 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
8571 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
8572 (grub_video_fbblit_replace_index_RGB888): Likewise.
8573 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
8574 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
8575 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
8576 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
8577 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
8578 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8579 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
8580 Disable.
8581 (grub_video_fbblit_blend_XXX565_1bit):
8582 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
8583 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
8584 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
8585 void *.
8586 * grub-core/video/fb/video_fb.c (common_blitter)
8587 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
8588 (grub_video_fb_create_render_target_from_pointer)
8589 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8590 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
8591 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
8592 definition.
8593 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
8594
8595 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
8598 HH22 and HM10 relocations.
8599
8600 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
8603
8604 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
8607 allocation succeeded.
8608
8609 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
8612 argument a u8 pointer. All users updated.
8613 Handle unaligned buffers.
8614
8615 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
8618 add_part to workaround compiler bug.
8619
8620 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
8623
8624 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
8627 Reserve alignment invariants.
8628 (grub_multiboot_load): Likewise.
8629 (retrieve_video_parameters): Likewise.
8630 (grub_multiboot_make_mbi): Likewise.
8631
8632 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
8635 incorrect pointer.
8636
8637 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
8640 (grub_pata_pio_write): Likewise.
8641
8642 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 Add noreturn attributes and remove unreachable code.
8645
8646 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
8647 code.
8648 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
8649 code. Mark as noreturn.
8650 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
8651 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
8652 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
8653 unreachable code.
8654 * grub-core/kern/main.c (grub_main): Mark as noreturn.
8655 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
8656 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
8657 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
8658 * include/grub/kernel.h (grub_main): Mark as noreturn.
8659 * include/grub/reader.h (grub_rescue_run): Likewise.
8660
8661 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
8664 redundant declaration.
8665
8666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * include/grub/net.h (grub_net_network_level_interfaces): Remove
8669 redundant declaration.
8670 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
8671
8672 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
8675 to ensure alignment.
8676 (grub_hdparm_print_identify): Make argument uint16 * to ensure
8677 alignment. Ensure tmp alignment.
8678 (grub_cmd_hdparm): Ensure buf alignment.
8679 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
8680 to ensure alignment.
8681 (grub_ata_dumpinfo): Ensure text alignment.
8682 (grub_atapi_identify): Preserve alignment invariant.
8683 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
8684
8685 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
8688 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
8689 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
8690 * include/grub/misc.h (grub_reboot)
8691 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
8692 (grub_halt) [__mips__]: Likewise.
8693
8694 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
8697 Remove redundant declaration.
8698 (grub_mmap_get_post64): Likewise.
8699 (grub_mmap_get_upper): Likewise.
8700 (grub_mmap_get_lower): Likewise.
8701
8702 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
8705 uint32_t * to ensure alignment.
8706 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
8707
8708 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
8711 uint16_t * to ensure alignment.
8712 (sun_pc_partition_map_iterate): Make `block' a union to ensure
8713 alignment.
8714
8715 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
8718 to ensure alignment.
8719 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
8720
8721 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/fs/ntfs.c (u16at): Make into inline function.
8724 Handle unaligned pointers.
8725 (u32at): Likewise.
8726 (u64at): Likewise.
8727 (fixup): Use byte access instead of v16at.
8728 (find_attr): Fix imporper usage of v32at.
8729 (read_data): Likewise.
8730 (list_file): Handle byte-swapping and unaligned strings.
8731 (grub_ntfs_label): Likewise.
8732
8733 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
8736 as it's not necessarily aligned.
8737
8738 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
8741 redundant declaration.
8742 (grub_serial_init): Likewise.
8743 (grub_terminfo_init): Likewise.
8744
8745 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
8748 function.
8749 (ZAP_HASH_IDX): Likewise.
8750 (ZAP_LEAF_HASH_SHIFT): Likewise.
8751 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
8752 (LEAF_HASH): Likewise.
8753 (ZAP_LEAF_NUMCHUNKS): Likewise.
8754 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
8755 alignment invariants. Return pointer. All users updated.
8756 (ZAP_LEAF_ENTRY): Make into inline function.
8757 (NBBY): Removed.
8758 (xor): LIkewise.
8759 (xor_out): Use grub_crypto_xor.
8760 (dnode_get_path): Use grub_get_unaligned.
8761 (nvlist_find_value): Likewise.
8762 (grub_zfs_nvlist_lookup_uint64): Likewise.
8763 (grub_zfs_nvlist_lookup_string): Likewise.
8764 (get_nvlist_size): Likewise.
8765 (grub_zfs_open): Likewise.
8766 (fill_fs_info): Likewise.
8767 (grub_zfs_dir): Likewise.
8768 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
8769 alignment invariants.
8770 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
8771 necessarily aligned.
8772
8773 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
8776
8777 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
8780 arithmetic to conserve alignment invariants.
8781
8782 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
8785 redundant declaration.
8786 (grub_efiemu_mm_obtain_request): Likewise.
8787 (grub_efiemu_prepare): Likewise.
8788
8789 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
8792 to match types.
8793
8794 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
8797 case of aunaligned recptr.
8798 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
8799 alignment.
8800 (grub_hfsplus_btree_search): Handle unaligned index.
8801
8802 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
8805 to get freetag and skip.
8806
8807 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
8810 array.
8811 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
8812 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
8813
8814 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
8817 name for checksum and fix allocation algorithm.
8818
8819 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * include/grub/types.h (grub_properly_aligned_t): New type.
8822 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
8823 (grub_get_unaligned16): Add explicit casts.
8824 (grub_get_unaligned32): Likewise.
8825 (grub_get_unaligned64): Likewise.
8826 (grub_set_unaligned16): New function.
8827 (grub_set_unaligned32): Likewise.
8828
8829 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8832
8833 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
8836 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
8837 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
8838
8839 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
8842 conditionals.
8843
8844 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
8847 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
8848
8849 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Unify and improve RAID and crypto xor.
8852
8853 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
8854 changed to grub_crypto_xor
8855 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
8856 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
8857 Use bigger types when possible.
8858
8859 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/disk/raid.c (scan_devices): Fix condition.
8862
8863 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
8866 Make name a const ptr.
8867
8868 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
8871 first argument a const pointer.
8872 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
8873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
8874 proto.
8875 (grub_children_iterate): Likewise.
8876 (grub_machine_mmap_iterate): Remove redundant declaration.
8877
8878 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
8881 (grub_cmd_acpi) [!x86]: Disable EBDA.
8882
8883 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Enable UTF8 in gnulib regexp.
8886
8887 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
8888 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
8889 (isupper): Use grub_isupper.
8890 (isascii): New inline function.
8891 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
8892 * grub-core/lib/posix_wrap/wctype.h: Likewise.
8893 * grub-core/normal/charset.c (grub_utf8_process): New function.
8894 (grub_utf8_to_utf16): Use grub_utf8_process.
8895 (grub_encode_utf8_character): New function.
8896 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
8897 * include/grub/charset.h (grub_utf8_process): New declaration.
8898 (grub_encode_utf8_character): Likewise.
8899 * include/grub/misc.h (grub_islower): New inline function.
8900 (grub_isupper): Likewise.
8901 (grub_strchrsub): Moved down to fix the definitions.
8902
8903 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
8906 specification.
8907
8908 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * include/grub/loader.h (grub_loader_register_preboot_hook):
8911 Use struct preboot * and not void * for handle. All users updated.
8912 (grub_loader_unregister_preboot_hook): Likewise.
8913
8914 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
8917 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
8918 UTF-16-BE. All users updated.
8919 (grub_hfsplus_cmp_catkey): Fix unicode handling.
8920 (grub_hfsplus_iterate_dir): Likewise.
8921 (grub_hfsplus_label): Likewise.
8922
8923 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
8926
8927 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Add missing const qualifiers.
8930
8931 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
8932 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
8933 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
8934 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
8935 (grub_lvm_check_flag): Likewise.
8936 * grub-core/efiemu/i386/coredetect.c
8937 (grub_efiemu_get_default_core_name): Likewise
8938 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8939 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
8940 * grub-core/fs/ntfs.c (fixup): Likewise.
8941 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
8942 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
8943 (fzap_lookup): Likewise.
8944 (zap_lookup): Likewise.
8945 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
8946 * grub-core/lib/legacy_parse.c (check_option): Likewise.
8947 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
8948 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
8949 (grub_freebsd_add_meta_module): Likewise.
8950 (grub_cmd_freebsd_module): Likewise.
8951 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
8952 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
8953 (grub_xnu_writetree_get_size): Likewise.
8954 (grub_xnu_writetree_toheap_real): Likewise.
8955 (grub_xnu_find_key): Likewise.
8956 (grub_xnu_create_key): Likewise.
8957 (grub_xnu_create_value): Likewise.
8958 (grub_xnu_register_memory): Likewise.
8959 (grub_xnu_check_os_bundle_required): Likewise.
8960 (grub_xnu_scan_dir_for_kexts): Likewise.
8961 (grub_xnu_load_kext_from_dir): Likewise.
8962 * grub-core/normal/color.c (color_list): Likewise.
8963 * grub-core/normal/completion.c (current_word): Likewise.
8964 * grub-core/normal/menu_entry.c (insert_string): Likewise.
8965 * grub-core/term/serial.c (grub_serial_find): Likewise.
8966 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
8967 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
8968 Likewise.
8969 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
8970 (grub_freebsd_add_meta_module): Likewise.
8971 * include/grub/lib/arg.h (grub_arg_option): Likewise.
8972 * include/grub/net.h (grub_net_card_driver): Likewise.
8973 (grub_net_card): Likewise.
8974 (grub_net_app_protocol): Likewise.
8975 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
8976 * include/grub/serial.h (grub_serial_find): Likewise.
8977 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
8978 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
8979 (grub_xnu_create_value): Likewise.
8980 (grub_xnu_find_key): Likewise.
8981 (grub_xnu_scan_dir_for_kexts): Likewise.
8982 (grub_xnu_load_kext_from_dir): Likewise.
8983
8984 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
8985 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
8986 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
8987 Moved from here ...
8988 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
8989
8990 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
8991
8992 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
8993
8994 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
8997 (read_device): Fix size calculation.
8998
8999 2011-11-25 Robert Millan <rmh@gnu.org>
9000
9001 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9002 (find_root_device_from_libzfs): Add zpool output parser to be used
9003 as fallback when libzfs isn't available.
9004
9005 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9006
9007 * po/Makefile.in.in: Add missing escape-continuation.
9008
9009 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9012
9013 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9016
9017 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9020
9021 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9024
9025 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/lib/adler32.c: Add missing license specification.
9028 * grub-core/lib/crc64.c: Likewise.
9029 * grub-core/loader/i386/pc/plan9.c: Likewise.
9030 * grub-core/partmap/plan.c: Likewise.
9031
9032 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9033
9034 Add facility to debug GRUB with gdb under qemu.
9035
9036 * grub-core/gdb_grub.in: New file.
9037 * grub-core/gmodule.pl.in: Likewise.
9038 * grub-core/Makefile.core.def (gmodule.pl): New script.
9039 (gdb_grub): Likewise.
9040
9041 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * util/grub-mount.c (argp_parser): Accept relative pathes.
9044 * util/grub-fstest.c (argp_parser): Likewise.
9045
9046 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 Plan9 support.
9049
9050 * Makefile.util.def (libgrubmods): Add
9051 grub-core/partmap/plan.c.
9052 * docs/grub.texi: Notice Plan9 support.
9053 * grub-core/Makefile.core.def (plan9): New module.
9054 (part_plan): Likewise.
9055 * grub-core/loader/i386/pc/plan9.c: New file.
9056 * grub-core/partmap/plan.c: Likewise.
9057 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9058 define.
9059 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9060 * include/grub/mm.h (grub_extend_alloc): New inline function.
9061
9062 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Make Reed-Solomon faster by using power of generator representation of
9065 GF(256)*.
9066
9067 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9068 (gf_double_t): Likewise.
9069 (gf_invert): Removed.
9070 (gf_powx): New array.
9071 (gf_powx_inv): Likewise.
9072 (scratch): Move higher.
9073 (gf_reduce): Removed.
9074 (gf_mul): Use powx.
9075 (gf_invert): Likewise.
9076 (init_inverts): Replaced with ...
9077 (init_powx): ...this. All users updated.
9078 (pol_evaluate): Replace multiplications with additions.
9079 (rs_encode): Likewise.
9080 (gauss_eliminate): Call gf_invert.
9081 (grub_reed_solomon_add_redundancy): Call init_powx.
9082 (grub_reed_solomon_recover): Call init_powx unconditionally.
9083
9084 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9087
9088 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9091 disk->partiton for safety.
9092
9093 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9096 Fix a memory leak.
9097 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9098
9099 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9102
9103 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9106
9107 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 Fix spaces handling in proc/self/mountinfo.
9110
9111 * util/getroot.c (unescape): New function.
9112 (grub_find_root_device_from_mountinfo): Use unescape.
9113
9114 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 Support ZFS embedding.
9117
9118 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9119 (grub_zfs_fs): Register grub_zfs_embed.
9120
9121 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Fix MIPS compilation.
9124
9125 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9126 * include/grub/offsets.h: Rename decompressor fields from
9127 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9128 * util/grub-mkimage.c (image_targets): Use new names.
9129
9130 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 Defer multiboot device parsing until we're in compressed part.
9133
9134 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9135 bsd_part. setdevice has fallen into disuse.
9136 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9137 (bsd_part): Likewise.
9138 (boot_dev): New variable.
9139 (multiboot_trampoline): Don't parse multiboot device.
9140 Pass multiboot device in %edx.
9141 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9142 grub_boot_device.
9143 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9144 Likewise.
9145 * grub-core/kern/i386/pc/startup.S: Save edx.
9146 (grub_boot_drive): Removed.
9147 (grub_install_dos_part): Likewise.
9148 (grub_install_bsd_part): Likewise.
9149 (grub_boot_device): New variable.
9150 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9151 (grub_install_bsd_part): Likewise.
9152 (grub_boot_drive): Likewise.
9153 (grub_boot_device): New variable.
9154 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9155 Removed.
9156 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9157 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9158 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9159 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9160 * util/grub-install.in: Remove redundant condition.
9161
9162 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 Fix bug introduced by previous commit.
9165
9166 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9167
9168 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 Use decompressors framework on i386-pc. It increases core size
9171 by 46 bytes but improves compatibility and maintainability.
9172
9173 * grub-core/Makefile.core.def (lzma_decompress): New image.
9174 (kernel): Add i386_pc_ldflags.
9175 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9176 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9177 to real_to_prot, prot_to_real and device info.
9178 * include/grub/offsets.h: Renamed decompressor offsets.
9179 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9180 (image_target_desc): Remove raw_size and rename decompressor fields.
9181 (compress_kernel): Handle lzma.
9182 (generate_image): Handle decompressors on i386-pc.
9183
9184 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * configure.ac: Add -fno-asynchronous-unwind-tables.
9187
9188 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 Move assembly code to C by using intwrap. It increases core size
9191 by 88 bytes but improves compatibility and maintainability.
9192
9193 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9194 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9195 ... here. Translated to C.
9196 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9197 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9198 ... here. Translated to C.
9199 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9200 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9201 ... here. Translated to C.
9202 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9203 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9204 ... here. Translated to C.
9205 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9206 * grub-core/term/i386/pc/console.c (grub_console_cls):
9207 ... here. Translated to C.
9208 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9209 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9210 ... here. Translated to C.
9211 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9212 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9213 Translated to C.
9214 * grub-core/term/i386/pc/console.c (int10_9): New function.
9215 (grub_console_putchar): Likewise.
9216 * include/grub/i386/pc/console.h: Removed the not anymore shared
9217 functions.
9218
9219 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 Move grub_chainloader_real_boot out of the kernel.
9222
9223 * grub-core/Makefile.am: Remove machine/loader.h.
9224 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9225 Removed.
9226 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9227 variable.
9228 (grub_relocator16_keep_a20_enabled): Likewise.
9229 (grub_relocator16_boot): Fill new variables.
9230 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9231 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9232 relocator.
9233 (grub_chainloader_unload): Likewise.
9234 (grub_chainloader_cmd): Likewise.
9235 * include/grub/i386/pc/loader.h: Removed.
9236 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9237 and esi. All initialisers updated.
9238
9239 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9240 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
9241
9242 * Makefile.util.def (grub-mount): New util.
9243 * .bzrignore: Add grub-mount.
9244 * configure.ac: Check for fuse and enable grub-mount if available.
9245 * docs/man/grub-mount.h2m: New file.
9246 * util/grub-mount.c: Likewise.
9247
9248 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/commands/efi/fixvideo.c: Gettextize.
9251 * grub-core/commands/hashsum.c: Likewise.
9252 * grub-core/commands/i386/cmostest.c: Likewise.
9253 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9254 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9255 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9256 * grub-core/commands/lsmmap.c: Likewise.
9257 * grub-core/commands/menuentry.c: Likewise.
9258 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9259 * grub-core/commands/setpci.c: Likewise.
9260 * grub-core/loader/i386/bsd.c: Likewise.
9261 * grub-core/loader/i386/linux.c: Likewise.
9262 * util/getroot.c: Likewise.
9263 * util/grub-editenv.c: Likewise.
9264 * util/grub-fstest.c: Likewise.
9265 * util/grub-mkfont.c: Likewise.
9266 * util/grub-mkimage.c: Likewise.
9267 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9268 * util/grub-pe2elf.c: Likewise.
9269 * util/grub-probe.c: Likewise.
9270 * util/grub-setup.c: Likewise.
9271 * util/ieee1275/ofpath.c: Likewise.
9272 * util/misc.c: Likewise.
9273 * util/raid.c: Likewise.
9274
9275 2011-11-11 Robert Millan <rmh@gnu.org>
9276
9277 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9278 __attribute__((unused)) from `os_dev', which *is* being used.
9279
9280 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9283 forgotten define.
9284 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9285 GRUB_IA64_DL_GOT_ALIGN.
9286 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9287 GRUB_IA64_DL_TRAMP_ALIGN.
9288
9289 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 Replace grub_fatal with normal errors in i386 linux loader.
9292
9293 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9294 (allocate_pages): Check find_efi_mmap_size return value.
9295 (grub_e820_add_region): Return error.
9296 (grub_linux_boot): Check mmap return value.
9297
9298 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * grub-core/commands/acpihalt.c: Gettextized.
9301 * grub-core/commands/cacheinfo.c: Likewise.
9302 * grub-core/commands/cmp.c: Likewise.
9303 * grub-core/commands/efi/loadbios.c: Likewise.
9304 * grub-core/commands/gptsync.c: Likewise.
9305 * grub-core/commands/ieee1275/suspend.c: Likewise.
9306 * grub-core/commands/legacycfg.c: Likewise.
9307 * grub-core/commands/memrw.c: Likewise.
9308 * grub-core/commands/minicmd.c: Likewise.
9309 * grub-core/commands/parttool.c: Likewise.
9310 * grub-core/commands/time.c: Likewise.
9311 * grub-core/commands/videoinfo.c: Likewise.
9312 * grub-core/disk/geli.c: Likewise.
9313 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9314 * grub-core/disk/luks.c: Likewise.
9315 * grub-core/disk/lvm.c: Likewise.
9316 * grub-core/font/font_cmd.c: Likewise.
9317 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9318 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9319 * grub-core/gfxmenu/view.c: Likewise.
9320 * grub-core/kern/emu/hostdisk.c: Likewise.
9321 * grub-core/kern/emu/main.c: Likewise.
9322 * grub-core/kern/emu/misc.c: Likewise.
9323 * grub-core/kern/emu/mm.c: Likewise.
9324 * grub-core/kern/mips/arc/init.c: Likewise.
9325 * grub-core/kern/mips/loongson/init.c: Likewise.
9326 * grub-core/kern/partition.c: Likewise.
9327 * grub-core/lib/i386/halt.c: Likewise.
9328 * grub-core/lib/mips/arc/reboot.c: Likewise.
9329 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9330 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9331 * grub-core/loader/i386/xnu.c: Likewise.
9332 * grub-core/loader/multiboot.c: Likewise.
9333 * grub-core/net/bootp.c: Likewise.
9334 * grub-core/net/net.c: Likewise.
9335 * grub-core/normal/term.c: Likewise.
9336 * grub-core/partmap/bsdlabel.c: Likewise.
9337 * grub-core/parttool/msdospart.c: Likewise.
9338 * grub-core/term/gfxterm.c: Likewise.
9339 * grub-core/term/terminfo.c: Likewise.
9340 * grub-core/video/i386/pc/vbe.c: Likewise.
9341 * util/grub-menulst2cfg.c: Likewise.
9342 * util/grub-mkdevicemap.c: Likewise.
9343 * util/grub-mklayout.c: Likewise.
9344 * util/grub-mkrelpath.c: Likewise.
9345 * util/grub-script-check.c: Likewise.
9346 * util/ieee1275/grub-ofpathname.c: Likewise.
9347 * util/resolve.c: Likewise.
9348
9349 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 Support %1$d syntax.
9352
9353 * tests/printf_unit_test.c: New file.
9354 * Makefile.util.def (printf_test): New test.
9355 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9356
9357 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9360 fix.
9361
9362 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9365 dprintf.
9366 * grub-core/font/font.c (grub_font_load): Likewise.
9367
9368 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * util/grub-macho2img.c: Add comment concerning gettext.
9371 * grub-core/lib/legacy_parse.c: Likewise.
9372
9373 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9376 (grub_xvasprintf): Likewise.
9377
9378 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 Add const keyword to grub_env_get and gettextize week days.
9381
9382 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9383 (grub_read_hook_datetime): Return const char *.
9384 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9385 updated.
9386 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9387 Mark for gettext.
9388 (grub_get_weekday_name): Return const char *. Call gettext.
9389 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9390 char * and len as the argument. All users updated.
9391 (grub_script_argv_split_append): Receive const char *.
9392 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9393 * include/grub/env.h (grub_env_get): Likewise.
9394 (grub_env_read_hook_t): Return const char *.
9395 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
9396 (grub_script_argv_split_append): Likewise.
9397
9398 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
9401
9402 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
9405 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
9406
9407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
9410 Fix prototype.
9411
9412 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9413
9414 Fix mips compilation.
9415
9416 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
9417 normal decoder.
9418 (hashes): Use in embed decoder as well (for sizes).
9419 (dec_stream_header): Fix embed decompressor logic.
9420 (dec_stream_footer): Likewise.
9421
9422 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
9425 an error and not a fatal on unrecognised relocation types.
9426
9427 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9430 Issue error rather than printf on unknown arguments.
9431
9432 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9433
9434 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
9435 Make buf a const.
9436
9437 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
9440 Fix module name.
9441
9442 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
9445 leftover debug printf.
9446
9447 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
9450
9451 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
9454 A stylistic fix.
9455
9456 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
9459
9460 2011-11-10 Shea Levy <slevy@tieronedesign.com>
9461
9462 Allow all modules to perform serial IO
9463
9464 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
9465 * include/grub/serial.h (grub_serial_port_configure): New inline
9466 function.
9467 (grub_serial_port_fetch): Likewise.
9468 (grub_serial_port_put): Likewise.
9469 (grub_serial_port_fini): Likewise.
9470 (grub_serial_find): New proto.
9471
9472 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Put symlink at the end of the node and fix a potential
9475 memory corruption.
9476
9477 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
9478 Make symlink into an array.
9479 (set_rockridge): Set have_symlink and alloc_dirents.
9480 (grub_iso9660_read_symlink): Use new layout.
9481 (grub_iso9660_iterate_dir): Fix memory corruption.
9482 Use new layout.
9483 (grub_iso9660_dir): Set have_symlink.
9484 (grub_iso9660_open): Likewise.
9485
9486 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Remove local keyword.
9489
9490 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
9491 (version_test_gt): Likewise.
9492 (version_find_latest): Likewise.
9493 (gettext_printf): Likewise.
9494 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
9495
9496 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
9499
9500 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 Fix ZFS memory and resource leaks.
9503
9504 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
9505 All users updated.
9506 Free type on exit.
9507 (fill_vdev_info): New parameter inserted. All users updated.
9508 (check_pool_label): Likewise.
9509 (scan_disk): Likewise.
9510 (scan_devices): Close non-inserted disks.
9511 (fzap_iterate): Free l.
9512 (unmount_device): Free children descripto memory.
9513
9514 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
9517 argument (access out of bounds).
9518
9519 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9522 >= 6 drives.
9523
9524 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9527 Fix declaration.
9528
9529 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 Fix several memory leaks.
9532
9533 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
9534 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
9535 (grub_cpio_dir): Likewise.
9536 * grub-core/fs/fat.c (grub_fat_label): Likewise.
9537 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
9538 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
9539 (grub_romfs_label): Likewise.
9540 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
9541 (squash_unmount): New function.
9542 (grub_squash_dir): Fix memory leak.
9543 (grub_squash_open): Likewise.
9544 (grub_squash_read): Likewise.
9545 (grub_squash_mtime): Likewise.
9546 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
9547 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
9548 * util/grub-fstest.c (fstest): Likewise.
9549
9550 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
9553 avoid accessing beyond the array.
9554
9555 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
9558
9559 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 Several AFFS fixes.
9562
9563 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
9564 (GRUB_AFFS_FLAG_FFS): Removed.
9565 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
9566 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
9567 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
9568 (grub_fshelp_node): Make block 32-bit.
9569 Add block_cache and last_block_cache.
9570 (grub_affs_read_block): Fill and use block cache.
9571 (grub_affs_read_file): Removed.
9572 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
9573 boot block.
9574 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
9575 safety.
9576 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
9577 space.
9578 (grub_affs_close): Free block cache.
9579 (grub_affs_read): Use grub_fshelp_read_file directly.
9580
9581 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
9584 with no error set.
9585
9586 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
9589 used variable.
9590 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9591 Likewise.
9592
9593 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
9596
9597 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
9598 byteswap when needed.
9599
9600 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Fix FreeBSD compilation.
9603
9604 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
9605 to avoid circular dependency.
9606 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
9607 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
9608 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
9609
9610 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 Fix ZFS crypto error types.
9613
9614 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
9615 (grub_gcm_decrypt): Likewise.
9616 (grub_zfs_load_key_real): Fix error code type. Handle possible error
9617 from PBKDF2.
9618
9619 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Illumos support.
9622
9623 * Makefile.util.def (10_illumos): New script.
9624 * configure.ac: Set COND_HOST_ILLUMOS.
9625 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
9626 Support Illumos calls.
9627 (find_partition_start) [__sun__]: Likewise.
9628 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
9629 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
9630 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
9631 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
9632 device.
9633 * util/grub-probe.c (probe) [__sun__]: Do character check.
9634 * util/grub.d/10_illumos.in: New file.
9635
9636 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 Support escaped commas in hostdisk.
9639
9640 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
9641 (find_grub_drive): Use unescape_cmp.
9642 (make_device_name): Escape commas.
9643
9644 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
9647
9648 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
9651 variable.
9652
9653 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 Support trampoline jumps on powerpc.
9656
9657 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
9658 __ia64__ path.
9659 (grub_dl_load_segments): Set mod->sz.
9660 (grub_dl_flush_cache): Flush whole space occupied by module, not just
9661 segments.
9662 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
9663 (jump): Likewise.
9664 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
9665 function.
9666 (trampoline): New struct.
9667 (trampoline_template): New const.
9668 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
9669 * include/grub/dl.h (grub_dl): Add sz element.
9670 [__powerpc__]: Follow __ia64__.
9671 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
9672 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
9673 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
9674 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
9675
9676 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 ZFS crypto support.
9679
9680 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
9681 * grub-core/Makefile.core.def (zfscrypt): New module.
9682 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
9683 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
9684 it. All users updated.
9685 (grub_zfs_decrypt): New var.
9686 (grub_zfs_load_key): Likewise.
9687 (zio_checksum_functions): Add SHA256+MAC.
9688 (zio_checksum_verify): Handle incomplete comparison due to MAC.
9689 (zio_read): Handle encrypted blocks.
9690 (zap_verify): Remove incorrect check.
9691 (fzap_iterate): Handle non-standard fzap.
9692 (zap_iterate): Likewise.
9693 (zap_iterate_u64): New function.
9694 (dnode_get_fullpath): Load keys.
9695 * grub-core/fs/zfs/zfscrypt.c: New file.
9696 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
9697 (grub_crypto_ecb_encrypt): Make input const.
9698 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
9699 (grub_crypto_ecb_encrypt): Make input const.
9700 (GRUB_CIPHER_AES): New macro.
9701 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
9702 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
9703 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
9704 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
9705 prefix. All users updated.
9706 (grub_zfs_add_key): New proto.
9707 (grub_zfs_decrypt): Likewise.
9708 (grub_zfs_load_key): Likewise.
9709 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
9710 * util/grub-fstest.c (options): Add -K option.
9711 (argp_parser): Likewise.
9712
9713 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Support zle compression on ZFS.
9716
9717 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
9718 (decomp_table): Add zle.
9719 * include/grub/zfs/zio.h (zio_compress): Add zle.
9720
9721 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 Support BtrFS embedding.
9724
9725 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
9726 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
9727 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
9728 * util/grub-setup.c (setup): Use fs embedding if available.
9729 Add additional sanity check.
9730
9731 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 * util/grub-install.in: Fix condition for config_opt.
9734
9735 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 Support third redundancy strip on raidz3.
9738
9739 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
9740 Return error on singularity. All users updated.
9741 (read_device): Don't stop on 3rd failure on raidz3.
9742
9743 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9744
9745 Support case-insensitive ZFS subvolumes.
9746
9747 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
9748 All users updated.
9749 (zap_hash): Likewise.
9750 (name_cmp): New function.
9751 (zap_leaf_array_equal): New parameter case_insensitive.
9752 All users updated.
9753 (zap_leaf_lookup): Likewise.
9754 (fzap_lookup): Likewise.
9755 (zap_lookup): Likewise.
9756 (dnode_get_path): New parameter case_insensitive. Retrieve case
9757 sensitiviness of a volume. All users updated.
9758 (dnode_get_fullpath): New parameter case_insensitive.
9759 All users updated.
9760 (grub_zfs_dir): Set info.case_insensitiveness.
9761
9762 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Support second redundancy strip on raidz(2,3).
9765
9766 * grub-core/fs/zfs/zfs.c (powx): New array.
9767 (powx_inv): Likewise.
9768 (poly): New const.
9769 (xor_out): New function.
9770 (gf_mul): Likewise.
9771 (recovery): Likewise.
9772 (read_device): Use second redundancy strip.
9773
9774 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 Use a power of generator representation of GF(256) multiplication group
9777 to save space time and complexity.
9778
9779 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
9780 (raid6_table2): Likewise.
9781 (powx): New array.
9782 (powx_inv): Likewise.
9783 (poly): New const.
9784 (grub_raid_block_mul): Replace with ...
9785 (grub_raid_block_mulx): ...this.
9786 (grub_raid6_init_table): Rewritten.
9787 (grub_raid6_recover): Use power of generator representation.
9788
9789 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
9792 for the right device.
9793
9794 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
9797 expected by grub-mkimage and it's more clear since there is no implicit
9798 padding.
9799
9800 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
9803 disk.
9804 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9805
9806 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
9807
9808 * util/grub-mkrescue.in: Fix handling xorriso option.
9809
9810 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
9813 NULL.
9814
9815 2011-11-03 crocket <crockabiscuit@gmail.com>
9816
9817 * util/grub.d/10_linux.in: Add Slackware initrd naming.
9818
9819 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 XZ CRC64 and SHA256 support.
9822
9823 * Makefile.util.def (libgrubmods): Add crc64.c.
9824 * grub-core/Makefile.core.def (crc64): New module.
9825 * grub-core/lib/crc64.c: New file.
9826 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
9827 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
9828 Fix the type.
9829 (MAX_HASH_SIZE): New define.
9830 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
9831 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
9832 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9833 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
9834 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
9835 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
9836 Handle non-crc32 hashes.
9837 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
9838 (dec_stream_header): Handle non-crc32 hashes.
9839 (dec_stream_footer): Likewise.
9840 (dec_block_header): Likewise.
9841 (dec_main): Likewise.
9842 (xz_dec_init): Likewise.
9843 (xz_dec_reset): Likewise.
9844 (xz_dec_end): Likewise.
9845 * util/import_gcry.py: Add CRC64 line.
9846
9847 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
9850 as well.
9851
9852 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 Make reiserfs label retrieval similar to other *_label functions.
9855
9856 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
9857 (REISERFS_MAX_LABEL_LENGTH): Removed.
9858 (REISERFS_LABEL_OFFSET): Likewise.
9859 (grub_reiserfs_label): Rewritten.
9860
9861 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
9864 field.
9865
9866 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
9869
9870 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
9873 drive failure on both raidz and raidz2.
9874
9875 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 Fix RAIDZ(2) for >= 5 devices.
9878
9879 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
9880 asize argument. All users updated.
9881
9882 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 Fix RAIDZ(2).
9885
9886 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
9887 (fill_vdev_info_real): Set ashift.
9888 (read_device): Rewrite RAIDZ part based on reverse engineering.
9889
9890 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
9893 don't report potentially unavialiable fields in debug output.
9894 (find_path): Fix double-free and memory leak.
9895
9896 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Read label on UFS1.
9899
9900 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
9901 (grub_ufs_fs): Always set .label.
9902
9903 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 Use shifts in UFS.
9906
9907 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
9908 (grub_ufs_data): New field log2_blksz.
9909 (grub_ufs_read_file): Use shifts.
9910 (grub_ufs_mount): Check block size and logarithm it.
9911
9912 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
9915 long symlinks.
9916
9917 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 Handle symlinks and long names on tar and cpio.
9920
9921 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
9922 (ATTR_FILE): Likewise.
9923 (ATTR_DIR): Likewise.
9924 (ATTR_LNK): Likewise.
9925 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
9926 (grub_cpio_find_file): Fill mode, handle linkname field as well as
9927 L and K entries.
9928 (grub_cpio_mount): Zero-fill data.
9929 (handle_symlink): New function.
9930 (grub_cpio_dir): Handle symlinks.
9931 (grub_cpio_open): Likewise.
9932 (grub_cpio_close) [MODE_USTAR]: Free linkname.
9933
9934 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 Fix iso9660 filename limitations and fix memory leaks.
9937
9938 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
9939 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
9940
9941 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 Fix JFS file name length limitations.
9944
9945 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
9946 (grub_jfs_diropen): Fix maximum filename length.
9947 (grub_jfs_getent): Fix filename length.
9948 (grub_jfs_lookup_symlink): Fix size checks.
9949
9950 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
9953 string.
9954
9955 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 Leverage BFS implementation to read AFS.
9958
9959 * Makefile.util.def (libgrubmods): Add afs.c.
9960 * grub-core/Makefile.core.def (afs): New module
9961 * grub-core/fs/afs.c: New file.
9962 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
9963
9964 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
9967
9968 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/fs/bfs.c: Run indent.
9971
9972 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 BFS implementation based on the specification.
9975
9976 * grub-core/fs/bfs.c: New file.
9977 * Makefile.util.def (libgrubmods): Add bfs.c.
9978 * grub-core/Makefile.core.def (bfs): New module.
9979
9980 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * util/grub-fstest.c (cmd_cp): Clarify error message.
9983 (cmd_cmp): Likewise.
9984
9985 2011-10-30 Yves Blusseau <blusseau@zetam.org>
9986
9987 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
9988 and befs_be.
9989
9990 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 Remove afs and befs because of copyright problem.
9993
9994 * grub-core/fs/afs.c: Removed.
9995 * grub-core/fs/afs_be.c: Removed.
9996 * grub-core/fs/befs.c: Removed.
9997 * grub-core/fs/befs_be.c: Removed.
9998 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
9999 * grub-core/Makefile.core.def (afs): Removed.
10000 (afs_be): Likewise.
10001 (befs): Likewise.
10002 (befs_be): Likewise.
10003
10004 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 Prefer rockridge over Joliet.
10007
10008 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10009 to ...
10010 (set_rockridge): ... here.
10011 (grub_iso9660_mount): Check rockridge on the primary label when
10012 discovering. Ignore Joliet if Rockridge is present.
10013
10014 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 Use shifts in nilfs2.
10017
10018 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10019 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10020 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10021 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10022 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10023 (grub_nilfs2_entries_per_block): Replaced with ...
10024 (grub_nilfs2_log_entries_per_block_log): ... this.
10025 (grub_nilfs2_blocks_per_group): Replaced with ...
10026 (grub_nilfs2_blocks_per_group_log): ... this.
10027 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10028 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10029 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10030 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10031 (grub_nilfs2_palloc_entry_offset): Replaced ...
10032 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10033 (grub_nilfs2_dat_translate): Use shifts.
10034 (grub_nilfs2_read_inode): Likewise.
10035 (GRUB_MOD_INIT): Ensure that logs are correct.
10036
10037 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 Use shifts in minix filesystem.
10040
10041 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10042 (GRUB_MINIX_ZONE2SECT): Likewise.
10043 (grub_minix_data): Replace block_size with log_block_size.
10044 (grub_minix_read_file): Use shifts.
10045 (grub_minix_mount): Check block size and take a logarithm.
10046
10047 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 Use shifts in squash4.
10050
10051 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10052 (squash_mount): Check block size and take logarithm.
10053 (direct_read): Use shifts.
10054
10055 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 Correct befs block counting logic.
10058
10059 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10060 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10061 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10062 (grub_afs_read_inode): Use block_shift.
10063 (RANGE_SHIFT): New definition.
10064 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10065 unexpected conditions, use shifts and appropriate types.
10066 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10067
10068 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * grub-core/disk/raid.c (scan_devices): Check partition.
10071 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10072
10073 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 Support BFS (befs) UUID.
10076
10077 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10078 (grub_afs_small_data_element_header): New struct.
10079 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10080 (grub_afs_read_attribute) [MODE_BFS]: New function.
10081 (grub_afs_iterate_dir): Allocate for complete inode.
10082 (grub_afs_mount): Likewise.
10083 (grub_afs_uuid) [MODE_BFS]: New function.
10084 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10085
10086 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10089 (zfs_unmount): Fix memory leak.
10090
10091 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 Support NTFS reparse points.
10094
10095 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10096 (symlink_descriptor): New struct.
10097 (grub_ntfs_read_symlink): New function.
10098 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10099 (grub_ntfs_open): Likewise.
10100
10101 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10104
10105 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 fstest xnu_uuid subcommand.
10108
10109 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10110 grub-core/commands/xnu_uuid.c.
10111 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10112 (fstest): Handle xnu_uuid.
10113 (options): Document xnu_uuid.
10114 (argp_parser): Parse xnu_uuid.
10115
10116 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10119 -l argument. Add newline at the end if printing.
10120 (GRUB_MOD_INIT): Document -l.
10121
10122 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10125
10126 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 ZFS multi-device and version 33 support.
10129
10130 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10131 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10132 (grub_zfs_data): Add multidev-ice-related fields.
10133 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10134 (dva_get_offset): Make dva const.
10135 (zfs_fetch_nvlist): New function.
10136 (fill_vdev_info_real): Likewise.
10137 (fill_vdev_info): Likewise.
10138 (check_pool_label): Likewise.
10139 (scan_disk): Likewise.
10140 (scan_devices): Likewise.
10141 (read_device): Likewise.
10142 (read_dva): Likewise.
10143 (zio_read_gang): Use read_dva.
10144 (zio_read_data): Likewise.
10145 (zap_leaf_lookup): Add missing endian conversion.
10146 (zap_verify): Add missing endian conversion. All users updated.
10147 (fzap_lookup): Likewise.
10148 (fzap_iterate): Likewise.
10149 (dnode_get_path): Handle SA bonus.
10150 (nvlist_find_value): Make input const. All users updated.
10151 (unmount_device): New function.
10152 (zfs_unmount): Use unmount_device.
10153 (zfs_mount): Use scan_disk.
10154 (zfs_mtime): New function.
10155 (grub_zfs_open): Handle system attributes.
10156 (fill_fs_info): Likewise.
10157 (grub_zfs_dir): Likewise.
10158 (grub_zfs_fs): Add mtime.
10159 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10160 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10161 (SA_MTIME_OFFSET): Likewise.
10162 (SA_SYMLINK_OFFSET): Likewise.
10163 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10164 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10165 (fstest): Support zfsinfo.
10166 (argp_parser): Likewise.
10167
10168 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10171 error.
10172
10173 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 ZFS fixes.
10176
10177 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10178 sharing the same block. Iterate over correct number of indices.
10179 (dnode_get_path): Handle symlinks correctly.
10180
10181 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10184
10185 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Read label on HFS+.
10188
10189 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10190 (grub_hfsplus_btree_search): Fix types.
10191 (grub_hfsplus_label): Implement.
10192
10193 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10196
10197 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10200
10201 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 Fix symlink handling on iso9660.
10204
10205 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10206 All users updated.
10207 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10208 (grub_iso9660_read_symlink): Moved most of code ...
10209 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10210
10211 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10214 Use union to avoid breaking strict-aliasing rules.
10215
10216 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 Support multi-extent iso files.
10219
10220 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10221 Add node.
10222 (grub_fshelp_node): Revamp. All users updated.
10223 (FLAG_*): New enum.
10224 (read_node): New function.
10225 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10226 All users updated.
10227 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10228 (get_node_size): New function.
10229 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10230 entries.
10231 Fix memory leak on . and ..
10232 (grub_iso9660_read): Use read_node.
10233 (grub_iso9660_close): Free node.
10234
10235 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 Fix tar 4G limit and handle paths containing dot.
10238
10239 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10240 (canonicalize): New function.
10241 (grub_cpio_find_file): Use canonicalize. Store offs in
10242 grub_disk_addr_t.
10243 (grub_cpio_dir): Use grub_disk_addr_t.
10244 (grub_cpio_open): Likewise.
10245
10246 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10249
10250 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10251 unused flags.
10252 (grub_squash_inode): Add long_file and block_size.
10253 (grub_squash_cache_inode): New struct.
10254 (grub_squash_dirent): Make types into enum.
10255 (SQUASH_TYPE_LONG_REGULAR): New type.
10256 (grub_squash_frag_desc): Add field size.
10257 (SQUASH_BLOCK_FLAGS): New enum.
10258 (grub_squash_data): Use grub_squash_cache_inode.
10259 (grub_fshelp_node): Make ino_chunk 64-bit.
10260 (read_chunk): Minor argument change. All users updated.
10261 (squash_mount): Use correct le_to_cpu.
10262 (grub_squash_open): Handle LONG_REGULAR.
10263 (direct_read): New function.
10264 (grub_squash_read_data): Handle blocks correctly.
10265
10266 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10267
10268 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10269
10270 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10273
10274 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 Fix 2G limit on ZFS.
10277
10278 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10279 types.
10280 (uberblock_verify): Likewise.
10281 (dmu_read): Likewise.
10282 (grub_zfs_read): Likewise. Remove invalid cast.
10283
10284 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10287 (grub_jfs_blkno): Fix incorrect shift.
10288 (grub_jfs_read_file): Use more appropriate types.
10289
10290 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 Support triple indirect on minix2 and minix3.
10293
10294 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10295 Declare triple_indir_zone.
10296 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10297 indirect.
10298
10299 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 Minix FS fixes.
10302
10303 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10304 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10305 Rename ctime to mtime. All users updated.
10306 (grub_minix_get_file_block): Fix types and double indirect computations.
10307
10308 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10311 if no label is found.
10312 (grub_fat_iterate_dir): Fix file size type.
10313 (grub_fat_iterate_dir): Likewise.
10314
10315 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10318 save some space.
10319 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10320 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10321
10322 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10325
10326 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * util/import_gcry.py: Accept space between # and include.
10329
10330 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10333
10334 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10337
10338 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10339 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10340 yylex_strncpy.
10341 * grub-core/script/yylex.l: Add fine-grained #pragma.
10342
10343 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10346 New inline function.
10347 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10348 Likewise.
10349 (memset) [GRUB_UTIL]: Likewise.
10350 (memcmp) [GRUB_UTIL]: Likewise.
10351
10352 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10355 inline function rather than a define.
10356
10357 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * util/grub-setup.c: Add missing include.
10360
10361 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * util/ieee1275/grub-ofpathname.c: Add missing include.
10364
10365 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10368 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10369 Likewise.
10370
10371 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10374 grub_memcmp usage.
10375
10376 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * util/grub-install.in: Add datarootdir as per automake manual
10379 suggestion.
10380 * util/grub-mknetdir.in: Likewise.
10381
10382 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10385 suggestion.
10386 * util/grub.d/10_kfreebsd.in: Likewise.
10387 * util/grub.d/10_linux.in: Likewise.
10388 * util/grub.d/10_netbsd.in: Likewise.
10389 * util/grub.d/10_windows.in: Likewise.
10390 * util/grub.d/20_linux_xen.in: Likewise.
10391
10392 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Remove redundant grub_kernel_image_size.
10395
10396 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
10397 _edata and _start.
10398 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
10399 the small code. It moves it only by few bytes but simplifies the code.
10400 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
10401 _start.
10402 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
10403 (grub_kernel_image_size): Removed.
10404 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
10405 (grub_kernel_image_size): Removed.
10406 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
10407 compiled with Apple toolchain.
10408 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
10409 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
10410 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
10411 (grub_total_module_size): Likewise.
10412 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
10413 Removed.
10414 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
10415 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
10416 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10417 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
10418 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
10419 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
10420 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
10421 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
10422 Removed.
10423 (grub_total_module_size): Removed.
10424 * util/grub-mkimage.c (image_target_desc): Remove image_size.
10425 (image_targets): Likewise.
10426 Set .compressed_size to no field on sparc.
10427 (generate_image): Remove kernel_image_size handling.
10428
10429 2011-10-19 Szymon Janc <szymon@janc.net.pl>
10430
10431 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
10432 NULL pointer dereference.
10433
10434 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
10437 done with a dedicated section.
10438
10439 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
10440 Ensure the correct position of boot_path.
10441 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
10442 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10443 other fields.
10444 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
10445 * include/grub/boot.h: Removed. All references removed.
10446 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
10447 Removed.
10448 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
10449
10450 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
10453 name.
10454
10455 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
10458
10459 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10462 Don't add the bogus brackets.
10463
10464 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 ExFAT support.
10467
10468 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
10469 * grub-core/Makefile.core.def (exfat): New module.
10470 * grub-core/fs/exfat.c: New file.
10471 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
10472 (GRUB_FAT_ATTR_*): Make into an enum.
10473 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
10474 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
10475 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
10476 (GRUB_FAT_MAXFILE): Removed.
10477 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
10478 (grub_current_fat_bpb_t): New type.
10479 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
10480 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
10481 (grub_fat_dir_node_t): New type.
10482 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
10483 (fat_log2) [MODE_EXFAT]: Removed.
10484 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
10485 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
10486 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
10487 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
10488 (grub_fat_label) [MODE_EXFAT]: New function.
10489 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
10490 reserved_first_sector to 0.
10491
10492 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 Move grub_reboot out of the kernel.
10495
10496 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
10497 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
10498 * grub-core/lib/efi/reboot.c: ... here.
10499 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
10500 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10501 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
10502 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
10503 * grub-core/lib/i386/reboot_trampoline.S: ... here.
10504 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
10505 * grub-core/lib/ieee1275/reboot.c: ... here.
10506 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
10507 * grub-core/lib/mips/arc/reboot.c: ... here.
10508 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
10509 * grub-core/lib/mips/loongson/reboot.c: ...here.
10510 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
10511 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
10512 * include/grub/emu/misc.h (grub_reboot): New function declaration.
10513 * include/grub/i386/reboot.h: New file.
10514 * include/grub/mips/loongson/ec.h: Fix includes.
10515 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
10516 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
10517 * grub-core/lib/i386/reboot.c: New file.
10518
10519 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 Make grub_prefix into module to fix the arbitrary limit and save
10522 some space.
10523
10524 * grub-core/kern/emu/main.c (grub_prefix): Removed.
10525 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
10526 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
10527 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
10528 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
10529 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
10530 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
10531 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
10532 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10533 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
10534 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
10535 * include/grub/ia64/efi/kernel.h: Removed.
10536 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
10537 (grub_prefix): Removed.
10538 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
10539 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
10540 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
10541 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
10542 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
10543 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
10544 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
10545 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
10546 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
10547 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
10548 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10549 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10550 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10551 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10552 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
10553 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
10554 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
10555 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10556 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
10557 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
10558 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
10559 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
10560 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
10561 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
10562 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
10563 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
10564 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
10565 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
10566 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
10567 from module.
10568 * util/grub-mkimage.c (image_target_desc): Removed prefix and
10569 prefix_end.
10570 (image_targets): Likewise.
10571 (generate_image): Put prefix as a module.
10572
10573 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 Replace grub_module_iterate with FOR_MODULES.
10576
10577 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
10578 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
10579 (grub_efi_modules_addr): ...this.
10580 * grub-core/kern/efi/init.c (grub_modbase): New variable.
10581 (grub_efi_init): Set grub_modbase.
10582 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
10583 (grub_modbase): New variable.
10584 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
10585 (grub_modbase): New variable.
10586 (grub_machine_init): Set grub_modbase.
10587 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
10588 (grub_modbase): New variable.
10589 (grub_machine_init): Set grub_modbase.
10590 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
10591 (grub_modbase): New variable.
10592 (grub_machine_init): Set grub_modbase.
10593 * grub-core/kern/main.c (grub_module_iterate): Remove.
10594 (grub_modules_get_end): Use grub_modbase.
10595 (grub_load_modules): Use FOR_MODULES.
10596 (grub_load_config): Likewise.
10597 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
10598 (grub_modbase): New variable.
10599 (grub_machine_init): Set grub_modbase.
10600 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
10601 (grub_modbase): New variable.
10602 (grub_machine_init): Set grub_modbase.
10603 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
10604 Removed.
10605 (grub_modbase): New variable.
10606 (grub_machine_init): Set grub_modbase.
10607 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
10608 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
10609 (grub_module_iterate): Likewise.
10610 (grub_modbase): New variable declaration.
10611 (FOR_MODULES): New macro.
10612
10613 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * configure.ac: Check for __ctzdi2 and __ctzsi2.
10616 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
10617
10618 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Fix few obvious type discrepancies.
10621
10622 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
10623 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
10624 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
10625 variable.
10626 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
10627 and connected types.
10628 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
10629 offset.
10630 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
10631 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
10632 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
10633 and connected types.
10634
10635 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 Fix python 3.x incompatibilities.
10638
10639 * gentpl.py: Put brackets around print strings.
10640 * util/import_gcry.py: Open explicitly as utf-8.
10641 Use in instead of has_key.
10642
10643 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
10646 (GRUB_XFS_INO_AGBITS): Make into inline function.
10647 (GRUB_XFS_INO_INOINAG): Likewise.
10648 (GRUB_XFS_INO_AG): Likewise.
10649 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10650 (GRUB_XFS_EXTENT_OFFSET): Likewise.
10651 (GRUB_XFS_EXTENT_BLOCK): Likewise.
10652 (GRUB_XFS_EXTENT_SIZE): Likewise.
10653 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
10654 (GRUB_XFS_NEXT_DIRENT): Likewise.
10655 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
10656 (grub_xfs_read_file): Fix offset type.
10657
10658 2011-10-15 Robert Millan <rmh@gnu.org>
10659
10660 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
10661
10662 2011-10-15 Robert Millan <rmh@gnu.org>
10663
10664 Fix build problem on FreeBSD and GNU/kFreeBSD.
10665
10666 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
10667
10668 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
10671
10672 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
10673 types.
10674 (grub_hfsplus_btree_recoffset): Likewise.
10675 (grub_hfsplus_btree_recptr): Likewise.
10676 (grub_hfsplus_find_block): Likewise.
10677 (grub_hfsplus_btree_search): Likewise.
10678 (grub_hfsplus_read_block): Likewise.
10679 (grub_hfsplus_read_file): Likewise.
10680 (grub_hfsplus_mount): Likewise.
10681 (grub_hfsplus_btree_iterate_node): Likewise.
10682 (grub_hfsplus_btree_search): Likewise.
10683 (grub_hfsplus_iterate_dir): Likewise.
10684 (grub_hfsplus_read): A small code simplification.
10685
10686 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 * grub-core/kern/emu/hostdisk.c
10689 (convert_system_partition_to_system_disk): Don't assume that children
10690 of mapper nodes are mapper nodes.
10691
10692 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
10693
10694 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
10695 * include/grub/misc.h (grub_isxdigit): New function.
10696 * grub-core/video/colors.c (my_isxdigit): Removed. All users
10697 switched to grub_isxdigit.
10698 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
10699 number starting with a letter.
10700
10701 2011-10-09 Robert Millan <rmh@gnu.org>
10702
10703 LVM support for FreeBSD and GNU/kFreeBSD.
10704
10705 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
10706 GNU/kFreeBSD.
10707 (LVM_DEV_MAPPER_STRING): Move from here ...
10708 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
10709 * util/getroot.c: Include `<grub/util/lvm.h>'.
10710 (grub_util_get_dev_abstraction): Enable
10711 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
10712 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
10713 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
10714 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
10715 support it.
10716 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
10717 GNU/kFreeBSD.
10718 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
10719 when LVM abstraction is required for ${GRUB_DEVICE}.
10720
10721 2011-10-06 Szymon Janc <szymon@janc.net.pl>
10722
10723 Add support for LZO compression in GRUB:
10724 - import of minilzo library,
10725 - LZO decompression for btrfs,
10726 - lzop files decompression.
10727
10728 * grub-core/io/lzopio.c: New file.
10729 * grub-core/lib/adler32.c: Likewise.
10730 * grub-core/lib/minilzo/lzoconf.h: Likewise.
10731 * grub-core/lib/minilzo/lzodefs.h: Likewise.
10732 * grub-core/lib/minilzo/minilzo.c: Likewise.
10733 * grub-core/lib/minilzo/minilzo.h: Likewise.
10734 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
10735 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
10736 grub-core/lib/minilzo/minilzo.c to common.
10737 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
10738 cflags in cppflags.
10739 * grub-core/Makefile.core.def (btrfs): Likewise.
10740 * grub-core/Makefile.core.def (lzopio): New module.
10741 (adler32): Likewise.
10742 * grub-core/fs/btrfs.c: Include minilzo.h.
10743 (GRUB_BTRFS_COMPRESSION_LZO): New define.
10744 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
10745 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
10746 (grub_btrfs_lzo_decompress): New function.
10747 (grub_btrfs_extent_read): Add support for LZO compression type.
10748 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
10749 (GRUB_USHRT_MAX): Likewise.
10750 (GRUB_UINT_MAX): Likewise.
10751 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
10752 (UINT_MAX): Likewise.
10753 (CHAR_BIT): Likewise.
10754 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
10755 grub-core/lib/posix_wrap/limits.h
10756 (UCHAR_MAX): Likewise.
10757 * include/grub/file.h (grub_file_filter_id): New compression filter
10758 GRUB_FILE_FILTER_LZOPIO.
10759 * include/grub/file.h (grub_file_filter_id): Set
10760 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
10761 * include/grub/types.h (grub_get_unaligned16): New function.
10762 (grub_get_unaligned32): Likewise.
10763 (grub_get_unaligned64): Likewise.
10764 * util/import_gcry.py (cryptolist): Add adler32.
10765
10766 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
10769 in perspective decreases the complexity of build system and fixes
10770 compilation right now.
10771
10772 2011-10-01 Ales Nesrsta <starous@volny.cz>
10773
10774 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
10775 (fixed problem related to using UHCI with coreboot).
10776
10777 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10778
10779 * gentpl.py: Use Autogen macros so that the output template file
10780 (Makefile.tpl) size is reduced.
10781
10782 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
10783
10784 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
10785 extra_dist.
10786
10787 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10788
10789 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
10790 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
10791
10792 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10793
10794 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
10795 _fullpath.
10796
10797 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
10798
10799 Remove extra declaration of sleep for mingw32.
10800
10801 * util/misc.c (sleep) [__MINGW32__]: Removed.
10802 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
10803
10804 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
10805
10806 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
10807 type and packname.
10808 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
10809 Resurrected.
10810 (NETBSD_BTINFO_BOOTWEDGE): New definition.
10811 (grub_netbsd_btinfo_bootwedge): New struct.
10812 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10813 New function.
10814 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
10815
10816 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
10817
10818 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
10819 loader.
10820
10821 2011-09-28 Andreas Born <futur.andy@googlemail.com>
10822
10823 Fix incorrect identifiers in bash-completion.
10824
10825 * util/bash-completion.d/grub-completion.bash.in
10826 (_grub_mkpasswd-pbkdf2): Rename to ...
10827 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
10828 (_grub_script-check): Rename to ...
10829 (_grub_script_check): ... this. All users updated.
10830
10831 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10834 Return 0 if disk isn't biosdisk.
10835
10836 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10837
10838 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
10839 on NetBSD.
10840 * Makefile.util.def (grub-fstest): Likewise.
10841
10842 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
10843
10844 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
10845 Get sector size from disk label.
10846
10847 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
10848
10849 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
10850 */README* as well as README*.
10851 Reported by: Axel Beckert.
10852
10853 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
10856 case of less than 256 MiB of RAM.
10857
10858 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/commands/wildcard.c (make_regex): Handle @.
10861
10862 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * util/grub-install.in: Move cryptodisk logic to appropriate place.
10865
10866 2011-08-21 Szymon Janc <szymon@janc.net.pl>
10867
10868 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
10869 AC_LANG_CONFTEST macros.
10870
10871 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10872
10873 Add grub-fstest option to uncompress data for commands.
10874
10875 * util/grub-fstest.c (uncompress): New var.
10876 (options): New option -u.
10877
10878 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10879
10880 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
10881 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
10882
10883 2011-08-20 Szymon Janc <szymon@janc.net.pl>
10884
10885 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
10886 file type was not recognized correctly (not gzip or corrupted).
10887
10888 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
10891 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
10892
10893 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
10896 loongson.
10897 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10898 video_radeon_fuloong2e.
10899 * grub-core/video/radeon_fuloong2e.c: New file.
10900 * include/grub/video.h (grub_video_id_t): Add new ID
10901 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
10902
10903 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
10906 define.
10907 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
10908 that PRID matches the detected subplatform and reset the subplatform
10909 if it doesn't.
10910
10911 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
10914
10915 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10916
10917 Fix PCI iterating on functions >= 4.
10918
10919 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
10920 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
10921 Removed.
10922 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
10923 (grub_pci_read): Fix bitmask.
10924 (grub_pci_read_word): Likewise.
10925 (grub_pci_read_byte): Likewise.
10926 (grub_pci_write): Likewise.
10927 (grub_pci_write_word): Likewise.
10928 (grub_pci_write_byte): Likewise.
10929
10930 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
10933 can still be specified in TARGET_CFLAGS)
10934
10935 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
10938
10939 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
10940 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
10941 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
10942 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
10943 (FULOONG): Rename to ...
10944 (FULOONG2F): ... this. All users updated.
10945 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
10946 (machtype_fuloong2f_str): ... this.
10947 (machtype_fuloong2e_str): New string.
10948 Check for machtype_fuloong2e_str.
10949 * grub-core/loader/mips/linux.c (loongson_machtypes)
10950 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
10951 * grub-core/term/serial.c (loongson_defserial)
10952 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
10953 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
10954 loongson_defserial.
10955 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
10956 Rename to ...
10957 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
10958 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
10959 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
10960 to IMAGE_FULOONG2F_FLASH. All users updated.
10961 (image_targets): Rename images.
10962 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
10963
10964 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10965
10966 Make enable of disk cache statistics code configurable.
10967
10968 * configure.ac: --enable-cache-stats added.
10969 * config.h.in (DISK_CACHE_STATS): New define.
10970 * grub-core/Makefile.core.def (cacheinfo): New command.
10971 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
10972 * grub-core/commands/cacheinfo.c: New file.
10973 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
10974 moved to cacheinfo.c.
10975 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
10976 debug code.
10977 * include/grub/disk.h: Likewise.
10978
10979 2011-08-19 Szymon Janc <szymon@janc.net.pl>
10980
10981 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
10982 * grub-core/Makefile.am: Likewise.
10983
10984 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
10987 non-zero pull.
10988
10989 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
10992 All users updated.
10993 (grub_jfs_lookup_symlink): Use correct starting inode.
10994
10995 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * util/grub-setup.c (main): Add missing gcry initialisation.
10998
10999 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 Don't accept text modes on EFI when booting Linux.
11002
11003 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11004 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11005
11006 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
11007 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
11008
11009 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11010 use of "/path/.." as in grub-install for EFI as well as handling
11011 symlinks correctly.
11012 Fixes Debian bug #637768.
11013
11014 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
11015
11016 * util/grub-probe.c: Remove duplicate #include.
11017
11018 2011-08-10 Robert Millan <rmh@gnu.org>
11019
11020 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11021
11022 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11023 function.
11024 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11025 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11026
11027 2011-08-03 Robert Millan <rmh@gnu.org>
11028
11029 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11030 la_array as packed.
11031 Reported by: Zachary Bedell
11032
11033 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
11034
11035 * configure.ac: The Loongson port requires grub-mkfont due to its
11036 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11037 be built.
11038
11039 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
11040
11041 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11042 processing arguments (otherwise help2man fails when GRUB has not yet
11043 been installed).
11044
11045 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 New script grub-mkstandalone.
11048
11049 * Makefile.util.def (grub-mkstandalone): New script.
11050 * docs/man/grub-mkstandalone.h2m: New file.
11051 * util/grub-mkstandalone.in: Likewise.
11052
11053 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Support ATA disks with 4K sectors.
11056
11057 * include/grub/ata.h (grub_ata): New member log_sector_size.
11058 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11059 (grub_ata_identify): Read sector size.
11060 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11061
11062 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * util/grub-install.in: Don't use uhci outside of x86.
11065
11066 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * util/grub-mkrescue.in: Add missing quotes.
11069
11070 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11073 dereference.
11074
11075 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11078
11079 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * include/grub/video.h: add missing EXPORT_FUND on
11082 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11083
11084 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * include/grub/mips/kernel.h: Fix define conflict.
11087
11088 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11091 all four ways.
11092
11093 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
11094
11095 Preferred resolution detection for VBE.
11096
11097 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11098 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11099 the Flat Panel extension, in line with the X.org VESA driver.
11100 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11101 New function.
11102 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11103 (grub_vbe_bios_read_edid): Likewise.
11104 (grub_vbe_get_preferred_mode): Likewise.
11105 (grub_video_vbe_setup): When the mode is "auto", try to get the
11106 preferred mode from VBE, and use the largest mode that is no larger
11107 than the preferred mode (some BIOSes expose a preferred mode that is
11108 not in their mode list!). If this fails, fall back to 640x480 as a
11109 safe conservative choice.
11110 (grub_video_vbe_get_edid): New function.
11111 (grub_video_vbe_adapter): Add get_edid.
11112 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11113 (struct grub_video_adapter): Add get_edid.
11114 (grub_video_edid_checksum): Add prototype.
11115 (grub_video_edid_preferred_mode): Likewise.
11116 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11117 structure.
11118
11119 * grub-core/commands/videoinfo.c (print_edid): New function.
11120 (grub_cmd_videoinfo): Print EDID if available.
11121
11122 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11123 is more appropriate on a wider range of platforms than 640x480.
11124 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11125 documentation.
11126
11127 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11130
11131 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * po/POTFILES.in: Regenerate.
11134
11135 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11138 incorrect memory usage.
11139
11140 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * util/grub-install.in: Source grub-mkconfig_lib.
11143
11144 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 Remove getroot.c from core on emu platform.
11147
11148 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11149 kern/emu/raid.c.
11150 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11151 useless.
11152 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11153 * util/getroot.c (get_win32_path): ... here.
11154 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11155 * util/getroot.c (fini_libzfs): ... here.
11156 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11157 * util/getroot.c (grub_get_libzfs_handle): ... here.
11158 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11159 Moved from here...
11160 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11161 * grub-core/kern/emu/misc.c
11162 (grub_make_system_path_relative_to_its_root): Moved from here...
11163 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11164 * grub-core/kern/emu/getroot.c: Moved from here ...
11165 * util/getroot.c: ... here. All users updated.
11166 * grub-core/kern/emu/raid.c: Moved from here ...
11167 * util/raid.c: ... here. All users updated.
11168
11169 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * po/POTFILES.in: Regenerate.
11172
11173 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 Fix compilation on GNU/Linux.
11176
11177 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11178 Disable geli.
11179 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11180 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11181 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11182
11183 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11184 2011-07-07 Michael Gorven <michael@gorven.za.net>
11185 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11186
11187 LUKS and GELI support.
11188
11189 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11190 grub-core/disk/luks.c, grub-core/disk/geli.c,
11191 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11192 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11193 grub-core/lib/arg.c.
11194 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11195 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11196 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11197 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11198 (grub-bin2h): Add libgcry.a.
11199 (grub-mkimage): Likewise.
11200 (grub-mkrelpath): Likewise.
11201 (grub-script-check): Likewise.
11202 (grub-editenv): Likewise.
11203 (grub-mkpasswd-pbkdf2): Likewise.
11204 (grub-pe2elf): Likewise.
11205 (grub-fstest): Likewise.
11206 (grub-mkfont): Likewise.
11207 (grub-mkdevicemap): Likewise.
11208 (grub-probe): Likewise.
11209 (grub-ofpath): Likewise.
11210 (grub-mklayout): Likewise.
11211 (example_unit_test): Likewise.
11212 (grub-menulst2cfg): Likewise.
11213 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11214 * grub-core/Makefile.core.def (cryptodisk): New module.
11215 (luks): Likewise.
11216 (geli): Likewise.
11217 * grub-core/disk/AFSplitter.c: New file.
11218 * grub-core/disk/cryptodisk.c: Likewise.
11219 * grub-core/disk/geli.c: Likewise.
11220 * grub-core/disk/luks.c: Likewise.
11221 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11222 grub_util_is_lvm.
11223 (grub_util_get_dm_abstraction): New function.
11224 (grub_util_follow_gpart_up): Likewise.
11225 (grub_util_get_geom_abstraction): Likewise.
11226 (grub_util_get_dev_abstraction): Use new functions.
11227 (grub_util_pull_device): Pull GELI and LUKS.
11228 (grub_util_get_grub_dev): Handle LUKS and GELI.
11229 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11230 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11231 (follow_geom_up): Removed.
11232 (grub_util_fd_seek): New function.
11233 (open_device): Use grub_util_fd_seek.
11234 (nread): Rename to ..
11235 (grub_util_fd_read): ... this. All users updated.
11236 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11237 (grub_crypto_cbc_decrypt): Likewise.
11238 (grub_crypto_hmac_write): Likewise.
11239 (grub_crypto_hmac_buffer): Likewise.
11240 (grub_password_get): Extend to util.
11241 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11242 New member modname.
11243 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11244 * include/grub/cryptodisk.h: New file.
11245 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11246 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11247 LUKS and GELI.
11248 (grub_util_follow_gpart_up): New proto.
11249 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11250 (grub_util_fd_read): Likewise.
11251 (grub_cryptodisk_cheat_mount): Likewise.
11252 (grub_util_cryptodisk_print_uuid): Likewise.
11253 (grub_util_get_fd_sectors): Likewise.
11254 * util/grub-fstest.c (mount_crypt): New var.
11255 (fstest): Mount crypto if requested.
11256 (options): New option -C.
11257 (argp_parser): Parse -C.
11258 (main): Init and fini gcry.
11259 * util/grub-install.in: Support cryptodisk install.
11260 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11261 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11262 cryptodisk.
11263 (prepare_grub_to_access_device): Likewise.
11264 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11265 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11266 (probe_cryptodisk_uuid): New function.
11267 (probe_abstraction): Likewise.
11268 (probe): Use new functions.
11269 * util/import_gcry.py: Create Makefile.utilgcry.def.
11270 Add modname member.
11271
11272 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Lazy device scanning.
11275
11276 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11277 (grub-setup): Remove util/raid.c.
11278 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11279 * grub-core/disk/lvm.c (scan_depth): New variable.
11280 (grub_lvm_iterate): Rescan if necessary.
11281 (find_lv): New function based on grub_lvm_open.
11282 (grub_lvm_open): Use find_lv. Rescan on error.
11283 (is_node_readable): New function.
11284 (is_lv_readable): Likewise.
11285 (grub_lvm_scan_device): Skip already found disks.
11286 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11287 Stop if searched device is found and readable.
11288 * grub-core/disk/raid.c (inscnt): New variable.
11289 (scan_depth): Likewise.
11290 (scan_devices): New function based on grub_raid_register. Abort if
11291 looked for device is found.
11292 (grub_raid_iterate): Rescan if needed.
11293 (find_array): NEw function based on -grub_raid_open.
11294 (grub_raid_open): Use find_array and rescan.
11295 (insert_array): Set became_readable_at.
11296 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11297 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11298 New function.
11299 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11300 (grub_util_pull_device): New function.
11301 (grub_util_get_grub_dev): Call grub_util_pull_device.
11302 * util/raid.c: Moved to ..
11303 * grub-core/kern/emu/raid.c: ... here.
11304 (grub_util_raid_getmembers): New parameter "bootable".
11305 All users updated. Support 1.x.
11306 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11307 All users updated.
11308 * include/grub/disk.h (grub_disk_pull_t): New enum.
11309 (grub_disk_dev): Change iterate prototype.
11310 All users updated.
11311 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11312 New proto.
11313 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11314 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11315 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11316 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11317 All users updated.
11318 * include/grub/util/raid.h: Removed.
11319
11320 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * po/POTFILES.in: Regenerate.
11323
11324 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 Unify sparc init with other ieee1275.
11327
11328 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11329 instead of kern/sparc64/ieee1275/init.c.
11330 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11331 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11332 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11333 grub/machine/kernel.h.
11334 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11335 (grub_claim_heap) [__sparc__]: Use sparc version.
11336 (grub_machine_init): Moved args parsing to
11337 (grub_parse_cmdline): ...this.
11338 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11339 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11340 New definition.
11341 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11342
11343 Move BOOTP to separate file.
11344
11345 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11346 * grub-core/net/net.c: Move all BOOTP functions to
11347 * grub-core/net/bootp.c: ... here.
11348
11349 Use frame interface on PXE.
11350
11351 * grub-core/Makefile.core.def (pxecmd): Removed.
11352 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11353 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11354 * grub-core/i386/pc/pxe.c: Moved from here ...
11355 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11356 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11357 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11358
11359 EFI network support.
11360
11361 * grub-core/Makefile.core.def (efinet): New module.
11362 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11363 here...
11364 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11365 All users updated.
11366 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11367 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11368 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11369 * grub-core/net/drivers/efi/efinet.c: New file.
11370 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11371 (grub_efi_net_config): New extern var.
11372
11373 Various cleanups and bugfixes.
11374
11375 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11376 error.
11377 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11378 disk declared as partition.
11379 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11380 leak on failure.
11381 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11382 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11383 (grub_debug_zalloc): Likewise.
11384 (grub_debug_realloc): Likewise.
11385 (grub_debug_memalign): Likewise.
11386 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11387 Check that target is IPv4.
11388 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11389 local-mac-address as fallback.
11390 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11391 memory leak.
11392 * grub-core/net/ip.c (ipchksum): Rename to ...
11393 (grub_net_ip_chksum): ... this. All users updated.
11394 (grub_net_recv_ip_packets): Special handling for DHCP.
11395 * util/grub-mkimage.c (generate_image): Zero-out aout header.
11396
11397 Unify prefix handling
11398
11399 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
11400 (grub_machine_get_bootlocation): ... this.
11401 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
11402 (grub_machine_get_bootlocation): ... this.
11403 (grub_prefix): New variable.
11404 (prefix): Removed.
11405 (root_dev): New variable.
11406 (dir): Likewise.
11407 (main): Use new variables.
11408 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
11409 Revamped into ...
11410 (grub_machine_get_bootlocation): ... this.
11411 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
11412 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
11413 (grub_machine_get_bootlocation): ... this.
11414 (grub_machine_set_prefix): Removed.
11415 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
11416 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
11417 Revamped into ...
11418 (grub_machine_get_bootlocation): ... this.
11419 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
11420 (grub_set_prefix_and_root): ... this. All users updated.
11421 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
11422 Revamped into ...
11423 (grub_machine_get_bootlocation): ... this.
11424 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
11425 (grub_machine_get_bootlocation): New proto.
11426 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
11427
11428 Less intrusive and more reliable seek on network implementation.
11429
11430 * grub-core/kern/file.c (grub_file_net_seek): Removed.
11431 (grub_file_seek): Don't call grub_file_net_seek.
11432 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
11433 (grub_net_fs_read_real): .. this.
11434 (grub_net_seek_real): Use net->offset.
11435 (grub_net_fs_read): Seek if necessary.
11436
11437 Unify IEEE1275 netwotk config with the other platforms.
11438
11439 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
11440 New variable.
11441 (grub_machine_get_bootlocation): Support network.
11442 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11443 Support type and device parsing.
11444 (grub_ieee1275_get_device_type): New function.
11445 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
11446 into ...
11447 (grub_ieee1275_net_config_real): ... this.
11448 (grub_ofnet_probecards): Removed.
11449 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
11450 * include/grub/ieee1275/ofnet.h: Removed.
11451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
11452 extern var.
11453 (grub_ieee1275_get_device_type): New function.
11454
11455 Unify network device closing across platforms and make more robust.
11456
11457 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
11458 grub_grubnet_fini.
11459 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
11460 already.
11461 * grub-core/net/net.c (grub_net_network_level_interface_register):
11462 Update num_ifaces.
11463 (grub_net_card_unregister): Close all interfaces.
11464 (receive_packets): Don't poll if no iterfaces are registered.
11465 Open if necessary.
11466 (grub_net_fini_hw): New function.
11467 (grub_net_restore_hw): Likewise.
11468 (fini_hnd): New variable.
11469 (GRUB_MOD_INIT): Register preboot hook.
11470 (GRUB_MOD_FINI): Run and unregister preboot hook.
11471
11472 Poll network cards when idle.
11473
11474 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
11475 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
11476 * grub-core/net/net.c (receive_packets): Save last poll time.
11477 (grub_net_poll_cards_idle_real): New function.
11478 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
11479 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
11480 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
11481
11482 Rename ofnet interfaces.
11483
11484 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
11485 (grub_ofnet_findcards): Use ofnet_%s names.
11486
11487 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
11488
11489 Cleanup socket opening.
11490
11491 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
11492 (grub_net_fs_close): Likewise.
11493 (grub_net_fs_read_real): Use eof member.
11494 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
11495 (+grub_net_udp_close): New inline function.
11496
11497 * include/grub/net/tftp.h: Moved to the top of ...
11498 * grub-core/net/tftp.c: ... here.
11499 * include/grub/net/ip.h: Moved mostly to the top of ...
11500 * grub-core/net/ip.c: ... here.
11501 * include/grub/net/ethernet.h: Moved mostly to the top of ...
11502 * grub-core/net/ethernet.c: ... here.
11503
11504 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
11505
11506 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
11507 FS name.
11508
11509 * include/grub/net/ip.h (ipv4_ini): Removed.
11510 (ipv4_fini): Likewise.
11511
11512 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
11513 (grub_net_send_ip_packets): Likewise.
11514
11515 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
11518 grub_read_cmos prototype.
11519
11520 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 VGA text support in qemu-mips
11523
11524 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
11525 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
11526 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
11527 text.
11528 * grub-core/kern/i386/qemu/init.c: Renamed to ...
11529 * grub-core/kern/vga_init.c: ... this.
11530 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
11531 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
11532 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
11533 Adjust.
11534 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
11535 GRUB_MACHINE_PCI_IO_BASE.
11536
11537 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 MIPS qemu flash support.
11540
11541 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
11542 magic.
11543 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
11544 (grub_machine_init): Probe memory if its size isn't known.
11545 * util/grub-mkimage.c (image_targets): Add flash targets.
11546 (generate_image): Handle flash targets.
11547
11548 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11549
11550 MIPS qemu at_keyboard support.
11551
11552 * gentpl.py (videoinkernel): Add qemu-mips.
11553 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
11554 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
11555 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
11556 modules.
11557 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
11558 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
11559 * grub-core/term/serial.c (grub_serial_register)
11560 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
11561
11562 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 CMOS support on sparc.
11565
11566 * gentpl.py (cmos): Add powerpc and sparc.
11567 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
11568 powerpc and sparc.
11569 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
11570 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
11571 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
11572 grub_set_datetime_cmos.
11573 * grub-core/lib/ieee1275/cmos.c: New file.
11574 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
11575 (find_rtc): Set no_ieee1275_rtc on error.
11576 (grub_get_datetime): Call grub_get_datetime_cmos on error.
11577 (grub_set_datetime): Call grub_set_datetime_cmos on error.
11578 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
11579 fail. Move value to argument. All users updated
11580 (grub_cmos_write): Likewise.
11581 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
11582 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
11583 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
11584 grub_get_datetime_cmos and grub_set_datetime_cmos.
11585
11586 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11587
11588 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
11589 sourcing grub-mkconfig_lib.
11590 * util/update-grub_lib.in: Likewise.
11591 * util/grub.d/00_header.in: Likewise.
11592 * util/grub.d/10_hurd.in: Likewise.
11593 * util/grub.d/10_kfreebsd.in: Likewise.
11594 * util/grub.d/10_linux.in: Likewise.
11595 * util/grub.d/10_netbsd.in: Likewise.
11596 * util/grub.d/10_windows.in: Likewise.
11597 * util/grub.d/20_linux_xen.in: Likewise.
11598 * util/grub.d/30_os-prober.in: Likewise.
11599
11600 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
11601
11602 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
11603 default_bg_color rather than black.
11604 (grub_gfxterm_fullscreen): Likewise.
11605 (grub_gfxterm_background_color_cmd): Save new background color in
11606 default_bg_color.
11607
11608 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
11611
11612 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
11615 mismerge.
11616
11617 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 Chainloading on coreboot support.
11620
11621 * grub-core/Makefile.core.def (chain): Add coreboot.
11622 * grub-core/loader/i386/coreboot/chainloader.c: New file.
11623
11624 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
11627 if it happens.
11628
11629 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 Implement time command.
11632
11633 * grub-core/Makefile.core.def (time): New module.
11634 * grub-core/commands/time.c: New file.
11635 * grub-core/script/parser.y: Remove "time" keyword.
11636 * grub-core/script/yylex.l: Likewise.
11637
11638 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
11641
11642 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
11645 when handling leftovers.
11646
11647 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
11650 so that help2man doesn't fail.
11651
11652 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
11655 type in pointers on sparc64.
11656 (get_card_packet): Likewise.
11657
11658 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
11659
11660 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
11661 with `*'.
11662 (grub_cmd_videoinfo): Fetch current video mode.
11663
11664 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
11667 because of underlying system restrictions.
11668
11669 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
11672 necessary.
11673
11674 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 Coreboot video support.
11677
11678 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
11679 (vbe): Likewise.
11680 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
11681 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
11682 here ...
11683 * grub-core/kern/i386/int.S: ... here.
11684 * grub-core/video/i386/pc/vbe.c: Updated includes.
11685 * grub-core/video/i386/pc/vga.c: Likewise.
11686 * include/grub/i386/coreboot/memory.h
11687 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
11688 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
11689 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
11690 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
11691 Disable interrupts.
11692 * include/grub/i386/pc/vga.h: Removed. All users updated.
11693
11694 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
11697 definitions for dprintf.
11698 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
11699
11700 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
11703 prototype.
11704 (get_card_packet): Likewise.
11705
11706 2011-06-26 Yves Blusseau <blusseau@zetam.org>
11707
11708 Display the path of the file when file is not found
11709
11710 * grub-core/fs/fat.c: Display the filename when file is not found.
11711 * grub-core/fs/fshelp.c: Likewise.
11712 * grub-core/fs/hfs.c: Likewise.
11713 * grub-core/fs/jfs.c: Likewise.
11714 * grub-core/fs/minix.c: Likewise.
11715 * grub-core/fs/ufs.c: Likewise.
11716 * grub-core/fs/btrfs.c: Likewise.
11717 * grub-core/commands/i386/pc/play.c: Likewise.
11718
11719 2011-06-26 Szymon Janc <szymon@janc.net.pl>
11720
11721 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
11722 pointer checks before calling grub_free().
11723 * grub-core/commands/wildcard.c (match_devices): Likewise.
11724 * grub-core/commands/wildcard.c (match_files): Likewise.
11725 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
11726 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
11727 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
11728 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
11729 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
11730 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
11731 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
11732 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11733 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
11734
11735 2011-06-25 Patrick <p55@mailinator.com>
11736
11737 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
11738
11739 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
11742 (grub_pxe_send): Likewise.
11743 (GRUB_MOD_INIT): Fix types.
11744
11745 2011-06-24 Szymon Janc <szymon@janc.net.pl>
11746
11747 * grub-core/io/xzio.c: Fix code style issues
11748
11749 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11750 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
11751
11752 Network infrastructure.
11753 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
11754
11755 * include/grub/net/arp.h: New file.
11756 * include/grub/net/device.h: Likewise.
11757 * include/grub/net/ethernet.h: Likewise.
11758 * include/grub/net/ip.h: Likewise.
11759 * include/grub/net/netbuff.h: Likewise.
11760 * include/grub/net/tftp.h: Likewise.
11761 * include/grub/net/udp.h: Likewise.
11762 * include/grub/ieee1275/ofnet.h: Likewise.
11763 * include/grub/emu/export.h: Likewise.
11764 * include/grub/net.h: Likewise.
11765 * grub-core/net/arp.c: Likewise.
11766 * grub-core/net/ethernet.c: Likewise.
11767 * grub-core/net/ip.c: Likewise.
11768 * grub-core/net/udp.c: Likewise.
11769 * grub-core/net/tftp.c: Likewise.
11770 * grub-core/net/netbuff.c: Likewise.
11771 * grub-core/net/net.c: Likewise.
11772 * grub-core/net/drivers/emu/emunet.c: Likewise.
11773 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
11774 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
11775 export.h.
11776 * grub-core/Makefile.core.def (net): New module.
11777 (tftp): Likewise.
11778 (ofnet): Likewise.
11779 (emunet): Likewise.
11780 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
11781 network protocols.
11782 * grub-core/kern/device.c (grub_net_open) : New variable.
11783 (grub_device_open): Handle network device.
11784 (grub_device_close): Likewise.
11785 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
11786 (grub_grubnet_fini): Likewise.
11787 (grub_file_seek): Seek in network device.
11788 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
11789 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
11790 network root.
11791 (grub_machine_fini): Call grub_grubnet_fini.
11792 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
11793 network.
11794 (grub_ieee1275_get_aliasdevname): New function.
11795 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11796 Add unofficial Solaris network info.
11797 (grub_multiboot_make_mbi): Likewise.
11798 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
11799 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
11800 * include/grub/device.h (grub_fs): Removed.
11801 * include/grub/err.h (grub_err_t): Add network-related values.
11802 * include/grub/i386/pc/pxe.h: Removed bootp parts.
11803 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
11804 (grub_ieee1275_get_aliasdevname): New proto.
11805 * include/grub/net.h: Rewritten.
11806
11807 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
11810 names.
11811
11812 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
11815 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
11816 it truncates the output.
11817 Reported by: Ximin Luo.
11818
11819 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
11822
11823 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11826 partmap before abstraction.
11827
11828 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11829
11830 * util/grub-mkconfig_lib.in: Add missing quotes.
11831
11832 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
11835 old method if mountinfo would return /dev/root and /dev/root doesn't
11836 exist.
11837
11838 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 ZFS zlib support
11841
11842 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
11843 (decomp_table): Add zlib entries.
11844 (zio_read): USe 8 bits for compression function rather than 3.
11845 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
11846
11847 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/disk/ahci.c: Add missing license statements.
11850 * grub-core/fs/romfs.c: Likewise.
11851 * grub-core/lib/ia64/setjmp.S: Likewise.
11852 * grub-core/loader/i386/pc/freedos.c: Likewise.
11853 * grub-core/loader/ia64/efi/linux.c: Likewise.
11854 * grub-core/video/colors.c: Likewise.
11855 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
11856
11857 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 AHCI support.
11860
11861 * grub-core/Makefile.core.def (ata_pthru): Removed.
11862 (ahci): New module.
11863 (pata): Likewise.
11864 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
11865 on unload.
11866 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
11867 readwrite.
11868 (grub_hdparm_do_check_powermode_cmd): Likewise.
11869 (grub_hdparm_do_smart_cmd): Likewise.
11870 (grub_hdparm_set_val_cmd): Likewise.
11871 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
11872 * grub-core/disk/ahci.c: New file.
11873 * grub-core/disk/ata.c: Factor out the low-level part into ...
11874 * grub-core/disk/pata.c: ... here.
11875 * grub-core/disk/ata_pthru.c: Contents moved to ...
11876 * grub-core/disk/pata.c: ... here.
11877 * grub-core/disk/scsi.c (grub_scsi_names): New array.
11878 (grub_scsi_iterate): Use grub_scsi_names.
11879 (grub_scsi_open): Likewise.
11880 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
11881 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
11882 (grub_ata_regs_t): New struct.
11883 (grub_disk_ata_pass_through_parms): Likewise.
11884 (grub_ata_device): Renamed to ...
11885 (grub_ata): ... this.
11886 (grub_ata_dev): New struct.
11887 Removed all low-level inline functions.
11888 * include/grub/scsi.h: Add PATA and AHCI subsystems.
11889 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
11890 iterate hooks and open. All users updated.
11891 * util/grub-install.in: Handle AHCI disk module.
11892
11893 2011-06-23 Szymon Janc <szymon@janc.net.pl>
11894
11895 Add support for DRI and RSTn markers in JPEG files.
11896
11897 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
11898 (JPEG_MARKER_RST0): Likewise.
11899 (JPEG_MARKER_RST1): Likewise.
11900 (JPEG_MARKER_RST2): Likewise.
11901 (JPEG_MARKER_RST3): Likewise.
11902 (JPEG_MARKER_RST4): Likewise.
11903 (JPEG_MARKER_RST5): Likewise.
11904 (JPEG_MARKER_RST6): Likewise.
11905 (JPEG_MARKER_RST7): Likewise.
11906 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
11907 (grub_jpeg_decode_dri): New function.
11908 (grub_jpeg_decode_sos): Move image data related part into
11909 grub_jpeg_decode_data function.
11910 (grub_jpeg_decode_data): New function.
11911 (grub_jpeg_reset): New function.
11912 (grub_jpeg_decode_jpeg): Handle new markers.
11913
11914 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * util/ieee1275/ofpath.c (check_sas): Close fd.
11917 (main): Free of_path.
11918 Reported by: David Volgyes <dvolgyes>.
11919
11920 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
11923 Reported by: David Volgyes <dvolgyes>.
11924
11925 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
11928 file after stat.
11929 Reported by: David Volgyes <dvolgyes>.
11930
11931 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
11934
11935 Reported by: David Volgyes <dvolgyes>.
11936
11937 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
11940 Prevent memory leak.
11941
11942 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
11945 (main): Close file.
11946 Reported by: David Volgyes <dvolgyes>.
11947
11948 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
11951 to continue if allocation is failed.
11952
11953 Reported by: David Volgyes <dvolgyes>.
11954
11955 2011-06-23 David Volgyes <dvolgyes>
11956
11957 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
11958 dereference.
11959
11960 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 Fix spurious warning.
11963
11964 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
11965 (acorn_partition_map_find): Use .bin member.
11966
11967 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
11970 /dev/root as a valid device.
11971
11972 2011-06-23 Jim Meyering <meyering@redhat.com>
11973
11974 Avoid NULL deref in grub_device_open.
11975
11976 * grub-core/kern/device.c (grub_device_open): Don't dereference
11977 a NULL pointer upon failed grub_env_get.
11978
11979 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 Support non-512B sectors and agglomerate reads.
11982
11983 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
11984 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
11985 (disk_io_guid): Removed.
11986 (make_devices): Locate solely by BlockIO.
11987 (grub_efidisk_open): Fill log_sector_size and total_sectors.
11988 (grub_efidisk_read): Use read_blocks.
11989 (grub_efidisk_write): Use write_blocks.
11990 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
11991 log_sector_size.
11992 (get_safe_sectors): Handle non-512B sectors.
11993 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
11994 sectors.
11995 (grub_biosdisk_write): Handle non-512B sectors.
11996 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
11997 (grub_scsi_read): Remove special non-512B block handling (now handled
11998 one level up).
11999 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12000 and do sanity checks.
12001 (grub_disk_adjust_range): Handle non-512B sectors.
12002 (transform_sector): New function.
12003 (grub_disk_read_small): Likewise.
12004 (grub_disk_read): Rewritten.
12005 (grub_disk_write): Handle non-512B sectors.
12006 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12007 log_sector_size.
12008 (open_device): Use log_sector_size.
12009 (grub_util_biosdisk_read): Likewise.
12010 (grub_util_biosdisk_write): Likewise.
12011 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12012 non-512B sectors.
12013 (pc_partition_map_embed): Likewise.
12014 * include/grub/disk.h (grub_disk): New field log_sector_size.
12015 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12016 (GRUB_DISK_CACHE_BITS): Increased to 6.
12017 * util/grub-fstest.c (fstest): New command testload.
12018 (argp_parser): Likewise.
12019
12020 2011-06-16 Robert Millan <rmh@gnu.org>
12021
12022 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12023 `ata' driver on kernel of FreeBSD 9.
12024
12025 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12026 (get_ataraid_disk_name): New functions.
12027 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12028 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12029 get_ataraid_disk_name() and get_ada_disk_name().
12030
12031 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
12032
12033 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12034 input format.
12035
12036 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
12037
12038 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12039 `ftp.gnu.org' for `alpha.gnu.org'.
12040
12041 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
12042
12043 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12044 partitions under /dev/disk/by-id/.
12045
12046 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
12047
12048 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12049 after ten consecutive open failures. Scanning all the way up to
12050 10000 is excessive and can cause serious performance problems in
12051 some configurations.
12052 Fixes Ubuntu bug #787461.
12053
12054 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12057 opening new one.
12058
12059 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
12060 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 Don't stat devices unless we have to.
12063
12064 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12065 dir == /dev/mapper.
12066 (grub_guess_root_device): Use already known os_dev if possible.
12067 * grub-core/kern/emu/hostdisk.c
12068 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12069 if device is known to be a dm one.
12070
12071 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
12072
12073 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12074 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12075 Reported by: Pawel Tecza.
12076
12077 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12080 (lsefisystab): Likewise.
12081 (lssal): Likewise.
12082 (lsefimmap): Likewise.
12083 (hdparm): Enable on qemu-mips.
12084 (setjmp): Add ia64 nodist.
12085 (serial): Simplify tags.
12086
12087 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12088
12089 * Makefile.util.def (grub-ofpathname): Install manual page.
12090
12091 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12092
12093 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12094
12095 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12096
12097 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12098
12099 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12102 into dprintf.
12103
12104 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 Use full 64-bit division.
12107
12108 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12109 (grub_divmod64): ... this.
12110 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12111 version.
12112
12113 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12116 `source'.
12117
12118 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12121 to avoid accidents when debugging with 'sh -x'.
12122 * grub-core/gensyminfo.sh.in: Likewise.
12123 * tests/example_scripted_test.in: Likewise.
12124 * tests/grub_cmd_regexp.in: Likewise.
12125 * tests/grub_script_blanklines.in: Likewise.
12126 * tests/grub_script_dollar.in: Likewise.
12127 * tests/grub_script_expansion.in: Likewise.
12128 * tests/grub_script_final_semicolon.in: Likewise.
12129 * tests/partmap_test.in: Likewise.
12130 * tests/util/grub-shell-tester.in: Likewise.
12131 * tests/util/grub-shell.in: Likewise.
12132
12133 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12134
12135 Move gfxmenu color handling to video, so that gfxterm can use it
12136 too.
12137
12138 * grub-core/gfxmenu/named_colors.c: Move to ...
12139 * grub-core/video/colors.c: ... here. Rename
12140 grub_gui_get_named_color to grub_video_get_named_color.
12141 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12142 * grub-core/video/colors.c (my_isxdigit): ... here.
12143 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12144 Move to ...
12145 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12146 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12147 to ...
12148 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12149
12150 * include/grub/gui.h (grub_gui_color_t): Move to ...
12151 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12152 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12153 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12154 * include/grub/gui.h (grub_gui_map_color): Move to ...
12155 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12156 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12157 to ...
12158 * include/grub/video.h (grub_video_get_named_color): ... here.
12159 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12160 * include/grub/video.h (grub_video_parse_color): ... here.
12161
12162 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12163 video/colors.c.
12164 (gfxmenu): Remove gfxmenu/named_colors.c.
12165 (video) [videomodules]: Add video/colors.c.
12166
12167 Add a background_color command.
12168
12169 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12170 function.
12171 (GRUB_MOD_INIT): Register background_color command.
12172 (GRUB_MOD_FINI): Unregister background_color command.
12173 (redraw_screen_rect): Allow blend/replace of text layer to be
12174 controlled independently from whether there is a background bitmap.
12175 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12176 changing bitmap.
12177
12178 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 Patch BPB in ntldr and chainloader --bpb.
12181
12182 * grub-core/fs/fat.c: Include grub/fat.h.
12183 (grub_fat_bpb): Moved to ...
12184 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12185 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12186 grub/ntfs.h.
12187 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12188 Moved from here...
12189 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12190 here.
12191 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12192 New function.
12193 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12194 (GRUB_MOD_INIT): Show --bpb.
12195 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12196 * grub-core/normal/main.c (features): New variable.
12197 (GRUB_MOD_INIT): Set feature_* variables.
12198 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12199 proto.
12200 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12201
12202 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12205 for cleanness.
12206
12207 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12208
12209 FreeDOS direct loading support.
12210
12211 * docs/grub.texi (Supported OS): Add FreeDOS.
12212 * grub-core/Makefile.core.def (freedos): New module.
12213 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12214 variable.
12215 (grub_relocator16_boot): Handle %ebx.
12216 * grub-core/lib/i386/relocator16.S: Likewise.
12217 * grub-core/loader/i386/pc/freedos.c: New file.
12218
12219 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 Long Linux command line support.
12222
12223 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12224 (maximal_cmdline_size): New variable.
12225 (allocate_pages): Use maximal_cmdline_size.
12226 (grub_cmd_linux): Set and use maximal_cmdline_size.
12227 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12228 (allocate_pages): Use maximal_cmdline_size.
12229 (grub_cmd_linux): Set and use maximal_cmdline_size.
12230 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12231 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12232 and cmdline_size.
12233
12234 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12235 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
12236
12237 Improve devmapper support
12238
12239 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12240 (grub_util_is_lvm): New function.
12241 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12242 than lvm if not dmraid.
12243 Handle mapped md nodes.
12244 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12245 (grub_util_device_is_mapped): ... this. Make always available. All users
12246 updated.
12247 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12248 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12249 dmraid nodes.
12250 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12251
12252 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12255
12256 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12257 * grub-core/modinfo.sh.in: New file.
12258 * grub-core/Makefile.core.def (modinfo.sh): New script.
12259 * util/grub-mknetdir.in: Use modinfo.sh.
12260 * util/grub-mkrescue.in: Likewise.
12261
12262 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12265 Fix potential usage of Elf32 instead of Elf64 when compiling on
12266 32-bit architecture. Add endianness macros while on it.
12267
12268 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 Use mipsel- rather than mips- in directories involving mipsel ports to
12271 allow both endiannesses coexist.
12272
12273 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12274 mips. All conditions adjusted.
12275 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12276 variable.
12277 * util/grub-install.in: Adjust conditions to take renaming into account.
12278 * util/grub-mkimage.c (image_targets): Likewise. New target
12279 mips-qemu_mips-elf for bigendian mips.
12280
12281 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Avoid unnecessary copying on MIPS.
12284
12285 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12286 early if src == dest.
12287 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12288 compression is none.
12289
12290 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Reduce memory footprint on SGI by putting modules before the kernel
12293 as opposed to after.
12294
12295 * grub-core/Makefile.core.def (kernel): Increase linking address.
12296 (none_decompress): Likewise.
12297 (xz_decompress): Likewise.
12298 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12299 address.
12300 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12301 layout change.
12302 (grub_arch_modules_addr): New function.
12303 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12304 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12305 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12306 here.
12307 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12308 (grub_total_modules_size): ... this. Make global.
12309 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12310 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12311 New definition.
12312 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12313 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12314 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12315 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12316 * util/grub-mkimage.c (image_target_desc): New flag
12317 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12318 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12319 (generate_image): Handle images with modules before kernel.
12320
12321 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12322
12323 Prevent potential loss of memory map by overwrite on qemu-mips.
12324
12325 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12326 Save ram size in $s4.
12327 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12328 All users changed to grub_arch_memsize.
12329 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12330 Loongson.
12331 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12332 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12333 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12334 external variable.
12335
12336 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12337
12338 * .bzrignore: Remove grub-dumpbios.
12339
12340 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12341
12342 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12343 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12344 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12345 existing options which append).
12346 * docs/grub.texi (Simple configuration): Document new options.
12347 Reported by: Ian Jackson. Fixes Debian bug #617538.
12348
12349 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * util/grub-fstest.c (cmd_cat): New function.
12352 (fstest): Handle CMD_CAT.
12353 (options): Add cat.
12354 (argp_parser): Handle cat.
12355
12356 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
12357
12358 * Makefile.util.def (grub-bin2h): Don't install.
12359 * docs/man/grub-bin2h.h2m: Remove.
12360
12361 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12364 place.
12365
12366 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 Reenable qemu-mips port.
12369
12370 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12371 Fix small arc bug while on it.
12372 * gentpl.py: Handle qemu_mips.
12373 * grub-core/Makefile.am: Likewise.
12374 * grub-core/Makefile.core.def: Likewise.
12375 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12376 inappropriate includes.
12377 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12378 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12379 * grub-core/kern/main.c (grub_modules_get_end)
12380 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12381 * grub-core/kern/mips/qemu-mips: Moved to ..
12382 * grub-core/kern/mips/qemu_mips: ... this.
12383 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12384 (grub_machine_init): Call terminfo_init and serial_init.
12385 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12386 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12387 New variable.
12388 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12389 parameter passing.
12390 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12391 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12392 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12393 * include/grub/mips/qemu_mips/cmos.h: New file.
12394 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12395 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
12396 Removed.
12397 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
12398 Use correct mips-style address.
12399 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
12400 (GRUB_TICKS_PER_SECOND): Removed.
12401 (grub_get_rtc): Likewise.
12402 (grub_cpu_idle): Likewise.
12403 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
12404 New definition.
12405 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
12406 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
12407 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
12408 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
12409 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12410 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12411 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
12412 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
12413
12414 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 SGI ARCS port.
12417
12418 * Makefile.util.def (libgrubmods.a): Add dvh.c.
12419 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
12420 platforms.
12421 * configure.ac: New target mips-arc.
12422 * gentpl.py: Likewise.
12423 * grub-core/Makefile.am: Likewise.
12424 * grub-core/Makefile.core.def: Likewise.
12425 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
12426 (none_decompress): Likewise.
12427 (lsdev): New module.
12428 (datetime): Use lib/arc/datetime.c on ARC.
12429 (part_dvh): New module.
12430 * grub-core/commands/arc/lsdev.c: New file.
12431 * grub-core/disk/arc/arcdisk.c: Likewise.
12432 * grub-core/kern/mips/arc/init.c: Likewise.
12433 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
12434 aligned addresses.
12435 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
12436 support.
12437 (grub_arch_dl_relocate_symbols): Likewise.
12438 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
12439 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
12440 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
12441 platforms.
12442 * grub-core/lib/arc/datetime.c: New file.
12443 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
12444 pci.h on non-loongson.
12445 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
12446 (grub_linux_boot): Set unused registers to 0.
12447 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
12448 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
12449 * grub-core/mmap/mips/uppermem.c: ...here.
12450 * grub-core/partmap/dvh.c: New file.
12451 * grub-core/term/arc/console.c: Likewise.
12452 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
12453 (grub_terminfo_set_current): Add terminal "arc".
12454 (grub_terminfo_readkey): Support ARC sequences.
12455 * include/grub/arc/arc.h: New file.
12456 * include/grub/arc/console.h: Likewise.
12457 * include/grub/disk.h (grub_disk_dev_id): Add
12458 GRUB_DISK_DEVICE_ARCDISK_ID.
12459 * include/grub/mips/arc/kernel.h: New file.
12460 * include/grub/mips/arc/memory.h: Likewise.
12461 * include/grub/mips/arc/time.h: Likewise.
12462 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
12463 * include/grub/mips/kernel.h (grub_halt): ... here.
12464 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
12465 here...
12466 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
12467 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
12468 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
12469 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
12470 proto.
12471 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
12472 from here ...
12473 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
12474 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
12475 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
12476 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
12477 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
12478 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
12479 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
12480 (grub_phys_addr_t): Moved from here ...
12481 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
12482 (grub_vtop): Moved from here ...
12483 * include/grub/mips/memory.h (grub_vtop): ... here.
12484 (grub_map_memory): Moved from here ...
12485 * include/grub/mips/memory.h (grub_map_memory): ... here.
12486 (grub_unmap_memory): Moved from here ...
12487 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
12488 (grub_machine_mmap_iterate): Moved from here ...
12489 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
12490 (grub_mmap_get_lower): Moved from here ...
12491 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
12492 (grub_mmap_get_upper): Moved from here ...
12493 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
12494 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12495 here ...
12496 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12497 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
12498 here ...
12499 * include/grub/mips/time.h (grub_get_rtc): ... here.
12500 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
12501 here ...
12502 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
12503 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
12504 here ...
12505 * include/grub/mips/time.h (grub_cpu_idle): ... here.
12506 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
12507 definition.
12508 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
12509 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
12510 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
12511 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
12512 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12513 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12514 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
12515 (GRUB_MACHINE_LINK_ADDR): Likewise.
12516 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
12517 to 6.
12518 * util/grub-install.in: Run dvhtool on ARC.
12519 * util/grub-mkimage.c (image_targets): Add mips-arc.
12520 (generate_image): Handle ECOFF output for mips-arc.
12521
12522 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
12525 blocks.
12526
12527 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
12530 after enabling port.
12531
12532 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 Skip incorrect USB devices.
12535
12536 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
12537 configcnt == 0.
12538 * include/grub/usb.h (grub_usb_err_t): New enum value
12539 GRUB_USB_ERR_BADDEVICE.
12540
12541 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 Fuloong video init support.
12544
12545 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
12546 well.
12547 (grub_vga_read_arx): New function.
12548 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
12549 definition.
12550 (framebuffer): New members io, mmioptr and mmiobase.
12551 (read_sis_cmd): New function.
12552 (write_sis_cmd): Likewise.
12553 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
12554 rather than 640x400.
12555 * grub-core/video/sis315_init.c: New file.
12556
12557 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
12560 non-loongson.
12561 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
12562 to grub_dl_register_symbol.
12563
12564 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Fix compilation errors.
12567
12568 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
12569 potentially unused.
12570 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
12571 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
12572 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
12573 to loongson machines.
12574
12575 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 Several FS mtime support.
12578
12579 * grub-core/fs/affs.c (grub_affs_time): New struct.
12580 (grub_affs_file): New field mtime.
12581 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
12582 type. Removed 'size'. New field 'di'. All users updated.
12583 (grub_affs_mount): Simplify checsum checking.
12584 (grub_affs_iterate_dir): New helper grub_affs_create_node.
12585 (grub_affs_dir): Handle mtime.
12586 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
12587 (grub_cpio_dir): Likewise.
12588 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
12589 (grub_hfs_filerec): New field mtime.
12590 (grub_hfs_dir): Handle mtime.
12591 (grub_hfs_mtime): New function.
12592 (grub_hfs_fs): Register grub_hfs_mtime.
12593 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
12594 (grub_iso9660_dir): New field mtime.
12595 (grub_fshelp_node): New field dirent.
12596 (iso9660_to_unixtime): New function.
12597 (iso9660_to_unixtime2): Likewise.
12598 (grub_iso9660_read_symlink): Use node->dirent.
12599 (grub_iso9660_iterate_dir): Likewise.
12600 (grub_iso9660_dir): Set mtime.
12601 (grub_iso9660_mtime): New function.
12602 (grub_iso9660_fs): Register grub_iso9660_mtime.
12603 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
12604 (grub_jfs_inode): New fields atime, ctime and mtime.
12605 (grub_jfs_dir): Set mtime.
12606 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12607 * grub-core/fs/ntfs.c (list_file): Set mtime.
12608 (grub_ntfs_dir): Likewise.
12609 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
12610 (grub_reiserfs_iterate_dir): Set mtime.
12611 (grub_reiserfs_dir): Likewise.
12612 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
12613 (grub_fshelp_node): Likewise.
12614 (grub_sfs_iterate_dir): Set mtime.
12615 (grub_sfs_dir): Likewise.
12616 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
12617 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
12618 (grub_xfs_inode): New fields atime, mtime, ctime.
12619 (grub_xfs_dir): Set mtime.
12620 * include/grub/datetime.h (grub_datetime2unixtime): New function.
12621 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
12622 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
12623
12624 Support UDF symlinks.
12625
12626 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
12627 (grub_ufs_read_symlink): New function. All users updated.
12628
12629 Check amiga partmap checksum.
12630
12631 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
12632 (grub_amiga_partition): Likewise.
12633 (amiga_partition_map_checksum): New function.
12634 (amiga_partition_map_iterate): Check checksum.
12635
12636 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 ROMFS support.
12639
12640 * Makefile.util.def (libgrubmods.a): Add romfs.
12641 * grub-core/Makefile.core.def (romfs): New module.
12642 * grub-core/fs/romfs.c: New file.
12643
12644 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 Squashfs v4 support.
12647
12648 * Makefile.util.def (libgrubmods.a): Add squash4.
12649 * grub-core/Makefile.core.def (squash4): New module.
12650 * grub-core/fs/squash4.c: New file.
12651 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
12652 disk_input_start, disk_input.
12653 (get_byte): Handle disk_input.
12654 (grub_zlib_disk_read): New function.
12655 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
12656
12657 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12658 2011-05-15 Feiran Zheng <famcool@gmail.com>
12659
12660 * Makefile.util.def (libgrubmods.a): Add minix3.
12661 * grub-core/Makefile.core.def (minix3): New module.
12662 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
12663 (GRUB_MINIX_BSIZE): Removed.
12664 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
12665 (grub_minix_ino_t): New type.
12666 (grub_minix_le_to_cpu_ino): New macro.
12667 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
12668 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
12669 (grub_minix_data): New field block_size.
12670 (grub_minix_read_file): Handle 64-bit correctly.
12671 * grub-core/fs/minix3.c: New file.
12672
12673 2011-05-15 Tristan Gingold <gingold@free.fr>
12674 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
12675 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 IA64 support.
12678
12679 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
12680 * configure.ac: Add ia64-efi target.
12681 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
12682 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
12683 * gentpl.py: Add ia64_efi platform.
12684 Rename x86_efi to efi and Add ia64-efi. All users updated.
12685 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
12686 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
12687 Remove kern/generic/rtc_get_time_ms.c on EFI.
12688 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
12689 kern/ia64/dl_helper.c on ia64-efi.
12690 Add kern/emu/cache.c on emu.
12691 (linux): Use on loader/ia64/efi/linux.c on ia64.
12692 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
12693 whether symbol is a function.
12694 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
12695 (grub_symbol): New field 'isfunc'.
12696 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
12697 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
12698 (grub_dl_load_segments): Place all sections into the same region.
12699 [__ia64__]: Create trampolines and got.
12700 [GRUB_MACHINE_EMU]: Call mprotect.
12701 (grub_dl_resolve_symbols): Resolve symbol type as well.
12702 [__ia64__]: Create function descriptors.
12703 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
12704 (grub_rtc_get_time_ms): ... this. Expressions simplified.
12705 (grub_get_rtc): New function.
12706 * grub-core/kern/emu/cache.c [__ia64__]: New file.
12707 * grub-core/kern/emu/cache.S: Renamed to ...
12708 * grub-core/kern/emu/cache_s.S: ... this.
12709 [__ia64__]: Add a nop.
12710 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
12711 [__ia64__]: New function.
12712 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
12713 * grub-core/kern/ia64/dl.c: New file.
12714 * grub-core/kern/ia64/dl_helper.c: Likewise.
12715 * grub-core/kern/ia64/efi/init.c: New file.
12716 * grub-core/kern/ia64/efi/startup.S: Likewise.
12717 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
12718 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
12719 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
12720 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
12721 * grub-core/loader/ia64/efi/linux.c: New file.
12722 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
12723 (GRUB_MOD_DEP): Likewise.
12724 (grub_dl) [__ia64__]: New fields got and tramp.
12725 (grub_dl): New field 'base'.
12726 (grub_dl_register_symbol): New argument isfunc. All users updated.
12727 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
12728 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
12729 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
12730 (grub_ia64_dl_get_tramp_got_size): New proto.
12731 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
12732 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
12733 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
12734 * include/grub/efi/api.h: Skip call wrappers on ia64.
12735 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
12736 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
12737 * include/grub/elf.h (ELF_ST_INFO): New definition.
12738 * include/grub/ia64/efi/kernel.h: New file.
12739 * include/grub/ia64/efi/memory.h: Likewise.
12740 * include/grub/ia64/efi/time.h: Likewise.
12741 * include/grub/ia64/kernel.h: Likewise.
12742 * include/grub/ia64/setjmp.h: Likewise (from glibc).
12743 * include/grub/ia64/time.h: New file.
12744 * include/grub/ia64/types.h: Likewise.
12745 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
12746 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
12747 New protos.
12748 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
12749 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12750 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
12751 * util/grub-mkimage.c (image_target_desc): New field pe_target.
12752 All users updated.
12753 (EFI64_HEADER_SIZE): New definition. All users updated.
12754 (image_targets): Add ia64-efi.
12755 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
12756 jumpers_addr. All users updated.
12757 Create function descriptors.
12758 (count_funcs): New function.
12759 (unaligned_uint32): New struct.
12760 (MASK20): New definition.
12761 (MASK19): Likewise.
12762 (MASKF21): Likewise.
12763 (add_value_to_slot_20b): New function.
12764 (add_value_to_slot_21_real): Likewise.
12765 (add_value_to_slot_21): Likewise.
12766 (ia64_kernel_trampoline): New struct.
12767 (nopm): New variable.
12768 (jump): Likewise.
12769 (make_trampoline): New function.
12770 (relocate_addresses): Handle ia64.
12771 (make_reloc_section): Likewise.
12772 (load_image): Likewise.
12773
12774 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
12777 warning. Move variables before code while on it.
12778
12779 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Fuloong support.
12782
12783 * configure.ac: Rename yeeloong platform to loongson. All users updated.
12784 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
12785 * grub-core/boot/mips/loongson/fuloong.S: New file.
12786 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
12787 Explicitly init CS5536.
12788 [FULOONG]: Don't use serial until CS5536 is available.
12789 Set GPIO based on dumps.
12790 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
12791 [FULOONG]: Handle GPIO and memory controller differences.
12792 Parse machine type in $a2.
12793 * grub-core/boot/mips/startup_raw.S: Determine and save the
12794 architecture.
12795 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
12796 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
12797 init on architecture type.
12798 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12799 SIS315E. Don't init at_keyboard on fuloong.
12800 (grub_halt): Support Fuloong.
12801 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
12802 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
12803 (loongson_machtypes): New array.
12804 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
12805 type.
12806 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
12807 config. All users updated. Handle CS5536 serial.
12808 * grub-core/term/serial.c (grub_serial_register): Conditionalise
12809 default port on machine type. Register serial as inactive.
12810 * grub-core/video/sis315pro.c: New file.
12811 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
12812 definition.
12813 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
12814 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
12815 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
12816 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
12817 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
12818 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
12819 to ...
12820 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
12821 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
12822 definition.
12823 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
12824 (grub_arch_machine): New extern var.
12825 * include/grub/mips/loongson/serial.h
12826 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
12827 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
12828 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
12829 (GRUB_MACHINE_SERIAL_PORT0): ... this.
12830 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
12831 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
12832 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
12833 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
12834 * include/grub/term.h (grub_term_register_input_inactive): New inline
12835 function.
12836 (grub_term_register_output_inactive): Likewise.
12837 * include/grub/video.h (grub_video_driver_id): New value
12838 GRUB_VIDEO_DRIVER_SIS315PRO.
12839 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
12840 New field "names". All users updated.
12841 New field value IMAGE_FULOONG_FLASH.
12842 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
12843
12844 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
12845
12846 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
12847 and add some clarification.
12848
12849 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
12852 platforms if kernel is compressed.
12853
12854 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
12857 unused modules since currently referrence counter isn't reliable and
12858 there isn't much memory to recover there anyway.
12859
12860 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
12863 rather than resetting it to allow modules to reference themselves
12864 in init.
12865
12866 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
12869 counter on dependencies since grub_dl_unref already handles this.
12870
12871 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
12874 on error if not already done.
12875
12876 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 Fix few potential memory misusage.
12879
12880 * grub-core/font/font.c (load_font_index): Don't free char_index to
12881 avoid double free.
12882 (grub_font_load): Zero-fill font at alloc for safety.
12883 Close file on error.
12884 (free_font): Free bmp_idx.
12885
12886 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * docs/grub.texi (Installation): Fix several outdated claims.
12889
12890 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 Handle module_license on windows.
12893
12894 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
12895 sections shifted.
12896 (insert_string): Make argument const char * instead of char *.
12897 (write_section_data): Handle long section names.
12898 Handle module_license.
12899
12900 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
12903 handle class-free menuentries.
12904 (grub_normal_add_menu_entry): Add a check to be sure.
12905
12906 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
12909 PgUp and PgDown.
12910
12911 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * configure.ac: Bump version to 1.99.
12914
12915 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 Give ATA device a bit more time on first try in order to allow disks
12918 to spin up.
12919
12920 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
12921 if dev->present is 1. Reset dev->present on failure.
12922 (grub_ata_device_initialize): Set dev->present to 1.
12923 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
12924 (grub_ata_device): New member 'present'.
12925
12926 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/grub-mkimage.c (generate_image): Update hash.
12929
12930 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 Flush caches on DMA memory.
12933
12934 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
12935 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
12936 (grub_dma_free): Likewise.
12937 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
12938
12939 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
12942 to avoid asm treating ld and sd as macros.
12943
12944 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
12947 decompressor.
12948
12949 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
12952 grub_decompress_core since later would fail if grub_decompress_core
12953 is too far.
12954
12955 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
12958 R_MIPS_JALR since it's used by newer compiler.
12959
12960 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
12961
12962 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
12963
12964 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
12967 file_path to 0 for surety.
12968 (grub_chainloader_boot): Set exit_data to NULL.
12969 Unset the loader once done.
12970 (grub_cmd_chainloader): Fix confusing error message if file is empty.
12971
12972 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
12975 unknown key into a dprintf.
12976
12977 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
12980 on first non-existant partition.
12981
12982 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
12985 openning fails.
12986 Reported by: Mark Korenberg.
12987
12988 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
12991 overflow.
12992
12993 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 * util/grub-mkimage.c (main): Explicitely flush and sync the output
12996 before closing to ensure that it will be readable by grub-setup.
12997
12998 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12999
13000 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13001 (devpath_1): Use MAKE_PIWG_PATH.
13002 (devpath_2): Likewise.
13003 (devpath_3): Likewise.
13004 (devpath_4): Likewise.
13005 (devpath_5): Likewise.
13006 (devpath_6): Likewise.
13007
13008 The appleldr.mod was checked that to be binary identical to previous
13009 version.
13010
13011 2011-05-05 Zach <mikezackles>
13012
13013 Support 2010 Macbooks.
13014
13015 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13016 (devs): Add devpath_6.
13017
13018 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13021 /dev/random. /dev/urandom is good enough for our purposes (salting).
13022
13023 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13026
13027 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13030 hexadecimal.
13031
13032 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13035 and not 0 on failure.
13036
13037 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
13038
13039 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13040 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13041 disk; otherwise grub_fs_probe will not fall back to the next
13042 filesystem.
13043 (grub_pxefs_open): Likewise, for consistency.
13044 Reported and tested by: Ezekiel Grave.
13045
13046 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
13047
13048 * tests/partmap_test.in: Don't hardcode path to parted.
13049 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13050
13051 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
13052
13053 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13054 of `ls' to find out which devices are available.
13055
13056 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13059 than source address for efi mmap buffer.
13060
13061 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13062
13063 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13064 wrong action on non-detecting the magic.
13065
13066 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13069 already supplied by another part of the module (fixes compilation on
13070 FreeBSD).
13071
13072 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13075 match the one used by mdadm.
13076
13077 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13078
13079 * po/README: Add instructions for creating po/LINGUAS.
13080
13081 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13082
13083 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13084 #551428.
13085
13086 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13087 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13088 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13089 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13090 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13091 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13092 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13093 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13094 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13095 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13096 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13097 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13098 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13099 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13100 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13101 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13102 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13103 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13104 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13105 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13106 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13107 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13108
13109 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13110
13111 * grub-core/kern/emu/getroot.c
13112 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13113 test that was incorrectly reintroduced in r3214.
13114 Reported by: Ian Dall. Fixes Savannah bug #33133.
13115
13116 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
13117
13118 Fix stack pointer handling in 16-bit relocator.
13119
13120 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13121 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13122 Fixes Ubuntu bug #683904.
13123
13124 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * configure.ac: Bump version to 1.99~rc2.
13127
13128 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13131 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13132 * grub-core/lib/x86_64/setjmp.S: Likewise.
13133 * grub-core/lib/mips/setjmp.S: Likewise.
13134 * grub-core/lib/powerpc/setjmp.S: Likewise.
13135 * grub-core/lib/sparc64/setjmp.S: Likewise.
13136
13137 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13140 * grub-core/lib/efi/datetime.c: Likewise.
13141
13142 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13145 New function.
13146 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13147 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13148 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13149
13150 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13153 bitmap.
13154 (grub_gfxterm_term_init): Likewise.
13155
13156 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13157
13158 Take into account the decorations the computing menu entry width.
13159
13160 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13161 (grub_gfxmenu_create_box): Register get_border_width.
13162 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13163 if available.
13164 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13165 get_border_width.
13166
13167 2011-04-18 Endres Puschner <code@e7p.de>
13168
13169 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13170 Don't skip first class.
13171
13172 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13175 chunks.
13176 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13177
13178 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 Complete 64-bit division support.
13181
13182 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13183 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13184 * include/grub/misc.h (grub_divmod64): Rename to ...
13185 (grub_divmod64_full): ... this.
13186 (grub_divmod64): New inline function.
13187
13188 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13191
13192 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13195 performing the necessary test.
13196
13197 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13200 (kfreebsd.elf): Likewise.
13201 (pc-chainloader.elf): Likewise.
13202 (ntldr.elf): Likewise.
13203
13204 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 Identify RAID by its UUID rather than (guessed) name.
13207
13208 * grub-core/disk/raid.c (ascii2hex): New function.
13209 (grub_raid_open): Accept mduuid/%s specification.
13210 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13211 (get_mdadm_uuid): ... this.
13212 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13213
13214 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13217 to negative size.
13218
13219 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13220
13221 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13222 btrfs subvolume.
13223 * util/grub.d/20_linux_xen.in: Likewise.
13224
13225 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
13226
13227 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13228 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13229
13230 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13231 Build a list of relevant visible mounts using the mnt_id and
13232 parent_mnt_id fields, and then scan that list at the end.
13233
13234 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13235
13236 * docs/grub.texi (normal): New section.
13237 (normal_exit): New section.
13238 (Embedded configuration): Add reference to normal.
13239 (GRUB only offers a rescue shell): Likewise.
13240 * docs/grub-dev.texi (Error Handling): Fix typo.
13241
13242 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13243
13244 * NEWS: Drop obsolete entry about probe-only btrfs support.
13245
13246 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
13247
13248 * util/import_gcry.py: Fix typo.
13249
13250 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13251
13252 * NEWS: Add btrfs support.
13253
13254 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13255 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13256
13257 BtrFS support. Written by me (Vladimir) with important bugfixes and
13258 even more important testing by Colin.
13259
13260 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13261 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13262 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13263 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13264 mem_input_off and mem_input. All users updated to accept in-RAM input.
13265 (gzio_seek): New function.
13266 (test_zlib_header): Likewise.
13267 (grub_gzio_read): Likewise.
13268 (grub_zlib_decompress): Likewise.
13269 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13270 Accept partial and non-virtual mounts.
13271 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13272 avoid receiving /dev/dm-X as device.
13273 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13274 Handle bind and partial mounts.
13275 * grub-core/lib/crc.c: New file.
13276 * include/grub/deflate.h: Likewise.
13277 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13278 proto.
13279 * include/grub/lib/crc.h: New file.
13280
13281 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 Implement automatic module license checking according to new GNU
13284 guidelines.
13285
13286 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13287 (grub_dl_load_core): Use grub_dl_check_license.
13288 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13289 (GRUB_MOD_LICENSE): Likewise.
13290 (GRUB_MOD_DUAL_LICENSE): Likewise.
13291 All modules updated.
13292
13293 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
13294
13295 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13296 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13297 loaders.
13298 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13299
13300 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13303
13304 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13307 failed.
13308
13309 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13312 parenthesis in the middle of the filename.
13313
13314 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13317 rather than trying to put initrd way too high.
13318 Reported by: Ryan Lortie <desrt@desrt.ca>
13319
13320 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13323 improperly removed string.
13324
13325 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13328 is_disk.
13329 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13330 (open_device) Likewise.
13331 (grub_util_biosdisk_close): Likewise.
13332 Reported by: Mark Korenberg.
13333
13334 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13335
13336 * util/grub-mkconfig_lib.in: Add missing quotes.
13337
13338 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
13339
13340 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13341 is NULL.
13342
13343 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 Dynamically count the number of lines for the lower banner.
13346
13347 * grub-core/normal/menu_entry.c (per_term_screen): New member
13348 num_entries.
13349 (print_down): Use num_entries.
13350 (update_screen): Likewise.
13351 (grub_menu_entry_run): Set num_entries.
13352 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13353 num_entries.
13354 (grub_print_message_indented): Move real part to ...
13355 (grub_print_message_indented_real): ... here. Additional argument
13356 dry_run.
13357 (draw_border): Additional argument num_entries.
13358 (print_message): Additional argument dry_run.
13359 (print_entries): Receive menu viewer data.
13360 (grub_menu_init_page): New argment num_entries.
13361 (menu_text_set_chosen_entry): Use num_entries.
13362 (grub_menu_try_text): Likewise.
13363 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13364 All users updated.
13365 (grub_ucs4_count_lines): New function.
13366 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13367 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13368 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13369 (grub_term_border_height): Likewise.
13370 (grub_term_num_entries): Likewise.
13371
13372 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13375 Remove now unused string.
13376
13377 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13378
13379 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13380 build system.
13381 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13382
13383 (Comment): Fix typo.
13384 (Getting started): General copy-editing.
13385 (Typical Development Experience): Likewise.
13386 (Error Handling): Likewise.
13387 (Video API): Likewise.
13388
13389 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
13390
13391 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13392 throughout.
13393
13394 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * util/grub-mkimage.c (main): Handle special naming of yeeloong
13397 directory.
13398
13399 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
13402 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
13403 "development".
13404
13405 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
13408 grub_strcpy since the lines aren't necessarily 0-terminated.
13409
13410 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
13413 root on legacy.
13414
13415 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/commands/probe.c (options): Argument to set isn't optional.
13418 (GRUB_MOD_INIT): DEVICE isn't optional.
13419
13420 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
13423 word on new line if it's too long anyway. Fixes a hang.
13424
13425 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
13428 const.
13429 * util/grub-setup.c (main): Reuse md device name if available.
13430 * util/raid.c (grub_util_raid_getmembers): Receive device name and
13431 not GRUB name as argument.
13432 Based on patch by: Florian Wagner <fwagner>.
13433
13434 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13437 Place mbi on low memory for better compatibility.
13438
13439 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
13442
13443 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13444 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
13445
13446 * autogen.sh: Ensure that collate and ctype locale is C.
13447 * conf/Makefile.common: Likewise.
13448
13449 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/normal/menu.c: Add missing include.
13452
13453 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
13456
13457 2011-04-08 Martin Zuther <mzuther@mzuther.de>
13458
13459 * util/grub-mkconfig.in: Ignore emacsen backup.
13460
13461 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
13464 on open.
13465 (grub_util_biosdisk_close): Likewise.
13466
13467 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
13470 const attribute and use grub_isdigit.
13471
13472 2011-04-06 Andrey <dev_null@ukr.net>
13473
13474 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
13475 gcc warning.
13476
13477 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
13480 useful grub_dprintf's.
13481
13482 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
13485
13486 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13489
13490 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 Output errors if theme loading failed.
13493
13494 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
13495 grub_gfxterm_fullscreen on error paths to ...
13496 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
13497 theme loading error.
13498
13499 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
13502 space for older compilers.
13503 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13504
13505 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
13508 and report them as not RAID members since they are useless for GRUB.
13509 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13510
13511 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13512
13513 Increase LVM implementation robustness in order not to crash on
13514 configurations like pvmove. Previously code assumed that in some places
13515 only lvs or only pvs are used whereas it seems that they are used
13516 interchangeably.
13517
13518 * grub-core/disk/lvm.c (read_node): New function.
13519 (read_lv): Use read_node.
13520 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
13521 Match volumes only at the end when all lvs are found. Take both
13522 pvs (first) and lvs (second) into account.
13523 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
13524 mirror_* into node_*. All users updated.
13525 (grub_lvm_stripe): Merge this ...
13526 (grub_lvm_mirror): ... and this ...
13527 (grub_lvm_node): ... into this. All users updated.
13528
13529 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
13532 of function to allow further scanning for LVMs.
13533
13534 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
13537 on failed seek as it breaks open fd reusage.
13538
13539 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * util/grub-install.in: Add a recommendation to use --recheck before
13542 reporting bugs.
13543
13544 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
13547 are obtained.
13548
13549 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 GRUB developper manual based on existing Internals section and
13552 contributions by the various authors with active copyright assignment.
13553
13554 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
13555 * docs/font_char_metrics.png: New file.
13556 * docs/font_char_metrics.txt: Likewise.
13557 * docs/grub-dev.texi: Likewise.
13558 * docs/grub.texi (Internals): Move from here ...
13559 * docs/grub-dev.texi: ... here.
13560
13561 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13562
13563 Store the loopback device as data on loopback grub_disk structures,
13564 rather than the file it points to. This fixes use of freed memory
13565 if an existing loopback device is replaced.
13566
13567 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
13568 disk->data, not dev->file.
13569 (grub_loopback_read): Adjust file assignment to match.
13570 Fixes Ubuntu bug #742967.
13571
13572 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13573
13574 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
13575 when replacing an existing device.
13576
13577 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
13580 memory corruptions.
13581
13582 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
13583 unsigned.
13584 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
13585 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
13586 (grub_jfs_read_inode): Likewise.
13587 (grub_jfs_opendir): Likewise. Remove now useless casts.
13588 (grub_jfs_getent): Likewise.
13589 Make ino a grub_uint32_t rather than int.
13590 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
13591 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
13592 division and module with bit operations.
13593 (grub_jfs_find_file): Make ino a grub_uint32_t.
13594 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
13595
13596 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
13597
13598 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
13599 warning. (This was in fact always initialised before use, but GCC
13600 wasn't smart enough to prove that.)
13601 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13602
13603 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
13606 stack alignment.
13607 (efi_wrap_1): Likewise.
13608 (efi_wrap_2): Likewise.
13609 (efi_wrap_3): Likewise.
13610 (efi_wrap_4): Likewise.
13611 (efi_wrap_5): Likewise.
13612 (efi_wrap_6): Likewise.
13613 (efi_wrap_10): Likewise.
13614 Based on information by: Red Hat/Peter Jones.
13615
13616 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13617
13618 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
13619 set-but-not-used variable.
13620
13621 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * docs/grub.texi (Simple configuration): Be more explicit about
13624 GRUB_DEFAULT, and add an example.
13625 Reported by: Leslie Rhorer.
13626
13627 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13628
13629 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
13630 shell".
13631
13632 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13633
13634 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
13635 * util/grub.d/20_linux_xen.in: Likewise.
13636
13637 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * util/grub.d/10_linux.in: Try alternative config filenames where
13640 we parse config file.
13641 * util/grub.d/20_linux_xen.in: Likewise.
13642
13643 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
13644
13645 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
13646 * util/grub.d/20_linux_xen.in: Likewise.
13647
13648 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/disk/raid.c (insert_array): Add few potentially
13651 useful grub_util_info.
13652 (grub_raid_register): Likewise.
13653
13654 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
13657 Preserve partition number in mdadm code path.
13658
13659 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
13662 few potentially useful grub_util_info.
13663
13664 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
13667
13668 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13669
13670 * docs/grub.texi (default): Use @example rather than nested
13671 itemized lists to avoid breaking gendocs.
13672
13673 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * docs/grub.texi (Future): Update.
13676
13677 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13678
13679 * docs/grub.texi (Environment): New chapter.
13680 (Changes from GRUB Legacy): Link to "Environment block" section for
13681 details of limitations.
13682 (Simple configuration): Likewise. Link to documentation of gfxmode
13683 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
13684 respectively.
13685 (Shell-like scripting): Note that normal variables are stored in the
13686 environment.
13687 (gettext): Link to documentation of lang and locale_dir.
13688 (list_env): New section.
13689 (load_env): New section.
13690 (save_env): New section.
13691
13692 (Reporting bugs): Fix typo.
13693
13694 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
13697 the example.
13698
13699 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * grub-core/term/at_keyboard.c (set_scancodes)
13702 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
13703
13704 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13705
13706 * docs/grub.texi (Menu-specific commands): Remove some semantics
13707 that were true in GRUB Legacy but not in GRUB 2.
13708 (submenu): New section.
13709 (false): New section.
13710 (read): New section.
13711 (true): New section.
13712
13713 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13714
13715 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
13716
13717 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
13718
13719 * docs/grub.texi (Simple configuration): Explain some of the
13720 current limitations of grub-mkconfig.
13721 Reported by: Leslie Rhorer.
13722
13723 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 Old macs search for boot.efi rather than for bootia32.efi.
13726
13727 * util/grub-install.in: Copy bootia32.efi to boot.efi.
13728 * util/grub-mkrescue.in: Likewise.
13729 Suggested by: Peter Jones.
13730
13731 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
13734
13735 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
13738 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
13739 (grub_lvm_mirror): New struct.
13740 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
13741 (grub_lvm_iterate): Iterate only visible volumes.
13742 (grub_lvm_read): Factor out to ..
13743 (read_lv): ... this. Support mirrors.
13744 (grub_lvm_read): New wrapper function.
13745 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
13746 stripped or mirrored.
13747
13748 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
13751
13752 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13753
13754 * docs/grub.texi (loopback): New section.
13755
13756 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13757
13758 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
13759 removed -p option.
13760
13761 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13762
13763 * docs/grub.texi (BIOS installation): New section, partly based on
13764 previous text in other sections.
13765 (Installing GRUB using grub-install): Replace BIOS discussion with a
13766 cross-reference.
13767 (Images): Likewise.
13768
13769 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * grub-core/kern/emu/hostdisk.c (find_partition_start)
13772 [HAVE_DIOCGDINFO]: Add safety checks.
13773
13774 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
13777 per default compiled in kernel and prior to 8.0 isn't shipped at all.
13778
13779 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
13780
13781 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
13782 real_sb->size is zero (e.g. RAID-0), get the disk size from
13783 real_sb->data_size instead.
13784 Fixes Ubuntu bug #743136.
13785
13786 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
13789 printf clauses for printing size and start.
13790
13791 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
13794 Reported and tested by: Timothy Nikkel.
13795
13796 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
13799 (dirty_region_add_real): ... this.
13800 (dirty_region_add): Don't discard margin refresh when performing
13801 scheduled repaint.
13802
13803 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * grub-core/lib/relocator.c (allocate_regstart)
13806 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
13807 terminals are capabple of malloc-free operation.
13808 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13809 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
13810
13811 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
13812
13813 * util/grub-setup.c: Copy the partition table zone if floppy support
13814 is disabled, even if no partition table is found.
13815
13816 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
13817 during POST if an invalid partition table is contained in the PBR
13818 of the active partition when GRUB is installed to a partition.
13819
13820 2011-03-28 Colin Watson <cjwatson@debian.org>
13821
13822 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
13823 comment.
13824
13825 2011-03-28 Colin Watson <cjwatson@debian.org>
13826
13827 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
13828 to be specific about what kind of RAID device we're scanning for.
13829
13830 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
13831
13832 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
13833 return freed string.
13834
13835 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13836
13837 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
13838
13839 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 Use libgeom on FreeBSD to detect partitions.
13842
13843 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
13844 (grub-mkrelpath): Likewise.
13845 (grub-script-check): Likewise.
13846 (grub-editenv): Likewise.
13847 (grub-mkpasswd-pbkdf2): Likewise.
13848 (grub-fstest): Likewise.
13849 (grub-mkfont): Likewise.
13850 (grub-mkdevicemap): Likewise.
13851 (grub-probe): Likewise.
13852 (grub-setup): Likewise.
13853 (grub-ofpathname): Likewise.
13854 (grub-mklayout): Likewise.
13855 (example_unit_test): Likewise.
13856 (grub-menulst2cfg): Likewise.
13857 * grub-core/Makefile.core.def (grub-emu): Likewise.
13858 (grub-emu-lite): Likewise.
13859 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
13860 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
13861 define HAVE_DIOCGDINFO.
13862 (follow_geom_up) [FreeBSD]: New function.
13863 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
13864 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
13865 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
13866 unconditionally of HAVE_DIOCGDINFO.
13867
13868 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 Fix FreeBSD compilation problem.
13871
13872 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
13873 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
13874
13875 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
13876
13877 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
13878 Switch back to page zero before loading a kernel, since some kernel
13879 drivers expect that.
13880 Thanks to: Felix Kuehling.
13881
13882 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
13885 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
13886 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
13887
13888 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
13891 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
13892
13893 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
13896 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
13897 malloc is disabled.
13898
13899 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
13902 for modules headers when counting the needed allocation size.
13903
13904 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
13907 if no ASCII character is found to prevent crash.
13908
13909 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
13910
13911 * grub-core/video/bitmap.c (match_extension): Ignore case.
13912
13913 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
13916
13917 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * grub-core/script/parser.y: Declare "time" as valid argument.
13920
13921 2011-03-23 Peter Jones <pjones@redhat.com>
13922
13923 Fix incorrect assert failure reporting.
13924
13925 * grub-core/tests/example_functional_test.c (example_test): Add
13926 a failure comment.
13927 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
13928 (failure_start): ...this. Check that malloc succeeded.
13929 Don't call xvasprintf. Return failure struct.
13930 (failure_append_vtext): New function.
13931 (failure_append_text): Likewise.
13932 (add_failure): Likewise.
13933 (grub_test_assert_helper): Likewise.
13934 * include/grub/test.h (grub_test_assert_helper): New declaration.
13935 (grub_test_assert): Macro rewritten.
13936
13937 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
13940
13941 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
13944
13945 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
13948 into GRUB-style one.
13949
13950 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
13953 error and not grub_errno.
13954 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
13955
13956 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
13959 GRUB_USB_SPEED_NONE in case of failure and not the error code.
13960
13961 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/efiemu/i386/pc/cfgtables.c
13964 (grub_machine_efiemu_init_tables): Make declaration a prototype.
13965 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
13966 (grub_xnu_unlock): Likewise.
13967 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13968
13969 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
13972 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
13973 * grub-core/commands/hashsum.c (aliases): Likewise.
13974 * grub-core/commands/setpci.c (pci_registers): Likewise.
13975 * grub-core/disk/usbms.c (attach_hook): Likewise.
13976 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
13977 (zio_checksum_table): Likewise.
13978 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
13979 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
13980 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
13981 * grub-core/lib/relocator.c (leftovers): Likewise.
13982 (extra_blocks): Likewise.
13983 * grub-core/loader/i386/bsd.c (relocator): Likewise.
13984 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
13985 (modules_last): Likewise.
13986 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
13987 (devices): Likewise.
13988 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
13989 (modules_last): Likewise.
13990 * grub-core/normal/auth.c (users): Likewise.
13991 * grub-core/normal/context.c (initial_menu): Likewise.
13992 (current_menu): Likewise.
13993 * grub-core/normal/crypto.c (crypto_specs): Likewise.
13994 * grub-core/term/serial.c (grub_serial_ports): Likewise.
13995 (grub_serial_terminfo_input_template): Likewise.
13996 (grub_serial_terminfo_output_template): Likewise.
13997 (grub_serial_terminfo_input): Likewise.
13998 (grub_serial_terminfo_output): Likewise.
13999 (registered): Likewise.
14000 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14001
14002 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14005 grub_video_mode_type_t.
14006 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14007 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14008 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14009
14010 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * util/grub-install.in: Correct the x86-64 name as x86_64.
14013
14014 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
14015
14016 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14017 initial chunk read from the kernel always includes GRUB's multiboot
14018 header, which is now outside the first sector.
14019
14020 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
14021
14022 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14023 cached mmap_size, so that this works correctly when called multiple
14024 times.
14025 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14026
14027 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
14028
14029 * docs/grub.texi (Simple configuration): Tidy up formatting.
14030
14031 2011-03-07 Szymon Janc <szymon@janc.net.pl>
14032
14033 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14034 Set-but-not-used variable removed.
14035
14036 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 Workaround yet another IEEE1275 bug.
14039
14040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14041 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14042 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14043 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14044 is set.
14045 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14046 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14047
14048 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14051 error.
14052
14053 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
14054
14055 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14056 empty, since in that case we can only generate either nothing or a
14057 syntactically invalid configuration file.
14058 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14059
14060 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
14061
14062 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14063 (Making a GRUB bootable CD-ROM): Likewise.
14064 (Invoking grub-mkrescue): New section.
14065 Reported by: Yann Dirson. Fixes Debian bug #612585.
14066
14067 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
14068
14069 * util/grub-install.in: Remove unnecessary brackets from tr
14070 arguments.
14071 * util/grub.d/10_hurd.in: Likewise.
14072 * util/grub.d/10_kfreebsd.in: Likewise.
14073 * util/grub.d/10_linux.in: Likewise.
14074 * util/grub.d/20_linux_xen.in: Likewise.
14075 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14076
14077 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
14078
14079 * include/grub/file.h (not_easly_seekable): Rename to ...
14080 (not_easily_seekable): ... this. Update all users.
14081
14082 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
14083
14084 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14085 grub-mkrescue.
14086
14087 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * util/grub-mkimage.c (generate_image): Refuse to create the images
14090 bigger than the actual flash (512K) in Loongson machines. 512K is also
14091 the biggest chip supported by them.
14092
14093 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14096
14097 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
14098
14099 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14100 super_offset field.
14101
14102 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * util/grub-install.in: Ignore install device on platforms
14105 where it doesn't make sense. Always use UUIDs except on pc, efi and
14106 sparc64.
14107 Reported by: Daniel Kahn Gillmor.
14108
14109 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14112
14113 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14116 (iterate_real): Don't rely on partition being non-NULL.
14117
14118 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14121 supported platforms. Put a compile time assert for this rather than
14122 generate a warning with 32-bit shift.
14123
14124 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14127 logical expression more readable.
14128
14129 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14132 even if some elements have a name.
14133 Reported by: Alexander GQ Gerasiov.
14134
14135 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
14136
14137 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14138 path unreadable if `grub-probe -t abstraction' fails, for example if
14139 memberlist fails on an LVM volume group.
14140 Reported by: Darius Jahandarie.
14141
14142 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
14143
14144 * docs/grub.texi (Simple configuration): Document
14145 GRUB_PRELOAD_MODULES.
14146
14147 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
14148
14149 * .bzrignore: Remove nonexistent grub-pbkdf2.
14150
14151 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * configure.ac: Bump version to 1.99~rc1.
14154
14155 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14158 for safety.
14159
14160 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14163 module.
14164
14165 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14168
14169 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14172 diskdevid.
14173
14174 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 Fix compilation on cygwin.
14177
14178 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14179 -R .drectve on cygwin.
14180 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14181 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14182 (COND_CYGWIN): New condition.
14183 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14184 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14185 not @TARGET_OBJ2ELF@.
14186 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14187 type to determine whether aux is to be used.
14188
14189 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14192 realpath'ed device string.
14193 Handle floppy (somewhat).
14194 Issue error in unknown case rather than garbage.
14195 Reported by: Axel Beckert.
14196
14197 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * util/grub.d/00_header.in (load_video): Handle the case when no video
14200 drivers available.
14201 Thanks to: Axel Beckert.
14202
14203 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14206 variable. Fixes problem on big endian platforms.
14207
14208 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14211 It doesn't work well there.
14212
14213 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14216 warning.
14217 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14218 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14219 counter.
14220
14221 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 Use alias->path rather than buggy "canon".
14224
14225 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14226 (ofdisk_hash_add): New argument curcan. All users updated.
14227
14228 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14229
14230 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14231
14232 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14235 loadmask before doing any calculations. Use correct type for offset.
14236 (grub_linux_load64): Likewise.
14237
14238 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
14239
14240 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14241 with NULL.
14242 (console_grub_equivalences_unshift): Likewise.
14243 Reported by: Daniel Dehennin.
14244
14245 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14248 (set_env_limn_ro): Likewise.
14249 (GRUB_MOD_INIT): Likewise.
14250 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14251 ARRAY_SIZE while on it.
14252 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14253 * grub-core/normal/context.c (grub_env_export): Move from here ...
14254 * grub-core/kern/env.c (grub_env_export): ... here.
14255 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14256 prefix.
14257 * grub-core/kern/main.c (grub_main): Export root and prefix.
14258 * include/grub/env.h (grub_env_export): Export.
14259 Reported by: Seth Goldberg.
14260
14261 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14264 Take into account space used by ELF sections and multiboot palette.
14265 Reported by: Grégoire Sutre.
14266
14267 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * BUGS: New file.
14270
14271 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 Pass more appropriate video id to Linux.
14274
14275 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14276 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14277 fill have_vga.
14278 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14279 shift params->lfb_size.
14280 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14281
14282 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14285
14286 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14289 separator and pass bootpath/devid even if only one of them is available.
14290 Reported by: Seth Goldberg.
14291
14292 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14295 implementations bug on them.
14296
14297 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14298 memory.
14299 (filter_memory_map): Likewise.
14300
14301 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14304 Reported by: nebuchadnezzar.
14305
14306 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14309 Reported by: nebuchadnezzar.
14310
14311 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14312
14313 Submenu default support.
14314
14315 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14316 auto_boot. All users updated.
14317 Declared static.
14318 Handle chosen and default with submenus.
14319 (grub_menu_execute_with_fallback): Declared static.
14320 Don't notify failure if autobooted. Upper level does it.
14321 (menuentry_eq): New function.
14322 (get_entry_number): Use menuentry_eq.
14323 (show_menu): New parameter "autobooted". All users updated.
14324 (grub_show_menu): Likewise.
14325 * include/grub/normal.h (grub_show_menu): Likewise.
14326 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14327 (grub_menu_execute_with_fallback): Likewise.
14328
14329 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * util/grub-mklayout.c (usage): Update help text.
14332
14333 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14336
14337 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * util/grub-menulst2cfg.c (main): Trim the line.
14340
14341 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14344 (grub_machine_init): Don't check amount of low memory as reportedly
14345 INT 12h can be broken and if low memory is too low we wouldn't have
14346 gotten into grub_machine_init anyway.
14347
14348 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14351 (grub_machine_mmap_iterate): Take low memory into account
14352
14353 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14356 badfs.
14357 Reported by: TiCPU.
14358
14359 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14362 members errors.
14363
14364 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14365
14366 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14367 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14368
14369 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14370
14371 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14372 openbsd and netbsd types being in part_bsd module.
14373
14374 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14377 (_FILE_OFFSET_BITS): Likewise.
14378 Reported by: Seth Goldberg.
14379
14380 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14381
14382 * configure.ac: Check for libdevmapper header.
14383
14384 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14385
14386 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14387 avoid aliasing.
14388 (fzap_lookup): Likewise.
14389 (dnode_get): Likewise.
14390 (make_mdn): Likewise.
14391 (zfs_mount): Likewise.
14392 (fzap_iterate): Use temporary pointer to avoid aliasing.
14393 (grub_zfs_read): Likewise.
14394 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14395 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
14396 pointers to avoid aliasing.
14397 (grub_cmd_xnu_kernel64): Likewise.
14398 (grub_xnu_load_driver): Likewise.
14399
14400 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
14403 aliasing warning.
14404 (grub_cmd_terminal_output): Likewise.
14405 Reported and tested by: Grégoire Sutre.
14406
14407 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
14410 warning.
14411 Reported and tested by: Grégoire Sutre.
14412
14413 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * configure.ac: Do CPU substitution even if it's specified explicitly.
14416 Reported and tested by: Alain Greppin.
14417
14418 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
14421 Reported and tested by: Alain Greppin.
14422
14423 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 Satisfy some bison versions need for inttypes.h.
14426
14427 * grub-core/lib/posix_wrap/inttypes.h: New file.
14428 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
14429 (int16_t): Likewise.
14430 (int32_t): Likewise.
14431 (int64_t): Likewise.
14432 Reported and tested by: Alain Greppin.
14433
14434 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
14437 Silence spurious warning.
14438 Reported and tested by: Alain Greppin.
14439
14440 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14441
14442 * docs/grub.texi (Support automatic decompression): Update with xz
14443 decompression support.
14444
14445 2011-01-07 Szymon Janc <szymon@janc.net.pl>
14446
14447 Improve loaders' kernel command line handling.
14448
14449 * grub-core/lib/cmdline.c: New file.
14450 * include/grub/lib/cmdline.h: Likewise.
14451 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
14452 grub_create_loader_cmdline to create kernel command line.
14453 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14454 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
14455 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
14456 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
14457 (linux): Add lib/cmdline.c on common.
14458
14459 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
14462 inopos might be unaligned.
14463
14464 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
14467 endian transformations.
14468 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14469 Based on report by: Doug Nazar.
14470
14471 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
14472
14473 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
14474 array->members[i].start_sector.
14475 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
14476
14477 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
14480 Reported and tested by: Grégoire Sutre.
14481
14482 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14483
14484 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
14485 avoid causing test failures by clearing the screen.
14486
14487 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
14488
14489 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14490 Fix prefix check to handle the case where dir ends with a slash
14491 (most significantly, "/" itself).
14492 Reported by: Michael Vogt.
14493
14494 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 Run terminfo_cls on initing terminfo output to clear the screen and
14497 move the cursor to (0,0).
14498
14499 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
14500 Call grub_terminfo_output_init.
14501 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
14502 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
14503 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
14504
14505 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
14508 only when needed.
14509
14510 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
14513 CTRL.
14514
14515 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 The E820 type 5 is BADRAM, not EXEC_CODE.
14518
14519 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14520 (GRUB_E820_BADRAM): New define.
14521 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
14522 into reserved. Propagate BADRAM.
14523 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
14524 (GRUB_E820_BADRAM): New define.
14525
14526 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
14529 Ignore the memory post-4G.
14530 (grub_relocator_firmware_alloc_region): Additional debug statement.
14531
14532 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
14535 names.
14536 Reported by: David Pravec.
14537
14538 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
14541 BIOSes.
14542
14543 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
14546 Prevent overflow.
14547 (grub_reed_solomon_recover): Likewise.
14548
14549 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
14552
14553 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
14556 variable.
14557
14558 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
14559
14560 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
14561 descriptions of extract_legacy_entries_source and
14562 extract_legacy_entries_configfile.
14563 Reported by: Seung Soo, Ha.
14564
14565 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
14566
14567 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
14568 on devices that do not implement function 0.
14569
14570 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
14571
14572 * grub-core/fs/hfsplus.c: Make parent unsigned.
14573 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
14574 overflows.
14575 (grub_hfsplus_cmp_extkey): Likewise
14576
14577 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * util/grub-install.in: Correctly use bootloader_id and not
14580 GRUB_DISTRIBUTOR on efibootmgr line.
14581
14582 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
14585
14586 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
14587
14588 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
14589 Xen and reorder menu item wording to make it clearer that this entry
14590 will launch Xen. Print separate messages when loading Xen and
14591 Linux.
14592
14593 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
14596 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
14597 loop in case of incorrect amiga partmap.
14598
14599 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
14602 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
14603 Reported by:EHeM.
14604
14605 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
14608 spurious warning.
14609 Reported by: crocket
14610
14611 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
14614 Preload EFIemu.
14615 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
14616
14617 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
14620 is loaded
14621 (grub_cmd_xnu_kextdir): Likewise.
14622 (grub_cmd_xnu_splash): Likewise.
14623
14624 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 Avoid using Reed-Solomon with 0 redundancy.
14627
14628 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
14629 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
14630 or 0 redundancy.
14631 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
14632 (grub_reed_solomon_recover): Likewise.
14633
14634 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 Don't use disk subsystem in freebsd_boot.
14637
14638 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
14639 (freebsd_biosdev): Likewise.
14640 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
14641 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
14642
14643 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 Handling of files of unknown size is currently limited. They can't be
14646 used e.g. for initrd or modules. Moreover gzip handling of not
14647 easily seekable files is buggy. Disable unknown file size for now. May
14648 be inefficient but works.
14649
14650 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
14651 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14652
14653 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
14654
14655 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
14656 floppy probe.
14657
14658 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
14659
14660 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
14661
14662 2010-12-25 Shea Levy <shlevy>
14663
14664 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
14665
14666 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
14669 Windows Server 2008.
14670 Reported by: Devin Giddings.
14671
14672 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
14675 writing an error message because of async power management.
14676 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
14677 (grub_reboot): Likewise.
14678
14679 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
14680
14681 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
14682 keep unit tests from failing when they shouldn't.
14683
14684 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14685
14686 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
14687 previous patch increased the size of the RS code by 20 bytes (at
14688 least with gcc-4.4), so increase this by 20 bytes to match.
14689 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14690
14691 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14692
14693 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
14694 scratch area. Make sure to initialise chosen in standalone mode as
14695 well as non-standalone.
14696 Reported by: Robert Hooker and Andy Whitcroft.
14697 Tested by: Andy Whitcroft.
14698
14699 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14700
14701 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
14702 constructing a new unescaped string and passing it to grub_xputs in
14703 one go, rather than passing characters to grub_printf one at a time.
14704
14705 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14706
14707 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
14708 initialising utf16.
14709
14710 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
14711
14712 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
14713 comment. Add an extra layer of quotation, requiring the output of
14714 this function to be used in a printf format string.
14715 (gettext_printf): New function.
14716 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
14717 Extract translatable strings from here-documents and use a temporary
14718 variable instead, so that xgettext can find them.
14719 * util/grub.d/10_kfreebsd.in: Likewise.
14720 * util/grub.d/10_linux.in: Likewise.
14721 * util/grub.d/20_linux_xen.in: Likewise.
14722
14723 * po/grub.d.sed: New file.
14724 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
14725 arguments. Set c-format flags on all strings extracted from
14726 util/grub.d/ (xgettext refuses to include these itself for strings
14727 it extracted from a shell file, but these really are c-format).
14728
14729 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
14732 Avoid next pointing to nowhere.
14733
14734 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
14737 rather than assuming than rootblock is exactly in the middle.
14738 (grub_affs_label): Likewise.
14739
14740 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
14743 reserved_first_sector to 0.
14744 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
14745 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
14746 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
14747
14748 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 Fix handling of UTF-16 UDF labels.
14751
14752 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
14753 (read_string): .. here.
14754 (grub_udf_label): Use read_string.
14755
14756 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
14757
14758 * grub-core/normal/menu_entry.c (run): Execute commands from menu
14759 editor under argument scope.
14760 Reported by: Jordan Uggla
14761
14762 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
14765
14766 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
14767
14768 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
14769 line, and other keys scroll an entire page (previous handling was
14770 for \r and \n to scroll a page and other keys to scroll two lines).
14771
14772 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14773
14774 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14775 Set ptrdest to correct get_physical_target_address rather than
14776 incorrect get_virtual_current_address.
14777
14778 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
14779
14780 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
14781 correct cat to grub_uint8_t * rather than grub_uint32_t *.
14782
14783 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14784
14785 * .bzrignore: Ignore grub-core/rs_decoder.S.
14786
14787 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
14788
14789 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
14790 .mo/.mo.gz opening sequence to ...
14791 (grub_mofile_open_lang): ... here.
14792 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
14793 * util/grub.d/00_header.in (grub_lang): Include country part of
14794 locale.
14795 Reported by: Mario Limonciello.
14796
14797 2010-12-09 Robert Millan <rmh@gnu.org>
14798
14799 * NEWS: Document addition of ZFS support.
14800
14801 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
14802
14803 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
14804 rather than `/ 2', as the latter requires -Wa,--divide which would
14805 require bumping our minimum binutils version.
14806
14807 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
14808
14809 * util/grub-script-check.c (main): Print script line number on
14810 error.
14811
14812 2010-12-01 Robert Millan <rmh@gnu.org>
14813
14814 * grub-core/fs/zfs/zfs.c: New file.
14815 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
14816 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
14817 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
14818 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14819
14820 * include/grub/zfs/dmu.h: Likewise.
14821 * include/grub/zfs/dmu_objset.h: Likewise.
14822 * include/grub/zfs/dnode.h: Likewise.
14823 * include/grub/zfs/dsl_dataset.h: Likewise.
14824 * include/grub/zfs/dsl_dir.h: Likewise.
14825 * include/grub/zfs/sa_impl.h: Likewise.
14826 * include/grub/zfs/spa.h: Likewise.
14827 * include/grub/zfs/uberblock_impl.h: Likewise.
14828 * include/grub/zfs/vdev_impl.h: Likewise.
14829 * include/grub/zfs/zap_impl.h: Likewise.
14830 * include/grub/zfs/zap_leaf.h: Likewise.
14831 * include/grub/zfs/zfs.h: Likewise.
14832 * include/grub/zfs/zfs_acl.h: Likewise.
14833 * include/grub/zfs/zfs_znode.h: Likewise.
14834 * include/grub/zfs/zil.h: Likewise.
14835 * include/grub/zfs/zio.h: Likewise.
14836 * include/grub/zfs/zio_checksum.h: Likewise.
14837
14838 * Makefile.util.def: Build ZFS into libgrubmods.
14839 * grub-core/Makefile.core.def: Build zfs.mod.
14840
14841 2010-11-30 Szymon Janc <szymon@janc.net.pl>
14842
14843 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
14844 variable.
14845 * grub-core/commands/wildcard.c (match_files): Likewise.
14846
14847 2010-11-30 Robert Millan <rmh@gnu.org>
14848
14849 * grub-core/loader/i386/bsd.c
14850 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
14851 whether kernel is loaded using grub_loader_is_loaded(), rather
14852 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
14853 certain error conditions.
14854
14855 2010-11-30 Robert Millan <rmh@gnu.org>
14856
14857 * grub-core/commands/echo.c: Include `<grub/term.h>'.
14858 (grub_cmd_echo): Call grub_refresh() after printing a message.
14859
14860 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Avoid using tricks for initialising endian variables.
14863
14864 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
14865 Make const.
14866 (GRUB_MOD_INIT): Don't byte-swap.
14867 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14868 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
14869 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
14870 (grub_swap_bytes32_compile_time): Likewise.
14871 (grub_cpu_to_le32_compile_time): Likewise.
14872 (grub_cpu_to_le16_compile_time): Likewise.
14873
14874 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 * util/grub-setup.c (setup): Stop recommending --force. People who
14877 understand the dangers of blocklists are able to find this option
14878 anyway and the ones who don't shouldn't use it anyway.
14879
14880 2010-11-26 Robert Millan <rmh@gnu.org>
14881
14882 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
14883 Update all users.
14884
14885 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
14886
14887 Fix LVM-on-RAID probing.
14888
14889 * util/grub-probe.c (probe): Remember which disk was detected as
14890 RAID (perhaps an LVM physical volume). Use that disk's raidname
14891 rather than that of the top-level disk.
14892
14893 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
14894
14895 Fix cmdline argument quotes for setparams command of menuentry
14896 definitions.
14897
14898 * grub-core/commands/menuentry.c (setparams_prefix): Use single
14899 quotes for arguments.
14900 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
14901 grub_strchrsub function instead.
14902
14903 * include/grub/misc.h (grub_strchrsub): New function.
14904
14905 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14906
14907 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
14908 effort by skipping "." and ".." entries up-front.
14909 Suggested by: Michael Lazarev.
14910
14911 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14912
14913 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
14914 ldflags to ldadd, to fix link line ordering.
14915 (none_decompress): Likewise.
14916
14917 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
14918
14919 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
14920 platforms.
14921 (grub-emu-lite): Remove kern/emu/cache.S.
14922
14923 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * util/deviceiter.c (compare_devices): If the by-id link for a
14926 device couldn't be resolved, fall back to sorting by the by-id link
14927 rather than segfaulting.
14928 Reported and tested by: Daniel Mierswa.
14929
14930 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14931
14932 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
14933 ldflags, to fix link line ordering.
14934
14935 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14936
14937 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
14938 linkers are picky about this.
14939
14940 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14941
14942 * grub-core/Makefile.am (command.lst): Adjust sed expression
14943 ordering so that extended and priority commands aren't treated as
14944 ordinary commands.
14945
14946 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
14947
14948 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
14949 Remove byte-swapping function calls, which are not valid in
14950 structure initialisers.
14951 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
14952 non-const.
14953 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
14954 grub_gpt_partition_type_bios_boot.
14955
14956 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14957
14958 Fix test program build on GNU/kFreeBSD.
14959
14960 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
14961 $(LIBNVPAIR)' library dependencies.
14962
14963 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14964
14965 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
14966
14967 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
14968
14969 * util/grub-install.in: Remove excessive quoting that broke
14970 installations to RAID devices.
14971
14972 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
14975 bootloader version instead of 0.
14976
14977 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
14980 warning.
14981
14982 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
14985 retrieve the metadat sector if size isn't known.
14986 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14987
14988 2010-11-18 Robert Millan <rmh@gnu.org>
14989
14990 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
14991 with grub_memcmp().
14992
14993 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
14996 arrow.
14997 Reported by: Jordan Uggla.
14998
14999 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 Make better UTF compliant.
15002
15003 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15004 sequences as incorrect.
15005 (grub_is_valid_utf8): Likewise.
15006 (grub_utf8_to_ucs4): Likewise.
15007 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15008 (grub_ucs4_to_utf8_alloc): Likewise.
15009 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15010
15011 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 Make legacy_source behave like source.
15014
15015 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15016 grub_show_menu.
15017 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15018
15019 2010-11-16 Colin Watson <cjwatson@debian.org>
15020
15021 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15022 (-Wunused implies -Wunused-parameter, but not vice versa).
15023
15024 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
15025
15026 * configure.ac: Make error messages less confusing by testing for
15027 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15028 accepted, but produces a diagnostic if something else is wrong).
15029
15030 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15033 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15034 (now unused).
15035 (grub_keyboard_controller_init)
15036 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15037 read the initial state since controller isn't inited yet.
15038
15039 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15042 allocate_regbeg may need to create new chunk header.
15043
15044 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 Fix quoting in legacy parser.
15047
15048 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15049 single quotes.
15050 (grub_legacy_parse): Likewise.
15051 Reported by: Jordan Uggla.
15052 Tested by: Jordan Uggla.
15053
15054 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 Don't add -lgcc on i386 and x86_64.
15057
15058 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15059 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15060 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15061
15062 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * configure.ac: Add -Wno-trampolines when supported.
15065
15066 2010-11-14 Modestas Vainius <modax@debian.org>
15067
15068 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15069 fakeraid.
15070
15071 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15072
15073 Add generic logical block size support for UDF.
15074
15075 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15076 (GRUB_UDF_BLKSZ): Removed.
15077 (struct grub_udf_data): New field "lbshift" to hold the logical block
15078 size of the file system in log2 format. All users updated.
15079 (sblocklist): Change type to unsigned.
15080 (grub_udf_mount): Change type of "sblklist" to unsigned.
15081 Move AVDP search before VRS recognition, because the latter requires
15082 knowledge of the logical block size, which is detected during the
15083 former.
15084 Detect and validate logical block size during AVDP search, adding
15085 support for block sizes 512, 1024 and 4096.
15086 Make VRS recognition independent of block size.
15087
15088 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15089
15090 Properly handle deleted files on UDF.
15091
15092 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15093 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15094 set.
15095
15096 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15097
15098 Support reading files larger than 2 GiB.
15099
15100 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15101 "offset" to grub_off_t.
15102 (grub_udf_read_file): Likewise for parameter "pos".
15103
15104 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15107 unavailable.
15108 (Simple configuration): Refer to Changes from GRUB Legacy about
15109 save_env availability.
15110
15111 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * util/grub-install.in: Ignore empty partition table detection
15114 instead of trying to include part_ module.
15115
15116 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15119 LVM on RAID support.
15120
15121 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 Properly define WORDS_BIGENDIAN in wrapped environments.
15124
15125 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15126 definition.
15127 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15128
15129 Reported by: Manoel Rebelo Abranches.
15130 Tested by: Manoel Rebelo Abranches.
15131
15132 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * util/grub-mkconfig.in: Fix quoting.
15135
15136 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 Support big ext2 files.
15139
15140 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15141 (grub_ext2_read_block): Support triple indirect blocks.
15142 (grub_ext2_read_file): Use 64-bit types and read size_high.
15143 (grub_ext2_open): Read size_high.
15144 Reported by: Ximin Luo.
15145 Tested by: Manoel Rebelo Abranches.
15146
15147 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * util/grub-install.in: Handle filenames containing spaces.
15150 Reported by: Jordan Uggla.
15151 Tested by: Jordan Uggla.
15152
15153 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * util/grub-mkconfig.in (grub_script_check): New variable.
15156 Use grub_script_check instead of grub-script-check.
15157 Reported by: Barry Jackson.
15158
15159 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * docs/grub.texi (menu): Correct the order.
15162 Reported by: D. Hugh Redelmeier.
15163
15164 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15167 jump.
15168
15169 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15170
15171 * include/grub/elfload.h (grub_elf32_size): New parameter.
15172 All users updated.
15173 Return maximum segments alignment.
15174 (grub_elf64_size): Likewise.
15175 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15176 Return maximum segments alignment.
15177 (grub_elf64_size): Likewise.
15178 * grub-core/loader/powerpc/ieee1275/linux.c:
15179 (grub_linux_claimmap_iterate): New function. Uses the
15180 "available" property in the "memory" node for memory allocation
15181 for kernel in the PowerPC loader.
15182 (grub_linux_load32): Correctly find linux entry point offset.
15183 (grub_linux_load64): Likewise.
15184
15185 2010-11-07 Robert Millan <rmh@gnu.org>
15186
15187 On mips-yeeloong, build with -march=loongson2f when this flag is
15188 available (GCC >= 4.4).
15189 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15190 `-march=mips3'.
15191 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15192 or otherwise add -march=mips3.
15193
15194 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15195
15196 Suppress shell expansion on echo '*' and echo "*" like cases.
15197 Reported by: Jordan Uggla.
15198
15199 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15200 string arguments before shell expansion.
15201 * tests/grub_cmd_echo.in: New testcases.
15202
15203 2010-11-07 Robert Millan <rmh@gnu.org>
15204
15205 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15206 transition.
15207
15208 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * grub-core/kern/emu/hostdisk.c
15211 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15212
15213 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15216 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15217 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15218
15219 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15222
15223 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * util/grub-install.in: Replace useless recomendation to pass
15226 --modules with a recomendation to report a bug.
15227
15228 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 Properly register serial terminfo.
15231 Reported by: Jordan Uggla
15232
15233 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15234 const.
15235 (grub_serial_terminfo_output_template): Likewise.
15236 (grub_cmd_serial): Register "serial" with terminfo.
15237 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15238 grub_serial_terminfo_output.
15239
15240 2010-11-05 Robert Millan <rmh@gnu.org>
15241
15242 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15243 needed).
15244
15245 2010-11-05 Robert Millan <rmh@gnu.org>
15246
15247 On Yeeloong, pass machine type information to Linux.
15248
15249 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15250 (LOONGSON_MACHTYPE): New macro, set to
15251 "machtype=lemote-yeeloong-2f-8.9inches".
15252 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15253 additional argument to Linux.
15254
15255 2010-11-04 Robert Millan <rmh@gnu.org>
15256
15257 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15258 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15259 (its SATA disks are detected as slaveless IDE master drives on
15260 kFreeBSD).
15261 Reported by Carsten Aulbert.
15262
15263 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
15264
15265 * util/bin2h.c (main): Fix spelling error in generated output.
15266
15267 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15268
15269 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15270
15271 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15274 vga= option is supplied.
15275
15276 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15279 * util/grub.d/10_kfreebsd.in: Likewise.
15280 * util/grub.d/10_linux.in: Likewise.
15281 * util/grub.d/20_linux_xen.in: Likewise.
15282
15283 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15286 argument as an argument to no-argument option.
15287
15288 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * util/grub.d/10_linux.in: Add missing load_video with explicit
15291 GRUB_GFXPAYLOAD_LINUX.
15292
15293 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15296
15297 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15298
15299 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15300 elements with invlid index.
15301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15302 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15303 members.
15304 * include/grub/raid.h (grub_raid_member): New struct.
15305 (grub_raid_array): Transform devices and start_sector into usage of
15306 grub_raid_member. All users updated
15307 (allocated_devs): New member.
15308
15309 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15312 is modified
15313
15314 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15315
15316 NetBSD build fix for getline function conflict from gnulib.
15317
15318 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15319 components that depend on gnulib headers.
15320 (libgrubmods.a): Renamed from earlier libgrub.a.
15321 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15322
15323 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15326 install rather than creating a broken install.
15327
15328 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * util/grub-setup.c (argp): Remove misleading example of installing to
15331 a partition.
15332
15333 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * util/grub-setup.c (setup): Clarify the error message.
15336
15337 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15340
15341 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 * grub-core/kern/emu/misc.c
15344 (grub_make_system_path_relative_to_its_root)
15345 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15346
15347 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/kern/emu/misc.c
15350 (grub_make_system_path_relative_to_its_root): Revert r2882.
15351
15352 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15355 useless field head. All users updated.
15356 (free_subchunk): Correct handling of IN_REGION subchunk.
15357
15358 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
15359
15360 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15361 (Supported kernels): Likewise.
15362
15363 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15364
15365 Make mktemp invocations portable.
15366
15367 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15368 exit if mktemp fails.
15369 * tests/grub_script_blockarg.in: Likewise.
15370 * tests/partmap_test.in: Likewise.
15371 * tests/util/grub-shell-tester.in: Likewise.
15372 * tests/util/grub-shell.in: Likewise.
15373 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15374 * Makefile.am: Likewise, and chain shell commands with `&&'
15375 instead of ';'.
15376 * util/grub-mkrescue.in: Use the same explicit template as above, and
15377 exit if mktemp fails.
15378
15379 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15380
15381 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15382 Linux kernel, reported by Dennis Schridde.
15383
15384 2010-10-17 Szymon Janc <szymon@janc.net.pl>
15385
15386 * grub-core/normal/auth.c (grub_auth_check_authentication):
15387 Set-but-not-used variable removed.
15388
15389 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15392 32-bit linux protocol.
15393
15394 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
15397 cursor shape for sanity.
15398
15399 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * docs/grub.texi (Installation): Document buggy BIOS install.
15402
15403 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 * docs/grub.texi (Installation): Indent.
15406
15407 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * util/grub-setup.c (setup): New parameter allow_floppy.
15410 (arguments): New member allow_floppy.
15411 (argp_parser): Handle --allow-floppy.
15412 (main): Pass allow_floppy.
15413 * util/grub-install.in: New option --allow-floppy passed though to
15414 grub-setup.
15415
15416 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * util/grub-install.in: Handle partitionless disks.
15419
15420 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * util/grub-setup.c (setup): Don't clean blocklists before readability
15423 verfification.
15424
15425 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * docs/grub.texi (Installation): Document embedding zone. Remove
15428 obsolete grub-install example.
15429
15430 2010-10-16 Szymon Janc <szymon@janc.net.pl>
15431
15432 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
15433 Set-but-not-used variable ifdef'ed.
15434 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
15435 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
15436 variable removed.
15437 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
15438 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
15439 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15440 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
15441 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
15442 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15443 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
15444 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
15445 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
15446 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
15447 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
15448 Likewise.
15449
15450 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
15453 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
15454 enum value.
15455
15456 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
15459 synonym to _S5_. Needed for some DSDTs.
15460
15461 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 Userspace ACPI parser debugging.
15464
15465 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
15466 headers and add relevant defines. Don't include standard headers.
15467 (main) [GRUB_DSDT_TEST]: New function.
15468 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
15469 Don't declare functions.
15470
15471 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Remove dead grub_efi_mm_fini.
15474
15475 * grub-core/kern/efi/mm.c (allocated_page): Removed.
15476 (ALLOCATED_PAGES_SIZE): Likewise.
15477 (MAX_ALLOCATED_PAGES): Likewise.
15478 (allocated_pages): Likewise.
15479 (grub_efi_allocate_pages): Don't record allocated pages.
15480 (grub_efi_free_pages): Likewise.
15481 (grub_efi_mm_init): Likewise.
15482 (grub_efi_mm_fini): Removed.
15483
15484 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
15487 (grub_efi_mm_init): Take into account the memory map size increase.
15488
15489 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
15492 (serial_hw_put): Wait based on real time rather than port reads. Don't
15493 roken ports.
15494 * include/grub/serial.h (grub_serial_port): New field broken.
15495
15496 2010-10-16 Robert Millan <rmh@gnu.org>
15497
15498 * grub-core/kern/emu/misc.c
15499 (grub_make_system_path_relative_to_its_root): Fix premature return
15500 when processing non-root ZFS filesystems.
15501 Reported by Sergio Talens-Oliag.
15502
15503 2010-10-15 Robert Millan <rmh@gnu.org>
15504
15505 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
15506 guarantee compressed ones are processed first.
15507
15508 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
15511 grub_efiemu_autocore.
15512
15513 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
15516 rather than 0x1b.
15517 (grub_console_getkey): Use correct jae opcode rather than ja.
15518
15519 2010-10-12 Robert Millan <rmh@gnu.org>
15520
15521 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
15522 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
15523 variable. All references updated.
15524
15525 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
15526
15527 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 Correctly distinguish mdraid flavours.
15530
15531 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
15532 (insert_array): New argument raid.
15533 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
15534 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
15535 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
15536
15537 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
15540 handling of special keys.
15541
15542 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15543
15544 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
15545 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
15546
15547 2010-10-02 Aleš Nesrsta <starous@volny.cz>
15548
15549 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
15550 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
15551 users updated.
15552 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
15553 Use right endpoint when querying descriptor.
15554
15555 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 Clear out 0x80 color bit on EFI.
15558 Tested by: decoder
15559 Reported by: decoder and meta tech.
15560
15561 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
15562 (grub_console_setcolorstate): Clear out 0x80 bit.
15563 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
15564 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
15565 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
15566
15567 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
15570 Set to "auto".
15571
15572 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
15575 mo_file after freeing.
15576
15577 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
15580
15581 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
15584 flags.
15585
15586 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
15589 usage.
15590
15591 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 Put terminfo into core on ieee1275 and yeeloong (needed for console).
15594
15595 * gentpl.py: New groups terminfoinkernel and terminfomodule.
15596 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
15597 and terminfo.h when needed.
15598 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
15599 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
15600 (terminfo): Enable only on terminfokernel.
15601 (extcmd): Likewise.
15602 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
15603 * include/grub/lib/arg.h: Likewise.
15604 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
15605 incorrect usage of ->.
15606
15607 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15608
15609 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
15610 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
15611
15612 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 Fix coreboot compilation.
15615
15616 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15617 Take VBE info into account even if only text is supported.
15618 (fill_vbe_info): Take into account the case when only VGA text
15619 is supported.
15620 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
15621 on coreboot, multiboot and qemu.
15622
15623 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
15626 debug messages.
15627 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
15628
15629 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
15632 parameters.
15633
15634 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
15637 if they were BSD-style.
15638
15639 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * grub-core/boot/i386/pc/lnxboot.S: Replace
15642 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
15643 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
15644
15645 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Write embedding zone using Reed-Solomon.
15648
15649 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
15650 * grub-core/Makefile.am (rs_decoder.S): New target.
15651 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
15652 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
15653 (multiboot): Move to RS part.
15654 (post_reed_solomon): New label.
15655 (grub_boot_drive): Move to non-RS part since it's modified in memory
15656 on boot.
15657 Include rs_decoder.S.
15658 * grub-core/lib/reed_solomon.c: New file.
15659 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
15660 New definition.
15661 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
15662 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
15663 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
15664 * include/grub/partition.h (grub_partition_map): Change prototype of
15665 embed to allow returning additional sectors.
15666 * include/grub/reed_solomon.h: New file.
15667 * util/grub-setup.c (setup): Handle Reed-Solomon.
15668
15669 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
15670
15671 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15672 i386 and x86-64 definedness tests.
15673
15674 2010-09-27 Yves Blusseau <blusseau@zetam.org>
15675
15676 Fix generation of kernel_syms.lst
15677
15678 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
15679 ASM_PREFIX
15680
15681 2010-09-26 Robert Millan <rmh@gnu.org>
15682
15683 Support degraded ZFS arrays in "grub-probe -t device" resolution.
15684
15685 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
15686 the pool is an array of devices, iterate through it and return the
15687 first device that passes a stat() test (instead of blindly returning
15688 the first one).
15689
15690 2010-09-26 Robert Millan <rmh@gnu.org>
15691
15692 Build fixes for GNU/kFreeBSD.
15693
15694 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
15695 to programs that require ZFS conversion.
15696 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
15697 kernels that don't have FLOPPY_MAJOR.
15698
15699 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15700
15701 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
15702
15703 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
15704
15705 Fix grub-emu build.
15706
15707 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
15708 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
15709 mdraid09 and mdraid1x.
15710
15711 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
15712
15713 Re-enable grub-extras.
15714
15715 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
15716 avoid confusing Automake. Run autogen only twice, once for the top
15717 level and once for grub-core. Add Makefile.util.def and
15718 Makefile.core.def from extra modules to the appropriate autogen
15719 invocations. If Makefile.common exists in an extra module, include
15720 it in both Makefile.util.am and grub-core/Makefile.core.am;
15721 similarly, include any Makefile.util.common file in Makefile.util.am
15722 and any Makefile.core.common file in grub-core/Makefile.core.am.
15723 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
15724 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
15725 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
15726 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
15727
15728 * gentpl.py (gvar_add): Turn GVARS into a set.
15729 (global_variable_initializers): Sort global variables on output.
15730 (vars_init): New function.
15731 (first_time): Likewise.
15732 (library): Ensure that non-global variable initialisations are
15733 emitted before the first time we emit code for a library block.
15734 Append to variables rather than setting them. Only emit
15735 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
15736 each conditional path.
15737 (program): installdir() emits an Autogen macro, so must be passed to
15738 var_add rather than gvar_add.
15739 (data): Likewise.
15740 (script): Likewise.
15741 (rules): New function, centralising handling for different target
15742 types. Set up Guile association lists for first_time and vars_init,
15743 and send most output to a diversion so that variable initialisations
15744 can be emitted first.
15745 (module_rules): Use new rules function.
15746 (kernel_rules): Likewise.
15747 (image_rules): Likewise.
15748 (library_rules): Likewise.
15749 (program_rules): Likewise.
15750 (script_rules): Likewise.
15751 (data_rules): Likewise.
15752
15753 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
15754
15755 * .bzrignore: Add contrib and grub-core/contrib. Remove
15756 grub-core/Makefile.gcry.am.
15757
15758 2010-09-24 Yves Blusseau <blusseau@zetam.org>
15759
15760 * grub-core/lib/LzFind.c: Add missing include.
15761 * grub-core/lib/LzmaEnc.c: Likewise.
15762 * grub-core/script/lexer.c: Likewise.
15763 * grub-core/script/yylex.l: Likewise.
15764 * util/grub-macho2img.c: Likewise.
15765 * util/grub-menulst2cfg.c: Likewise.
15766 * util/grub-mklayout.c: Likewise.
15767 * util/grub-mkpasswd-pbkdf2.c
15768 * util/grub-mkrelpath.c: Likewise.
15769 * util/resolve.c: Likewise.
15770
15771 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
15772
15773 * Makefile.util.def (example_unit_test): Add
15774 grub-core/gnulib/libgnu.a.
15775
15776 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
15777
15778 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
15779
15780 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 Support xz compression on yeeloong.
15783
15784 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
15785 * configure.ac: Check for LZMA.
15786 * grub-core/Makefile.core.def (xz_decompress): New target.
15787 (none_decompress): Likewise.
15788 * grub-core/boot/decompressor/minilib.c: New file.
15789 * grub-core/boot/decompressor/none.c: Likewise.
15790 * grub-core/boot/decompressor/xz.c: Likewise.
15791 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
15792 * grub-core/kern/mips/cache_flush.S: Likewise.
15793 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
15794 * grub-core/kern/mips/startup.S: Move first stage to ...
15795 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
15796 nomacro.
15797 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
15798 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
15799 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
15800 Allocate statically.
15801 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
15802 Allocate statically or use scratch. Don't check CRC32.
15803 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
15804 Allocate statically. Don't check CRC32.
15805 * include/grub/decompressor.h: New file.
15806 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
15807 Removed.
15808 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
15809 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
15810 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
15811 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
15812 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
15813 * util/grub-mkimage.c (grub_compression_t): New type.
15814 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
15815 (image_target_desc): New field default_compression.
15816 (image_targets): Adjust yeeloong targets.
15817 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
15818 (compress_kernel): New parameter comp.
15819 (generate_image): Likewise. Handle new compression case.
15820 (options): New option --compression
15821 (help): Likewise.
15822 (main): Handle new option.
15823
15824 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
15825
15826 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
15827
15828 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
15829
15830 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
15831 typo in __i386__ conditional.
15832
15833 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
15836 include.
15837
15838 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 Implement EFI and ACPI multiboot2 extensions.
15841
15842 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
15843 new tags as supported.
15844 (acpiv2_size): New function.
15845 (grub_multiboot_get_mbi_size): Take new tags into account.
15846 (grub_multiboot_make_mbi): Add new tags.
15847 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
15848
15849 2010-09-21 Aleš Nesrsta <starous@volny.cz>
15850
15851 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
15852 Added missing configuration of USB device.
15853
15854 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15855
15856 * grub-core/normal/menu_entry.c (run): Make sure we always return
15857 a value.
15858
15859 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
15862 NumberOfPages is UINT64 according to the UEFI specification, not
15863 UINTN. Fix printf format.
15864
15865 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15866
15867 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
15868 `err' to grub_usb_err_t.
15869 Reported and tested by: KESHAV P.R.
15870
15871 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15872
15873 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
15874 tpart non-const, so that we can assign to it. (Since this is a
15875 typedef, the constness refers to the pointer rather than what it
15876 points to.)
15877
15878 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
15881 $(top_srcdir)/grub-core/gnulib as well as
15882 $(top_builddir)/grub-core/gnulib.
15883 Reported by: KESHAV P.R.
15884
15885 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15886
15887 * util/grub-install.in: Fix the bootloader ID option to be
15888 consistently --bootloader-id, not --bootloader_id.
15889 Reported by: KESHAV P.R.
15890
15891 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15892
15893 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
15894 check hash checksum." consistently translatable.
15895
15896 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15897
15898 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
15899 $(top_builddir).
15900
15901 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15902
15903 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
15904 (GRUB_MOD_INIT): Register sha1sum command.
15905 (GRUB_MOD_FINI): Unregister sha1sum command.
15906
15907 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15908
15909 Keep boot and grub directory names in sync with utils scripts
15910
15911 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
15912 * config.h.in: Add previous macros.
15913 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
15914 * util/grub-install.in: Use $bootdir and $grubdir variables.
15915
15916 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15917
15918 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
15919 convert partition names to disk names if the new `convert' parameter
15920 is set.
15921 (grub_util_biosdisk_get_grub_dev): If opening the disk device
15922 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
15923 disk in its own right. This can happen with Xen disk images.
15924
15925 2010-09-21 Yves Blusseau <blusseau@zetam.org>
15926
15927 * util/grub-editenv.c: Update strings to avoid warnings when generating
15928 grub.pot file.
15929 * util/grub-setup.c: Likewise.
15930
15931 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * configure.ac: Change version to 1.99~beta0.
15934
15935 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15938 Add BADRAM.
15939 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
15940 Likewise.
15941 * include/multiboot.h: Resynced with specification.
15942 * include/multiboot2.h: Likewise.
15943
15944 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
15945
15946 Fix po directory handling.
15947
15948 * configure.ac: Create po/Makefile.in rather than po/Makefile.
15949 * grub-core/gnulib/Makefile.am: Import gettext module.
15950 * m4/gnulib-cache.m4: Likewise.
15951 * m4/gnulib-comp.m4: Likewise.
15952 * m4/gettext.m4: New file, from gnulib.
15953 * m4/glibc2.m4: Likewise.
15954 * m4/iconv.m4: Likewise.
15955 * m4/intdiv0.m4: Likewise.
15956 * m4/intl.m4: Likewise.
15957 * m4/intldir.m4: Likewise.
15958 * m4/intlmacosx.m4: Likewise.
15959 * m4/intmax.m4: Likewise.
15960 * m4/inttypes-pri.m4: Likewise.
15961 * m4/lcmessage.m4: Likewise.
15962 * m4/lib-ld.m4: Likewise.
15963 * m4/lib-link.m4: Likewise.
15964 * m4/lib-prefix.m4: Likewise.
15965 * m4/lock.m4: Likewise.
15966 * m4/nls.m4: Likewise.
15967 * m4/po.m4: Likewise.
15968 * m4/printf-posix.m4: Likewise.
15969 * m4/progtest.m4: Likewise.
15970 * m4/threadlib.m4: Likewise.
15971 * m4/uintmax_t.m4: Likewise.
15972 * m4/visibility.m4: Likewise.
15973 * po/Makefile.am: Remove.
15974 * po/Makefile.in.in: New file, from gettext.
15975 ($(DOMAIN).pot-update): Support POTFILES-shell.
15976 * po/Makevars: New file.
15977 * po/POTFILES-shell: Rename to ...
15978 * po/POTFILES-shell.in: ... this. Update.
15979 * po/POTFILES: Rename to ...
15980 * po/POTFILES.in: ... this. Update.
15981 * po/Rules-quot: New file, from gettext.
15982 * po/boldquot.sed: Likewise.
15983 * po/en@boldquot.header: Likewise.
15984 * po/en@quot.header: Likewise.
15985 * po/insert-header.sin: Likewise.
15986 * po/quot.sed: Likewise.
15987 * po/remove-potcdate.sin: Likewise.
15988
15989 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
15992
15993 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * util/grub.d/20_linux_xen.in: Use submenus.
15996
15997 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 Support submenus.
16000
16001 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16002 parameter submenu. All users updated.
16003 * grub-core/normal/main.c (free_menu): Rename to ...
16004 (grub_normal_free_menu): ... this. Made global.
16005 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16006 if requested.
16007 * grub-core/normal/menu_entry.c (screen): New field submenu.
16008 (make_screen): Set submenu.
16009 (run): Open new context if requested.
16010 * include/grub/menu.h (grub_menu_entry): New field submenu.
16011 * include/grub/normal.h (grub_normal_free_menu): New proto.
16012
16013 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 Menu entries extractor.
16016
16017 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16018 variants.
16019 (GRUB_MOD_INIT): Register new variants.
16020 (GRUB_MOD_FINI): Unregister new variants.
16021 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16022 into grub_cmd_legacy_source.
16023 (grub_cmd_legacy_source): Implement extractor variants.
16024 (GRUB_MOD_INIT): Register new variants.
16025 (GRUB_MOD_FINI): Unregister new variants.
16026 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16027 as an extractor.
16028 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16029 search as an extractor.
16030 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16031 test as an extractor.
16032 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16033 as an extractor.
16034 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16035 (grub_env_new_context): New function.
16036 (grub_env_context_open): Likewise.
16037 (grub_env_extractor_open): Likewise.
16038 (grub_env_extractor_close): Likewise.
16039 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16040 grub_extractor_level.
16041 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16042 * include/grub/env.h (grub_env_extractor_open): New proto.
16043 (grub_env_extractor_close): Likewise.
16044 * include/grub/normal.h (grub_extractor_level): New external variable.
16045
16046 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Make cutmem accept a region specification.
16049 Suggested by: Samuel Thibault
16050
16051 * grub-core/mmap/mmap.c (parsemem): New function.
16052 (grub_cmd_cutmem): Handle new arguments.
16053
16054 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 New command cutmem.
16057
16058 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16059 (GRUB_MOD_INIT): Register new command.
16060 (GRUB_MOD_FINI): Unregister new command.
16061
16062 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 Support some annoying BSD and Minix subpartitions.
16065
16066 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16067 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16068 Properly handle concatenation.
16069 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16070 * grub-core/normal/completion.c (iterate_partition): Likewise.
16071 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16072 contain partition. All users updated.
16073 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16074 struct.
16075 (grub_openbsdlabel_partition_map): Likewise.
16076 (bsdlabel_partition_map_iterate): Rename to ..
16077 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16078 (bsdlabel_partition_map_iterate): New function.
16079 (netopenbsdlabel_partition_map_iterate): Likewise.
16080 (netbsdlabel_partition_map_iterate): Likewise.
16081 (openbsdlabel_partition_map_iterate): Likewise.
16082 (GRUB_MOD_INIT): Register new partmaps.
16083 (GRUB_MOD_FINI): Unregister new partmaps.
16084 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16085 (grub_partition_msdos_iterate): ... this. All users updated.
16086 Don't support embedding other than in a minix partition.
16087 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16088 proto.
16089 * include/grub/partition.h (grub_partition): New field msdostype.
16090 * util/grub-install.in: Handle openbsd and netbsd types being in
16091 part_bsd module.
16092
16093 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16096
16097 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16098 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16099 (mdraid09): ... this.
16100 (mdraid1x): New module.
16101 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16102 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16103
16104 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16107 vsprintf.
16108
16109 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16110
16111 * grub-core/commands/efi/lsefimmap.c: Correct header.
16112 * NEWS: Update.
16113
16114 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16115
16116 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16117 as printf format strings; the translations might contain '%' which
16118 could cause a crash.
16119 (main): Likewise.
16120 * util/grub-fstest.c (argp_parser): Likewise.
16121 * util/grub-setup.c (argp_parser): Likewise.
16122 (main): Likewise.
16123
16124 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Use argp in grub-fstest.
16127
16128 * util/grub-fstest.c: Don't include getopt.h.
16129 Include argp.h.
16130 (root): New variable.
16131 (args_count): Likewise.
16132 (nparm): Likewise.
16133 (num_disks): Likewise.
16134 (images): Likewise.
16135 (cmd): Likewise.
16136 (debug_str): Likewise.
16137 (args): Likewise.
16138 (options): Transformed to argp.
16139 (usage): Removed.
16140 (main): Split argument parsing into ...
16141 (argp_parser): ... this. Changed to argp format.
16142 (argp): New variable.
16143 (main): Use argp_parse.
16144
16145 2010-09-20 Tristan Gingold <gingold@free.fr>
16146 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
16147 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * grub-core/commands/efi/lsefimmap.c: New file.
16150 * grub-core/Makefile.core.def (lsefimmap): New module.
16151 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16152
16153 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 Pause the execution (10s max) if any errors are displayed so the user
16156 has a chance to see them.
16157
16158 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16159 (grub_print_error): Increment grub_err_printed_errors.
16160 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16161 execution if any errors were displayed.
16162 (show_menu): Remove old code for pause.
16163 * grub-core/normal/menu_entry.c (run): Likewise.
16164 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16165 users updated.
16166 (grub_normal_get_char_counter): Likewise.
16167 * include/grub/err.h (grub_err_printed_errors): New external variable.
16168 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16169
16170 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 Support multiboot VBE info.
16173
16174 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16175 Take VBE info into account.
16176 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16177 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16178 Call fill_vbe_info when appropriate.
16179 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16180 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16181 as supported.
16182 (grub_multiboot_get_mbi_size): Take new tags into account.
16183 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16184 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16185 Call fill_vbe_tag when appropriate.
16186 (grub_multiboot_make_mbi): Properly align tags.
16187 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16188 function.
16189 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16190 proto.
16191 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16192
16193 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Suport manual terminal geometry specification.
16196
16197 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16198 Save state in grub_ofconsole_terminfo_output.
16199 (grub_ofconsole_term): Use grub_terminfo_getwh.
16200 (grub_ofconsole_getwh): Removed.
16201 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16202 (grub_serial_term): Use grub_terminfo_getwh.
16203 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16204 (options): New struct.
16205 (OPTION_*): New enum.
16206 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16207 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16208 width and height.
16209 (grub_terminfo_getwh): New proto.
16210 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16211
16212 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 Handle legacy "terminal" command.
16215
16216 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16217 and FLAG_TERMINAL.
16218 (legacy_commands): Add terminal and title.
16219 (grub_legacy_parse): Handle terminal. Simplify title handling.
16220
16221 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16224 parameters overflow.
16225
16226 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16227
16228 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16229 widthspec.h.
16230
16231 * docs/grub.texi (Shell-like scripting): Document `!'.
16232 (Network): Simplify using new i386-pc-pxe format. Mention
16233 grub-mknetdir.
16234
16235 * NEWS: Update.
16236
16237 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16238
16239 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16240 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16241 when needed.
16242
16243 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16244
16245 * grub-core/commands/efi/lsefisystab.c: Correct header.
16246 * grub-core/commands/efi/lssal.c: Likewise.
16247 * grub-core/commands/testload.c: Likewise.
16248
16249 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16250
16251 * util/grub-mkrescue.in: Add explicit root argument to --set to
16252 prevent the UUID being interpreted as an argument to --set (matches
16253 previous change to prepare_grub_to_access_device).
16254
16255 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
16256
16257 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16258 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16259 the verbosity of later #ifs.
16260 (find_partition_start): Define this function on FreeBSD too.
16261 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16262 function.
16263 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16264 on FreeBSD.
16265
16266 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16267
16268 * util/grub-editenv.c: Use argp instead of getopt.
16269
16270 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16271
16272 * util/grub-setup.c: Use argp instead of getopt.
16273
16274 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16275
16276 Use gnulib-tool to create gnulib source files.
16277
16278 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16279 grub-core/gnulib directories
16280 * .bzignore: Add **/.deps and autogenerated gnulib files
16281 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16282 of gnulib macros, add grub-core/gnulib/Makefile
16283 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16284 include m4 directory to aclocal.
16285 * Makefile.util.def: Remove direct compilation of gnulib source files
16286 and use the new grub-core/gnulib/libgnu.a.
16287 * build-aux/config.rpath: move config.rpath from top directory to
16288 build-aux
16289 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16290 in gnulib headers
16291 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16292 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16293 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16294 header.
16295 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16296 string.
16297
16298 2010-09-20 Yves Blusseau <blusseau@zetam.org>
16299
16300 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16301 grub-core/genmod.sh and grub-core/gensyminfo.sh
16302
16303 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16304
16305 Add a test for echo command options.
16306
16307 * tests/grub_cmd_echo.in: New test.
16308 * Makefile.util.def: Rules for new test.
16309
16310 2010-09-20 Szymon Janc <szymon@janc.net.pl>
16311
16312 Remove crc.mod and move crc command to hashsum.mod.
16313 Remove lib/crc.c - users updated to use gcrypt implementation.
16314
16315 * grub-core/commands/crc.c: Removed.
16316 * grub-core/Makefile.core.def (crc): Module removed.
16317 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16318 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16319 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16320 * grub-core/lib/crc.c: Removed.
16321 * include/grub/lib/crc.h: Removed.
16322 * Makefile.util.def (crc): Remove lib/crc.c
16323 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16324 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16325 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16326 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16327 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16328 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16329
16330 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16333
16334 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 Split config.h for util and core.
16337
16338 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16339 (ADDR32): Likewise.
16340 (DATA32): Likewise.
16341 (BSS_START_SYMBOL): Likewise.
16342 (END_SYMBOL): Likewise.
16343 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16344 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16345 * config.h.in: New file.
16346 * configure.ac: Use config-util.h as config define file.
16347 Rename MACHINE into GRUB_MACHINE. All users updated.
16348 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16349 updated.
16350 (NESTED_FUNC_ATTR): Likewise.
16351 Substitue new variables.
16352 (COND_HAVE_ASM_USCORE): New conditional.
16353 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16354 (kernel_syms.lst): Use ASM_PREFIX.
16355 * grub-core/kern/emu/console.c: Include config-util.h.
16356 * grub-core/kern/emu/misc.c: Likewise.
16357 * grub-core/kern/emu/mm.c: Likewise.
16358 * include/grub/emu/misc.h: Likewise.
16359 * include/grub/libgcc.h: Likewise.
16360
16361 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16364 constants usage.
16365 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16366 Fix GRUB_TERM_KEY_* constants usage.
16367 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16368
16369 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16372 print pointer.
16373 * grub-core/bus/usb/uhci.c: Remove empty define.
16374 (grub_uhci_check_transfer): Add missing cast.
16375 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16376 print pointer.
16377 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16378 PRIuGRUB_SIZE.
16379 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16380
16381 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/Makefile.core.def (legacycfg): Add
16384 lib/i386/pc/vesa_modes_table.c on emu.
16385
16386 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16387
16388 Reduce number of temporary files generated by build system.
16389
16390 * grub-core/gencmdlist.sh: Removed.
16391 * grub-core/genfslist.sh: Removed.
16392 * grub-core/genhandlerlist.sh: Removed.
16393 * grub-core/genmodsrc.sh: Removed.
16394 * grub-core/genpartmaplist.sh: Removed.
16395 * grub-core/genparttoollist.sh: Removed.
16396 * grub-core/gentermiinallist.sh: Removed.
16397 * grub-core/genvideolist.sh: Removed.
16398
16399 * grub-core/genmod.sh.in: New file.
16400 * grub-core/gensyminfo.sh.in: New file.
16401
16402 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
16403 * conf/Makefile.extra-dist: Update with new files.
16404 * gentpl.py: Remove rules related to unnecessary temporary files.
16405 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
16406 and und-* files.
16407 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
16408 genmod.sh scripts.
16409 * grub-core/bus/usb/uhci.c: Remove empty #define.
16410 * grub-core/genmoddep.awk: Updated with new syminfo format.
16411 * util/bash-completion.d/Makefile.am: Add config.log to
16412 CLEANFILES.
16413
16414 2010-09-19 Yves Blusseau <blusseau@zetam.org>
16415
16416 * Makefile.util.def: Add forgotten $(LIBINTL) library.
16417
16418 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16419
16420 * util/grub-mkconfig.in: Check the config script for syntax errors
16421 before saving.
16422
16423 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
16424 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * Makefile.util.def (grub-install): Use util/grub-install.in on all
16427 platforms.
16428 * util/grub-install.in: Add EFI and IEEE1275 support.
16429 * util/i386/efi/grub-install.in: Removed.
16430 * util/ieee1275/grub-install.in: Likewise.
16431
16432 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16433
16434 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
16435 (grub_cmd_cmosclean): Likewise.
16436 (GRUB_MOD_INIT): Register command cmosclean.
16437 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
16438 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
16439
16440 2010-09-18 Carles Pina i Estany <carles@pina.cat>
16441 2010-09-18 Aleš Nesrsta <starous@volny.cz>
16442 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 Add keyboard layouts support.
16445
16446 * Makefile.util.def (grub-mklayout): New file.
16447 (grub-kbdcomp): New script.
16448 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
16449 Add keyboard_layouts.h.
16450 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
16451 commands/boot.c on yeeloong.
16452 (keylayouts): New module.
16453 * grub-core/bus/usb/ohci.c
16454 * grub-core/bus/usb/uhci.c
16455 * grub-core/bus/usb/usbhub.c (rescan): New variable.
16456 (grub_usb_add_hub): Poll interrupt pipe for device handling.
16457 (attach_root_port): Likewise.
16458 (poll_nonroot_hub): Likewise.
16459 (grub_usb_poll_devices): Likewise.
16460 (detach_device): Close transfer.
16461 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
16462 function.
16463 (grub_usb_bulk_setup_readwrite): Likewise.
16464 (grub_usb_bulk_finish_readwrite): Likewise.
16465 * grub-core/commands/keylayouts.c: New file.
16466 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
16467 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
16468 aliases.
16469 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
16470 support scancode 2.
16471 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
16472 * include/grub/keyboard_layouts.h: New file.
16473 * util/grub-mklayout.c: New file.
16474 * util/grub-kbdcomp.in: Likewise.
16475
16476 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 Unify memory types.
16479
16480 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
16481 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
16482 types.
16483 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
16484 (grub_upper_mem): Likewise.
16485 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
16486 * include/grub/memory.h (grub_memory_type_t): New enum.
16487 All users updated.
16488
16489 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * grub-core/Makefile.core.def (lsapm): New module.
16492 * grub-core/commands/i386/pc/lsapm.c: New file.
16493 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
16494 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
16495 Likewise.
16496 * include/grub/i386/pc/apm.h: New file.
16497 * include/multiboot.h (multiboot_apm_info): New struct.
16498
16499 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 GRUB-legacy configuration file support.
16502
16503 * Makefile.util.def (grub-menulst2cfg): New util.
16504 * docs/man/grub-menulst2cfg.h2m: New file.
16505 * grub-core/Makefile.core.def (legacycfg): New module.
16506 * grub-core/commands/legacycfg.c: New file.
16507 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
16508 (grub_normal_add_menu_entry): ... this.
16509 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
16510 (grub_normal_set_password): ...this.
16511 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
16512 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
16513 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
16514 * grub-core/lib/legacy_parse.c: New file.
16515 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
16516 * include/grub/i386/pc/vesa_modes_table.h: New file.
16517 * include/grub/legacy_parse.h: Likewise.
16518 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
16519 * util/grub-menulst2cfg.c: New file.
16520
16521 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16522
16523 * grub-core/kern/emu/hostdisk.c
16524 (convert_system_partition_to_system_disk): Initialise node.
16525
16526 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16527
16528 * grub-core/kern/emu/hostdisk.c
16529 (convert_system_partition_to_system_disk): Fix devmapper memory pool
16530 leak.
16531 Reported and based on patch by: Modestas Vainius.
16532
16533 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
16534
16535 Fix DM-RAID probing with recent versions of device-mapper udev
16536 rules.
16537
16538 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
16539 canonicalise device paths under /dev/mapper/.
16540 (convert_system_partition_to_system_disk): Compare the
16541 uncanonicalised path to /dev/mapper/ rather than the canonicalised
16542 path, since device nodes under /dev/mapper/ are often symlinks.
16543
16544 2010-09-17 Yves Blusseau <blusseau@zetam.org>
16545
16546 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
16547
16548 2010-09-16 Yves Blusseau <blusseau@zetam.org>
16549
16550 * configure.ac: Avoid some annoying error messages if freetype-config
16551 program is not found.
16552
16553 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16554
16555 Support RAID on virtio devices, and others.
16556
16557 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
16558 Rename to ...
16559 [__MINGW32__] (grub_find_device): ... this.
16560 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
16561 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
16562 reasonable default if dir is NULL.
16563 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
16564 ...
16565 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
16566 (grub_guess_root_device): Update callers.
16567 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
16568
16569 * util/raid.c (grub_util_getdiskname): Remove.
16570 (grub_util_raid_getmembers): Use grub_find_device rather than
16571 grub_util_getdiskname.
16572
16573 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16574
16575 * docs/grub.texi (serial): Remove obsolete comment about GRUB
16576 needing to be compiled with serial support.
16577 (ls): Indicate that multiple files are accepted.
16578 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
16579 indicate that multiple files are accepted.
16580
16581 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
16582
16583 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
16584 libgrub_a_init.c, and util/bash-completion.d/grub.
16585
16586 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * util/grub-setup.c (setup): Fix incorrect container semantics.
16589
16590 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
16593 misusage.
16594 Reported by: J. Nick Terry
16595
16596 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 Move embedding routines to partmap sources files.
16599
16600 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
16601 [GRUB_UTIL]: New variable.
16602 (gpt_partition_map_iterate): Set part.parent.
16603 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
16604 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
16605 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
16606 New function.
16607 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
16608 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
16609 (grub_partition_map) [GRUB_UTIL]: New field embed.
16610 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
16611 (setup): Use ->embed.
16612
16613 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
16616 function.
16617 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
16618 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
16619
16620 2010-09-15 Yves Blusseau <blusseau@zetam.org>
16621
16622 Add function to get completions from usage.
16623
16624 * util/bash-completion.d/grub-completion.bash.in: Add function to get
16625 completions from usage. Use LC_ALL=C to get options properly.
16626
16627 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * grub-core/gnulib/basename-lgpl.c: Imported.
16630 * grub-core/gnulib/basename.c: Likewise.
16631 * grub-core/gnulib/dirname-lgpl.c: Likewise.
16632 * grub-core/gnulib/dirname.c: Likewise.
16633 * grub-core/gnulib/dirname.h: Likewise.
16634 * grub-core/gnulib/stripslash.c: Likewise.
16635
16636 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/gnulib/error.c: Resynced.
16639 * grub-core/gnulib/getopt.c: Likewise.
16640 * grub-core/gnulib/getopt_int.h: Likewise.
16641 * grub-core/gnulib/regex.h: Likewise.
16642 * grub-core/gnulib/regex_internal.c: Likewise.
16643 * grub-core/gnulib/regex_internal.h: Likewise.
16644
16645 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16646
16647 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
16648 CRC calculations and validity checks.
16649 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
16650 calculations.
16651
16652 2010-09-15 Szymon Janc <szymon@janc.net.pl>
16653
16654 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
16655
16656 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 Fix incorrect echo options handling.
16659 Reported by: Yves Blusseau.
16660
16661 * include/grub/command.h (grub_command_flags_t): New flags
16662 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
16663 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
16664 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
16665
16666 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
16669 users updated.
16670 (GRUB_COMMAND_FLAG_MENU): Likewise.
16671 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16672 (GRUB_COMMAND_FLAG_TITLE): Removed.
16673 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16674 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
16675 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
16676 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
16677 (grub_command_flags_t): New enum. All users updated.
16678
16679 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
16680
16681 Fix solaris compilation.
16682
16683 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
16684 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
16685 (grub-emu-list): Likewise.
16686
16687 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 Remove deprecated root command.
16690
16691 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
16692 updated.
16693
16694 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 * util/i386/pc/grub-setup.c: Merge this ...
16697 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
16698 * util/grub-setup.c: ... into this.
16699 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
16700 New struct.
16701
16702 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
16705 possible.
16706
16707 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
16710 allocate p.
16711
16712 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16713
16714 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
16715 explicit root argument to set to prevent UUID to be interpreted as
16716 argument to set.
16717
16718 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
16721
16722 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 Don't export grub_gate_a20.
16725
16726 * grub-core/kern/i386/pc/init.c: Remove leftovers.
16727 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
16728 to ...
16729 (grub_gate_a20): ... this. All users updated.
16730 * include/grub/i386/pc/init.h: Removed. All users updated.
16731
16732 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 Create euro.pf2 which supports most European languages.
16735
16736 * Makefile.am (grubdata_DATA): Add euro.pf2.
16737 (euro.pf2): New target.
16738 (CLEANFILES): Add euro.pf2.
16739
16740 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * configure.ac: Disable emu-usb by default to prevent inadvertent
16743 device takeover.
16744
16745 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 Disable usbserial on grub-emu since our libusb code isn't good enough
16748 yet.
16749
16750 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
16751 (usbserial_pl2303): Likewise.
16752 (usbserial_ftdi): Likewise.
16753
16754 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * include/grub/disk.h (grub_disk): Remove has_partitions.
16757 All users updated.
16758 * disk/loopback.c (grub_loopback): Remove has_partitions.
16759 All users updated.
16760 (options): Remove partitions. All users updated.
16761 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
16762 * util/i386/pc/grub-setup.c (setup): copy partition table only when
16763 actual partition table is found.
16764
16765 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 Remove readability checks (too many false negatives).
16768
16769 * util/grub-install.in: Remove readability checks.
16770 * util/grub-mkconfig.in: Likewise.
16771 * util/grub.d/10_hurd.in: Likewise.
16772 * util/grub.d/10_kfreebsd.in: Likewise.
16773 * util/grub.d/10_linux.in: Likewise.
16774 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
16775 way.
16776
16777 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 Enable acpi shutdown on all ACPI platforms.
16780
16781 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
16782 on coreboo, multiboot and EFI.
16783 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
16784 (grub_acpi_halt): Likewise.
16785 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
16786 (grub_cmd_halt): Don't call grub_acpi_halt directly.
16787 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
16788 * grub-core/lib/i386/halt.c (grub_halt)
16789 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
16790
16791 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
16794 context.
16795
16796 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * grub-core/video/efi_gop.c: Fix over-80-chars line.
16799 * grub-core/video/efi_uga.c: Likewise.
16800
16801 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 Filter devaliases and never open same device twice.
16804
16805 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
16806 (last_ihandle): Likewise.
16807 (ofdisk_hash_ent): New member shortest.
16808 (ofdisk_hash_add): Add canonical path too.
16809 (scan): New function.
16810 (grub_ofdisk_iterate): Iterate over hashed entries.
16811 (compute_dev_path): Don't add :0.
16812 (grub_ofdisk_open): Don't really open the disk.
16813 (grub_ofdisk_close): Avoid closing unrelated disk.
16814 (grub_ofdisk_read): Implement reopen logic.
16815 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
16816 New function.
16817 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
16818 New proto.
16819
16820 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16821
16822 Fix sparc64.
16823
16824 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
16825 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
16826 right address. Add sparc64_ieee1275_ldflags.
16827 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
16828 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
16829 to grub_host_to_target_addr
16830 (load_image): Likewise.
16831
16832 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16833
16834 * grub-core/normal/completion.c (complete_file): Handle device
16835 containing slash.
16836 Fix based on patch by Doug Nazar.
16837
16838 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 grub-mknetdir script.
16841
16842 * Makefile.util.def (grub-mknetdir): New module.
16843 * tests/util/grub-shell.in: Support boot=net
16844 * util/grub-mknetdir.in: New file.
16845
16846 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 videoinfo on non-vbe.
16849
16850 * grub-core/Makefile.core.def (vbeinfo): Removed.
16851 (vbetest): Removed.
16852 (videoinfo): New module.
16853 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
16854 * grub-core/commands/i386/pc/vbetest.c: Removed.
16855 * grub-core/commands/videoinfo.c: New file.
16856 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
16857 specification.
16858 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
16859 as vbetest.
16860 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
16861 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
16862 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
16863 mode_number. New parameter mode. All users updated.
16864 (grub_video_gop_iterate): New function.
16865 (grub_video_efi_gop): New member iterate.
16866 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
16867 (grub_vbe_set_video_mode): Remove setting useless fields.
16868 (vbe2videoinfo): New function.
16869 (grub_video_vbe_iterate): Likewise.
16870 (grub_video_vbe_setup): Use vbe2videoinfo.
16871 (grub_video_vbe_print_adapter_specific_info): New function.
16872 (grub_video_vbe_adapter): New fields iterate and
16873 print_adapter_specific_info.
16874 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
16875 All users updated.
16876 (grub_video_mode_info): New field mode_number.
16877 (grub_video_adapter): New fields iterate and
16878 print_adapter_specific_info.
16879
16880 2010-09-13 Tristan Gingold <gingold@free.fr>
16881 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
16882 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 * grub-core/commands/efi/lsefisystab.c: New file.
16885 * grub-core/commands/efi/lssal.c: Likewise.
16886 * grub-core/Makefile.core.def (lsacpi): New module.
16887 (lsefisystab): Likewise.
16888 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
16889 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
16890 (grub_efi_sal_system_table): New struct.
16891 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
16892 (grub_efi_sal_system_table_memory_descriptor): Likewise.
16893 (grub_efi_sal_system_table_platform_features): Likewise.
16894 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16895 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
16896 (grub_efi_sal_system_table_ap_wakeup): Likewise.
16897 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
16898
16899 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 Support explicit user claim that a device is BIOS-visible.
16902
16903 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
16904 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
16905 * grub-core/kern/emu/hostdisk.c
16906 (convert_system_partition_to_system_disk): Support mdX.
16907 (find_system_device): New parameter add. All users updated.
16908 (grub_util_biosdisk_is_present): New function.
16909 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
16910 proto.
16911
16912 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
16913
16914 Search hints support.
16915
16916 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
16917 All users updated.
16918
16919 2010-09-13 Yves Blusseau <blusseau@zetam.org>
16920
16921 Bash completion script for util commands
16922
16923 * Makefile.am: Add util/bash-completion.d directory
16924 * configure.ac: Likewise.
16925 * util/bash-completion.d/Makefile.am: New file.
16926 * util/bash-completion.d/grub-completion.bash.in: Likewise.
16927
16928 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
16931 (print_backlog): set backlog_ucs4 and backlog_glyphs.
16932 Reported by: Yves Blusseau.
16933
16934 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
16937 partition size and offset.
16938
16939 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
16942
16943 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
16946
16947 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
16950 (grub_xvasprintf): Likewise.
16951
16952 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
16955
16956 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16957
16958 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
16959 args ending with NULL.
16960
16961 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
16964 pointer.
16965
16966 2010-09-11 Szymon Janc <szymon@janc.net.pl>
16967
16968 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
16969
16970 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 Shutdown using ACPI.
16973
16974 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
16975 * grub-core/commands/acpihalt.c: New file.
16976 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
16977 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
16978 (grub_acpi_halt): New proto.
16979 (GRUB_ACPI_SLP_EN): New const.
16980 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
16981 (GRUB_ACPI_OPCODE_*): New enum.
16982 (GRUB_ACPI_EXTOPCODE_*): Likewise.
16983
16984 2010-09-11 Tristan Gingold <gingold@free.fr>
16985 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
16986 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * commands/lsacpi.c: New file.
16989 * grub-core/Makefile.core.def (lsacpi): New module.
16990 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
16991 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
16992 (grub_acpi_madt_entry_header): New struct.
16993 (grub_acpi_madt): Likewise.
16994 (grub_acpi_madt_entry_interrupt_override): Likewise.
16995 (grub_acpi_madt_entry_sapic): Likewise.
16996 (grub_acpi_madt_entry_lsapic): Likewise.
16997 (grub_acpi_madt_entry_platform_int_source): Likewise.
16998 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
16999 (PRIuGRUB_UINT32_T): Likewise.
17000 (PRIxGRUB_UINT64_T): Likewise.
17001
17002 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17003
17004 Implement loading palette on ieee1275_fb.
17005
17006 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17007 (have_setcolors): Likewise.
17008 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17009 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17010 (grub_video_ieee1275_set_palette): Implement.
17011
17012 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17013 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
17014
17015 * util/grub-install.in (grub_partition): New variable.
17016 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17017 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17018 Fixes a bug reported by Yves Blusseau.
17019
17020 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 Fix emu on mipsel.
17023
17024 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17025 =grub_cpu_flush_cache on all mips and not only yeeloong.
17026 * configure.ac (COND_mips): New conditional.
17027 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17028 platforms.
17029 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17030 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17031 [GRUB_LINKER_HAVE_INIT]: New function.
17032 (grub_emu_post_init): Likewise.
17033 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17034 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17035 * include/grub/cache.h (_mips): Include mips/cache.h.
17036 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17037 LVM and RAID prototypes.
17038 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17039 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17040 function.
17041
17042 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
17043
17044 * util/grub-install.in: Don't try to verify core.img until after
17045 running grub-mkimage to create it.
17046
17047 2010-09-10 Robert Millan <rmh@gnu.org>
17048
17049 * util/grub.d/10_hurd.in: Add misc readability checks.
17050 * util/grub.d/10_kfreebsd.in: Likewise.
17051 * util/grub.d/10_linux.in: Likewise.
17052
17053 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
17054
17055 * util/grub-install.in: ${imgext} won't be defined here until the
17056 install branch is merged. For the meantime, only verify core.img on
17057 i386-pc and sparc64-ieee1275 platforms.
17058
17059 2010-09-10 Robert Millan <rmh@gnu.org>
17060
17061 Solaris support in grub_find_zpool_from_dir(). Thanks
17062 Seth Goldberg for referring to getextmntent() facility.
17063
17064 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17065 `sys/mkdev.h'.
17066 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17067 `<sys/mnttab.h>'.
17068 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17069 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17070 method for finding zpool name.
17071
17072 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
17073
17074 grub-fstest needs the host and hostfs modules while other utilities
17075 actively require those modules to be absent, so grub-fstest needs
17076 its own initialisation and finalisation code.
17077
17078 * Makefile.am (grub_fstest.pp): New target.
17079 (grub_fstest_init.lst): Likewise.
17080 (grub_fstest_init.c): Likewise.
17081 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17082
17083 2010-09-10 Robert Millan <rmh@gnu.org>
17084
17085 * configure.ac: Check for `struct statfs.f_fstypename' and
17086 `struct statfs.f_mntfromname'.
17087
17088 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17089 kFreeBSD-specific code.
17090
17091 2010-09-10 Robert Millan <rmh@gnu.org>
17092
17093 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17094 on ZFS. Now non-main filesystems are supported as / too.
17095
17096 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
17097
17098 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17099 and grub-core/disk/host.c to ...
17100 (grub-fstest): ... here. Having the host disk implementation
17101 present confuses grub-probe and other utility programs.
17102
17103 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17104 when writing to a file, not when writing to stdout.
17105
17106 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17107
17108 * tests/partmap_test.in: New test for partitions.
17109 * Makefile.util.def: Rules for new test.
17110
17111 2010-09-09 Robert Millan <rmh@gnu.org>
17112
17113 * util/grub-probe.c (probe): Fix a pair of unhandled error
17114 conditions.
17115
17116 2010-09-09 Robert Millan <rmh@gnu.org>
17117
17118 Basic Btrfs support (detection and UUID).
17119
17120 * grub-core/fs/btrfs.c: New file.
17121 * Makefile.util.def (library): Register btrfs.c.
17122 * grub-core/Makefile.core.def: Likewise.
17123
17124 2010-09-08 Robert Millan <rmh@gnu.org>
17125
17126 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17127 with (optional) parameters to specify device and relative path.
17128 * util/grub-install.in: Use is_path_readable_by_grub() to
17129 verify readability of a few critical files.
17130 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17131 verify readability of grub.cfg.new.
17132
17133 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 Split minix.mod into minix.mod and minix2.mod.
17136
17137 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17138 * grub-core/Makefile.core.def (minix2): New module.
17139 * grub-core/fs/minix.c: Use definitions instead of runtime version
17140 checking.
17141 * grub-core/fs/minix2.c: New file.
17142
17143 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17144
17145 Add new --boot-directory option to replace --root-directory
17146
17147 * util/grub-install.in: Add new --boot-directory option
17148 * util/grub-reboot.in: Likewise.
17149 * util/grub-set-default.in: Likewise.
17150
17151 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17152
17153 * util/grub-mkconfig.in: Use new variable.
17154
17155 2010-09-08 Yves Blusseau <blusseau@zetam.org>
17156
17157 * configure.ac: Define some useful variables.
17158
17159 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17160
17161 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17162 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17163 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17164 Use terminfo and don't use cursor-on/cursor-off unless it's known
17165 to work.
17166 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17167 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17168
17169 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
17170
17171 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17172 starts with "(,", fill the drive containing the loaded image in
17173 between those two characters, but expect that a full partition
17174 specification including partition map names will follow.
17175
17176 2010-09-08 Robert Millan <rmh@gnu.org>
17177
17178 * configure.ac: Remove `--enable-grub-fstest' option.
17179 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17180
17181 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17182 `grub-fstest' instead of `grub-probe' for readability verification.
17183 * util/grub-probe.c (probe): Remove readability verification kludge.
17184
17185 2010-09-08 Robert Millan <rmh@gnu.org>
17186
17187 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17188 initializing `GRUB_FS'.
17189
17190 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17191
17192 Not command (!) support to GRUB script.
17193
17194 * tests/grub_script_not.in: New test.
17195 * Makefile.util.def: Rules for new test.
17196
17197 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17198 ! command as a special case.
17199 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17200
17201 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17202
17203 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17204 grub_free.
17205
17206 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17207
17208 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17209
17210 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17211
17212 * docs/grub.texi (Shell-like scripting): Documentation for break,
17213 continue, shift and return commands.
17214
17215 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 Rename CD-ROM to cd on BIOS.
17218
17219 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17220 "cd".
17221 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17222
17223 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17226 * util/grub-probe.c (main): Likewise.
17227 * util/i386/pc/grub-setup.c (main): Likewise.
17228 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17229 Reported and debugged by: alexxy
17230
17231 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17234 diagnostic info.
17235
17236 2010-09-05 Jo Shields <directhex@apebox.org>
17237
17238 * util/grub.d/30_os-prober.in: Add missing classes.
17239
17240 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * docs/grub.texi (Theme file format): Document new position format.
17243
17244 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17247 a table. Use @code instead of @verbatim.
17248
17249 2010-09-05 Colin D Bennett <colin@gibibit.com>
17250
17251 Gfxmenu documentation.
17252
17253 * docs/grub.texi (Theme file format): New chapter.
17254
17255 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17256
17257 * grub-core/Makefile.core.def (xzio): New module.
17258 * grub-core/io/xzio.c: New file.
17259 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17260 * grub-core/lib/xzembed/xz_config.h: Likewise.
17261 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17262 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17263 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17264 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17265 * grub-core/lib/xzembed/xz_private.h: Likewise.
17266 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17267 * include/grub/file.h (grub_file_filter_id): New compression filter
17268 GRUB_FILE_FILTER_XZIO.
17269
17270 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17273 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17274 size.
17275
17276 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17279 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17280
17281 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 Uncompressed checksum support.
17284
17285 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17286 (check_list): New parameter uncompress.
17287 (grub_cmd_hashsum): Handle --uncompress.
17288
17289 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 Reintroduce testload.
17292
17293 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17294 from here ...
17295 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17296 (GRUB_MOD_INIT): New function.
17297 (GRUB_MOD_FINI): Likewise.
17298 * grub-core/Makefile.core.def (testload): New module.
17299
17300 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17301
17302 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17303 (uint8_t): New type.
17304 (uint16_t): Likewise.
17305 (uint32_t): Likewise.
17306 (uint64_t): Likewise.
17307
17308 2010-09-05 Szymon Janc <szymon@janc.net.pl>
17309
17310 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17311
17312 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17315 Made static.
17316 (grub_gzfile_open): Removed. All users updated.
17317 (GRUB_MOD_INIT): New function.
17318 (GRUB_MOD_FINI): Likewise.
17319 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17320 (grub_file_filters_enabled): Likewise.
17321 (grub_file_open): Handle filters.
17322 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17323 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17324 * include/grub/file.h (grub_file_filter_id_t): New type.
17325 (grub_file_filter_t): Likewise.
17326 (grub_file_filters_all): New extern variable.
17327 (grub_file_filters_enabled): Likewise.
17328 (grub_file_filter_register): New inline function.
17329 (grub_file_filter_unregister): Likewise.
17330 (grub_file_filter_disable): Likewise.
17331 (grub_file_filter_disable_compression): Likewise.
17332 * include/grub/gzio.h: Removed.
17333
17334 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17335
17336 Filename expansion support for wildcards in GRUB script.
17337
17338 * tests/grub_script_expansion.in: New test.
17339 * Makefile.util.def: Rule for new test.
17340
17341 * grub-core/commands/wildcard.c: New file, implements filename
17342 expansion support for GRUB script.
17343 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17344 * grub-core/script/argv.c: Cosmetic changes.
17345 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17346 Refactored to perform wildcard expansion on arguments.
17347 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17348 struct.
17349
17350 * tests/util/grub-shell.in: Fix quoting for read input.
17351
17352 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17353
17354 Support for updating environment variables with matched substrings
17355 of regexp.
17356
17357 * tests/grub_cmd_regexp.in: New test.
17358 * Makefile.util.def: Rule for new test.
17359
17360 * grub-core/commands/regexp.c: New option -s to update environment
17361 variables with regexp matches.
17362
17363 2010-09-04 Szymon Janc <szymon@janc.net.pl>
17364
17365 * include/grub/file.h (grub_file): New member not_easly_seekable.
17366 (grub_file_seekable): New inline function.
17367 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17368 easily seekable.
17369 (grub_gzio_open): Set not_easly_seekable.
17370 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17371 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17372
17373 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17374
17375 Support for options to appear multiple times on cmdline.
17376
17377 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17378 * grub-core/commands/extcmd.c: Support for repeatable option.
17379 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17380 repeatable option support.
17381
17382 Refactor menuentry into a regular command.
17383
17384 * grub-core/commands/menuentry.c: New file, menuentry command
17385 implementation.
17386 * grub-core/Makefile.core.def: Rule update for normal.mod.
17387 * grub-core/normal/main.c: Moved menuentry creation to
17388 grub-core/commands/menuentry.c.
17389 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17390 (grub_menu_execute_entry_real): Removed.
17391 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17392 function.
17393 (grub_script_execute_menuentry): Removed.
17394 * grub-core/script/parser.y (menuentry): Removed.
17395 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
17396 * grub-core/script/yylex.l (menuentry): Removed.
17397 * include/grub/menu.h (grub_menu_init): New prototype.
17398 (grub_menu_fini): New prototype.
17399 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
17400 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
17401 (grub_script_execute_sourcecode): New prototype.
17402
17403 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17404
17405 "return" command for GRUB script functions.
17406
17407 * tests/grub_script_return.in: New test.
17408 * Makefile.util.def: Rules for new test.
17409
17410 * grub-core/script/execute.c (grub_script_return): New function.
17411 * grub-core/script/main.c: Register/unregister return commaond.
17412 * include/grub/script_sh.h (grub_script_return): New prototype.
17413
17414 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17415
17416 "setparams" command to update positional parameters.
17417
17418 * tests/grub_script_setparams.in: New test.
17419 * Makefile.util.def: Rules for new test.
17420
17421 * grub-core/script/argv.c (grub_script_argv_make): New function.
17422 * grub-core/script/execute.c (replace_scope): New function.
17423 (grub_script_setparams): New function.
17424 * grub-core/script/lexer.c: Remove unused variables.
17425 * grub-core/script/main.c: Register/unregister setparams command.
17426 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
17427 (grub_script_setparams): New prototype.
17428
17429 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17430
17431 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
17432 grub_free order.
17433
17434 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17435
17436 Support for passing block of commands as an argument to extcmds.
17437
17438 * Makefile.util.def: Rules for new test.
17439 * tests/grub_script_blockarg.in: New test.
17440 * grub-core/tests/test_blockarg.c: New file, block argument
17441 command used in the test.
17442
17443 * include/grub/extcmd.h (grub_extcmd_context): New struct.
17444 (grub_register_extcmd_prio): New function prototype.
17445 (grub_extcmd_dispatcher): New function prototype.
17446 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
17447 type.
17448 * include/grub/script_sh.h (struct grub_script): New members
17449 `children', `next_siblings' and `refcnt' for block arguments and
17450 reference counting.
17451 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
17452 (grub_script_arg): New member `script' for block argument.
17453 (grub_script_argv): New member `script' for block argument.
17454 (grub_parser_param): New member `scripts' for block argument.
17455 (grub_script_mem_free): New extern function prototype.
17456 (grub_script_ref): New function prototype.
17457 (grub_script_unref): New function prototype.
17458
17459 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
17460 extcmd form to support block arguments.
17461 * grub-core/script/argv.c: Block arguments support.
17462 * grub-core/script/execute.c: Likewise.
17463 * grub-core/script/lexer.c: Likewise.
17464 * grub-core/script/main.c: Likewise.
17465 * grub-core/script/script.c: Likewise.
17466 * grub-core/script/parser.y: Likewise. New `block' and `block0'
17467 non-terminals.
17468
17469 * grub-core/commands/acpi.c: Update extcmd implementations with
17470 grub_extcmd_context_t.
17471 * grub-core/commands/cat.c: Likewise.
17472 * grub-core/commands/echo.c: Likewise.
17473 * grub-core/commands/extcmd.c: Likewise.
17474 * grub-core/commands/hashsum.c: Likewise.
17475 * grub-core/commands/hdparm.c: Likewise.
17476 * grub-core/commands/help.c: Likewise.
17477 * grub-core/commands/hexdump.c: Likewise.
17478 * grub-core/commands/i386/cpuid.c: Likewise.
17479 * grub-core/commands/i386/pc/drivemap.c: Likewise.
17480 * grub-core/commands/i386/pc/halt.c: Likewise.
17481 * grub-core/commands/i386/pc/sendkey.c: Likewise.
17482 * grub-core/commands/iorw.c: Likewise.
17483 * grub-core/commands/keystatus.c: Likewise.
17484 * grub-core/commands/loadenv.c: Likewise.
17485 * grub-core/commands/ls.c: Likewise.
17486 * grub-core/commands/lspci.c: Likewise.
17487 * grub-core/commands/memrw.c: Likewise.
17488 * grub-core/commands/probe.c: Likewise.
17489 * grub-core/commands/search_wrap.c: Likewise.
17490 * grub-core/commands/setpci.c: Likewise.
17491 * grub-core/commands/sleep.c: Likewise.
17492 * grub-core/disk/loopback.c: Likewise.
17493 * grub-core/hello/hello.c: Likewise.
17494 * grub-core/loader/i386/bsd.c: Likewise.
17495 * grub-core/loader/xnu.c: Likewise.
17496 * grub-core/term/gfxterm.c: Likewise.
17497 * grub-core/term/serial.c: Likewise.
17498 * grub-core/tests/lib/functional_test.c: Likewise.
17499
17500 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17501
17502 Multi-line quoted strings support.
17503
17504 * grub-core/script/lexer.c (append_newline): Removed.
17505 (grub_script_lexer_yywrap): Refactored.
17506 (grub_script_lexer_init): Refactored.
17507 * grub-core/script/yylex.l (yywrap): New function.
17508 (grub_lexer_resplit): New function.
17509 (grub_lexer_unput): New function.
17510 * include/grub/script_sh.h (grub_lexer_param): New members, unput
17511 and resplit.
17512 * tests/grub_script_echo1.in: Added few more testcases.
17513
17514 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17515
17516 * grub-core/kern/misc.c: Don't add abort alias in utils.
17517 Reported by: echoline.
17518
17519 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
17520
17521 Add missing files into "make dist" tarball for other platforms.
17522
17523 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
17524 * conf/Makefile.common (dist_noinst_DATA): New variable.
17525 * conf/Makefile.extra-dist: Added missing make dist files.
17526 * grub-core/Makefile.core.def: Likewise.
17527
17528 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 Compress grub_prefix.
17531
17532 * grub-core/boot/i386/pc/lnxboot.S: Use
17533 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
17534 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
17535 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
17536 GRUB_MACHINE_PREFIX_END. All users updated.
17537 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
17538 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
17539 + 0x40.
17540 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17541 * util/grub-mkimage.c (image_target_desc): Change data_end to
17542 prefix_end. All users updated.
17543
17544 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
17547 value.
17548 (grub_openbsd_boot): Likewise.
17549 (grub_netbsd_boot): Likewise.
17550 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
17551 (grub_xnu_boot): Likewise.
17552
17553 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 * configure.ac: Clean LIBS variable after tests.
17556
17557 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17558
17559 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
17560
17561 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
17564 echo if libdevmapper will be used.
17565
17566 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
17567
17568 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
17569 constant for the same file.
17570
17571 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
17574
17575 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17576
17577 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
17578 grub-core/*.pp.
17579
17580 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
17581
17582 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
17583 required by the boot protocol.
17584
17585 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
17586 ebp and edi members.
17587 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
17588 state.ebp and state.edi.
17589 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
17590 %ebp and %edi according to grub_relocator32_ebp and
17591 grub_relocator32_edi respectively.
17592 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
17593 and state.edi.
17594
17595 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 Add i386-pc-pxe image target.
17598
17599 * util/grub-mkimage.c (image_target_desc): New enum value
17600 IMAGE_I386_PC_PXE.
17601 (image_targets): New target i386-pc-pxe.
17602 (generate_image): Handle i386-pc-pxe image.
17603
17604 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 Fix grub_pxe_scan.
17607
17608 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
17609 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
17610 All users updated.
17611 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
17612 (grub_pxe_pxenv): Correct type.
17613
17614 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17615
17616 * NEWS: Document most of the important changes since 1.98.
17617
17618 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17619
17620 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
17621 generated manual page) a little.
17622
17623 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
17624
17625 * docs/grub.texi: Add myself as an author.
17626
17627 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * Makefile.util.def (libgrub.a): Add missing sunpc.
17630 Reported by: Seth Goldberg.
17631
17632 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 Interrupt wrapping and code simplifications.
17635
17636 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
17637 x86_noieee1275 which are functionaly equivalent in this case.
17638 (grub-install): Make source on each platform explicit. Enable on
17639 all noemu.
17640 * gentpl.py (x86_efi_pc): Removed group.
17641 (x86_noefi): Likewise.
17642 (i386_noefi): Likewise.
17643 (x86_noieee1275): Likewise.
17644 (i386_noieee1275): Likewise.
17645 (i386_noefi_noieee1275): Likewise.
17646 (i386_pc_qemu_coreboot): Likewise.
17647 (i386_coreboot_multiboot): Likewise.
17648 (i386_pc_coreboot_multiboot_qemu): Likewise.
17649 (x86_noefi_mips): Likewise.
17650 (noieee1275): Likewise.
17651 (ieee1275_mips): Likewise.
17652 (noemu_noieee1275): Likewise.
17653 (cmos): New group.
17654 (usb): Likewise.
17655 (videoinkernel): Likewise.
17656 (videomodules): Likewise.
17657 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
17658 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
17659 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
17660 include/grub/loader.h, include/grub/msdos_partition.h,
17661 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
17662 include/grub/machine/console.h, include/grub/machine/vga.h,
17663 include/grub/machine/vbe.h, include/grub/machine/init.h,
17664 include/grub/machine/kernel.h, include/grub/cpu/time.h,
17665 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
17666 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
17667 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
17668 * grub-core/Makefile.core.def (kernel): Explicit the source for
17669 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
17670 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
17671 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
17672 Use videoinkernel tag.
17673 (usb): Enable on all usb.
17674 (usbserial_common): Likewise.
17675 (usbserial_pl2303): Likewise.
17676 (usbserial_ftdi): Likewise.
17677 (uhci): Enable on all x86.
17678 (ohci): Enable on all pci.
17679 (cmostest): Enable on all CMOS.
17680 (acpi): Include commands/acpi.c on all platforms.
17681 (halt): Add relevant lib/*/halt.c.
17682 (hdparm): Enable on all pci.
17683 (lspci): Likewise.
17684 (usbtest): Enable on all usb.
17685 (ata): Enable on all pci.
17686 (ata_pthru): Likewise.
17687 (usbms): Enable on all usb.
17688 (usb_keyboard): Likewise.
17689 (font): Use tag videomodules.
17690 (bufio): Likewise.
17691 (datetime): Use tag cmos. Enable on all noemu.
17692 (mmap): Use tags common and x86.
17693 (gfxterm): Use tag videomodules.
17694 (bitmap): Likewise.
17695 (bitmap_scale): Likewise.
17696 (video_fb): Likewise.
17697 (video): Likewise.
17698 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
17699 adjust padding accordingly. All users updated.
17700 (grub_ohci_transaction): Fix bad format specification.
17701 (GRUB_MOD_INIT): Add asserts for struct size.
17702 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
17703 (grub_alloc_td): Likewise.
17704 (grub_free_queue): Likewise.
17705 (grub_uhci_transfer): Likewise.
17706 (grub_uhci_transaction): Fix bad format specification.
17707 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17708 (grub_usb_bulk_readwrite): Likewise.
17709 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
17710 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
17711 Made static.
17712 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
17713 Made static.
17714 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
17715 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
17716 Transformed into C.
17717 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
17718 Moved from here ...
17719 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
17720 ... here. Transformed into C. Made static.
17721 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
17722 Moved from here ...
17723 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
17724 ... here. Transformed into C. Made static.
17725 * grub-core/kern/i386/pc/startup.S
17726 (grub_biosdisk_check_int13_extensions): Moved from here ...
17727 * grub-core/disk/i386/pc/biosdisk.c
17728 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
17729 Made static.
17730 * grub-core/kern/i386/pc/startup.S
17731 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
17732 * grub-core/disk/i386/pc/biosdisk.c
17733 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
17734 Transformed into C. Made static.
17735 * grub-core/kern/i386/pc/startup.S
17736 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
17737 * grub-core/disk/i386/pc/biosdisk.c
17738 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
17739 Transformed into C. Made static.
17740 * grub-core/kern/i386/pc/startup.S
17741 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
17742 * grub-core/disk/i386/pc/biosdisk.c
17743 (grub_biosdisk_get_diskinfo_standard): ... here.
17744 Transformed into C. Made static.
17745 * grub-core/kern/i386/pc/startup.S
17746 (grub_biosdisk_get_num_floppies): Moved from here ...
17747 * grub-core/disk/i386/pc/biosdisk.c
17748 (grub_biosdisk_get_num_floppies): ... here.
17749 Transformed into C. Made static.
17750 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
17751 New function.
17752 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
17753 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
17754 Transformed into C. Made static.
17755 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
17756 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
17757 Transformed into C. Made static.
17758 * grub-core/kern/i386/ieee1275/init.c: Removed.
17759 * grub-core/kern/i386/misc.S: Likewise.
17760 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
17761 Splitted from here ...
17762 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
17763 Transformed into C. Made static. All users updated.
17764 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
17765 Transformed into C. Made static. All users updated.
17766 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
17767 Moved from here...
17768 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
17769 Transformed into C. Made static. All users updated.
17770 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
17771 Moved from here...
17772 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
17773 Transformed into C. Made static. All users updated.
17774 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
17775 Removed (replaced by C version).
17776 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
17777 Moved from here...
17778 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
17779 Transformed into C. Made static.
17780 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
17781 Moved from here...
17782 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
17783 ... here. Transformed into C.
17784 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
17785 Moved from here...
17786 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
17787 ... here. Transformed into C.
17788 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
17789 Moved from here...
17790 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
17791 ... here. Transformed into C. Made static.
17792 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
17793 Moved from here...
17794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
17795 ... here. Transformed into C.
17796 * grub-core/kern/i386/pc/startup.S
17797 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
17798 * grub-core/video/i386/pc/vbe.c
17799 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
17800 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
17801 Moved from here...
17802 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
17803 ... here. Transformed into C.
17804 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
17805 Moved from here...
17806 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
17807 ... here. Transformed into C.
17808 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
17809 Moved from here...
17810 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
17811 ... here. Transformed into C.
17812 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
17813 Moved from here...
17814 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
17815 ... here. Transformed into C.
17816 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
17817 Moved from here...
17818 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
17819 ... here. Transformed into C. Made static.
17820 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
17821 Moved from here...
17822 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
17823 ... here. Transformed into C. Made static.
17824 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
17825 Moved from here...
17826 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
17827 ... here. Transformed into C. Made static.
17828 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
17829 pxe_rm_entry as third argument.
17830 (grub_bios_interrupt): New function.
17831 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
17832 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
17833 of calling grub_stop.
17834 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
17835 * grub-core/lib/efi/halt.c (grub_halt): ...here.
17836 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
17837 * grub-core/lib/emu/halt.c (grub_halt): ... here.
17838 * grub-core/lib/i386/halt.c: Moved from here ...
17839 * grub-core/lib/i386/halt.c: ... here.
17840 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
17841 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
17842 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
17843 grub_stop_floppy.
17844 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
17845 * include/grub/i386/coreboot/init.h: Removed.
17846 * include/grub/i386/multiboot/init.h: Likewise.
17847 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
17848 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
17849 * include/grub/i386/pc/int.h: New file.
17850 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
17851 (grub_pxe_scan): Removed.
17852 (grub_pxe_call): Update prototype.
17853 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
17854 prototypes.
17855 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
17856 * include/grub/i386/qemu/init.h: Removed.
17857 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
17858 noreturn.
17859 (grub_halt): Likewise.
17860 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
17861 (grub_reboot): Likewise.
17862 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
17863 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
17864 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
17865
17866 2010-08-30 Robert Millan <rmh@gnu.org>
17867
17868 * NEWS: Document addition of ZFS support in `grub-install' and
17869 `grub-mkconfig'.
17870
17871 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
17872
17873 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
17874 dprintf output.
17875
17876 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 Remove leftover embedding of font objects.
17879
17880 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17881 * util/grub-install.in (font): Removed.
17882 * util/grub-mkimage.c (generate_image): Remove font support. All users
17883 updated.
17884
17885 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 Remove leftover embedding of font objects.
17888
17889 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
17890 * util/grub-install.in (font): Removed.
17891 * util/grub-mkimage.c (generate_image): Remove font support. All users
17892 updated.
17893
17894 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * docs/grub.texi (Network): Fix reference to pxe_blksize.
17897 Reported by: Ian Turner
17898
17899 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
17902 timeout to avoid indefinite boot stalling.
17903
17904 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
17907 (grub_env_write_color_highlight): Likewise.
17908
17909 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17910
17911 * grub-core/normal/term.c (print_more): Return to normal and not
17912 to standard state after printing "---MORE---".
17913
17914 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
17917 Mask out the bit 0x80 since it has other meaning that specifiing color.
17918
17919 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17920
17921 New relocator. Allows for more kernel support and more straightforward
17922 loader writing.
17923
17924 * Makefile.am (BOOTTARGET): New variable.
17925 (QEMU32): Likewise.
17926 (linux.init.x86_64): New target.
17927 (linux.init.i386): Likewise.
17928 (multiboot.elf): Likewise.
17929 (kfreebsd.elf): Likewise.
17930 (kfreebsd.aout): Likewise.
17931 (pc-chainloader.elf): Likewise.
17932 (pc-chainloader.bin): Likewise.
17933 (ntldr.elf): Likewise.
17934 (ntldr.bin): Likewise.
17935 (multiboot2.elf): Likewise.
17936 (kfreebsd.init.x86_64): Likewise.
17937 (kfreebsd.init.i386): Likewise.
17938 (knetbsd.init.i386): Likewise.
17939 (kopenbsd.init.i386): Likewise.
17940 (knetbsd.init.x86_64): Likewise.
17941 (kopenbsd.init.x86_64): Likewise.
17942 (linux-initramfs.i386): Likewise.
17943 (linux-initramfs.x86_64): Likewise.
17944 (kfreebsd-mfsroot.i386.img): Likewise.
17945 (knetbsd.image.i386): Likewise.
17946 (kopenbsd.image.i386): Likewise.
17947 (kopenbsd.image.x86_64): Likewise.
17948 (knetbsd.miniroot-image.i386.img): Likewise.
17949 (kfreebsd-mfsroot.x86_64.img): Likewise.
17950 (knetbsd.image.x86_64): Likewise.
17951 (knetbsd.miniroot-image.x86_64.img): Likewise.
17952 (kfreebsd-mfsroot.i386.gz): Likewise.
17953 (bootcheck-kfreebsd-i386): Likewise.
17954 (kfreebsd-mfsroot.x86_64.gz): Likewise.
17955 (bootcheck-kfreebsd-x86_64): Likewise.
17956 (knetbsd.miniroot-image.i386.gz): Likewise.
17957 (bootcheck-knetbsd-i386): Likewise.
17958 (bootcheck-kopenbsd-i386): Likewise.
17959 (bootcheck-kopenbsd-x86_64): Likewise.
17960 (knetbsd.miniroot-image.x86_64.gz): Likewise.
17961 (bootcheck-knetbsd-x86_64): Likewise.
17962 (bootcheck-linux-i386): Likewise.
17963 (bootcheck-linux-x86_64): Likewise.
17964 (bootcheck-linux16-i386): Likewise.
17965 (bootcheck-linux16-x86_64): Likewise.
17966 (bootcheck-multiboot): Likewise.
17967 (bootcheck-multiboot2): Likewise.
17968 (bootcheck-kfreebsd-aout): Likewise.
17969 (bootcheck-pc-chainloader): Likewise.
17970 (bootcheck-ntldr): Likewise.
17971 (CLEANFILES): Add new targets.
17972 (BOOTCHECKS): New variable.
17973 (.PHONY): Add bootchecks.
17974 (SUCCESSFUL_BOOT_STRING): New variable.
17975 (BOOTCHECK_TIMEOUT): Likewise.
17976 (bootcheck): New target
17977 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
17978 * configure.ac: Correct efiemu excuse.
17979 * docs/grub.texi (Supported kernels): New chapter.
17980 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
17981 include/grub/mm_private.h. Simplify inclusion of
17982 include/grub/boot.h, include/grub/loader.h
17983 and include/grub/msdos_partition.h
17984 (KERNEL_HEADER_FILES) [i386_coreboot]:
17985 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
17986 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
17987 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
17988 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
17989 include/grub/machine/loader.h.
17990 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
17991 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
17992 extra_dist.
17993 (pci.mod): Enable on i386-multiboot.
17994 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
17995 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
17996 i386-qemu.
17997 (relocator.mod): Rewritten.
17998 (aout.mod): Enable on all x86.
17999 (bsd.mod): Likewise.
18000 (ntldr.mod): New module.
18001 (linux.mod): Use loader/i386/linux.c on all x86.
18002 (xnu.mod): Enable on all x86.
18003 (vga_text.mod): disable on EFI and QEMU.
18004 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18005 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18006 * grub-core/efiemu/loadcore.c: Likewise.
18007 * grub-core/efiemu/main.c: Likewise.
18008 (grub_efiemu_exit_boot_services): Removed.
18009 (grub_efiemu_finish_boot_services): Likewise.
18010 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18011 function.
18012 * grub-core/efiemu/i386/nocfgtables.c: New file.
18013 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18014 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18015 (grub_efi_finish_boot_services): Moved from here ...
18016 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18017 Fille finish memory map and related data.
18018 (finish_mmap_buf): New variable.
18019 (grub_efi_uintn_t finish_mmap_size): Likewise.
18020 (grub_efi_uintn_t finish_key): Likewise.
18021 (grub_efi_uintn_t finish_desc_size): Likewise.
18022 (grub_efi_uint32_t finish_desc_version): Likewise.
18023 (grub_efi_is_finished): Likewise.
18024 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18025 finished.
18026 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18027 (grub_elf64_phdr_iterate): Likewise.
18028 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18029 (grub_os_area_size): Likewise.
18030 (grub_machine_init): Don't reserve os area.
18031 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18032 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18033 * grub-core/kern/i386/loader.S: Removed.
18034 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18035 (grub_os_area_size): Likewise.
18036 (grub_machine_init): Don't reserve os area.
18037 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18038 Don't call grub_dl_unload_all.
18039 Don't include loader.S.
18040 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18041 Declare the memory after _end as available.
18042 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
18043 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
18044 (GRUB_MM_ALLOC_MAGIC): Moved from here...
18045 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18046 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18047 * include/grub/mm_private.h (grub_mm_header): ... here.
18048 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18049 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
18050 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18051 (grub_mm_region): ..here. Removed addr. Added pre_size.
18052 All users updated.
18053 * grub-core/kern/mm.c (base): Renamed to ...
18054 (grub_mm_base): ... this. Made global.
18055 (grub_real_malloc): Alloc from end of region.
18056 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18057 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18058 * grub-core/kern/powerpc/cache_flush.S: ... here.
18059 * grub-core/lib/efi/relocator.c: New file.
18060 * grub-core/lib/i386/relocator.c: Rewritten.
18061 * grub-core/lib/i386/relocator16.S: New file.
18062 * grub-core/lib/i386/relocator32.S: Likewise.
18063 * grub-core/lib/i386/relocator64.S: Likewise.
18064 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18065 * grub-core/lib/i386/relocator_common.S: New file.
18066 * grub-core/lib/ieee1275/relocator.c: Likewise.
18067 * grub-core/lib/mips/relocator.c: Rewritten.
18068 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18069 stylistic adjustments.
18070 * grub-core/lib/powerpc/relocator.c: New file.
18071 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18072 * grub-core/lib/relocator.c: Rewritten.
18073 * grub-core/lib/x86_64/relocator_asm.S: New file.
18074 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18075 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18076 (bsd_tag): New struct.
18077 (tags): New variable.
18078 (tags_last): Likewise.
18079 (netbsd_module): New struct.
18080 (netbsd_mods): New variable.
18081 (netbsd_mods_last): Likewise.
18082 (openbsd_opts): New parameter "serial".
18083 (OPENBSD_SERIAL_ARG): New definition.
18084 (netbsd_opts): New parameter "serial".
18085 (NETBSD_SERIAL_ARG): New definition.
18086 (grub_freebsd_add_meta): Reorganised into ...
18087 (grub_bsd_add_meta): ...this. All users updated.
18088 (grub_freebsd_add_mmap): Reorganised into ...
18089 (generate_e820_mmap): ...this...
18090 (grub_bsd_add_mmap): ...and this. All users updated.
18091 (grub_freebsd_list_modules): Use tags.
18092 (grub_netbsd_add_meta_module): New function.
18093 (grub_netbsd_list_modules): Likewise.
18094 (grub_freebsd_boot): Use relocator and finish EFI.
18095 (grub_openbsd_boot): Likewise.
18096 (grub_netbsd_setup_video): New function.
18097 (grub_netbsd_add_modules): Likewise.
18098 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18099 and finish EFI.
18100 (grub_bsd_unload): Unload tags.
18101 (grub_bsd_load_aout): Use relocator.
18102 (grub_bsd_elf32_size_hook): New function.
18103 (grub_bsd_elf32_hook): Use relocator.
18104 (grub_bsd_elf64_size_hook): New function.
18105 (grub_bsd_elf64_hook): Use relocator.
18106 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18107 (grub_bsd_load): Zero-out openbsd_ramdisk.
18108 (grub_bsd_load): Use relocator.
18109 (grub_cmd_openbsd): Support serial.
18110 (grub_cmd_netbsd): Support modules.
18111 (grub_cmd_freebsd_module): Use relocator.
18112 (grub_netbsd_module_load): New function.
18113 (grub_cmd_netbsd_module): Likewise.
18114 (grub_cmd_openbsd_ramdisk): Likewise.
18115 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18116 kopenbsd_ramdisk.
18117 (GRUB_MOD_FINI): Unregister new commands.
18118 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18119 (grub_freebsd_load_elfmodule_obj): Use relocator.
18120 (grub_freebsd_load_elfmodule): Likewise.
18121 (grub_freebsd_load_elf_meta): Likewise.
18122 (grub_netbsd_load_elf_meta): New function.
18123 (grub_openbsd_find_ramdisk): Likewise.
18124 * grub-core/loader/i386/bsd_helper.S: Removed.
18125 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18126 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18127 * grub-core/loader/i386/efi/linux.c: Likewise.
18128 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18129 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18130 (DEFAULT_VIDEO_MODE): Likewise.
18131 (real_mode_target): New variable.
18132 (prot_mode_target): Likewise.
18133 (initrd_mem_target): Likewise.
18134 (relocator): Likewise.
18135 (efi_mmap_buf): Likewise.
18136 (efi_mmap_size): Likewise.
18137 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18138 (free_pages): Use relocator.
18139 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18140 (grub_linux_setup_video): Return error.
18141 (grub_linux_trampoline_start): Removed.
18142 (grub_linux_trampoline_end): Likewise.
18143 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18144 andd video parameters depending on firmware.
18145 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18146 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18147 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18148 (grub_cmd_initrd): Use relocator.
18149 * grub-core/loader/i386/linux_trampoline.S: Removed.
18150 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18151 (elf_sec_entsize): Likewise.
18152 (elf_sec_shstrndx): Likewise.
18153 (elf_sections): Likewise.
18154 (grub_multiboot_load): Use relocator.
18155 (grub_multiboot_get_mbi_size): Account for sections.
18156 (grub_multiboot_make_mbi): Use relocator and support sections.
18157 (grub_multiboot_add_elfsyms): New function.
18158 (grub_multiboot_free_mbi): Free sections.
18159 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18160 (grub_linux_real_target): Likewise.
18161 (grub_linux_real_chunk): Likewise.
18162 (grub_linux16_prot_size): Likewise.
18163 (grub_linux16_boot): Use relocator.
18164 (grub_linux_unload): Unload relocator.
18165 (grub_cmd_linux): Use relocator.
18166 (grub_cmd_initrd): Likewise.
18167 * grub-core/loader/i386/pc/ntldr.c: New file.
18168 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18169 Don't try to guess CPU frequency.
18170 (grub_xnu_set_video): Stretch bitmap.
18171 (grub_xnu_boot): Use relocator.
18172 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18173 (grub_linux_unload): Free relocator.
18174 (grub_linux_load32): Use relocator.
18175 (grub_linux_load64): Likewise.
18176 (grub_cmd_initrd): Likewise.
18177 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18178 (grub_multiboot_unload): Unload relocator.
18179 (grub_cmd_multiboot): Use relocator.
18180 (grub_cmd_module): Likewise.
18181 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18182 Use relocator and support sections.
18183 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18184 (elf_sec_entsize): Likewise.
18185 (elf_sec_shstrndx): Likewise.
18186 (elf_sections): Likewise.
18187 (grub_multiboot_load): Use relocator.
18188 (grub_multiboot_get_mbi_size): Account for sections.
18189 (grub_multiboot_make_mbi): Use relocator and support sections.
18190 (grub_multiboot_add_elfsyms): New function.
18191 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18192 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18193 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18194 Prototype changed. All users updated.
18195 (grub_xnu_align_heap): Simplified.
18196 (grub_xnu_writetree_toheap): Likewise.
18197 (grub_xnu_unload): Unload relocator.
18198 (grub_cmd_xnu_kernel): Use relocator.
18199 (grub_cmd_xnu_kernel64): Likewise.
18200 (grub_xnu_register_memory): Simplified.
18201 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
18202 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18203 EFI is finished.
18204 (grub_console_checkkey): Likewise.
18205 (grub_console_getkey): Likewise.
18206 (grub_console_getwh): Likewise.
18207 (grub_console_getxy): Likewise.
18208 (grub_console_gotoxy): Likewise.
18209 (grub_console_cls): Likewise.
18210 (grub_console_setcolorstate): Likewise.
18211 (grub_console_setcursor): Likewise.
18212 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18213 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18214 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18215 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18216 * grub-core/tests/boot/kernel-8086.S: Likewise.
18217 * grub-core/tests/boot/kernel-i386.S: Likewise.
18218 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18219 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18220 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18221 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18222 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18223 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18224 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18225 * grub-core/tests/boot/linux.cfg: Likewise.
18226 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18227 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18228 * grub-core/tests/boot/linux16.cfg: Likewise.
18229 * grub-core/tests/boot/multiboot.cfg: Likewise.
18230 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18231 * grub-core/tests/boot/ntldr.cfg: Likewise.
18232 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18233 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18234 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18235 New definition.
18236 * include/grub/dl.h (grub_dl_unload_all): Removed.
18237 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18238 (grub_efi_finish_boot_services): Change prototype.
18239 (grub_efi_is_finished): New variable.
18240 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18241 Changed prototype.
18242 (grub_efiemu_finish_boot_services): Removed.
18243 (grub_machine_efiemu_init_tables): New prototype.
18244 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18245 (grub_elf64_phdr_iterate): Likewise.
18246 * include/grub/i386/bsd.h: Include relocator.h.
18247 (freebsd_tag_header): New struct.
18248 (grub_openbsd_bios_mmap): Removed.
18249 (grub_unix_real_boot): Removed.
18250 (grub_freebsd_load_elfmodule32): Changed prototype.
18251 (grub_freebsd_load_elfmodule_obj64): Likewise.
18252 (grub_freebsd_load_elf_meta32): Likewise.
18253 (grub_freebsd_load_elf_meta64): Likewise.
18254 (grub_freebsd_add_meta): Removed.
18255 (grub_netbsd_load_elf_meta32): New prototype.
18256 (grub_netbsd_load_elf_meta64): Likewise.
18257 (grub_bsd_add_meta): Likewise.
18258 (grub_openbsd_ramdisk_descriptor): New struct.
18259 (grub_openbsd_find_ramdisk32): New prototype.
18260 (grub_openbsd_find_ramdisk64): Likewise.
18261 * include/grub/i386/coreboot/loader.h: Removed.
18262 * include/grub/i386/efi/loader.h: Likewise.
18263 * include/grub/i386/ieee1275/loader.h: Likewise.
18264 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18265 to grub_uint32_t.
18266 * include/grub/i386/loader.h: Removed.
18267 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18268 value.
18269 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18270 (grub_phys_addr_t): New type.
18271 (grub_vtop): New inline function.
18272 (grub_map_memory): Likewise.
18273 (grub_unmap_memory): Likewise.
18274 * include/grub/i386/multiboot/loader.h: Removed.
18275 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18276 (NETBSD_BTINFO_CONSOLE): New definition.
18277 (NETBSD_BTINFO_SYMTAB): Likewise.
18278 (NETBSD_BTINFO_MODULES): Likewise.
18279 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18280 (grub_netbsd_bootinfo): New struct.
18281 (grub_netbsd_btinfo_common): Use explicit bitsize.
18282 (grub_netbsd_btinfo_mmap_entry): Removed.
18283 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18284 (grub_netbsd_btinfo_bootdisk): New struct.
18285 (grub_netbsd_btinfo_symtab): Likewise.
18286 (grub_netbsd_btinfo_serial): Likewise.
18287 (grub_netbsd_btinfo_modules): Likewise.
18288 (grub_netbsd_btinfo_framebuf): Likewise.
18289 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18290 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18291 Likewise.
18292 (grub_openbsd_bootargs): Use explicit bitsize.
18293 (grub_openbsd_bootarg_console): New struct.
18294 (GRUB_OPENBSD_COM_MAJOR): New definition.
18295 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18296 * include/grub/i386/pc/efiemu.h: Removed.
18297 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18298 * include/grub/i386/qemu/loader.h: Removed.
18299 * include/grub/i386/relocator.h: Rewritten.
18300 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18301 * include/grub/mips/memory.h: New file.
18302 * include/grub/mips/multiboot.h: Rewritten.
18303 * include/grub/mips/relocator.h: Rewritten.
18304 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18305 (grub_vtop): New function.
18306 (grub_map_memory): Likewise.
18307 (grub_unmap_memory): Likewise.
18308 * include/grub/misc.h (ALIGN_DOWN): New definition.
18309 * include/grub/mm.h (grub_mm_check_real): New proto.
18310 (GRUB_MM_CHECK): New definition.
18311 * include/grub/mm_private.h: New file.
18312 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18313 (grub_multiboot_get_mbi_size): Removed.
18314 (grub_multiboot_make_mbi): Change prottype.
18315 (grub_multiboot_set_accepts_video): New proto.
18316 (grub_multiboot_add_elfsyms): Likewise.
18317 (grub_multiboot_payload_eip): New variable.
18318 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18319 New prototype.
18320 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18321 New definition.
18322 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18323 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18324 * include/grub/powerpc/ieee1275/loader.h: Removed.
18325 * include/grub/powerpc/memory.h: New file.
18326 * include/grub/powerpc/relocator.h: Likewise.
18327 * include/grub/relocator.h: Likewise.
18328 * include/grub/relocator_private.h: Likewise.
18329 * include/grub/sparc64/ieee1275/loader.h: Removed.
18330 * include/grub/x86_64/memory.h: New file.
18331 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18332 (grub_xnu_heap_malloc): Likewise.
18333 (grub_xnu_heap_real_start): Removed.
18334 (grub_xnu_heap_start): Likewise.
18335 (grub_xnu_relocator): New variable.
18336 (grub_xnu_heap_target_start): Likewise.
18337 * tests/util/grub-shell.in: Support non-pc.
18338 * util/grub-mkimage.c (image_targets): Fix multiboot target.
18339
18340 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18343 on malloc error.
18344 (grub_bidi_logical_to_visual): Check that malloc succeded.
18345 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18346 puts.
18347 (grub_xputs_normal): Likewise.
18348
18349 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18352 extra_dist.
18353
18354 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18357
18358 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18359
18360 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18361
18362 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18365 dprintf.
18366
18367 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18368
18369 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18370
18371 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * grub-core/normal/term.c (print_more): Fix a memory leak.
18374 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18375 (grub_xputs_normal): Likewise.
18376
18377 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18378
18379 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18380 the begining of the string
18381
18382 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18383
18384 * grub-core/script/script.c (grub_script_parse): Free parsed on
18385 failure.
18386
18387 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18390 on failure.
18391
18392 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18395 return.
18396
18397 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18398
18399 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
18400 (scroll_up): Fix a memory leak.
18401
18402 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
18405 errors.
18406
18407 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 Handle USB pendrives exposed as floppies.
18410
18411 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
18412 floppy.
18413 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18414 Check for partitions on all devices.
18415
18416 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
18419 (readkey): Likewise.
18420
18421 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
18422
18423 Multiple variable names support to "export" command.
18424
18425 * normal/context.c (grub_cmd_export): "export" command supports
18426 multiple variable names.
18427
18428 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
18429
18430 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
18431 --target=drive output to Mach device name.
18432
18433 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18434
18435 New Automake based build system for GRUB.
18436
18437 * ABOUT-NLS: New file.
18438 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
18439 in Makefile.util.def file.
18440 * Makefile.util.def: New file. Autogen build definitions file for
18441 GRUB host utils.
18442 * conf/Makefile.common: New file. Common variables for GRUB host
18443 utils and target modules.
18444 * conf/Makefile.extra-dist: New file. Extra files for make dist.
18445 * docs/Makefile.am: New file. Automake file for docs.
18446 * gentpl.py: New file. Python script to generate Autogen
18447 template.
18448 * grub-core/Makefile.am: New file. GRUB target modules' rules
18449 that doesn't fit in Makefile.core.def file.
18450 * grub-core/Makefile.core.def: New file. Autogen build
18451 definitions file for GRUB target modules.
18452 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
18453 specific setjmp.S file.
18454 * po/Makefile.am: New file.
18455
18456 * .bzrignore: New ignores.
18457 * INSTALL: New requirements, without Ruby.
18458 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
18459 * autogen.sh: Updated to invoke autogen as necessary.
18460 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
18461 and defines for Automake conditionals.
18462 * geninit.sh: Refactoring.
18463
18464 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
18465 necessary.
18466 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
18467 New prototype.
18468
18469 * include/grub/test.h: Fix functional test modules' naming.
18470 * grub-core/tests/example_functional_test.c: Fix test module name.
18471
18472 * util/misc.c: Hosted versions' of grub functions for libgrub.a
18473 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
18474 * util/grub-editenv.c: Likewise.
18475 * util/grub-fstest.c: Likewise.
18476 * util/grub-mkdevicemap.c: Likewise.
18477 * util/grub-mkfont.c: Likewise.
18478 * util/grub-mkimage.c: Likewise.
18479 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18480 * util/grub-probe.c: Likewise.
18481 * util/grub-script-check.c: Likewise.
18482 * util/i386/pc/grub-setup.c: Likewise.
18483 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18484
18485 * tests/util/grub-shell.in: Fix override directory path.
18486 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
18487 * util/import_gcry.py: Create Makefile.gcry.def file instead.
18488
18489 * util/lvm.c: Update #includes.
18490 * util/raid.c: Likewise.
18491 * util/resolve.c: Likewise.
18492 * grub-core/bus/emu/pci.c: Likewise.
18493 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
18494 * grub-core/lib/posix_wrap/string.h: Likewise.
18495 * grub-core/kern/emu/main.c: Likewise.
18496
18497 * grub-core/gensymlist.sh: New file. Script for generating kernel
18498 symbols file.
18499 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
18500
18501 * grub-core/gentrigtables.c: Fix unused variable warnings.
18502
18503 * Makefile.in: Removed.
18504 * conf/any-emu.rmk: Removed.
18505 * conf/common.rmk: Removed.
18506 * conf/i386-coreboot.rmk: Removed.
18507 * conf/i386-efi.rmk: Removed.
18508 * conf/i386-ieee1275.rmk: Removed.
18509 * conf/i386-multiboot.rmk: Removed.
18510 * conf/i386-pc.rmk: Removed.
18511 * conf/i386-qemu.rmk: Removed.
18512 * conf/i386.rmk: Removed.
18513 * conf/mips-yeeloong.rmk: Removed.
18514 * conf/mips.rmk: Removed.
18515 * conf/powerpc-ieee1275.rmk: Removed.
18516 * conf/sparc64-ieee1275.rmk: Removed.
18517 * conf/tests.rmk: Removed.
18518 * conf/x86-efi.rmk: Removed.
18519 * conf/x86_64-efi.rmk: Removed.
18520 * gendistlist.sh: Removed.
18521 * geninitheader.sh: Removed.
18522 * genkernsyms.sh.in: Removed.
18523 * genmk.rb: Removed.
18524 * gensymlist.sh.in: Removed.
18525 * mkinstalldirs: Removed.
18526 * boot: Moved ...
18527 * grub-core/boot: ... to here.
18528 * bus: Moved ...
18529 * grub-core/bus: ... to here.
18530 * commands: Moved ...
18531 * grub-core/commands: ... to here.
18532 * disk: Moved ...
18533 * grub-core/disk: ... to here.
18534 * efiemu: Moved ...
18535 * grub-core/efiemu: ... to here.
18536 * font: Moved ...
18537 * grub-core/font: ... to here.
18538 * fs: Moved ...
18539 * grub-core/fs: ... to here.
18540 * gencmdlist.sh: Moved ...
18541 * grub-core/gencmdlist.sh: ... to here.
18542 * genemuinit.sh: Moved ...
18543 * grub-core/genemuinit.sh: ... to here.
18544 * genemuinitheader.sh: Moved ...
18545 * grub-core/genemuinitheader.sh: ... to here.
18546 * genfslist.sh: Moved ...
18547 * grub-core/genfslist.sh: ... to here.
18548 * genhandlerlist.sh: Moved ...
18549 * grub-core/genhandlerlist.sh: ... to here.
18550 * genmoddep.awk: Moved ...
18551 * grub-core/genmoddep.awk: ... to here.
18552 * genmodsrc.sh: Moved ...
18553 * grub-core/genmodsrc.sh: ... to here.
18554 * genpartmaplist.sh: Moved ...
18555 * grub-core/genpartmaplist.sh: ... to here.
18556 * genparttoollist.sh: Moved ...
18557 * grub-core/genparttoollist.sh: ... to here.
18558 * genterminallist.sh: Moved ...
18559 * grub-core/genterminallist.sh: ... to here.
18560 * gentrigtables.c: Moved ...
18561 * grub-core/gentrigtables.c: ... to here.
18562 * genvideolist.sh: Moved ...
18563 * grub-core/genvideolist.sh: ... to here.
18564 * gettext: Moved ...
18565 * grub-core/gettext: ... to here.
18566 * gfxmenu: Moved ...
18567 * grub-core/gfxmenu: ... to here.
18568 * gnulib: Moved ...
18569 * grub-core/gnulib: ... to here.
18570 * hello: Moved ...
18571 * grub-core/hello: ... to here.
18572 * hook: Moved ...
18573 * grub-core/hook: ... to here.
18574 * io: Moved ...
18575 * grub-core/io: ... to here.
18576 * kern: Moved ...
18577 * grub-core/kern: ... to here.
18578 * lib: Moved ...
18579 * grub-core/lib: ... to here.
18580 * loader: Moved ...
18581 * grub-core/loader: ... to here.
18582 * mmap: Moved ...
18583 * grub-core/mmap: ... to here.
18584 * normal: Moved ...
18585 * grub-core/normal: ... to here.
18586 * partmap: Moved ...
18587 * grub-core/partmap: ... to here.
18588 * parttool: Moved ...
18589 * grub-core/parttool: ... to here.
18590 * script: Moved ...
18591 * grub-core/script: ... to here.
18592 * term: Moved ...
18593 * grub-core/term: ... to here
18594 * tests/example_functional_test.c: Moved ...
18595 * grub-core/tests/example_functional_test.c: ... to here.
18596 * tests/lib/functional_test.c: Moved ...
18597 * grub-core/tests/lib/functional_test.c: ... to here.
18598 * tests/lib/test.c: Moved ...
18599 * grub-core/tests/lib/test.c: ... to here.
18600 * video: Moved ...
18601 * grub-core/video: ... to here.
18602
18603 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
18604
18605 Replace --enable-grub-emu-modules with grub-emu-lite.
18606
18607 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
18608 cache.S.
18609
18610 * include/grub/emu/misc.h (grub_emu_init): New prototype.
18611 * kern/emu/full.c: New file. For grub-emu specific initialization.
18612 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
18613 * kern/emu/main.c: Call initialization function grub_emu_init.
18614
18615 * Makefile.in: Include grub-emu-lite in install.
18616 * commands/parttool.c: Use grub_no_autoload to differentiate
18617 between grub-emu and grub-emu-lite.
18618 * include/grub/misc.h: New variable grub_no_autoload.
18619
18620 * conf/any-emu.rmk: New rules for grub-emu-lite.
18621 * configure.ac: Remove --enable-grub-emu-modules.
18622 * genmk.rb: Cleanup unnecessary rules.
18623 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
18624
18625 * normal/main.c: Don't load list files on grub-emu-lite.
18626 * util/misc.c (grub_arch_sync_caches): Removed.
18627
18628 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
18629
18630 * kern/mips/startup.S (grub_prefix): Update comment to refer to
18631 grub-mkimage rather than grub-mkelfimage.
18632 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
18633
18634 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
18637 a key after CapsLock or NumLock. It's just a qemu bug.
18638
18639 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18640
18641 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
18642 needed by libusb wrapper.
18643
18644 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18645
18646 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
18647
18648 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
18651 --nounzip is passed.
18652
18653 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 USB hotunplugging and USB serial support.
18656
18657 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
18658 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
18659 (grub_uhci_transfer): Respect timeout and set *actual.
18660 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
18661 non-standard length.
18662 (grub_usb_device_attach): Autoload modules.
18663 (GRUB_MOD_INIT): Set grub_term_poll_usb.
18664 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
18665 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
18666 users updated.
18667 (grub_usb_add_hub): Fill nports and children.
18668 (attach_root_port): Receive hub instead of controller.
18669 All users updated. Fill hub->devices.
18670 (grub_usb_root_hub): Allocate hub->devices.
18671 (detach_device): New function.
18672 (poll_nonroot_hub): Fill children and detach devices.
18673 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
18674 actual arguments. All users updated.
18675 (grub_usb_bulk_read_extended): New function.
18676 * bus/usb/serial/common.c: New file.
18677 * bus/usb/serial/ftdi.c: Likewise.
18678 * bus/usb/serial/pl2303.c: Likewise.
18679 * commands/terminal.c (handle_command): Support wildcard.
18680 * commands/usbtest.c: Output "Unknown" instead of empty string.
18681 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
18682 (usbserial_common_mod_SOURCES): New variable.
18683 (usbserial_common_mod_CFLAGS): Likewise.
18684 (usbserial_common_mod_LDFLAGS): Likewise.
18685 (pkglib_MODULES): Add usbserial_pl2303.mod.
18686 (usbserial_pl2303_mod_SOURCES): New variable.
18687 (usbserial_pl2303_mod_CFLAGS): Likewise.
18688 (usbserial_pl2303_mod_LDFLAGS): Likewise.
18689 (pkglib_MODULES): Add usbserial_ftdi.mod.
18690 (usbserial_ftdi_mod_SOURCES): New variable.
18691 (usbserial_ftdi_mod_CFLAGS): Likewise.
18692 (usbserial_ftdi_mod_LDFLAGS): Likewise.
18693 (pkglib_MODULES): Add serial.mod.
18694 (serial_mod_SOURCES): New variable.
18695 (serial_mod_CFLAGS): Likewise.
18696 (serial_mod_LDFLAGS): Likewise.
18697 * conf/i386-pc.rmk: Likewise.
18698 * conf/mips-yeeloong.rmk: Likewise.
18699 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
18700 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18701 * disk/usbms.c (first_available_slot): New variable.
18702 (grub_usbms_attach): Don't reuse free slots due to potential cache
18703 problems.
18704 * include/grub/serial.h: Moved to ..
18705 * include/grub/ns8250.h: ...this.
18706 * include/grub/serial.h: New file.
18707 * include/grub/term.h (grub_term_poll_usb): New variable.
18708 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
18709 readkey. All users updated.
18710 (grub_terminfo_output_state): Pass term to put.
18711 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
18712 (grub_usb_controller_dev): Add timeout and actual arguments to
18713 transfer. All users updated.
18714 (grub_usb_interface): New field detach_data.
18715 (grub_usb_device): New fields children and nports.
18716 (grub_usb_ep_type_t): New type.
18717 (grub_usb_get_ep_type): New function.
18718 (grub_usb_bulk_read_extended): Likewise.
18719 * include/grub/usbdesc.h (grub_usb_desc): New type.
18720 * include/grub/usbserial.h: New file.
18721 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
18722 * kern/term.c (grub_term_poll_usb): New variable.
18723 (grub_getkey): Call grub_term_poll_usb if set.
18724 (grub_checkkey): Likewise.
18725 (grub_getkeystatus): Likewise.
18726 * term/serial.c: Moved controller-specific parts to ...
18727 * term/ns8250.c: ... here.
18728 * term/serial.c: Mostly rewritten.
18729 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
18730 according to spec.
18731
18732 2010-08-20 Robert Millan <rmh@gnu.org>
18733
18734 Make kFreeBSD code more generic to support ext2fs as root, ufs as
18735 a separate module and maybe other interesting combinations.
18736
18737 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
18738 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
18739 (kfreebsd_entry): Add generic filesystem module load routine.
18740 Map GRUB `ext2' to kFreeBSD `ext2fs'.
18741
18742 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18743
18744 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
18745 "numcenter" (I misunderstood the purpose of this entry).
18746 * docs/grub.texi (sendkey): Likewise.
18747
18748 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
18749
18750 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
18751 status flag options; simply omitting the option is equivalent and
18752 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
18753 (keysym_table): Rename "num5numlock" to "numlock".
18754 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
18755 can uniformly say that only the last of multiple `sendkey'
18756 invocations has any effect.
18757 * docs/grub.texi (sendkey): New section.
18758
18759 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
18760
18761 * commands/i386/pc/sendkey.c (options): Fix three typos.
18762
18763 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 Implement sendkey support.
18766
18767 * commands/i386/pc/sendkey.c: New file.
18768 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
18769 (sendkey_mod_SOURCES): New variable.
18770 (sendkey_mod_CFLAGS): Likewise.
18771 (sendkey_mod_LDFLAGS): Likewise.
18772
18773 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18774
18775 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
18776 fix warnings from Autoconf.
18777
18778 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
18779
18780 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
18781 to avoid false positives with some assemblers that output things
18782 like "someprefix_func" as part of their output.
18783
18784 2010-08-15 Robert Millan <rmh@gnu.org>
18785
18786 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
18787 errors.
18788 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
18789 grub_get_libzfs_handle() errors.
18790
18791 2010-08-14 Robert Millan <rmh@gnu.org>
18792
18793 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
18794 filesystem is not ZFS.
18795
18796 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18797
18798 Fix for misspelled color names defaulting to black/black (bug
18799 reported by Doug Nazar)
18800
18801 * include/grub/normal.h (grub_parse_color_name_pair): Add return
18802 status to prototype.
18803 * normal/color.c (grub_parse_color_name_pair): Return failure
18804 status.
18805 (grub_env_write_color_normal): Ignore bad color names.
18806 (grub_env_write_color_highlight): Likewise.
18807 * normal/main.c (GRUB_MOD_INIT): Set default color names.
18808
18809 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18810
18811 "shift" command support to GRUB script.
18812
18813 * include/grub/script_sh.h (grub_script_shift): New prototype.
18814 * script/execute.c (grub_script_shift): New function.
18815 * script/main.c (grub_script_init): Register shift command.
18816 (grub_script_fini): Unregister shift command.
18817 * util/grub-script-check.c (grub_script_cmd_shift): New function.
18818
18819 * tests/grub_script_shift.in: New testcase.
18820 * conf/tests.rmk: Rules for new testcase.
18821
18822 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18823
18824 "continue" command support to GRUB script.
18825
18826 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
18827 (grub_script_break): Continue support.
18828 * script/main.c (grub_script_init): Register continue command.
18829 (grub_script_fini): Unregister continue command.
18830
18831 * tests/grub_script_continue.in: New testcase.
18832 * conf/tests.rmk: Rules for new testcase.
18833
18834 2010-08-12 BVK Chaitanya <bvk@dbook>
18835
18836 "break" command support to GRUB script.
18837
18838 * conf/common.rmk: Rule updates to grub-script-check.
18839 * include/grub/misc.h (grub_min): New function.
18840 * include/grub/script_sh.h (grub_script_init): New prototype.
18841 (grub_script_fini): New prototype.
18842 (grub_script_break): New prototype.
18843 * script/main.c (grub_script_init): New function.
18844 (grub_script_fini): New function.
18845 * script/execute.c (grub_script_break): New function.
18846 * normal/main.c: Calls to grub_script_{init,fini}.
18847 * util/grub-script-check.c (grub_script_break): New function.
18848
18849 * tests/grub_script_break.in: New testcase.
18850 * conf/tests.rmk: Rules for new test case.
18851
18852 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18853
18854 Function parameters support to GRUB script.
18855
18856 * script/yylex.l (VARIABLE): Regular expression update.
18857 * script/function.c (grub_script_function_call): Moved ...
18858 * script/execute.c (grub_script_function_call): ... to here.
18859 (grub_script_execute_arglist_to_argv): Removed.
18860 (grub_script_arglist_to_argv): New function.
18861 * script/argv.c: New file.
18862 (grub_script_argv_free): New function.
18863 (grub_script_argv_next): Likewise.
18864 (grub_script_argv_append): Likewise.
18865 (grub_script_argv_split_append): Likewise.
18866 * include/grub/script_sh.h (grub_script_argv): New struct.
18867 (grub_script_argv_free): New function.
18868 (grub_script_argv_next): Likewise.
18869 (grub_script_argv_append): Likewise.
18870 (grub_script_argv_split_append): Likewise.
18871
18872 * conf/common.rmk (normal.mod): New source script/argv.c.
18873
18874 * tests/grub_script_echo1.in: More tests.
18875 * tests/grub_script_vars1.in: Likewise.
18876 * tests/grub_script_functions.in: New test case.
18877 * conf/tests.rmk: Rules for new testcase.
18878
18879 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
18880
18881 Remove grub_script_cmdblock struct.
18882
18883 * include/grub/script_sh.h: Remove grub_script_cmdblock.
18884 * script/parser.y: Likewise.
18885 * script/execute.c: Rename cmdblock suffix to cmdlist.
18886 * script/script.c: Likewise.
18887 * util/grub-script-check.c: Likewise.
18888
18889 2010-08-11 Yves Blusseau <blusseau@zetam.org>
18890
18891 * .bzrignore: add grub-macho2img
18892
18893 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
18896
18897 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
18898
18899 Remove the dump of sm712 initialisation sequence.
18900
18901 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
18902 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
18903 (GRUB_VGA_IO_MISC_WRITE): Likewise.
18904 (GRUB_VGA_CR_*): Added many registers.
18905 (GRUB_VGA_SR_*): Likewise.
18906 (GRUB_VGA_GR_*): Likewise.
18907 (grub_vga_write_arx): New function.
18908 (grub_video_hw_config): New struct.
18909 (grub_vga_set_geometry): New function.
18910 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
18911 GRUB_PCI_CLASS_SUBCLASS_VGA.
18912 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
18913 * video/sm712.c (grub_sm712_write_reg): New function
18914 (grub_sm712_read_reg): Likewise.
18915 (grub_sm712_sr_write): Likewise.
18916 (grub_sm712_gr_write): Likewise.
18917 (grub_sm712_cr_write): Likewise.
18918 (grub_sm712_write_arx): Likewise.
18919 (grub_sm712_cr_shadow_write): Likewise.
18920 (grub_sm712_write_dda_lookup): Likewise.
18921 (grub_video_sm712_setup): Initialise the video rather then
18922 blindly replay the dump.
18923 (main) [TEST]: Add a routine to be able to compile as standalone for
18924 tests.
18925 * video/sm712_init.c (sm712_init): Removed.
18926 (sm712_sr_seq1): New array.
18927 (sm712_sr_seq2): Likewise.
18928
18929 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18930
18931 * include/grub/vga.h: Add missing grub/pci.h include.
18932
18933 2010-08-10 Yves Blusseau <blusseau@zetam.org>
18934
18935 * util/grub-macho2img.c (main): fix typo
18936
18937 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
18940 (grub_vga_gr_read): Likewise.
18941 (grub_vga_cr_write): Likewise.
18942 (grub_vga_cr_read): Likewise.
18943 (grub_vga_sr_write): Likewise.
18944 (grub_vga_sr_read): Likewise.
18945 (grub_vga_palette_read): Likewise.
18946 (grub_vga_palette_write): Likewise.
18947 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
18948 (grub_sm712_sr_read): New function.
18949 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
18950 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
18951
18952 2010-08-09 Robert Millan <rmh@gnu.org>
18953
18954 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
18955 out unused variables on non-ZFS build.
18956
18957 2010-08-08 Robert Millan <rmh@gnu.org>
18958
18959 Fix path generation for sub-filesystems in ZFS.
18960
18961 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
18962 missing slash.
18963
18964 2010-08-08 Robert Millan <rmh@gnu.org>
18965
18966 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
18967
18968 2010-08-08 Robert Millan <rmh@gnu.org>
18969
18970 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
18971 exist, issue a proper error message (rely on `ls' for translated
18972 strings).
18973
18974 2010-08-08 Robert Millan <rmh@gnu.org>
18975
18976 Fix grub-probe invocation.
18977
18978 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
18979
18980 2010-08-04 Robert Millan <rmh@gnu.org>
18981
18982 * configure.ac: Remove checks for getfsstat() and getmntany().
18983 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
18984 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
18985 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
18986 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
18987 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
18988 function.
18989 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
18990 via find_mount_point_from_dir() and getfsstat() / getmntany().
18991
18992 2010-08-04 Robert Millan <rmh@gnu.org>
18993
18994 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18995 (grub_find_zpool_from_mount_point): Merge into ...
18996 (grub_find_zpool_from_dir): ... this.
18997 * kern/emu/misc.c: Likewise.
18998
18999 * kern/emu/misc.c
19000 (grub_make_system_path_relative_to_its_root): Replace
19001 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19002 with grub_find_zpool_from_dir().
19003 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19004
19005 2010-08-04 Robert Millan <rmh@gnu.org>
19006
19007 Support OpenSolaris in ZFS device resolution.
19008
19009 * configure.ac: Check for getmntany().
19010 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19011 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19012 support.
19013
19014 2010-08-03 Robert Millan <rmh@gnu.org>
19015
19016 Fix grub-emu build.
19017
19018 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19019 * include/grub/emu/misc.h: ... here.
19020
19021 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19022 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19023
19024 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19025 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19026 (grub_get_libzfs_handle): Move to ...
19027 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19028 (grub_get_libzfs_handle): ... here.
19029
19030 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19031
19032 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19033 as command name case.
19034
19035 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
19036
19037 * disk/raid.c (insert_array): Select unique numbers for named arrays
19038 as well, for use as keys in the disk cache.
19039
19040 2010-08-01 Robert Millan <rmh@gnu.org>
19041
19042 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19043 kFreeBSD device name, except on ZFS where the filesystem label is
19044 used.
19045 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19046 `/boot/zfs/zpool.cache'.
19047 Set mountfrom kernel variable using ${kfreebsd_device}.
19048
19049 2010-08-01 Robert Millan <rmh@gnu.org>
19050
19051 Make it even harder to use uninitialized `libzfs_handle' (and
19052 make the interface a bit simpler).
19053
19054 * include/grub/util/misc.h (grub_util_init_libzfs)
19055 (libzfs_handle): Remove.
19056 (grub_get_libzfs_handle): New prototype.
19057
19058 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19059 attribute.
19060 (grub_util_init_libzfs): Remove.
19061 (grub_get_libzfs_handle): New function.
19062
19063 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19064 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19065 accessing `libzfs_handle' directly.
19066
19067 2010-08-01 Robert Millan <rmh@gnu.org>
19068
19069 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19070 (grub_find_zpool_from_mount_point): New function prototypes.
19071
19072 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19073 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19074
19075 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19076 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19077 `static' attribute.
19078
19079 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19080 finding zpool from mount point into ...
19081 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19082
19083 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19084 requested path is part of a ZFS pool, use
19085 grub_find_zpool_from_mount_point() to detect its filesystem name,
19086 and generate a path with `/fsname@path' syntax.
19087
19088 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19089
19090 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19091 (void) rather than () so that this is a proper prototype.
19092
19093 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19096
19097 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19100 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19101
19102 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19103
19104 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19105
19106 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19107
19108 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19109
19110 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19113 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19114 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19115 disable gfxpayload.
19116 (Shell-like scripting): Add real content.
19117 (Serial terminal): Suggest `terminal_input serial; terminal_output
19118 serial' rather than putting the two commands on separate lines,
19119 since console input will be inoperative after the first command.
19120 (menuentry): Document --class, --users, and --hotkey options.
19121 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19122 Vladimir Serbinenko).
19123
19124 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19125 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19126
19127 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19128
19129 2010-08-01 Robert Millan <rmh@gnu.org>
19130
19131 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19132 (grub_find_zpool_from_mount_point): New function prototypes.
19133
19134 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19135 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19136
19137 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19138 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19139 `static' attribute.
19140
19141 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19142 finding zpool from mount point into ...
19143 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19144
19145 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19146 requested path is part of a ZFS pool, use
19147 grub_find_zpool_from_mount_point() to detect its filesystem name,
19148 and generate a path with `/fsname@path' syntax.
19149
19150 2010-08-01 Robert Millan <rmh@gnu.org>
19151
19152 Prevent accidental use of uninitialized libzfs_handle.
19153
19154 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19155 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19156 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19157
19158 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
19159
19160 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19161 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19162
19163 2010-08-01 Robert Millan <rmh@gnu.org>
19164
19165 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
19166
19167 2010-07-31 Robert Millan <rmh@gnu.org>
19168
19169 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19170
19171 2010-07-31 Robert Millan <rmh@gnu.org>
19172
19173 * kern/emu/misc.c: Add missing license header.
19174
19175 2010-07-31 Robert Millan <rmh@gnu.org>
19176
19177 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19178
19179 * include/grub/util/libnvpair.h: Include `<config.h>'.
19180 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19181 declaring libnvpair prototypes ourselves.
19182 * include/grub/util/libzfs.h: Include `<config.h>'.
19183 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19184 declaring libzfs prototypes ourselves.
19185
19186 (libzfs_handle): Moved to ...
19187 * include/grub/util/misc.h (libzfs_handle): ... here.
19188 Include `<grub/util/libzfs.h>'.
19189
19190 2010-07-30 Robert Millan <rmh@gnu.org>
19191
19192 * include/grub/emu/misc.h: Add missing license header.
19193
19194 2010-07-30 Robert Millan <rmh@gnu.org>
19195
19196 Enable `grub-probe -t device' resolution on ZFS.
19197
19198 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19199 * include/grub/util/libnvpair.h: New file.
19200 * include/grub/util/libzfs.h: New file.
19201
19202 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19203 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19204 `<grub/util/libnvpair.h>'.
19205 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19206
19207 (find_mount_point_from_dir): New static function.
19208 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19209 function.
19210 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19211 find_root_device_from_libzfs() before ressorting to find_root_device().
19212
19213 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19214 prototype.
19215 * util/misc.c: Include `<grub/util/libzfs.h>'.
19216 (grub_util_init_libzfs): New function.
19217 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19218 [HAVE_LIBZFS] (fini_libzfs): New static function.
19219 (grub_util_init_libzfs): New function.
19220 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19221
19222 2010-07-30 Robert Millan <rmh@gnu.org>
19223
19224 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19225 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19226 `warn_unused_result' attribute.
19227 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19228 (grub_xasprintf, grub_xvasprintf): Likewise.
19229 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19230
19231 2010-07-29 Robert Millan <rmh@gnu.org>
19232
19233 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19234 (probe): Handle `PRINT_FS_LABEL'.
19235 (main): Handle `-t fs_label'.
19236
19237 2010-07-29 Robert Millan <rmh@gnu.org>
19238
19239 * configure.ac: Remove grub-mkisofs checks.
19240
19241 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19244 Reported by: Lennart Sorensen.
19245
19246 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19249 prior to terminal_input/terminal_output separation. It's been over 1.5
19250 years and those versions weren't widely deployed.
19251
19252 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
19253
19254 * disk/raid.c (insert_array): Don't count named arrays when looking
19255 for unused array numbers.
19256 Reported and tested by: Michael Guntsche.
19257
19258 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19259
19260 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19261 implementation of this so that grub-emu links again, with a note
19262 that this should support hotplugging in the future.
19263
19264 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19265
19266 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19267
19268 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19269
19270 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19271 handle on failure.
19272 (grub_loopback_close): Remove empty function.
19273 (grub_loopback_dev): Remove close method.
19274
19275 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19276
19277 Disable EFI cursor when the EFI console becomes inactive.
19278
19279 * term/efi/console.c (grub_efi_console_init): New function.
19280 (grub_efi_console_fini): New function.
19281 (grub_console_term_output): Register init and fini methods.
19282
19283 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19286 sh script.
19287
19288 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * disk/loopback.c (grub_loopback): Replace filename with file.
19291 (delete_loopback): Handle new semantics.
19292 (grub_cmd_loopback): Likewise.
19293 (grub_loopback_iterate): Likewise.
19294 (grub_loopback_close): Likewise.
19295
19296 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19299 with -p "".
19300 Reported by: Tito Keitel.
19301
19302 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 * docs/grub.texi (Naming convention): Document new naming convention.
19305
19306 2010-07-20 Vadim Solomin <vadic052@gmail.com>
19307 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19308
19309 Generate device.map in something closer to the old ordering.
19310
19311 * util/deviceiter.c (struct device): New declaration.
19312 (compare_file_names): Rename to ...
19313 (compare_devices): ... this. Sort by kernel name in preference to
19314 the stable by-id name, but keep the latter as a fallback comparison.
19315 Update header comment.
19316 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19317 of `struct device' rather than of plain file names.
19318
19319 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19320
19321 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19322 on i386.
19323
19324 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19327 hardcoding size.
19328 (setv1table): Likewise.
19329
19330 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19331
19332 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19333 removing the homehost if present.
19334 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19335 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19336 removing the homehost if present.
19337 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19338 if possible.
19339 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19340
19341 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19342 parameter. Set its pointer target to 0.
19343 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19344 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19345 `data_offset' value from the superblock for 1.x metadata.
19346 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19347 data on the device.
19348 (insert_array): Record the start sector of data on the device.
19349 (grub_raid_register): Pass start_sector parameters to
19350 grub_raid_list->detect and insert_array.
19351 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19352 member.
19353 (struct grub_raid): Add start_sector parameter to `detect'.
19354
19355 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19356 __attribute__ ((packed)), leaving a comment.
19357 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19358 (grub_mdraid_detect_09): ... here and ...
19359 (grub_mdraid_detect_1x): ... here.
19360
19361 2010-07-20 Peter Henn <peter.henn@web.de>
19362
19363 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19364 chunk size and disk size, which are already given as sector counts
19365 as distinct from the 0.90 units. Fetch the correct device number
19366 from the role table instead of using the table index.
19367
19368 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
19369
19370 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19371 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19372 (WriteMostly1): New macro.
19373 Set array->name to NULL for metadata format 0.90. Add support for
19374 metadata 1.x. Fix some comments.
19375 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19376 few comments.
19377 * util/getroot.c (grub_util_get_grub_dev): Add support for
19378 /dev/md/name style devices.
19379
19380 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
19381
19382 * .bzrignore: Ignore 20_linux_xen.
19383
19384 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * util/import_unicode.py: Remove unnecessary imports.
19387
19388 2010-07-17 Aleš Nesrsta <starous@volny.cz>
19389
19390 Hotplugging and USB hub support.
19391
19392 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19393 (grub_ohci): Likewise.
19394 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19395 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
19396 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
19397 (GRUB_OHCI_CTRL_EDS): Likewise.
19398 (GRUB_OHCI_BULK_EDS): Likewise.
19399 (GRUB_OHCI_TDS): Likewise.
19400 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
19401 (grub_ohci_ed_phys2virt): New function.
19402 (grub_ohci_virt_to_phys): Likewise.
19403 (grub_ohci_td_phys2virt): Likewise.
19404 (grub_ohci_td_virt2phys): Likewise.
19405 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
19406 attachment.
19407 (grub_ohci_find_ed): New function.
19408 (grub_ohci_alloc_td): Likewise.
19409 (grub_ohci_free_td): Likewise.
19410 (grub_ohci_free_tds): Likewise.
19411 (grub_ohci_transfer): Use previously allocated memory.
19412 (grub_ohci_portstatus): Reset status changed bit.
19413 (grub_ohci_detect_dev): Supply status changed.
19414 (grub_ohci_fini_hw): Free memory.
19415 (grub_ohci_restore_hw): Reallocate memory.
19416 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
19417 Reset status change.
19418 (grub_uhci_detect_dev): Supply status_change.
19419 * bus/usb/usb.c (attach_hooks): New var.
19420 (grub_usb_device_attach): New function.
19421 (grub_usb_register_attach_hook_class): Likewise.
19422 (grub_usb_unregister_attach_hook_class): Likewise.
19423 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
19424 (grub_usb_add_hub): Reset connection changed bit.
19425 (attach_root_port): New function.
19426 (grub_usb_root_hub): Likewise.
19427 (poll_nonroot_hub): Likewise.
19428 (grub_usb_poll_devices): Likewise.
19429 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
19430 * disk/usbms.c (grub_usbms_open): Use device hooks.
19431 (grub_usbms_iterate) :Poll devices.
19432 (grub_usbms_finddevs): Split into ...
19433 (grub_usbms_attach): ... this ...
19434 (grub_usbms_attach): ... and this.
19435 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
19436 in detect_dev.
19437 (grub_usb_interface): New fields attached and detach_hook.
19438 (grub_usb_attach_hook_class): New type.
19439 (grub_usb_attach_desc): New struct.
19440 (grub_usb_register_attach_hook_class): New function.
19441 (grub_usb_unregister_attach_hook_class): Likewise.
19442 (grub_usb_poll_devices): Likewise.
19443 (grub_usb_device_attach): Likewise.
19444 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
19445 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
19446
19447 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
19450 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
19451 delta determination style. Works with most NetBSD partitions too.
19452
19453 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
19456 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
19457
19458 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
19461
19462 2010-07-14 Anton Blanchard <anton@samba.org>
19463
19464 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
19465 ET_DYN files.
19466
19467 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19468
19469 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
19470
19471 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19472
19473 * kern/partition.c (grub_partition_check_containment): New function to
19474 check that a partition is physically contained in a parent. Since
19475 offsets are relative (and non-negative), this reduces to checking that
19476 the partition ends before its parent.
19477 (grub_partition_map_probe): Discard out-of-range sub-partitions.
19478 (grub_partition_iterate): Likewise.
19479 * include/grub/partition.h (grub_partition_map): Slightly more detailed
19480 comments.
19481 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
19482 partitions that start before their parent, and add debug printfs.
19483
19484 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19485
19486 * Makefile.in (.SUFFIX): Spell correctly, as ...
19487 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
19488 bare module name without `.mod', e.g. `test') tried to invoke a
19489 Modula-2 compiler.
19490
19491 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
19492
19493 * README: Point to the Info manual.
19494
19495 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
19496
19497 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
19498 2nd superblock position from partition size.
19499
19500 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
19501
19502 * Makefile.in (MAINTAINER_CLEANFILES): Remove
19503 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
19504 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
19505 outputs.
19506
19507 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 Restructure SCSI .id handling.
19510 Reported and tested by: Aleš Nesrsta.
19511
19512 * disk/ata.c (grub_atapi_close): Removed. All users updated.
19513 (grub_atapi_dev): Changed .name to "ata". New field .id.
19514 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
19515 (grub_usbms_dev): New field .id.
19516 * disk/scsi.c (grub_scsi_iterate): Generate name.
19517 (grub_scsi_open): Parse name.
19518 * include/grub/scsi.h (grub_make_scsi_id): New function.
19519 (grub_scsi_dev): Change iterate and open to number instead of naming
19520 busses. All users updated.
19521 (grub_scsi): Remove name. Add .bus.
19522
19523 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * commands/help.c (grub_cmd_help): Fix a typo.
19526
19527 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19528
19529 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
19530 Reported and tested by: Colin Watson.
19531
19532 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
19535 in this context.
19536
19537 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
19538
19539 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
19540
19541 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
19542
19543 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
19544 indentation.
19545
19546 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19547
19548 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
19549 and disk/raid6_recover.c.
19550 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19551 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19552
19553 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19554
19555 * term/gfxterm.c (repaint_schedulded): Rename to ...
19556 (repaint_scheduled): ... this. Update all callers.
19557 (repaint_was_schedulded): Rename to ...
19558 (repaint_was_scheduled): ... this. Update all callers.
19559
19560 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19561
19562 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
19563 which we expect to be handled by upper layers.
19564
19565 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
19566
19567 * bus/usb/usbhub.c: #include time.h header.
19568
19569 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19570
19571 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
19572 entry_name also for entries without stat blocks (e.g. ".."); fixes
19573 corruption of the first entry in a directory.
19574
19575 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
19576
19577 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
19578 after setting gfxterm as the active terminal. GRUB_BACKGROUND
19579 doesn't work otherwise.
19580
19581 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19582
19583 * docs/grub.texi (Features): Update list of supported file systems.
19584 (GNU/Linux): Update for GRUB 2.
19585 (Serial terminal): Remove mention of --disable-serial, which was a
19586 GRUB Legacy configure option. Update instructions to use
19587 `terminal_input' and `terminal_output' rather than `terminal'.
19588 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
19589 configuration' and `Installing GRUB using grub-install'.
19590 (Menu entry editor): Update for GRUB 2.
19591 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
19592 Document new -a, -u, and -v options.
19593 (initrd): New section.
19594 (initrd16): New section.
19595 (linux): New section.
19596 (linux16): New section.
19597 (search): The `var' argument to `--set' is optional.
19598 (GRUB only offers a rescue shell): Go into a little more detail on
19599 drive ordering.
19600
19601 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19602
19603 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
19604
19605 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19606
19607 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
19608 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
19609
19610 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
19611
19612 * util/i386/pc/grub-setup.c (setup): Rename prefix to
19613 install_prefix, in line with install_dos_part and install_bsd_part.
19614 Add new prefix variable, which is copied to install_prefix after
19615 comparing core.img in memory with the one read from disk in the
19616 no-embedding case, and use that rather than overwriting
19617 install_prefix immediately when installing to a partition.
19618 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
19619 Bicakci.
19620
19621 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19622
19623 * configure.ac: Avoid == in test command, it's not portable.
19624 * util/grub.d/30_os-prober.in: Likewise.
19625
19626 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
19627
19628 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
19629
19630 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
19631
19632 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
19633 multiple (top-level) partmaps.
19634
19635 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * util/i386/efi/grub-install.in: Don't use empty grub_device.
19638 Reported by: Tino Keitel.
19639
19640 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 Bidi and diacritics support.
19643
19644 * Makefile.in (widthspec.bin): New target.
19645 (widthspec.h): Likewise.
19646 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
19647 * autogen.sh: Generate unidata.c.
19648 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
19649 * commands/ls.c (grub_ls_list_devices): Likewise.
19650 (grub_ls_list_files): Likewise.
19651 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
19652 (grub_mini_cmd_lsmod): Likewise.
19653 * commands/read.c: Likewise.
19654 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
19655 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
19656 * lib/arg.c (grub_arg_show_help): Likewise.
19657 * lib/crypto.c (grub_password_get): Likewise.
19658 * normal/auth.c (grub_username_get): Likewise.
19659 * normal/misc.c (grub_normal_print_device_info): Likewise.
19660 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
19661 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
19662 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
19663 (normal/charset.c_DEPENDENCIES): New variable.
19664 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
19665 (pkglib_MODULES): Remove charset.mod.
19666 (charset_mod_SOURCES): Removed.
19667 (charset_mod_CFLAGS): Likewise.
19668 (charset_mod_LDFLAGS): Likewise.
19669 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
19670 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
19671 and term/tparm.c.
19672 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19673 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19674 (kernel_img_HEADERS): Add terminfo.h.
19675 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
19676 Fill ->font. Reverse ascii bitmaps.
19677 (grub_font_get_xheight): New function.
19678 * font/font.c (grub_font_get_string_width): Moved from here ...
19679 * gfxmenu/font.c (grub_font_get_string_width): ... here.
19680 * font/font.c (grub_font_draw_string): Moved from here ...
19681 * gfxmenu/font.c (grub_font_draw_string): ... here.
19682 * font/font.c (grub_font_dup_glyph): New function.
19683 (grub_font_blit_glyph): Likewise.
19684 (grub_font_blit_glyph_mirror): Likewise.
19685 (blit_comb): Likewise.
19686 (grub_font_construct_dry_run): Likewise.
19687 (grub_font_get_constructed_device_width): Likewise.
19688 (grub_font_construct_glyph): Likewise.
19689 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
19690 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
19691 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
19692 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
19693 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
19694 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
19695 (grub_font_get_xheight): New proto.
19696 (grub_font_get_constructed_device_width): Likewise.
19697 (grub_font_construct_glyph): Likewise.
19698 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
19699 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
19700 * include/grub/font.h (grub_font_draw_string): Moved from here ...
19701 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
19702 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
19703 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
19704 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
19705 (grub_console_getcharwidth): Likewise.
19706 * include/grub/misc.h (grub_xputs): New proto.
19707 (grub_puts): Inlined.
19708 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
19709 (grub_normal_get_line_counter): Removed.
19710 (grub_install_newline_hook): Likewise.
19711 (grub_normal_get_char_counter): New proto.
19712 (grub_normal_reset_more): Likewise.
19713 (grub_xputs_normal): Likewise.
19714 * include/grub/powerpc/ieee1275/console.h: Removed.
19715 * include/grub/sparc64/ieee1275/console.h: Likewise.
19716 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
19717 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
19718 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
19719 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
19720 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
19721 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
19722 (grub_term_input): Pass reference to self. All users updated.
19723 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
19724 Pass reference to self. New fields normal_color, highlight_color and
19725 data. All users updated.
19726 (grub_putchar): Removed.
19727 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
19728 (grub_unicode_estimate_width): New function.
19729 (grub_term_getcharwidth): Add defaults.
19730 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
19731 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
19732 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
19733 (grub_cls): Remove EXPORT_FUNC.
19734 (grub_setcolorstate): Inline.
19735 (grub_newline_hook): Removed.
19736 * include/grub/terminfo.h: Rewritten. All users updated.
19737 * include/grub/unicode.h: New file.
19738 * include/grub/video.h (grub_video_signed_rect): New type.
19739 * kern/emu/console.c (grub_console_highlight_color): Removed.
19740 (grub_console_normal_color): Likewise.
19741 (grub_console_standard_color): Made static.
19742 (grub_ncurses_putchar): Remove mapping.
19743 (grub_ncurses_getcharwidth): Removed.
19744 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19745 (grub_ncurses_setcolor): Removed.
19746 (grub_ncurses_getcolor): Likewise.
19747 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
19748 (grub_console_putchar): ... this.
19749 (grub_console_putchar): Handle argument difference.
19750 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
19751 console_init_early and console_init_lately.
19752 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
19753 * kern/misc.c (grub_puts): Removed.
19754 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
19755 (grub_vsnprintf_real): Remove str = NULL support.
19756 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
19757 * normal/charset.c (grub_utf8_to_ucs4): ... here.
19758 * kern/term.c (grub_putcode): Renamed to ...
19759 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
19760 (grub_putchar): Removed.
19761 (grub_xputs_dumb): New function.
19762 (grub_xputs): New variable.
19763 * lib/charset.c: Move from here ...
19764 * normal/charset.c: ... to here.
19765 (grub_ucs4_to_utf8): New function.
19766 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
19767 (join_types): New variable.
19768 (unpack_join): New function.
19769 (bidi_types): New variable.
19770 (unpack_bidi): New function.
19771 (get_bidi_type): Likewise.
19772 (get_join_type): Likewise.
19773 (is_mirrored): Likewise.
19774 (grub_unicode_get_comb_type): Likewise.
19775 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
19776 (is_type_after): Likewise.
19777 (grub_unicode_aglomerate_comb): Likewise.
19778 (bidi_line_wrap): Likewise.
19779 (grub_bidi_line_logical_to_visual): Likewise.
19780 (grub_bidi_logical_to_visual): Likewise.
19781 (grub_unicode_mirror_code): Likewise.
19782 (grub_unicode_shape_code): Likewise.
19783 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
19784 Don't use grub_putchar.
19785 * normal/main.c (grub_normal_init_page): Use grub_putcode.
19786 (grub_normal_reader_init): Likewise.
19787 (grub_xputs_saved): New variable.
19788 (GRUB_MOD_INIT): Set grub_xputs.
19789 (GRUB_MOD_FINI): Restore grub_xputs.
19790 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
19791 (menu_init): Avoid printing gfxmenu error.
19792 (show_menu): Use grub_normal_get_char_counter.
19793 * normal/menu_entry.c (update_screen): Fix out-of-array.
19794 (complete): Avoid NULL dereferencing.
19795 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
19796 * normal/menu_text.c (print_spaces): Removed.
19797 (grub_print_ucs4): Likewise.
19798 (grub_print_message_indented): Use grub_print_ucs4.
19799 (print_message): Use grub_putcode.
19800 (print_entry): Hanlde diacritics.
19801 * normal/term.c (term_state): New type.
19802 (grub_more_lines): Removed.
19803 (term_states): New variable.
19804 (grub_normal_line_counter): Renamed to ..
19805 (grub_normal_char_counter): ...this. All users updated.
19806 (grub_normal_get_line_counter): Renamed to ...
19807 (grub_normal_get_char_counter): ... this.
19808 (grub_normal_reset_more): New function.
19809 (process_newline): Removed.
19810 (print_more): New function.
19811 (grub_install_newline_hook): Removed.
19812 (map_code): New function.
19813 (grub_puts_terminal): Use grub_print_ucs4.
19814 (putglyph): New function.
19815 (putcode_real): Likewise.
19816 (grub_putcode): Use putcode_real.
19817 (get_maxwidth): New function.
19818 (get_startwidth): Likewise.
19819 (print_ucs4_terminal): Likewise.
19820 (find_term_state): Likewise.
19821 (put_glyphs_terminal): Likewise.
19822 (print_backlog): Likewise.
19823 (print_ucs4_real): Likewise.
19824 (grub_print_ucs4): Likewise.
19825 (grub_xputs_normal): Likewise.
19826 * term/efi/console.c (grub_console_putchar): Output diacritics.
19827 (grub_console_getcharwidth): Removed.
19828 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19829 * term/gfxterm.c (clear_char): Free chars.
19830 (scroll_up): Avoid leaking memory.
19831 (grub_gfxterm_putchar): Support diacritics.
19832 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
19833 * term/i386/pc/console.c (grub_console_term_output): Declare as
19834 GRUB_TERM_CODE_TYPE_VGA.
19835 * term/i386/pc/vga.c (grub_vga_term): Declare as
19836 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
19837 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
19838 GRUB_TERM_CODE_TYPE_VGA.
19839 * term/i386/vga_common.c (map_char): Removed.
19840 (grub_console_putchar): Likewise.
19841 (grub_console_getcharwidth): Likewise.
19842 * term/ieee1275/ofconsole.c: Simplify using terminfo.
19843 (colors): Reordered to match terminfo.
19844 (grub_ofconsole_normal_color): Removed.
19845 (grub_ofconsole_writeesc): Likewise.
19846 (grub_ofconsole_highlight_color): Likewise.
19847 (grub_ofconsole_getcharwidth): Likewise.
19848 (grub_ofconsole_setcolorstate): Likewise.
19849 (grub_ofconsole_setcolor): Likewise.
19850 (grub_ofconsole_getcolor): Likewise.
19851 (grub_ofconsole_readkey): Renamed to ...
19852 (readkey): ... this. Remove escape sequence handling. Return -1 on no
19853 key.
19854 (grub_ofconsole_checkkey): Removed.
19855 (grub_ofconsole_getkey): Likewise.
19856 (grub_ofconsole_getxy): Likewise.
19857 (grub_ofconsole_gotoxy): Likewise.
19858 (grub_ofconsole_cls): Likewise.
19859 (grub_ofconsole_refresh): Likewise.
19860 (grub_ofconsole_terminfo_input): New struct.
19861 (grub_ofconsole_terminfo_output): Likewise.
19862 (grub_ofconsole_term_input): Use terminfo.
19863 (grub_ofconsole_term_output): Likewise.
19864 (grub_console_init): Split into ...
19865 (grub_console_init_early): ...this and ...
19866 (grub_console_init_lately): ...this. Use terminfo.
19867 (grub_ofconsole_putchar): Renamed to ...
19868 (put): ... this. Remove mapping.
19869 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
19870 * term/serial.c: Simplify using terminfo.
19871 (xpos): Removed.
19872 (ypos): Likewise.
19873 (keep_track): Likewise.
19874 (registered): Likewise.
19875 (input_buf): Likewise.
19876 (npending): Likewise.
19877 (serial_translate_key_sequence): Likewise.
19878 (fill_input_buf): Likewise.
19879 (grub_serial_checkkey): Likewise.
19880 (grub_serial_getkey): Likewise.
19881 (grub_serial_getxy): Likewise.
19882 (grub_serial_gotoxy): Likewise.
19883 (grub_serial_putchar): Likewise.
19884 (grub_serial_cls): Likewise.
19885 (grub_serial_setcolorstate): Likewise.
19886 (grub_serial_setcursor): Likewise.
19887 (serial_hw_init): Use serial_hw_fetch.
19888 (grub_serial_terminfo_input): New variable.
19889 (grub_serial_terminfo_output): Likewise.
19890 (grub_serial_term_input): Use terminfo.
19891 (grub_serial_term_output): Likewise.
19892 * term/terminfo.c (putstr): Use put.
19893 (grub_terminfo_all_free): New function
19894 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
19895 (grub_terminfo_output_register): New function.
19896 (grub_terminfo_output_unregister): Likewise.
19897 (grub_terminfo_getxy): Likewise.
19898 (grub_terminfo_readkey): Likewise.
19899 (grub_terminfo_checkkey): Likewise.
19900 (grub_terminfo_getkey): Likewise.
19901 (grub_terminfo_input_init): Likewise.
19902 (print_terminfo): Likewise.
19903 (grub_cmd_terminfo): Handle encoding.
19904 (grub_terminfo_gotoxy): Track position.
19905 (grub_terminfo_cls): Likewise.
19906 (grub_terminfo_putchar): Likewise.
19907 (grub_terminfo_setcolorstate): Handle colors
19908 (grub_terminfo_cursor_on): This ...
19909 (grub_terminfo_cursor_off): ... and this merged into ...
19910 (grub_terminfo_setcursor): ... this.
19911 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
19912 * unicode/ArabicShaping.txt: New file (imported from Unicode).
19913 * unicode/BidiMirroring.txt: Likewise.
19914 * unicode/UnicodeData.txt: Likewise.
19915 * unicode/COPYING: Likewise.
19916 * util/grub-editenv.c (grub_putchar): Removed.
19917 (grub_xputs_real): New function.
19918 (grub_xputs): New variable.
19919 * util/grub-fstest.c (grub_putchar): Removed.
19920 (grub_xputs_real): New function.
19921 (grub_xputs): New variable.
19922 * util/grub-mkdevicemap.c (grub_putchar): Removed.
19923 (grub_xputs_real): New function.
19924 (grub_xputs): New variable.
19925 * util/grub-probe.c (grub_putchar): Removed.
19926 (grub_xputs_real): New function.
19927 (grub_xputs): New variable.
19928 * util/grub-script-check.c (grub_putchar): Removed.
19929 (grub_xputs_real): New function.
19930 (grub_xputs): New variable.
19931 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
19932 (grub_xputs_real): New function.
19933 (grub_xputs): New variable.
19934 * util/import_unicode.py: New file.
19935 * util/grub-mkfont.c (ft_errmsgs): New array.
19936 (grub_glyph_info): Make bitmap a pointer.
19937 (file_formats): New type WIDTH_SPEC.
19938 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
19939 (options): Add width-spec.
19940 (help): Likewise.
19941 (add_char): Renamed to ...
19942 (add_glyph): ... this.
19943 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
19944 (glyph_replace): New type.
19945 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
19946 (add_char): New function.
19947 (add_subst): Likewise.
19948 (process_cursive): Likewise.
19949 (add_font): Handle GSUB.
19950 (write_font_width_spec): New function.
19951 (main): Sort glyphs.
19952 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
19953 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
19954 * kern/term.c (grub_cls): Moved from here...
19955 * normal/term.c (grub_cls): ... here.
19956
19957 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19958
19959 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
19960 suitable for using within the format argument of printf when
19961 converting grub_size_t.
19962 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
19963 "x" to convert grub_size_t arguments.
19964
19965 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
19968 too long captions.
19969 (list_get_minimal_size): Take selection box into account.
19970
19971 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
19974 NULL font.
19975
19976 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19977
19978 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
19979 devices when iterating over /dev/disk/by-id; they will be handled
19980 later if appropriate, which they aren't always (e.g. LVM).
19981
19982 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19983
19984 * include/grub/misc.h (grub_reboot): Declare as noreturn.
19985 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
19986 fails.
19987 (grub_halt): Likewise.
19988 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
19989 reset-all fails.
19990 (grub_halt): Don't return, even if all of shut-down, power-off, and
19991 poweroff fail.
19992
19993 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19994
19995 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
19996 arguments, not three.
19997
19998 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
19999
20000 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20001 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20002 LVM-on-RAID is handled correctly.
20003
20004 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
20005
20006 * docs/grub.texi (Changes from GRUB Legacy): New section.
20007 (Future): Fix typo.
20008
20009 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
20010
20011 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20012 grub.d/README accidentally ends up executable for one reason or
20013 another. Ignore it.
20014
20015 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20018 (gpt_partition_map_iterate): Support non-512B sectors.
20019
20020 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20023 Tested by: Seth Goldberg.
20024
20025 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20028 Properly align mbi.
20029 Reported by: Seth Goldberg.
20030
20031 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20032
20033 * util/grub-mkrescue.in: Avoid module duplication.
20034
20035 2010-07-01 Sean Finney <seanius@seanius.net>
20036
20037 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20038
20039 2010-07-01 Sean Finney <seanius@seanius.net>
20040
20041 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20042
20043 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * disk/lvm.c (grub_lvm_checkvalue): New function.
20046 (grub_lvm_check_flag): Likewise.
20047
20048 2010-07-01 Robert Millan <rmh@gnu.org>
20049
20050 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20051 Support 'p' as partition separator on kernel of FreeBSD (used
20052 with GPT labels).
20053 (grub_util_biosdisk_get_grub_dev): Likewise.
20054
20055 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 Yeeloong firmware port.
20058
20059 * boot/mips/yeeloong/fwstart.S: New file.
20060 * bus/cs5536.c (gpiodump): New const.
20061 (set_io_space): New function.
20062 (set_iod): Likewise.
20063 (set_p2d): Likewise.
20064 (grub_cs5536_init_geode): Likewise.
20065 * commands/mips/yeeloong/lsspd.c: New file.
20066 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20067 (serial_mod_SOURCES): New variable.
20068 (serial_mod_CFLAGS): Likewise.
20069 (serial_mod_LDFLAGS): Likewise.
20070 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20071 term/terminfo.c and term/tparm.c.
20072 (pkglib_IMAGES): Add fwstart.img.
20073 (fwstart_img_SOURCES): New variable.
20074 (fwstart_img_CFLAGS): Likewise.
20075 (fwstart_img_ASFLAGS): Likewise.
20076 (fwstart_img_LDFLAGS): Likewise.
20077 (fwstart_img_FORMAT): Likewise.
20078 (pkglib_MODULES): Add lsspd.mod.
20079 (lsspd_mod_SOURCES): New variable.
20080 (lsspd_mod_CFLAGS): Likewise.
20081 (lsspd_mod_LDFLAGS): Likewise.
20082 (pkglib_MODULES): Add halt.mod.
20083 (halt_mod_SOURCES): New variable.
20084 (halt_mod_CFLAGS): Likewise.
20085 (halt_mod_LDFLAGS): Likewise.
20086 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20087 (serial_mod_SOURCES): Removed.
20088 (serial_mod_CFLAGS): Likewise.
20089 (serial_mod_LDFLAGS): Likewise.
20090 * disk/ata.c (check_device): New function.
20091 (grub_ata_device_initialize): Use check_device.
20092 (grub_ata_iterate): Recheck devices.
20093 (grub_ata_open): Likewise.
20094 (grub_atapi_iterate): Likewise.
20095 (grub_atapi_open): Likewise.
20096 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20097 (GRUB_ATA_CH1_PORT1): Likewise.
20098 (GRUB_ATA_CH0_PORT2): Likewise.
20099 (GRUB_ATA_CH1_PORT2): Likewise.
20100 * include/grub/mips/loongson.h: New file.
20101 * include/grub/mips/yeeloong/ec.h: Likewise.
20102 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20103 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20104 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20105 * include/grub/misc.h (grub_halt): Declare as noreturn.
20106 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20107 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20108 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20109 (UART_ENABLE_DTRRTS): Likewise.
20110 (UART_ENABLE_MODEM): Removed.
20111 (UART_ENABLE_OUT2): New const.
20112 * include/grub/term.h (grub_term_register_input_active): New function.
20113 (grub_term_register_output_active): Likewise.
20114 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20115 argument.
20116 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20117 (init_pci): New function.
20118 (grub_machine_init): Execute platform init when firmware. Init serial.
20119 (grub_halt): Implement.
20120 (grub_exit): Likewise.
20121 (grub_reboot): Likewise.
20122 * term/serial.c (serial_hw_init): Update macros.
20123 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20124 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20125 (image_targets): New target mipsel-yeeloong-flash.
20126 (generate_image): Support IMAGE_YEELOONG_FLASH.
20127 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20128 (grub_video_sm712_setup): Init card.
20129 (grub_video_sm712_set_palette): Removed.
20130 * video/sm712_init.c: New file.
20131
20132 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
20133
20134 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20135 PATH when running help2man and then run it on the unadorned
20136 executable names, rather than passing $(builddir)/* paths to
20137 help2man. This avoids the build directory ending up in generated
20138 manual pages.
20139
20140 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
20141
20142 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20143 to avoid accidents when debugging with 'sh -x'.
20144 * util/grub-mkrescue.in: Likewise.
20145 * util/grub.d/00_header.in: Likewise.
20146 * util/grub.d/10_hurd.in: Likewise.
20147 * util/grub.d/10_kfreebsd.in: Likewise.
20148 * util/grub.d/10_linux.in: Likewise.
20149 * util/grub.d/10_netbsd.in: Likewise.
20150 * util/grub.d/10_windows.in: Likewise.
20151 * util/grub.d/20_linux_xen.in: Likewise.
20152 * util/grub.d/30_os-prober.in: Likewise.
20153 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20154
20155 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
20156
20157 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20158 last character in the buffer.
20159 Reported by: Vladimir Serbinenko.
20160
20161 2010-06-29 Robert Millan <rmh@gnu.org>
20162
20163 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20164 (Command-line and menu entry commands): Document `badram' command.
20165
20166 2010-06-28 Robert Millan <rmh@gnu.org>
20167
20168 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20169 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20170 command using ${GRUB_BADRAM} as parameter.
20171
20172 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * docs/grub.texi (Device map): New section.
20175 (Themes): New section (stub).
20176 * Makefile.in (docs/grub.info): The info documentation now builds
20177 without errors. Make sure it stays that way.
20178
20179 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 Use normal parser for menu entries.
20182 Reported by: Thomas Frauendorfer
20183
20184 * include/grub/parser.h (grub_parser_execute): Don't export.
20185 * normal/menu.c (grub_menu_execute_entry_real): New function.
20186 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20187
20188 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20189
20190 * docs/grub.texi (Embedded configuration): New section (replacing
20191 old "Preset Menu" stub).
20192 (Images): New section.
20193 (configfile): Note that any menu entries defined in `file' are shown
20194 immediately.
20195
20196 2010-06-28 Josh Triplett <josh@joshtriplett.org>
20197
20198 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20199
20200 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20201
20202 * util/grub-install.in: Add --debug-image= option.
20203
20204 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20205
20206 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20207 possible on Linux.
20208
20209 * util/deviceiter.c (check_device): Rename to ...
20210 (check_device_readable_unique): ... this. Update all callers.
20211 Maintain and check a list of which devices (by canonicalized name)
20212 have already been seen.
20213 (clear_seen_devices): New function.
20214 (compare_file_names) [__linux__]: New function.
20215 (grub_util_iterate_devices): Clear the list of seen devices on exit
20216 and (just in case) on entry.
20217 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20218 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20219 seen-devices list, superseded by general code in check_device.
20220
20221 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
20222
20223 * commands/cat.c (options): New variable.
20224 (grub_cmd_cat): Parse options. If the --dos option is given, print
20225 DOS-style "\r\n" line endings as simple newlines (Debian bug
20226 #586358).
20227 (GRUB_MOD_INIT): Use extcmd.
20228 (GRUB_MOD_FINI): Likewise.
20229 * docs/grub.texi (cat): Document --dos.
20230
20231 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20232
20233 XEN with Linux grub-mkconfig support.
20234
20235 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20236 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20237 GRUB_CMDLINE_XEN_DEFAULT.
20238 * util/grub.d/20_linux_xen.in: New file.
20239
20240 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 Initialise VGA video on qemu ourselves.
20243
20244 * boot/i386/qemu/boot.S: Don't call 0xc000.
20245 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20246 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20247 (kernel_img_HEADERS): Add pci.h.
20248 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20249 * configure.ac: Force unifont on qemu and yeeloong.
20250 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20251 (grub_vga_palette_write): Use correct register.
20252 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20253 Call grub_qemu_init_cirrus.
20254 * kern/i386/qemu/init.c: New file.
20255 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20256
20257 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20258
20259 2010-06-26 Pavel Roskin <proski@gnu.org>
20260
20261 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20262 13.
20263
20264 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20265
20266 * docs/grub.texi (Simple configuration): Explain that
20267 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20268 set to `true' to disable their respective recovery entries, not
20269 merely set.
20270
20271 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
20272
20273 Make the `source' command slightly faster.
20274
20275 * normal/main.c (grub_normal_execute): Don't re-read list files when
20276 nested.
20277
20278 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20279
20280 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20281 field position and mask size to red fields from mode_info, not
20282 green.
20283 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20284 Remove redundant tag->common.framebuffer_type assignment.
20285 Reported by: Seth Goldberg.
20286
20287 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
20288
20289 Sync up other versions of the Linux loader with Robert Millan's
20290 change of 2010-01-09, "Make loader output a bit more user-friendly".
20291
20292 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20293 grub_dprintf().
20294 (grub_cmd_linux): Likewise.
20295 (grub_cmd_initrd): Likewise.
20296 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20297 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20298
20299 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
20300
20301 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20302 larger than MEMORY_MAP_SIZE.
20303
20304 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20305
20306 Fix parallel build.
20307
20308 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20309 dependency.
20310 * script/parser.y: #include grub_script.tab.h header.
20311
20312 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 Support >3GiB and <16MiB RAM in i386-qemu.
20315
20316 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20317 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20318 (grub_lower_mem): Removed.
20319 (grub_upper_mem): Likewise.
20320 (mem_size): Made static.
20321 (above_4g): New variable.
20322 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20323 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20324 support.
20325
20326 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20327
20328 Cirrus 5446 and Bochs video cards support.
20329
20330 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20331 video_bochs.mod
20332 (video_cirrus_mod_SOURCES): New variable.
20333 (video_cirrus_mod_CFLAGS): Likewise.
20334 (video_cirrus_mod_LDFLAGS): Likewise.
20335 (video_bochs_mod_SOURCES): Likewise.
20336 (video_bochs_mod_CFLAGS): Likewise.
20337 (video_bochs_mod_LDFLAGS): Likewise.
20338 * include/grub/vga.h: New file.
20339 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20340 (grub_video_fb_set_page_t): New type.
20341 (grub_video_fb_setup): New prototype.
20342 (grub_video_fb_swap_buffers): Likewise.
20343 (grub_video_fb_get_info_and_fini): Likewise.
20344 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20345 (CRTC_DATA_PORT): Likewise.
20346 (CRTC_CURSOR): Likewise.
20347 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20348 (CRTC_CURSOR_ADDR_LOW): Likewise.
20349 (CRTC_CURSOR_DISABLE): Likewise.
20350 (update_cursor): Use grub_vga_cr_write.
20351 (grub_vga_text_setcursor): Likewise.
20352 * video/bochs.c: New file.
20353 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20354 (palette): Likewise.
20355 (palette_size): Likewise.
20356 (framebuffer): New variable.
20357 (grub_video_fb_init): Use 'framebuffer'.
20358 (grub_video_fb_fini): Likewise.
20359 (grub_video_fb_get_info): Likewise.
20360 (grub_video_fb_get_palette): Likewise.
20361 (grub_video_fb_set_palette): Likewise.
20362 (grub_video_fb_set_viewport): Likewise.
20363 (grub_video_fb_get_viewport): Likewise.
20364 (grub_video_fb_map_color): Likewise.
20365 (grub_video_fb_map_rgb): Likewise.
20366 (grub_video_fb_map_rgba): Likewise.
20367 (grub_video_fb_unmap_color): Likewise.
20368 (grub_video_fb_unmap_color_int): Likewise.
20369 (grub_video_fb_fill_rect): Likewise.
20370 (grub_video_fb_blit_bitmap): Likewise.
20371 (grub_video_fb_blit_render_target): Likewise.
20372 (grub_video_fb_scroll): Likewise.
20373 (grub_video_fb_create_render_target): Likewise.
20374 (grub_video_fb_doublebuf_blit_init): Likewise.
20375 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20376 (doublebuf_pageflipping_update_screen): New function.
20377 (doublebuf_pageflipping_init): Likewise.
20378 (grub_video_fb_setup): Likewise.
20379 (grub_video_fb_swap_buffers): Likewise.
20380 (grub_video_fb_get_info_and_fini): Likewise.
20381 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20382 All users updated.
20383 (doublebuf_pageflipping_commit): Restructured into ...
20384 (doublebuf_pageflipping_set_page): ... this.
20385 (doublebuf_pageflipping_update_screen): Removed.
20386 (doublebuf_pageflipping_init): Likewise.
20387 (double_buffering_init): Likewise.
20388 (grub_video_vbe_setup): Use grub_video_fb_setup.
20389 (grub_video_vbe_swap_buffers): Removed.
20390 (grub_video_vbe_set_active_render_target): Likewise.
20391 (grub_video_vbe_get_active_render_target): Likewise.
20392 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20393 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20394 grub_video_fb_set_active_render_target and
20395 grub_video_fb_get_active_render_target.
20396 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
20397 (SEQUENCER_DATA_PORT): Likewise.
20398 (MAP_MASK_REGISTER): Likewise.
20399 (CRTC_ADDR_PORT): Likewise.
20400 (CRTC_DATA_PORT): Likewise.
20401 (START_ADDR_HIGH_REGISTER): Likewise.
20402 (START_ADDR_LOW_REGISTER): Likewise.
20403 (GRAPHICS_ADDR_PORT): Likewise.
20404 (GRAPHICS_DATA_PORT): Likewise.
20405 (READ_MAP_REGISTER): Likewise.
20406 (INPUT_STATUS1_REGISTER): Likewise.
20407 (INPUT_STATUS1_VERTR_BIT): Likewise.
20408 (get_map_mask): Use grub_vga_sr_read.
20409 (set_map_mask): Use grub_vga_sr_write.
20410 (set_read_map): Use grub_vga_gr_write.
20411 (set_start_address): Use grub_vga_cr_write.
20412 * video/sm712.c (framebuffer): Remove leftover fields.
20413
20414 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
20415
20416 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
20417 setting GRUB_VIDEO_BACKEND. Make it available as a user override
20418 instead. Replace the gfxterm backend check with a check that
20419 ${GRUB_PREFIX}/video.lst is non-empty.
20420 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
20421 again.
20422 (load_video): New generated function. Call it before loading
20423 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
20424 * util/grub.d/10_linux.in (linux_entry): Call load_video.
20425 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
20426 * docs/grub.texi (Simple configuration): Document
20427 GRUB_VIDEO_BACKEND.
20428
20429 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 Use video functions in linux and xnu loaders.
20432
20433 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
20434 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
20435 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
20436 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
20437 loader/i386/pc/linux.c.
20438 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
20439 (find_line_len): Removed.
20440 (find_framebuf): Likewise.
20441 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
20442 * loader/i386/efi/xnu.c: Removed.
20443 * loader/i386/pc/xnu.c: Moved from here...
20444 * loader/i386/xnu.c: ...here.
20445
20446 Enable priorities in video drivers.
20447
20448 * include/grub/video.h (grub_video_adapter_prio_t): New type.
20449 (grub_video_adapter): New field prio.
20450 (grub_video_register): Respect prio when inserting.
20451 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
20452 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
20453 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
20454 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
20455 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
20456 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
20457 * video/sm712.c (grub_video_sm712_adapter): Likewise.
20458
20459 Fix SDL driver ID.
20460
20461 * include/grub/video.h (grub_video_driver_id_t): New value
20462 GRUB_VIDEO_DRIVER_SDL.
20463 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
20464
20465 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20466
20467 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
20468 argument to printf.
20469 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20470
20471 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20472
20473 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
20474 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20475
20476 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20477
20478 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
20479 directly, and recommend grub-install instead.
20480 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
20481
20482 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
20483
20484 Fix i386-pc prefix handling with nested partitions (Debian bug
20485 #585068). Note that the case where the core image is booted using
20486 multiboot and relocated from its original location still requires
20487 more work.
20488
20489 * kern/i386/pc/init.c (make_install_device): If the prefix starts
20490 with "(,", fill the boot drive in between those two characters, but
20491 expect that a full partition specification including partition map
20492 names will follow.
20493 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
20494 specified, write a prefix without the drive name but including a
20495 full partition specification.
20496
20497 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
20498
20499 * util/grub-mkconfig.in: Ignore non-option arguments, for
20500 compatibility with older versions (before 2010-06-12) which did the
20501 same. In particular, this makes it easier to ship an update-grub
20502 wrapper which is compatible with that used with GRUB Legacy (Debian
20503 bug #586056).
20504
20505 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20506
20507 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
20508 for manual page generation.
20509
20510 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20511
20512 * po/POTFILES: Remove leftover commands/handler.c.
20513
20514 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20515
20516 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
20517 left this script non-functional.
20518
20519 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
20520
20521 * docs/man/grub-emu.h2m: New file.
20522
20523 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
20524
20525 * docs/grub.texi (Commands): Document reduced command set in rescue
20526 mode.
20527 (cpuid): New section.
20528
20529 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
20530
20531 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
20532 new partition naming style.
20533 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
20534
20535 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
20536
20537 Add "-o grub.iso" like cmdline options support.
20538
20539 * util/grub-install.in: Improve cmdline option parsing.
20540 * util/grub-mkconfig.in: Likewise.
20541 * util/grub-mkrescue.in: Likewise.
20542 * util/grub-reboot.in: Likewise.
20543 * util/grub-set-default.in: Likewise.
20544 * util/i386/efi/grub-install.in: Likewise.
20545 * util/ieee1275/grub-install.in: Likewise.
20546 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20547
20548 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20549
20550 * .bzrignore: Ignore 41_custom.
20551
20552 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20553
20554 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
20555
20556 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20557
20558 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
20559 prototype declarations.
20560
20561 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
20562 generating fs, partmap, and video lists.
20563 * include/grub/fs.h (grub_fs_register): Omit prototype if
20564 GRUB_LST_GENERATOR is defined.
20565 * include/grub/partition.h (grub_partition_map_register): Likewise.
20566 * include/grub/video.h (grub_video_register): Likewise.
20567
20568 2010-06-12 Javier Martín <lordhabbit@gmail.com>
20569
20570 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
20571
20572 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
20573
20574 * util/grub-mkrescue.in: Support --xorriso argument.
20575
20576 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20577
20578 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
20579 Suggested by: Thomas Schmitt.
20580
20581 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
20584 Suggested by: Thomas Schmitt.
20585
20586 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 custom.cfg support.
20589
20590 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
20591 * util/grub.d/41_custom.in: New file.
20592
20593 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
20594
20595 * util/grub-mkrescue.in (make_image): Remove sh module, which has
20596 been merged back into normal.
20597
20598 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20599
20600 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
20601 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
20602
20603 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
20604
20605 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
20606 when generating manual pages.
20607 * docs/man/grub-bin2h.h2m: New file.
20608 * docs/man/grub-editenv.h2m: New file.
20609 * docs/man/grub-fstest.h2m: New file.
20610 * docs/man/grub-install.h2m: New file.
20611 * docs/man/grub-macho2img.h2m: New file.
20612 * docs/man/grub-mkconfig.h2m: New file.
20613 * docs/man/grub-mkdevicemap.h2m: New file.
20614 * docs/man/grub-mkfont.h2m: New file.
20615 * docs/man/grub-mkimage.h2m: New file.
20616 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
20617 * docs/man/grub-mkrelpath.h2m: New file.
20618 * docs/man/grub-mkrescue.h2m: New file.
20619 * docs/man/grub-ofpathname.h2m: New file.
20620 * docs/man/grub-pe2elf.h2m: New file.
20621 * docs/man/grub-probe.h2m: New file.
20622 * docs/man/grub-reboot.h2m: New file.
20623 * docs/man/grub-script-check.h2m: New file.
20624 * docs/man/grub-set-default.h2m: New file.
20625 * docs/man/grub-setup.h2m: New file.
20626
20627 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 Use FOR_* macros instead of *_iterate whenever possible.
20630
20631 * commands/handler.c: Removed.
20632 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
20633 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
20634 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20635 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
20636 (grub_probe_SOURCES): Remove kern/parser.c.
20637 (util/grub-script-check.c_DEPENDENCIES): Removed.
20638 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
20639 and grub_script_check_init.c.
20640 (grub_script_check_init.lst): Removed.
20641 (grub_script_check_init.h): Likewise.
20642 (grub_script_check_init.c): Likewise.
20643 (pkglib_MODULES): Remove handler.mod and sh.mod.
20644 (handler_mod_SOURCES): Removed.
20645 (handler_mod_CFLAGS): Likewise.
20646 (handler_mod_LDFLAGS): Likewise.
20647 (normal_mod_SOURCES): Remove normal/handler.c.
20648 Add script/main.c, script/script.c, script/execute.c,
20649 script/function.c, script/lexer.c, grub_script.tab.c
20650 and grub_script.yy.c.
20651 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20652 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20653 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
20654 (grub_setup_SOURCES): Remove kern/parser.c.
20655 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20656 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
20657 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20658 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20659 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20660 (grub_setup_SOURCES): Remove kern/parser.c.
20661 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
20662 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
20663 * include/grub/command.h (grub_command_iterate): Removed.
20664 (FOR_COMMANDS): New macro.
20665 * include/grub/dl.h (grub_dl): New member next.
20666 (grub_dl_iterate): Removed.
20667 (grub_dl_head): New variable declaration.
20668 (FOR_DL_MODULES): New macro.
20669 * include/grub/fs.h: Include list.h.
20670 (grub_fs): Make next first element.
20671 (grub_fs_list): New variable declaration.
20672 (grub_fs_register): Make inline.
20673 (grub_fs_unregister): Likewise.
20674 (grub_fs_iterate): Removed.
20675 (FOR_FILESYSTEMS): New macro.
20676 * include/grub/handler.h: Removed.
20677 * include/grub/list.h (grub_list_hook_t): Removed.
20678 (grub_list_test_t): Likewise.
20679 (grub_list_pop): Likewise.
20680 (grub_list_iterate): Likewise.
20681 (grub_list_insert): Likewise.
20682 (FOR_LIST_ELEMENTS): New macro.
20683 * include/grub/parser.h (grub_parser_class): Removed.
20684 (grub_parser_register): Likewise.
20685 (grub_parser_unregister): Likewise.
20686 (grub_parser_get_current): Likewise.
20687 (grub_parser_set_current): Likewise.
20688 (grub_register_rescue_parser): Likewise.
20689 (grub_rescue_parse_line): New function.
20690 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
20691 * include/grub/script_sh.h (grub_script_function_list): New variable
20692 declaration.
20693 (FOR_SCRIPT_FUNCTIONS): New macro.
20694 (grub_script_function_iterate): Removed.
20695 (grub_normal_parse_line): New prototype.
20696 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
20697 (FOR_DISABLED_TERM_INPUTS): Likewise.
20698 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20699 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20700 * include/grub/video.h (grub_video_adapter): Move 'next' to first
20701 element.
20702 (grub_video_register): Inline.
20703 (grub_video_unregister): Likewise.
20704 (grub_video_adapter_list): New variable declaration.
20705 (grub_video_iterate): Removed.
20706 (FOR_VIDEO_ADAPTERS): New macro.
20707 * kern/dl.c (grub_dl_list): Removed. All users updated.
20708 (grub_dl_iterate): Removed.
20709 * kern/fs.c (grub_fs_list): Make global.
20710 (grub_fs_register): Removed.
20711 (grub_fs_unregister): Likewise.
20712 (grub_fs_iterate): Likewise.
20713 * kern/handler.c: Removed.
20714 * kern/list.c (grub_list_pop): Removed.
20715 (grub_list_iterate): Likewise.
20716 (grub_list_insert): Likewise.
20717 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
20718 (grub_prio_list_insert): Don't use grub_list_insert.
20719 * kern/main.c (grub_register_rescue_parser): Don't call
20720 grub_register_rescue_parser.
20721 * kern/parser.c (grub_parser_class): Removed.
20722 (grub_parser_execute): Use grub_rescue_parse_line.
20723 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
20724 (grub_rescue_parser): Removed.
20725 (grub_register_rescue_parser): Likewise.
20726 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
20727 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
20728 (grub_auth_check_authentication): Likewise.
20729 * normal/completion.c (iterate_command): Removed.
20730 (grub_normal_do_completion): Use FOR_COMMANDS.
20731 * normal/handler.c: Removed.
20732 * normal/main.c (read_config_file): Remove parser changing.
20733 (grub_normal_execute): Don't call read_handler_list.
20734 (grub_normal_read_line_real): Statically allocate prompt.
20735 (grub_cmdline_run): Use grub_normal_parse_line.
20736 (GRUB_MOD_FINI): Don't call free_handler_list.
20737 * normal/menu_entry.c (run): Likewise.
20738 * script/function.c (grub_script_function_list): Make global.
20739 (grub_script_function_iterate): Removed.
20740 * script/main.c (grub_normal_parse_line): Make global.
20741 (grub_sh_parser): Removed.
20742 (GRUB_MOD_INIT): Likewise.
20743 (GRUB_MOD_FINI): Likewise.
20744 * tests/lib/functional_test.c (grub_functional_test): Use
20745 FOR_LIST_ELEMENTS.
20746 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
20747 (grub_test_run): Use FOR_LIST_ELEMENTS.
20748 * tests/lib/unit_test.c (main): Likewise.
20749 * util/deviceiter.c (grub_util_iterate_devices): Don't use
20750 grub_list_pop.
20751 * util/grub-fstest.c (grub_term_input_class): Removed.
20752 (grub_term_output_class): Likewise.
20753 * util/grub-probe.c: Likewise.
20754 * util/i386/pc/grub-setup.c: Likewise.
20755 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20756 * util/grub-script-check.c (main): Don't call grub_init_all and
20757 grub_fini_all.
20758 * video/video.c (grub_video_adapter_list): Make global.
20759 (grub_video_register): Removed.
20760 (grub_video_unregister): Likewise.
20761 (grub_video_iterate): Likewise.
20762
20763 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
20766 reported by Henrique Ferreiro.
20767
20768 2010-06-09 Robert Millan <rmh@gnu.org>
20769
20770 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
20771 ones, when both are available.
20772
20773 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20774
20775 Make --version uniform and avoid hard-coded program name.
20776
20777 * util/grub-mkimage.c (main): Use `program_name' instead of
20778 hard-coded string.
20779 * util/i386/pc/grub-setup.c (main): Likewise.
20780 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
20781 * util/grub-install.in: Save the basename of $0 in $self, and use the
20782 latter in informational messages. Use the same format for --version
20783 as the binary programs.
20784 * util/grub-mkconfig.in: Likewise.
20785 * util/grub-mkrescue.in: Likewise.
20786 * util/grub-reboot.in: Likewise.
20787 * util/grub-set-default.in: Likewise.
20788 * util/i386/efi/grub-install.in: Likewise.
20789 * util/ieee1275/grub-install.in: Likewise.
20790 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20791
20792 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20793
20794 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
20795 embedding area. Use <= instead of == when checking for non-emptiness.
20796
20797 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
20798
20799 * configure.ac: Add `.' to the directories searched for unifont.
20800
20801 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20802
20803 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
20804 grub_script.yy.h.
20805
20806 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20807
20808 * docs/grub.texi (History): Expand to cover GRUB 2.
20809 (Serial terminal): Refer to `terminal_input' and `terminal_output'
20810 commands, not `terminal'.
20811 (serial): Likewise.
20812 (terminal_input): New section.
20813 (terminal_output): New section.
20814 (uppermem): New section (stub).
20815 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
20816
20817 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
20818
20819 * docs/grub.texi (Security): Menu entries are unrestricted by
20820 default, not restricted to superusers as I had previously thought.
20821 Reword to account for this.
20822
20823 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20824
20825 * kern/emu/misc.c (device_mapper_null_log): New function.
20826 (grub_device_mapper_supported): New function.
20827 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
20828 prototype.
20829 * kern/emu/hostdisk.c (find_partition_start): Check whether
20830 device-mapper is supported before trying to use it.
20831 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
20832
20833 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20834
20835 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
20836 (File name syntax): Likewise.
20837 (help): --all is no longer supported in GRUB 2. Be more precise
20838 about pattern matching.
20839
20840 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20841
20842 * normal/completion.c (grub_normal_do_completion): When completing
20843 arguments to "set" and the current word contains an equals sign,
20844 skip to after the equals sign before starting completion.
20845
20846 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20847
20848 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
20849
20850 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20851
20852 * docs/grub.texi (Network): New section.
20853 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
20854 `(nd)' as in GRUB Legacy.
20855 (pxe_unload): New section.
20856
20857 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20858
20859 * docs/grub.texi (Troubleshooting): `echo' is not usually available
20860 in the rescue shell, so recommend using `set' instead. Thanks,
20861 Jordan Uggla.
20862
20863 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20864
20865 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
20866 (password): New section.
20867 (password_pbkdf2): New section.
20868 (search): New section.
20869 (Security): New section.
20870 (Troubleshooting): New section, currently very incomplete.
20871 (Invoking grub-mkpasswd-pbkdf2): New section.
20872 (Internals): New section, currently very incomplete.
20873
20874 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20875
20876 * util/grub.d/00_header.in: Add some more quoting (of
20877 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
20878 work again.
20879 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
20880
20881 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
20882
20883 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
20884 to `count', fixing variable shadowing that broke the -c option.
20885
20886 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
20887
20888 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
20889 in case they contain spaces.
20890
20891 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20892
20893 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
20894 "part_" to partmap module names, in line with grub-install.
20895 Reported by: Jindřich Makovička (Debian bug #584426).
20896
20897 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * util/grub-mkimage.c: Make target-related error messages slightly
20900 more helpful; -O talks about "format". Explicitly point to the use
20901 of -O if no target is specified.
20902 Reported by: Didier Raboud (Debian bug #584415).
20903
20904 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
20905
20906 * INSTALL: Document several build requirements for optional features
20907 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
20908
20909 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
20910
20911 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
20912 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
20913 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
20914
20915 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20916
20917 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
20918 Thanks to Jordan Uggla for spotting this.
20919
20920 2010-06-02 Aleš Nesrsta <starous@volny.cz>
20921
20922 Finally make USB usable.
20923
20924 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
20925 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
20926 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
20927 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
20928 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
20929 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
20930 (GRUB_OHCI_FSMPS): Likewise.
20931 (GRUB_OHCI_PERIODIC_START): Likewise.
20932 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
20933 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
20934 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
20935 (GRUB_OHCI_SET_PORT_RESET): Likewise.
20936 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
20937 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
20938 (grub_ohci_transaction): Likewise.
20939 (grub_ohci_transfer): Improve condition detection algorithms.
20940 Handle toggle property. Program the transactions correctly.
20941 Improve error handling. Various important fixups.
20942 (grub_ohci_portstatus): Put register writes in right order.
20943 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
20944 (grub_uhci_transfer): Don't show "failed" message on success.
20945 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
20946 array.
20947 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
20948 determine its size.
20949 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
20950 before initialization is completed. Use IN direction for empty
20951 transfers. Use last_trans and compute toggle.
20952 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
20953 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
20954 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
20955 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
20956 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
20957 (grub_usb_device): Increase toggle to 256.
20958 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
20959 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
20960 GRUB_USBMS_SUBCLASS_SFF8070.
20961 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
20962 (grub_scsi_inquiry): New member page and alloc_length.
20963 (grub_scsi_request_sense): New structure.
20964 (grub_scsi_request_sense_data): Likewise.
20965 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
20966 control.
20967 * disk/scsi.c (grub_scsi_request_sense): New function.
20968 (grub_scsi_test_unit_ready): Likewise.
20969 (grub_scsi_inquiry): Fill new fields.
20970 (grub_scsi_read_capacity): Likewise.
20971 (grub_scsi_read10): Add request sense at the end.
20972 (grub_scsi_read12): Likewise.
20973 (grub_scsi_write10): Likewise.
20974 (grub_scsi_write12): Likewise.
20975 (grub_scsi_open): Add Test Unit Ready.
20976 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
20977 Support additional subclasses. Con't clear halt yet. Activate the
20978 proper config. Calculate LUNs correctly.
20979 (grub_usbms_transfer): Various important fixups.
20980
20981 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
20984 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
20985 (grub_ohci_fini_hw): New function.
20986 (grub_ohci_restore_hw): Likewise.
20987 (GRUB_MOD_INIT(ohci)): Register preboot hook.
20988 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
20989 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
20990
20991 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 Dedicated DMA allocations.
20994
20995 * bus/pci.c (grub_memalign_dma32): New function
20996 (grub_dma_free): Likewise.
20997 (grub_dma_get_virt): Likewise.
20998 (grub_dma_get_phys): Likewise.
20999 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21000 (grub_ohci_pci_iter): Use dma32_alloc.
21001 (grub_ohci_transfer): Likewise.
21002 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21003 (grub_usb_bulk_readwrite): Likewise.
21004 * include/grub/pci.h: Add declarations.
21005
21006 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 CS5536 support.
21009
21010 * bus/cs5536.c: New file.
21011 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21012 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21013 (cs5536_mod_SOURCES): New variable.
21014 (cs5536_mod_CFLAGS): Likewise.
21015 (cs5536_mod_LDFLAGS): Likewise.
21016 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21017 machine/pci.h.
21018 (kernel_img_SOURCES): Add bus/cs5536.c.
21019 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21020 usb_keyboard.mod.
21021 (usb_mod_SOURCES): New variable.
21022 (usb_mod_CFLAGS): New variable.
21023 (usb_mod_LDFLAGS): New variable.
21024 (usbtest_mod_SOURCES): New variable.
21025 (usbtest_mod_CFLAGS): New variable.
21026 (usbtest_mod_LDFLAGS): New variable.
21027 (ohci_mod_SOURCES): New variable.
21028 (ohci_mod_CFLAGS): New variable.
21029 (ohci_mod_LDFLAGS): New variable.
21030 (usbms_mod_SOURCES): New variable.
21031 (usbms_mod_CFLAGS): New variable.
21032 (usbms_mod_LDFLAGS): New variable.
21033 (usb_keyboard_mod_SOURCES): New variable.
21034 (usb_keyboard_mod_CFLAGS): New variable.
21035 (usb_keyboard_mod_LDFLAGS): New variable.
21036 * include/grub/smbus.h: New file.
21037 * include/grub/cs5536.h: New file.
21038
21039 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21040
21041 * util/grub.d/00_header.in: Add safety check to make sure that
21042 ${locale_dir} exists before trying to probe it.
21043
21044 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21045
21046 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21047 per the GNU Coding Standards; this is now too obscure to be worth
21048 documenting.
21049 (QNX): Likewise.
21050 (chainloader): Remove cross-reference to `SCO UnixWare'.
21051
21052 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21053
21054 * docs/grub.texi (Chain-loading): New section.
21055 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21056 adjusted for GRUB 2.
21057 (SCO UnixWare): Likewise.
21058 (QNX): Likewise.
21059 (chainloader): Add reference to `Block list syntax'.
21060 (drivemap): New section.
21061 (parttool): New section.
21062
21063 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21066 the grub shell'.
21067 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21068 (Installing GRUB using grub-install): Remove reference to the grub
21069 shell; mention `grub-mkimage' and `grub-setup' instead.
21070 (Invoking grub-install): Likewise.
21071 (Interface): Add reference to `Menu entry editor'.
21072 (serial): Remove `--device' option.
21073
21074 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21075
21076 * docs/grub.texi (Configuration): New section, documenting
21077 configuration file generation using grub-mkconfig. I've left a slot
21078 for documenting the full shell scripting format but have not yet
21079 started on writing that up.
21080 (Invoking grub-mkconfig): New section.
21081
21082 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21083
21084 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21085 (GNU GRUB manual): Likewise.
21086 (General commands): Update description of `terminfo' for GRUB 2.
21087
21088 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21089
21090 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21091 (GRUB_MOD_INIT): Fix capitalisation.
21092 * docs/grub.texi (Command-line and menu entry commands): Document
21093 gettext and gptsync commands.
21094
21095 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
21096
21097 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21098 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21099
21100 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
21101
21102 Add btrfs probing support, currently only in the single-device case.
21103
21104 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21105 function.
21106 (grub_guess_root_device): Call find_root_device_from_mountinfo
21107 before looking in /dev.
21108
21109 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21110
21111 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21112 GRUB_DISK_SIZE_UNKNOWN.
21113 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21114
21115 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
21116
21117 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21118 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21119 corrupted or not synced properly.
21120
21121 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21124 Reported by: Seth Goldberg.
21125
21126 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21129 addition of dest.
21130 Reported by: Seth Goldberg.
21131
21132 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21135 Reported by: Seth Goldberg.
21136
21137 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21138
21139 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21140 64-bit address as signed on MIPS.
21141
21142 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
21143
21144 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21145 to the empty string.
21146
21147 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21148
21149 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21150
21151 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21152 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21153 * kern/misc.c (__enable_execute_stack): Disable on
21154 GRUB_MACHINE_EMU.
21155
21156 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
21157
21158 Make grub-probe work with symbolic links under /dev/mapper as well
21159 as with real block devices. The Linux world seems to be (at best)
21160 in transition here, and GRUB shouldn't get caught in the middle.
21161
21162 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21163 /dev/mapper.
21164
21165 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21166
21167 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21168 input files (in which case exit zero).
21169
21170 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21171
21172 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21173 return NULL for various reasons even if it has a maximum-length
21174 buffer: for example, there might be a symlink loop, or the path
21175 might exceed PATH_MAX. If this happens, return NULL.
21176
21177 2010-05-27 Robert Millan <rmh@gnu.org>
21178
21179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21180 partmap module to handle cross-partmap setups.
21181 Reported by Orestes Mas. Gràcies!
21182
21183 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * util/grub-mkrescue.in: Initialise override_dir rather than
21186 assuming that it's unset or empty in the environment.
21187
21188 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21189
21190 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21191 variable index into p_index to suppress a warning with -Wshadow.
21192
21193 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21194
21195 * INSTALL: Added flex >= 2.5.35 requirement.
21196
21197 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21200
21201 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 cmostest support.
21204
21205 * commands/i386/cmostest.c: New file.
21206 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21207 (cmostest_mod_SOURCES): New variable.
21208 (cmostest_mod_CFLAGS): Likewise.
21209 (cmostest_mod_LDFLAGS): Likewise.
21210 * conf/i386-pc.rmk: Likewise.
21211 * docs/grub.texi (Vendor power-on keys): New section.
21212 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21213 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21214 and GRUB_BUTTON_CMOS_ADDRESS.
21215 * util/grub.d/00_header.in: Handle powering-on by separate button.
21216
21217 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21218
21219 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21220 Removed drawing_scrollbar argument. All users updated
21221 Fixes #29792.
21222 Reported by Jo Shields
21223
21224 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21227 buffer since gfxterm handles double repaint.
21228
21229 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21232 * term/gfxterm.c (real_scroll): Likewise.
21233
21234 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21237 before calling BIOS.
21238
21239 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * include/grub/i18n.h: Always enable grub_gettext.
21242
21243 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21246 partition naming style.
21247
21248 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
21249
21250 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21251 not the first option.
21252
21253 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21254
21255 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21256
21257 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
21258
21259 * util/misc.c: Move inclusion of <limits.h> to ...
21260 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21261
21262 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21263
21264 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21265 Fix merge error in NetBSD code.
21266 (find_partition_start) [__NetBSD__]: Likewise.
21267
21268 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21269
21270 Fix grub-mkrescue usage unit testing.
21271
21272 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21273
21274 2010-05-18 Christian Franke <franke@computer.org>
21275
21276 * util/grub.d/10_windows.in: Use path names instead of
21277 drive letters to prevent warning from Cygwin 1.7.
21278 Add drivemap command to menuentry if needed.
21279
21280 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21281
21282 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21283 gnumach and gnumach.gz.
21284
21285 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21286
21287 * include/grub/i18n.h (gettext): Inline instead of using #define.
21288 (grub_gettext): Likewise.
21289 (_): Likewise.
21290
21291 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21294 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21295 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21296 (main): Add a slash after pkglibdirroot.
21297
21298 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 * util/grub-install.in: Add missing "in" keyword.
21301
21302 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21305 Reported by: Seth Goldberg.
21306
21307 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21310
21311 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21312
21313 * configure.ac: Check for Linux device-mapper support.
21314
21315 * util/hostdisk.c (device_is_mapped): New function.
21316 (find_partition_start): New function, partly broken out from
21317 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21318 device-mapper support added.
21319 (linux_find_partition): Use find_partition_start.
21320 (convert_system_partition_to_system_disk): Add `st' argument.
21321 Support Linux /dev/mapper/* devices if device-mapper support is
21322 available; only DM-RAID devices are understood at present.
21323 (find_system_device): Add `st' argument. Pass it to
21324 convert_system_partition_to_system_disk.
21325 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21326 find_system_device and convert_system_partition_to_system_disk. Use
21327 find_partition_start.
21328
21329 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21330 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21331 * util/deviceiter.c [__linux__]: Define MINOR.
21332 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21333 * util/mkdevicemap.c (grub_putchar): New function.
21334 (grub_getkey): New function.
21335 (grub_refresh): New function.
21336 (main): Set debug=all if -v -v is used.
21337
21338 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21339
21340 Fix build with non-GNU libcs.
21341
21342 * util/misc.c (canonicalize_file_name): Move to ...
21343 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21344 grub_make_system_path_relative_to_its_root.
21345
21346 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
21347
21348 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21349 we handle finding grub-mkimage. Default to finding grub-mkimage in
21350 ${bindir} with program_transform_name applied, and provide a
21351 --grub-mkimage option to override this.
21352
21353 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21354
21355 Remove grub-mkisofs.
21356
21357 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21358 (grub_mkisofs_SOURCES): Removed.
21359 (grub_mkisofs_CFLAGS): Removed.
21360 * util/mkisofs/defaults.h: Removed.
21361 * util/mkisofs/eltorito.c: Likewise.
21362 * util/mkisofs/exclude.h: Likewise.
21363 * util/mkisofs/hash.c: Likewise.
21364 * util/mkisofs/include/: Likewise.
21365 * util/mkisofs/include/fctldefs.h: Likewise.
21366 * util/mkisofs/include/mconfig.h: Likewise.
21367 * util/mkisofs/include/prototyp.h: Likewise.
21368 * util/mkisofs/include/statdefs.h: Likewise.
21369 * util/mkisofs/iso9660.h: Likewise.
21370 * util/mkisofs/joliet.c: Likewise.
21371 * util/mkisofs/match.c: Likewise.
21372 * util/mkisofs/match.h: Likewise.
21373 * util/mkisofs/mkisofs.c: Likewise.
21374 * util/mkisofs/mkisofs.h: Likewise.
21375 * util/mkisofs/msdos_partition.h: Likewise.
21376 * util/mkisofs/multi.c: Likewise.
21377 * util/mkisofs/name.c: Likewise.
21378 * util/mkisofs/rock.c: Likewise.
21379 * util/mkisofs/tree.c: Likewise.
21380 * util/mkisofs/write.c: Likewise.
21381
21382 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 Unify grub-mkimage accross platforms.
21385
21386 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21387 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21388 (grub_mkelfimage_SOURCES): Removed.
21389 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21390 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21391 (bin_UTILITIES): Add grub-mkimage.
21392 (grub_mkimage_SOURCES): New variable.
21393 (kernel_img_HEADERS): Remove machine/kernel.h.
21394 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21395 (pkglib_PROGRAMS): Add kernel.img.
21396 (kernel_img_HEADERS): Add machine/kernel.h.
21397 (kernel_img_FORMAT): Removed.
21398 (bin_UTILITIES): Remove grub-mkimage.
21399 (grub_mkimage_SOURCES): Removed.
21400 (grub_mkimage_CFLAGS): Likewise.
21401 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21402 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
21403 (pkglib_PROGRAMS): Add kernel.img.
21404 (bin_UTILITIES): Remove grub-mkimage.
21405 (grub_mkimage_SOURCES): Removed.
21406 (grub_mkimage_CFLAGS): Likewise.
21407 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21408 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
21409 (pkglib_PROGRAMS): Add kernel.img.
21410 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
21411 (pkglib_PROGRAMS): Add kernel.img.
21412 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
21413 (grub_mkimage_SOURCES): Removed.
21414 (grub_mkimage_CFLAGS): Likewise.
21415 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21416 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
21417 (pkglib_PROGRAMS): Add kernel.img.
21418 (bin_UTILITIES): Remove grub-mkimage.
21419 (grub_mkimage_SOURCES): Removed.
21420 (grub_mkimage_CFLAGS): Likewise.
21421 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21422 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
21423 (grub_mkimage_SOURCES): Removed.
21424 (grub_mkimage_CFLAGS): Likewise.
21425 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
21426 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
21427 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
21428 (grub_pe32_optional_header): ... this.
21429 (grub_pe64_optional_header): ... and this. All users updated.
21430 (GRUB_PE32_PE32_MAGIC): Split into ..
21431 (GRUB_PE32_PE32_MAGIC): .. this.
21432 (GRUB_PE32_PE64_MAGIC): .. and this.
21433 (GRUB_PE32_SIGNATURE_SIZE): New definition.
21434 * include/grub/elf.h (PT_GNU_STACK): New definition.
21435 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
21436 * include/grub/i386/efi/kernel.h: Likewise.
21437 * include/grub/i386/kernel.h: Likewise.
21438 * include/grub/i386/pc/kernel.h: Likewise.
21439 * include/grub/i386/qemu/boot.h: Likewise.
21440 * include/grub/mips/kernel.h: Likewise.
21441 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21442 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21443 * include/grub/powerpc/kernel.h: Likewise.
21444 * include/grub/sparc64/ieee1275/boot.h: Likewise.
21445 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21446 * include/grub/sparc64/kernel.h: Likewise.
21447 * include/grub/x86_64/efi/kernel.h: Likewise.
21448 * include/grub/x86_64/kernel.h: Likewise.
21449 * include/grub/offsets.h: New file.
21450 * include/grub/kernel.h (grub_module_info): Split into ...
21451 (grub_module_info32): ... this.
21452 (grub_module_info64): ... and this.
21453 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
21454 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
21455 (grub_boot_blocklist): Moved from here ...
21456 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
21457 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
21458 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
21459 * include/grub/types.h (grub_target_to_host16): Removed.
21460 (grub_target_to_host32): Likewise.
21461 (grub_target_to_host64): Likewise.
21462 (grub_host_to_target16): Likewise.
21463 (grub_host_to_target32): Likewise.
21464 (grub_host_to_target64): Likewise.
21465 (grub_host_to_target_addr): Likewise.
21466
21467 Support grub-mkrescue for efi, coreboot and qemu.
21468
21469 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
21470 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
21471 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
21472 * util/grub-mkrawimage.c: Moved from here ...
21473 * util/grub-mkimage.c: ... here. All users updated.
21474 (ALIGN_ADDR): Use image_target.
21475 (TARGET_NO_FIELD): New const.
21476 (image_target_desc): New type.
21477 (image_targets): New array.
21478 (grub_target_to_host64): Use image_target.
21479 (grub_target_to_host32): Likewise.
21480 (grub_target_to_host16): Likewise.
21481 (grub_host_to_target64): Likewise.
21482 (grub_host_to_target32): Likewise.
21483 (grub_host_to_target16): Likewise.
21484 (grub_host_to_target_addr): Likewise.
21485 (generate_image): Handle multiimage.
21486 (main): Require -O parameter. All users updated.
21487 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
21488 util/efi/grub-mkimage.c
21489 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
21490 New option --rom-directory.
21491 Use xorriso.
21492 * util/i386/efi/grub-mkimage.c: Removed.
21493 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
21494 (grub_target_to_host32): Likewise.
21495 (grub_target_to_host64): Likewise.
21496 (grub_host_to_target16): Likewise.
21497 (grub_host_to_target32): Likewise.
21498 (grub_host_to_target64): Likewise.
21499 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
21500 (grub_target_to_host32): Likewise.
21501 (grub_target_to_host64): Likewise.
21502 (grub_host_to_target16): Likewise.
21503 (grub_host_to_target32): Likewise.
21504 (grub_host_to_target64): Likewise.
21505
21506 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
21507
21508 Source tree is reorganized for emu build.
21509
21510 * include/grub/util/console.h: Move from here...
21511 * include/grub/emu/console.h: ...to here.
21512 * include/grub/util/getroot.h: Move from here...
21513 * include/grub/emu/getroot.h: ...to here.
21514 * include/grub/util/hostdisk.h: Move from here...
21515 * include/grub/emu/hostdisk.h: ...to here.
21516 * util/console.c: Move from here...
21517 * kern/emu/console.c: ...to here.
21518 * util/getroot.c: Move from here...
21519 * kern/emu/getroot.c: ...to here.
21520 * util/grub-emu.c: Move from here...
21521 * kern/emu/main.c: ...to here.
21522 * util/hostdisk.c: Move from here...
21523 * kern/emu/hostdisk.c: ...to here.
21524 * util/hostfs.c: Move from here...
21525 * kern/emu/hostfs.c: ...to here.
21526 * util/mm.c: Move from here...
21527 * kern/emu/mm.c: ...to here.
21528 * util/pci.c: Move from here...
21529 * bus/emu/pci.c: ...to here.
21530 * util/sdl.c: Move from here...
21531 * video/emu/sdl.c: ...to here.
21532 * util/time.c: Move from here...
21533 * kern/emu/time.c: ...to here.
21534 * util/usb.c: Move from here...
21535 * bus/usb/emu/usb.c: ...to here.
21536
21537 * include/grub/emu/misc.h: New header for grub-emu functions.
21538 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
21539
21540 * conf/any-emu.rmk: Rule updates for above renames.
21541 * conf/common.rmk: Likewise.
21542 * conf/i386-pc.rmk: Likewise.
21543 * conf/i386-qemu.rmk: Likewise.
21544 * conf/mips.rmk: Likewise.
21545 * conf/sparc64-ieee1275.rmk: Likewise.
21546 * conf/x86-efi.rmk: Likewise.
21547
21548 * disk/lvm.h: #include updates for above renames.
21549 * util/grub-mkrelpath.c: Likewise.
21550 * util/grub-probe.c: Likewise.
21551 * util/i386/pc/grub-setup.c: Likewise.
21552 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21553 * kern/emu/console.c: Likewise.
21554 * kern/emu/getroot.c: Likewise.
21555 * kern/emu/hostdisk.c: Likewise.
21556 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
21557
21558 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
21559 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
21560 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
21561 * util/misc.c: Remove grub-emu functions.
21562
21563 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 Fix gfxmenu crash.
21566 Reported by: Thorsten Grützmacher.
21567
21568 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
21569 timeout hook.
21570 (circprog_set_property): Register and unregister timeout hook.
21571 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
21572 (label_destroy): Free template. and unregister hook.
21573 (label_set_state): New function.
21574 (label_set_property): Handle templates and hooks.
21575 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
21576 timeout hook.
21577 (progress_bar_set_property): Register and unregister timeout hook.
21578 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
21579 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
21580 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
21581 (update_timeout_visit): Removed.
21582 (update_timeouts): New function.
21583 (redraw_timeouts): Likewise.
21584 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
21585 (grub_gfxmenu_clear_timeout): Likewise.
21586 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
21587 (grub_gfxmenu_timeout_notify): Likewise.
21588 (grub_gfxmenu_timeout_notifications): New external variable.
21589 (grub_gfxmenu_timeout_register): New function.
21590 (grub_gfxmenu_timeout_unregister): Likewise.
21591
21592 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 Transform (broken) vga terminal into (working) vga video driver.
21595
21596 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
21597 video/i386/pc/vga.c.
21598 * include/grub/video.h (grub_video_driver_id):
21599 Add GRUB_VIDEO_DRIVER_VGA.
21600 * term/i386/pc/vga.c: Renamed to ...
21601 * video/i386/pc/vga.c: ...this
21602 (DEBUG_VGA): Removed.
21603 (CHAR_WIDTH): Likewise.
21604 (CHAR_HEIGHT): Likewise.
21605 (TEXT_WIDTH): Likewise.
21606 (TEXT_HEIGHT): Likewise.
21607 (DEFAULT_FG_COLOR): Likewise.
21608 (DEFAULT_BG_COLOR): Likewise.
21609 (colored_char): Likewise.
21610 (xpos): Likewise.
21611 (ypos): Likewise.
21612 (cursor_state): Likewise.
21613 (fg_color): Likewise.
21614 (bg_color): Likewise.
21615 (text_buf): Likewise.
21616 (page): Likewise.
21617 (font): Likewise.
21618 (framebuffer): New variable.
21619 (set_read_map): Disabled.
21620 (setup): New variable.
21621 (is_target): Likewise.
21622 (grub_vga_mod_init): Likewise.
21623 (grub_vga_mod_fini): Likewise.
21624 (check_vga_mem): Likewise.
21625 (write_char): Likewise.
21626 (write_cursor): Likewise.
21627 (scroll_up): Likewise.
21628 (grub_vga_putchar): Likewise.
21629 (grub_vga_getcharwidth): Likewise.
21630 (grub_vga_getwh): Likewise.
21631 (grub_vga_getxy): Likewise.
21632 (grub_vga_gotoxy): Likewise.
21633 (grub_vga_cls): Likewise.
21634 (grub_vga_setcolorstate): Likewise.
21635 (grub_vga_setcursor): Likewise.
21636 (grub_video_vga_init): New function.
21637 (grub_video_vga_setup): Likewise.
21638 (grub_video_vga_fini): Likewise.
21639 (update_target): Likewise.
21640 (grub_video_vga_blit_bitmap): Likewise.
21641 (grub_video_vga_blit_render_target): Likewise.
21642 (grub_video_vga_set_active_render_target): Likewise.
21643 (grub_video_vga_get_active_render_target): Likewise.
21644 (grub_video_vga_swap_buffers): Likewise.
21645 (grub_video_vga_set_palette): Likewise.
21646 (grub_video_vga_get_info_and_fini): Likewise.
21647 (grub_vga_term): Removed.
21648 (grub_video_vga_adapter): New variable.
21649 (GRUB_MOD_INIT): Register a video driver instead of terminal.
21650 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
21651
21652 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21653
21654 * video/readers/jpeg.c: Indented.
21655
21656 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 Various jpeg cleanups.
21659
21660 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
21661 (grub_jpeg_decode_quan_table): Use sizeof.
21662 (grub_jpeg_decode_du): Use ARRAY_SIZE.
21663
21664 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
21665
21666 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
21667 tables. Ignore non-last ac bit.
21668 (grub_jpeg_decode_quan_table): Likewise.
21669
21670 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
21673 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
21674 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21675 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
21676 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
21677 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
21678
21679 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
21682 error.
21683
21684 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
21687
21688 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
21691 condition.
21692
21693 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
21696 part.
21697
21698 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
21701 pointers.
21702
21703 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
21706
21707 2010-05-01 Christian Franke <franke@computer.org>
21708
21709 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
21710 Remove broken Cygwin path conversion.
21711 * util/misc.c: [__CYGWIN__] Add include and define.
21712 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
21713 for Cygwin 1.7.
21714 (make_system_path_relative_to_its_root): Simplify loop, replace early
21715 return by break.
21716 [__CYGWIN__] Add conversion to win32 path.
21717 Include "/" case in trailing slash removal.
21718
21719 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21720
21721 * kern/main.c (grub_load_config): Fix copy-pasted comment.
21722 Reported by: Seth Goldberg
21723
21724 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21725
21726 * commands/help.c (grub_cmd_help): Fix a typo.
21727 Reported by: Seth Goldberg
21728
21729 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
21732 name and add N_.
21733 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
21734 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
21735 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
21736 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
21737 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
21738 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
21739 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21740 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21741 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21742 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21743 * normal/context.c (GRUB_MOD_INIT): Likewise.
21744 * normal/main.c (GRUB_MOD_INIT): Likewise.
21745 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21746 * term/serial.c (GRUB_MOD_INIT): Likewise.
21747 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21748
21749 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
21752 extra == 0.
21753
21754 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * commands/iorw.c: New file.
21757 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
21758 (iorw_mod_SOURCES): New variable.
21759 (iorw_mod_CFLAGS): Likewise.
21760 (iorw_mod_LDFLAGS): Likewise.
21761
21762 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 Hotkey support
21765
21766 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
21767 * normal/main.c (hotkey_aliases): New variable.
21768 (grub_normal_add_menu_entry): Parse "--hotkey".
21769 * normal/menu_text.c (run_menu): Handle hotkeys.
21770
21771 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * kern/i386/coreboot/init.c (grub_machine_init): Call
21774 grub_machine_mmap_init on qemu.
21775
21776 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * boot/i386/qemu/boot.S: Add a missing .code16.
21779
21780 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 Use LBIO on coreboot.
21783
21784 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
21785 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
21786 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
21787 New declaration.
21788 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
21789 grub_machine_mmap_init on coreboot.
21790 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
21791 GRUB_LINUXBIOS_MEMBER_LINK.
21792 (grub_machine_mmap_iterate): Fix declaration.
21793 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
21794
21795 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 Split coreboot and multiboot ports.
21798
21799 * conf/i386-multiboot.rmk: New file.
21800 * configure.ac: Add multiboot port.
21801 * include/grub/i386/multiboot/boot.h: New file.
21802 * include/grub/i386/multiboot/console.h: Likewise.
21803 * include/grub/i386/multiboot/init.h: Likewise.
21804 * include/grub/i386/multiboot/kernel.h: Likewise.
21805 * include/grub/i386/multiboot/loader.h: Likewise.
21806 * include/grub/i386/multiboot/memory.h: Likewise.
21807 * include/grub/i386/multiboot/serial.h: Likewise.
21808 * include/grub/i386/multiboot/time.h: Likewise.
21809 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
21810 * loader/multiboot.c: Likewise.
21811 * loader/multiboot_mbi2.c: Likewise.
21812 * util/grub-mkrescue.in: Generate multiboot rescue.
21813
21814 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 * kern/parser.c (grub_parser_execute): Cope with read-only config.
21817
21818 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 Merge handling of input and output terminals. Fix a hang.
21821
21822 * commands/terminal.c (abstract_terminal): New struct.
21823 (handle_command): New function. Based on grub_cmd_terminal_input.
21824 (grub_cmd_terminal_input): Use handle_command.
21825 (grub_cmd_terminal_output): Use handle_command.
21826
21827 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
21828
21829 Fix comment handling.
21830
21831 * tests/grub_script_comments.in: New testcase.
21832 * conf/tests.rmk: Rules for new testcase.
21833 * script/yylex.l: Updated flex rules.
21834
21835 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
21836
21837 * docs/grub.texi (play): Document that zero pitches produce rests.
21838 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
21839 if argc is 1.
21840
21841 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
21844 autogen issues.
21845
21846 2010-04-26 Christian Franke <franke@computer.org>
21847
21848 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
21849 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
21850 (grub_get_prefix): Remove function.
21851 * util/grub-emu.c (main): Replace grub_get_prefix () call by
21852 make_system_path_relative_to_its_root ().
21853 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
21854
21855 2010-04-24 Christian Franke <franke@computer.org>
21856
21857 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
21858 (kernel_img_LDFLAGS): Remove -static-libgcc.
21859
21860 2010-04-24 Christian Franke <franke@computer.org>
21861
21862 * configure.ac: Do not CHECK_BSS_START_SYMBOL
21863 and CHECK_END_SYMBOL if grub-emu is built.
21864 Unset TARGET_OBJ2ELF if grub-emu is built
21865 without module support.
21866
21867 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
21868
21869 Nilfs2 support.
21870
21871 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
21872 (grub_fstest_SOURCES): Likewise.
21873 (pkglib_MODULES): Add nilfs2.mod.
21874 (nilfs2_mod_SOURCES): New variable.
21875 (nilfs2_mod_CFLAGS): Likewise.
21876 (nilfs2_mod_LDFLAGS): Likewise.
21877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21878 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
21879 * fs/nilfs2.c: New file.
21880
21881 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
21882
21883 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
21884 is not supported.
21885
21886 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
21887
21888 Add grub-mkconfig support for NetBSD.
21889
21890 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
21891 * util/grub-mkconfig.in: export new NetBSD specific variables.
21892 * po/POTFILES-shell: added 10_netbsd.in.
21893 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
21894
21895 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
21896
21897 Fix emu build with grub-emu-pci and grub-emu-modules.
21898
21899 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
21900 functions.
21901 * include/grub/libpciaccess.h: New file.
21902 * conf/any-emu.rmk: Update kernel headers for emu build.
21903
21904 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
21907
21908 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
21911
21912 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
21915 Retrieve chosen/bootpath if bootpath isn't hardcoded.
21916 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
21917 util/ieee1275/ofpath.c.
21918 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
21919 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
21920 * include/grub/sparc64/ieee1275/boot.h
21921 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
21922 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
21923 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
21924 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
21925 const char *.
21926 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
21927 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
21928 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
21929 install.
21930
21931 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
21932
21933 * util/grub-mkconfig.in: Corrected two == equality tests.
21934 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
21935 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
21936 expect a number appended to it.
21937 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
21938 expects a number appended to it.
21939
21940 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
21943
21944 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
21945
21946 * util/hostdisk.c (make_device_name): Change to new partition naming.
21947
21948 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
21949
21950 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
21951
21952 2010-04-17 Christian Franke <franke@computer.org>
21953
21954 * Makefile.in: Add missing localedir setting.
21955
21956 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
21957
21958 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
21959 mistake in r2156. Noticed by Anthony Fok.
21960
21961 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
21962 @localedir@.
21963 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21964
21965 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
21966
21967 Fix a spurious, uninitialized variable warning.
21968
21969 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
21970 Initialize variable, shdr.
21971 (grub_freebsd_load_elfmodule): Likewise.
21972 (grub_freebsd_load_elf_meta): Likewise.
21973
21974 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
21975
21976 Fix for escaped dollar in double quoted strings.
21977
21978 * script/yylex.l: Updated flex rules.
21979 * conf/tests.rmk: Rule for new testcase.
21980 * tests/grub_script_dollar.in: New testcase.
21981
21982 2010-04-13 Carles Pina i Estany <carles@pina.cat>
21983 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
21984
21985 Enclose all translated strings in grub.cfg in single quotes, and
21986 escape them appropriately (Ubuntu bug #552921).
21987
21988 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
21989 * util/grub.d/10_hurd.in: Use it.
21990 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21991 * util/grub.d/10_linux.in (linux_entry): Likewise.
21992
21993 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 Fix cygwin compilation.
21996
21997 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
21998 * include/grub/misc.h (__register_frame_info)
21999 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22000 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22001 * kern/misc.c (__register_frame_info)
22002 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22003 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22004
22005 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22008
22009 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 Unify libgcc processing.
22012
22013 * Makefile.in (kernel_img_LDFLAGS): New variable.
22014 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22015 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22016 overwriting.
22017 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22018 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22019 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22020 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22021 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22022 overwriting. Remove -lgcc and -static-libgcc
22023 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22024 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22025 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22026 (kernel_img_LDFLAGS): Append instead of overwriting.
22027 Remove -lgcc and -static-libgcc
22028 * conf/sparc64-ieee1275.rmk: Likewise.
22029 * include/grub/powerpc/libgcc.h: Move to ...
22030 * include/grub/libgcc.h: .. this.
22031 * include/grub/libgcc.h: Don't export most of the function on x86.
22032 (__bswapsi2): New export.
22033 (__bswapdi2): Likewise.
22034 * include/grub/mips/libgcc.h: Removed.
22035 * include/grub/sparc64/libgcc.h: Likewise.
22036
22037 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22040 disk_info_msg (conflicts with gettexting into languages with cases).
22041
22042 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22043
22044 Add grub-probe support for NetBSD.
22045
22046 * util/getroot.c (find_root_device): Convert block device to
22047 character device on NetBSD.
22048 * util/probe.c (probe): Require character device on NetBSD.
22049 * util/hostdisk.c: NetBSD specific headers.
22050 (configure_device_driver): new function to tune device driver
22051 parameters (currently only for NetBSD floppy driver).
22052 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22053 via disklabel ioctl).
22054 (open_device): call configure_device_driver on NetBSD.
22055 (convert_system_partition_to_system_disk): NetBSD specific code.
22056 (device_is_wholedisk): Likewise.
22057 (grub_util_biosdisk_get_grub_dev): Likewise.
22058 (make_device_name): Fixed a typo in bsd_part_str.
22059 * configure.ac: check for opendisk() and getrawpartition() on
22060 NetBSD and set LIBUTIL.
22061 * Makefile.in: add LIBUTIL to LIBS.
22062
22063 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22064
22065 Documentation fix.
22066
22067 * util/grub-script-check.c: Better help message.
22068
22069 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22070
22071 Fix FreeBSD build.
22072
22073 * configure.ac: Flex version check.
22074 * conf/common.rmk: Add -Wno-error to sh.mod.
22075 * script/yylex.l: Remove all #pragma.
22076
22077 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22080 prototype.
22081 Reported by: Seth Goldberg.
22082
22083 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22086 Rename "module" to "module2".
22087 Reported by: Seth Goldberg.
22088
22089 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22092 EXPORT_FUNC.
22093 Reported by: Seth Goldberg.
22094
22095 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * lib/posix_wrap/locale.h: Add missing file.
22098 Reported by: Seth Goldberg.
22099
22100 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 grub-emu module load support.
22103
22104 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22105 NO_DYNAMIC_MODULES switched to this.
22106 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22107 (CFLAGS): Likewise.
22108 * conf/any-emu.rmk: Generate symlist.
22109 (kernel_img_HEADERS): Add util/datetime.h.
22110 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22111 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22112 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22113 kern/$(target_cpu)/cache.S.
22114 * configure.ac (grub-emu-modules): New option.
22115 * genmk.rb: Handle multiple source lists.
22116 * include/grub/sdl.h: New file.
22117 * include/grub/libusb.h: Likewise.
22118 * util/grub-emu.c (main): Hanle (host) root.
22119 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22120 GRUB_ERR_UNKNOWN_DEVICE.
22121 * util/misc.c: Move mm functions to ...
22122 * util/mm.c: ... here. All users updated.
22123
22124 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22125
22126 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22127 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22128 missing files.
22129 (maintainer-clean): Remove libgcrypt-grub.
22130
22131 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22134
22135 2010-04-09 EFI Coder <eficoder@hotmail.com>
22136
22137 * normal/menu_text.c (print_message): Clean up the message and show
22138 the Fn information when on EFI
22139 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22140
22141 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22144 All users updated.
22145 * normal/crypto.c (read_crypto_list): Likewise.
22146 * normal/dyncmd.c (read_command_list): Likewise.
22147 * normal/term.c (read_terminal_list): Likewise.
22148 * normal/main.c (read_lists): Use explicit prefix.
22149 (read_lists_hook): Use read_lists.
22150 (grub_normal_execute): Likewise.
22151
22152 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22153
22154 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22155 Reported by: Thomas Schmitt.
22156 Add -no-emul-boot to grub-mkisofs parameters.
22157
22158 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22159
22160 * font/font.c: Indented.
22161
22162 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22163
22164 Elif support to GRUB script (by Deepak Vankadaru).
22165
22166 * tests/grub_script_if.in: New testcase.
22167 * conf/tests.rmk: Rule for new testcase.
22168 * script/parser.y: Grammar rules for elif.
22169
22170 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22171
22172 While and until loops support to GRUB script.
22173
22174 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22175 (grub_script_create_cmdwhile): New function prototype.
22176 (grub_script_execute_cmdwhile): New function prototype.
22177 * script/execute.c (grub_script_execute_cmdwhile): New function.
22178 * script/parser.y (command): New commands.
22179 (whilecmd): New grammar rule.
22180 (untilcmd): New grammar rule.
22181 * script/script.c (grub_script_create_cmdwhile): New function.
22182 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22183 function.
22184
22185 * tests/grub_script_while1.in: New testcase.
22186 * conf/tests.rmk: Rule for new testcase.
22187
22188 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22189
22190 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22191 as *.jpg.
22192
22193 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
22194
22195 GRUB_BACKGROUND support.
22196
22197 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22198 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22199
22200 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 Load fonts and modules for gfxmenu in grub-mkconfig.
22203 Idea by: Mario Vazquez
22204
22205 * util/grub.d/00_header.in: Load pf2 and image modules.
22206
22207 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 grub-mkconfig multiple terminal support.
22210
22211 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22212 * util/grub.d/00_header.in: Likewise.
22213
22214 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22217 we use cd $(srcdir).
22218
22219 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
22220
22221 * util/grub.d/10_linux.in: Only use the first word of
22222 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22223 spaces in GRUB_DISTRIBUTOR.
22224 * util/grub.d/10_kfreebsd.in: Likewise.
22225 * util/grub.d/10_hurd.in: Likewise.
22226
22227 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22228
22229 Fix unit testing framework for Qemu 0.12.
22230
22231 * tests/util/grub-shell.in: Remove -serial stdio option.
22232
22233 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 POSIX header file wrappers.
22236
22237 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22238 equivalents.
22239 * lib/posix_wrap/ctype.h: Likewise.
22240 * lib/posix_wrap/errno.h: Likewise.
22241 * lib/posix_wrap/langinfo.h: Likewise.
22242 * lib/posix_wrap/limits.h: Likewise.
22243 * lib/posix_wrap/localcharset.h: Likewise.
22244 * lib/posix_wrap/stdint.h: Likewise.
22245 * lib/posix_wrap/stdio.h: Likewise.
22246 * lib/posix_wrap/stdlib.h: Likewise.
22247 * lib/posix_wrap/string.h: Likewise.
22248 * lib/posix_wrap/sys/types.h: Likewise.
22249 * lib/posix_wrap/unistd.h: Likewise.
22250 * lib/posix_wrap/wchar.h: Likewise.
22251 * lib/posix_wrap/wctype.h: Likewise.
22252 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22253 (grub_script.yy.h): Likewise.
22254 * script/yylex.l: Remove POSIX emulation #defines.
22255 * Makefile.in (POSIX_CFLAGS): New variable.
22256 (GNULIB_UTIL_CFLAGS): Likewise.
22257
22258 Regexp support.
22259
22260 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22261 (regexp_mod_SOURCES): New variable.
22262 (regexp_mod_CFLAGS): Likewise.
22263 (regexp_mod_LDFLAGS): Likewise.
22264 * commands/regexp.c: New file.
22265 * gnulib/regcomp.c: New file. Imported from gnulib.
22266 * gnulib/regex.c: Likewise.
22267 * gnulib/regex_internal.c: Likewise.
22268 * gnulib/regex_internal.h: Likewise.
22269 * gnulib/regexec.c: Likewise.
22270 * gnulib/regex.h: Likewise.
22271
22272 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22273
22274 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22275 unsupported video mode types.
22276
22277 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22280
22281 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22282
22283 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22284 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22285
22286 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 Remove unused grub_vga_get_font.
22289
22290 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22291 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22292
22293 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22294
22295 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22296 * include/grub/misc.h: Likewise.
22297
22298 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22299
22300 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22301 for which failure is fatal.
22302
22303 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22304
22305 * util/grub-install.in: Use mkdir -p to create grub directory.
22306 * util/i386/efi/grub-install.in: Likewise.
22307 * util/ieee1275/grub-install.in: Likewise.
22308
22309 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22310
22311 * Makefile.in (LEX): new variable.
22312
22313 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22314
22315 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22316 `=' and added double quotes on operands of this equality test.
22317
22318 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22319
22320 * Makefile.in (uninstall): Remove a leftover debug echo.
22321 Reported by: Grégoire Sutre
22322
22323 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 MIPS multiboot2 support.
22326
22327 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22328 (multiboot2_mod_SOURCES): New variable.
22329 (multiboot2_mod_CFLAGS): Likewise.
22330 (multiboot2_mod_LDFLAGS): Likewise.
22331 (multiboot2_mod_ASFLAGS): Likewise.
22332 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22333 definition.
22334 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22335 (MULTIBOOT_MBI_REGISTER): Likewise.
22336 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22337 (MULTIBOOT_ELF32_MACHINE): Likewise.
22338 (MULTIBOOT_ELF64_MACHINE): Likewise.
22339 * include/grub/mips/multiboot.h: New file.
22340 * include/grub/video.h (grub_video_driver_id): New type
22341 GRUB_VIDEO_DRIVER_SM712.
22342 (grub_video_get_info_and_fini): Export.
22343 (grub_video_get_palette): Likewise.
22344 (grub_video_get_driver_id): Likewise.
22345 * include/multiboot2.h: Resynced with spec.
22346 * loader/i386/multiboot.c: Moved from here ...
22347 * loader/multiboot.c: ... here. All users updated.
22348 (grub_multiboot_boot): Use platform-specific macros.
22349 * loader/i386/multiboot_elfxx.c: Moved from here ...
22350 * loader/multiboot_elfxx.c: ... here. All users updated.
22351 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22352 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22353 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22354
22355 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 Import gnulib argp module.
22358
22359 * gnulib/argp-ba.c: New file.
22360 * gnulib/argp-eexst.c: Likewise.
22361 * gnulib/argp-fmtstream.c: Likewise.
22362 * gnulib/argp-fmtstream.h: Likewise.
22363 * gnulib/argp-fs-xinl.c: Likewise.
22364 * gnulib/argp-help.c: Likewise.
22365 * gnulib/argp-namefrob.h: Likewise.
22366 * gnulib/argp-parse.c: Likewise.
22367 * gnulib/argp-pin.c: Likewise.
22368 * gnulib/argp-pv.c: Likewise.
22369 * gnulib/argp-pvh.c: Likewise.
22370 * gnulib/argp-version-etc.c: Likewise.
22371 * gnulib/argp-version-etc.h: Likewise.
22372 * gnulib/argp-xinl.c: Likewise.
22373 * gnulib/argp.h: Likewise.
22374
22375 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * kern/device.c (grub_device_iterate): Clear errors after failed
22378 opening device.
22379
22380 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22383 returned by firmware.
22384
22385 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22386
22387 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22388 compilation on coreboot and qemu
22389
22390 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 * include/multiboot2.h: Resync with spec.
22393
22394 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22395
22396 Multiboot2 tag support
22397
22398 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
22399 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
22400 Remove loader/multiboot_loader.c.
22401 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
22402 (grub_multiboot2_real_boot): Likewise.
22403 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
22404 (grub_get_multiboot_mmap_count): New proto.
22405 (grub_fill_multiboot_mmap): Likewise.
22406 (grub_multiboot_set_video_mode): Likewise.
22407 (grub_multiboot_set_console): Likewise.
22408 (grub_multiboot_load): Likewise.
22409 (grub_multiboot_load_elf): Likewise.
22410 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
22411 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
22412 * include/multiboot.h: Resynced with specification.
22413 * include/multiboot2.h: Resynced with specification.
22414 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
22415 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
22416 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
22417 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
22418 users updated.
22419 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
22420 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
22421 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
22422 Removed.
22423 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
22424 Moved from here...
22425 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
22426 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22427 Moved from here...
22428 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
22429 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
22430 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
22431 All users updated.
22432 * loader/i386/multiboot_mbi2.c: New file.
22433
22434 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22435
22436 Resync with gnulib.
22437
22438 * Makefile.in (GNULIB_CFLAGS): New variable.
22439 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
22440 (grub_script_check_CFLAGS): New variable.
22441 * gnulib/alloca.h: Resync with gnulib.
22442 * gnulib/error.c: Likewise.
22443 * gnulib/error.h: Likewise.
22444 * gnulib/fnmatch.c: Likewise.
22445 * gnulib/fnmatch_loop.c: Likewise.
22446 * gnulib/getdelim.c: Likewise.
22447 * gnulib/getline.c: Likewise.
22448 * gnulib/getopt.c: Likewise.
22449 * gnulib/getopt1.c: Likewise.
22450 * gnulib/getopt_int.h: Likewise.
22451 * gnulib/gettext.h: Likewise.
22452 * gnulib/progname.c: Likewise.
22453 * gnulib/progname.h: Likewise.
22454
22455 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
22456
22457 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
22458 which is the case with --disabled-nls.
22459
22460 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
22461 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
22462 * util/misc.c: Likewise.
22463 * util/mkisofs/mkisofs.c: Likewise.
22464 * util/mkisofs/mkisofs.h: Likewise.
22465
22466 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 Simplify Apple CC support.
22469
22470 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
22471 Add 0 byte at the end not to have a symbol with empty target.
22472 * mmap/i386/pc/mmap_helper.S: Likewise.
22473 * genmk.rb: Ignore errors 2030 and 2050.
22474 * kern/i386/pc/startup.S: Use LOCAL when possible.
22475
22476 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
22477
22478 Testcase and the fix for final semicolon on cmdline.
22479
22480 * tests/grub_script_final_semicolon.in: New testcase.
22481 * conf/tests.rmk: Rules for the new testcase.
22482 * script/parser.y: Grammar fix.
22483
22484 2010-03-26 BVK Chaitanya <bvk@localhost>
22485
22486 Blank lines testcase for GRUB script.
22487
22488 * tests/grub_script_blanklines.in: New testcase.
22489 * conf/tests.rmk: Rules for the new testcase.
22490
22491 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 Don't use __FILE__.
22494
22495 * genmk.rb: Add -DGRUB_FILE to all C targets.
22496 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
22497 * include/grub/list.h: Likewise.
22498 * include/grub/misc.h: Likewise.
22499 * include/grub/mm.h: Likewise.
22500 * include/grub/test.h: Likewise.
22501 * kern/mm.c: Likewise.
22502 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22503
22504 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22505
22506 Sunpc partitions support.
22507
22508 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
22509 (grub_fstest_SOURCES): Likewise.
22510 (pkglib_MODULES): Add part_sunpc.mod.
22511 (part_sunpc_mod_SOURCES): New variable.
22512 (part_sunpc_mod_CFLAGS): Likewise.
22513 (part_sunpc_mod_LDFLAGS): Likewise.
22514 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
22515 * partmap/sunpc.c: New file.
22516
22517 2010-03-26 BVK Chaitanya <bvk@localhost>
22518
22519 For loop support to GRUB script.
22520
22521 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
22522 (grub_script_create_cmdfor): New function prototype.
22523 (grub_script_execute_cmdfor): New function prototype.
22524 * script/execute.c (grub_script_execute_cmdfor): New function.
22525 * script/parser.y (command): New for command.
22526 (forcmd): New grammar rule.
22527 * script/script.c (grub_script_create_cmdfor): New function.
22528 * util/grub-script-check.c (grub_script_execute_cmdfor): New
22529 function.
22530 * tests/grub_script_for1.in: New testcase.
22531 * conf/tests.rmk: Rules for new testcase.
22532
22533 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
22534
22535 Nested partitions
22536
22537 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
22538 'partition' is NULL, grub_partition_get_start already does that.
22539 * commands/loadenv.c (check_blocklists): Likewise.
22540 (write_blocklists): Likewise.
22541 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
22542 (grub_fstest_SOURCES): Likewise.
22543 (pkglib_MODULES): Add part_bsd.mod.
22544 (part_bsd_mod_SOURCES): New variable.
22545 (part_bsd_mod_CFLAGS): Likewise.
22546 (part_bsd_mod_LDFLAGS): Likewise.
22547 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
22548 (grub_emu_SOURCES): Likewise.
22549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22550 * include/grub/bsdlabel.h: New file.
22551 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
22552 'get_name'.
22553 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
22554 (grub_partition_map_list): New variable.
22555 (grub_partition_map_register): Inline.
22556 (grub_partition_map_unregister): Likewise.
22557 (FOR_PARTITION_MAPS): New macro.
22558 (grub_partition_map_iterate): Removed.
22559 (grub_partition_get_start): Handle nested partitions.
22560 * include/grub/msdos_partition.h: Remove bsd-related entries.
22561 (grub_pc_partition): Remove.
22562 * kern/disk.c (grub_disk_close): Free partition data.
22563 (grub_disk_adjust_range): Handle nested partitions.
22564 * kern/partition.c (grub_partition_map_probe): New function.
22565 (grub_partition_probe): Parse name to number, handle subpartitions.
22566 (get_partmap): New function.
22567 (grub_partition_iterate): Handle subpartitions.
22568 (grub_partition_get_name): Likewise.
22569 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
22570 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
22571 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
22572 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
22573 Set 'number'.
22574 (acorn_partition_map_probe): Remove.
22575 (acorn_partition_map_get_name): Likewise.
22576 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
22577 Set 'number'.
22578 Set 'index' to 0 since there can be only one partition entry per sector.
22579 (amiga_partition_map_probe): Remove.
22580 (amiga_partition_map_get_name): Likewise.
22581 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
22582 Set 'number'.
22583 Set 'offset' and 'index' to real positions of partitions.
22584 (apple_partition_map_probe): Remove.
22585 (apple_partition_map_get_name): Likewise.
22586 * partmap/bsdlabel.c: New file.
22587 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
22588 Set 'number'.
22589 Allocate 'data' so it can be correctly freed.
22590 Set 'index' to offset inside sector.
22591 (gpt_partition_map_probe): Remove.
22592 (gpt_partition_map_get_name): Likewise.
22593 * partmap/msdos.c (grub_partition_parse): Remove.
22594 (pc_partition_map_iterate): Don't force raw access.
22595 Set 'number'.
22596 Make 'ext_offset' a local variable.
22597 (pc_partition_map_probe): Remove.
22598 (pc_partition_map_get_name): Remove.
22599 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
22600 Set 'number'.
22601 (sun_partition_map_probe): Remove.
22602 (sun_partition_map_get_name): Likewise.
22603 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
22604 (grub_pcpart_type): Likewise.
22605 * util/hostdisk.c (open_device): Handle new numbering scheme.
22606 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
22607 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
22608 * util/grub-probe.c (probe_partmap): Handle nested paritions.
22609 * util/grub-install.in: Insert all subpartition modules.
22610 * util/ieee1275/grub-install.in: Likewise.
22611
22612 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
22613
22614 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
22615 grammar.
22616
22617 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
22618
22619 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
22620
22621 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
22622
22623 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
22624 match where 'make install' puts them.
22625 * util/i386/efi/grub-install.in: Likewise.
22626
22627 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
22628
22629 * .bzrignore: Add gentrigtables, grub-script-check,
22630 grub_script_check_init.c, grub_script_check_init.h, and
22631 trigtables.c.
22632
22633 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * kern/parser.c: Indented.
22636
22637 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
22640
22641 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
22644 alpha_mask_size == 0 case.
22645
22646 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
22647
22648 GRUB shell lexer and parser improvements.
22649
22650 * conf/any-emu.rmk: Build rule updates.
22651 * conf/common.rmk: Likewise.
22652 * conf/i386-coreboot.rmk: Likewise.
22653 * conf/i386-efi.rmk: Likewise.
22654 * conf/i386-ieee1275.rmk: Likewise.
22655 * conf/i386-pc.rmk: Likewise.
22656 * conf/powerpc-ieee1275.rmk: Likewise.
22657 * conf/x86_64-efi.rmk: Likewise.
22658
22659 * configure.ac: Configure check for flex.
22660
22661 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
22662 types.
22663 (grub_lexer_param): Struct member updates.
22664 (grub_parser_param): Likewise.
22665 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
22666 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
22667 (grub_script_lexer_init): Prototype update.
22668 (grub_script_lexer_record_start): Likewise.
22669 (grub_script_lexer_record_stop): Likewise.
22670 (grub_script_lexer_yywrap): New function prototype.
22671 (grub_script_lexer_fini): Likewise.
22672 (grub_script_execute_argument_to_string): Removed by...
22673 (grub_script_execute_argument_to_argv): ...better version.
22674
22675 * script/execute.c (ROUND_UPTO): New macro.
22676 (grub_script_execute_cmdline): Out of memory fixes.
22677 (grub_script_execute_menuentry): Likewise.
22678 (grub_script_execute_argument_to_string): Removed. Update all
22679 users by...
22680 (grub_script_execute_argument_to_argv): ...better version.
22681 * script/function.c (grub_script_function_create): Use
22682 grub_script_execute_argument_to_argv instead of
22683 grub_script_execute_argument_to_string.
22684
22685 * script/lexer.c (check_varstate): Removed.
22686 (check_textstate): Removed.
22687 (grub_script_lexer_record_start): Likewise.
22688 (grub_script_lexer_record_stop): Likewise.
22689 (recordchar): Replaced with...
22690 (grub_script_lexer_record): ...new function.
22691 (nextchar): Removed.
22692 (grub_script_lexer_init): Rewritten.
22693 (grub_script_yylex): Rewritten.
22694 (append_newline): New function.
22695 (grub_script_lexer_yywrap): New function.
22696 (grub_script_lexer_fini): New function.
22697 (grub_script_yyerror): Sets error flag.
22698
22699 * script/yylex.l: New file.
22700 (grub_lexer_yyfree): Wrapper for flex yyffre.
22701 (grub_lexer_yyalloc): Likewise.
22702 (grub_lexer_yyrealloc): Likewise.
22703 * script/parser.y: Refactored.
22704
22705 * script/script.c (grub_script_arg_add): Out of memory fixes.
22706 (grub_script_add_arglist): Likewise.
22707 (grub_script_create_cmdline): Likewise.
22708 (grub_script_create_cmdmenu): Likewise.
22709 (grub_script_add_cmd): Likewise.
22710 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
22711 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
22712 unnecessary code.
22713
22714 * tests/grub_script_echo1.in: New testcase.
22715 * tests/grub_script_vars1.in: New testcase.
22716 * tests/grub_script_echo_keywords.in: New testcase.
22717
22718 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Remove some redundancy in build system.
22721
22722 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
22723 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
22724 (TARGET_LDFLAGS): Add -nostdlib.
22725 (TARGET_IMG_LDFLAGS): Likewise.
22726 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
22727 anything since mmap isn't available.
22728 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
22729 Add util/time.c.
22730 (pkglib_MODULES): Remove reboot.mod.
22731 (reboot_mod_SOURCES): Removed.
22732 (reboot_mod_CFLAGS): Likewise.
22733 (reboot_mod_LDFLAGS): Likewise.
22734 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
22735 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
22736 (DEFSYMFILES): Add kernel_syms.lst.
22737 (kernel_img_HEADERS): Add common headers.
22738 (symlist.c): New target.
22739 (kernel_syms.lst): Likewise.
22740 (pkglib_MODULES): Add memdisk.mod.
22741 (memdisk_mod_SOURCES): New variable.
22742 (memdisk_mod_CFLAGS): Likewise.
22743 (memdisk_mod_LDFLAGS): Likewise.
22744 (pkglib_MODULES): Add reboot.mod.
22745 (reboot_mod_SOURCES): New variable.
22746 (reboot_mod_CFLAGS): Likewise.
22747 (reboot_mod_LDFLAGS): Likewise.
22748 (pkglib_MODULES): Add date.mod.
22749 (date_mod_SOURCES): New variable.
22750 (date_mod_CFLAGS): Likewise.
22751 (date_mod_LDFLAGS): Likewise.
22752 (pkglib_MODULES): Add datehook.mod.
22753 (datehook_mod_SOURCES): New variable.
22754 (datehook_mod_CFLAGS): Likewise.
22755 (datehook_mod_LDFLAGS): Likewise.
22756 (pkglib_MODULES): Add lsmmap.mod.
22757 (lsmmap_mod_SOURCES): New variable.
22758 (lsmmap_mod_CFLAGS): Likewise.
22759 (lsmmap_mod_LDFLAGS): Likewise.
22760 (pkglib_MODULES): Add boot.mod.
22761 (boot_mod_SOURCES): New variable.
22762 (boot_mod_CFLAGS): Likewise.
22763 (boot_mod_LDFLAGS): Likewise.
22764 * conf/i386-coreboot.rmk: Removed redundant parts.
22765 * conf/i386-ieee1275.rmk: Likewise.
22766 * conf/i386-pc.rmk: Likewise.
22767 * conf/mips-yeeloong.rmk: Likewise.
22768 * conf/mips.rmk: Likewise.
22769 * conf/powerpc-ieee1275.rmk: Likewise.
22770 * conf/sparc64-ieee1275.rmk: Likewise.
22771 * conf/x86_64-efi.rmk: Likewise.
22772 * conf/i386-coreboot.rmk: Moved qemu parts ..
22773 * conf/i386-qemu.rmk: ... here
22774 * conf/i386-efi.rmk: Moved common parts to...
22775 * conf/x86-efi.rmk: ... here.
22776 * conf/i386.rmk: Added modules common to all x86 variants.
22777 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
22778 * disk/memdisk.c: Remove grub/machine/kernel.h.
22779 * gensymlist.sh.in: Include symbol.h.
22780 * hook/datehook.c: Correct module name.
22781 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
22782 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
22783 * include/grub/i386/efi/serial.h: New file.
22784 * include/grub/x86_64/efi/serial.h: Likewise.
22785 * util/time.c: Likewise.
22786 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
22787
22788 2010-03-14 Colin King <colin.king@ubuntu.com>
22789 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22790
22791 Shrink the pre-partition-table part of boot.img by eight bytes.
22792
22793 * boot/i386/pc/boot.S (ERR): New macro.
22794 (chs_mode): Use ERR.
22795 (geometry_error): Likewise.
22796 (hd_probe_error): Remove. This is only used once, so we wrwite
22797 it inline instead.
22798 (read_error): Instead of printing read_error_string, just set up
22799 %si and fall through to ...
22800 (error_message): ... this new function, also used by ERR.
22801
22802 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
22803
22804 Speed up consecutive hostdisk operations on the same device.
22805
22806 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
22807 (grub_util_biosdisk_open): Initialise disk->data.
22808 (struct linux_partition_cache): New structure.
22809 (linux_find_partition): Cache partition start positions; these are
22810 expensive to compute on every read and write.
22811 (open_device): Cache open file descriptor in disk->data, so that we
22812 don't have to reopen it and flush the buffer cache for consecutive
22813 operations on the same device.
22814 (grub_util_biosdisk_close): New function.
22815 (grub_util_biosdisk_dev): Set `close' member.
22816
22817 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
22818 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
22819 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22820 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22821 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
22822
22823 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22824
22825 Compile parts of grub-emu as modules.
22826
22827 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
22828 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
22829 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
22830 (all-local): Add $(GRUB_EMU).
22831 (install-local): Install $(GRUB_EMU).
22832 (uninstall): Uninstall $(GRUB_EMU).
22833 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
22834 * kern/dl.c: Likewise.
22835 * commands/sleep.c: Not include machine/time.h.
22836 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
22837 (COMMON_CFLAGS): Likewise.
22838 (sbin_UTILITIES): Remove grub-emu.
22839 (grub_emu_SOURCES): Removed.
22840 (kernel_img_RELOCATABLE): New variable.
22841 (pkglib_PROGRAMS): Add kernel.img.
22842 (kernel_img_SOURCES): New variable
22843 (kernel_img_CFLAGS): Likewise.
22844 (kernel_img_LDFLAGS): Likewise.
22845 (TARGET_NO_STRIP): Likewise.
22846 (TARGET_NO_DYNAMIC_MODULES): Likewise.
22847 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
22848 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
22849 (grub-emu): New target.
22850 (GRUB_EMU): New variable.
22851 * configure.ac: Whitelist -emu as possible x86_64 architecture.
22852 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
22853 * loader/xnu.c: Likewise.
22854 * include/grub/pci.h: Likewise.
22855 * genemuinit.sh: New file.
22856 * genemuinitheader.sh: Likewise.
22857 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
22858 Support TARGET_NO_DYNAMIC_MODULES.
22859 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
22860 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
22861 * disk/loopback.c: Likewise.
22862 * font/font_cmd.c: Likewise.
22863 * partmap/acorn.c: Likewise.
22864 * partmap/amiga.c: Likewise.
22865 * partmap/apple.c: Likewise.
22866 * partmap/gpt.c: Likewise.
22867 * partmap/msdos.c: Likewise.
22868 * partmap/sun.c: Likewise.
22869 * parttool/msdospart.c: Likewise.
22870 * term/gfxterm.c: Likewise.
22871 * video/bitmap.c: Likewise.
22872 * video/readers/jpeg.c: Likewise.
22873 * video/readers/png.c: Likewise.
22874 * video/readers/tga.c: Likewise.
22875 * video/video.c: Likewise.
22876 * util/grub-emu.c (read_command_list): Removed.
22877 (main): Don't call util_init_nls.
22878 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
22879 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
22880
22881 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22882
22883 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
22884 date.mod, datehook.mod.
22885 (datetime_mod_SOURCES): New variable.
22886 (datetime_mod_CFLAGS): Likewise.
22887 (datetime_mod_LDFLAGS): Likewise.
22888 (date_mod_SOURCES): Likewise.
22889 (date_mod_CFLAGS): Likewise.
22890 (date_mod_LDFLAGS): Likewise.
22891 (datehook_mod_SOURCES): Likewise.
22892 (datehook_mod_CFLAGS): Likewise.
22893 (datehook_mod_LDFLAGS): Likewise.
22894 * conf/sparc64-ieee1275.rmk: Likewise.
22895 * lib/ieee1275/datetime.c: New file.
22896
22897 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22898
22899 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
22900 (ieee1275_fb_mod_SOURCES): New variable.
22901 (ieee1275_fb_mod_CFLAGS): Likewise.
22902 (ieee1275_fb_mod_LDFLAGS): Likewise.
22903 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
22904 New proto.
22905 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
22906 (HEAP_MAX_ADDR): Likewise.
22907 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
22908 type.
22909 Correct stop condition.
22910 (grub_ieee1275_devices_iterate): New function.
22911 * video/ieee1275.c: New file.
22912
22913 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
22914
22915 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
22916
22917 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
22918 as scratch.
22919 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
22920 SCRATCH_PAD_DISKBOOT as scratch.
22921 (bootit): Pass Openfirmware pointer in %o4.
22922 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
22923 of 0x200000.
22924 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
22925 with util/grub-mkrawimage.c.
22926 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
22927 * include/grub/aout.h (AOUT_MID_SUN): New definition.
22928 (grub_aout_get_type) [GRUB_UTIL]: Removed.
22929 (grub_aout_load) [GRUB_UTIL]: Likewise.
22930 * include/grub/kernel.h (grub_modules_get_end): New proto.
22931 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
22932 (SCRATCH_PAD_BOOT): New definition.
22933 (SCRATCH_PAD_DISKBOOT): Likewise.
22934 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
22935 * include/grub/sparc64/ieee1275/ieee1275.h
22936 (grub_ieee1275_original_stack): New variable
22937 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22938 New definition
22939 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
22940 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
22941 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
22942 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
22943 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
22944 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
22945 (grub_platform_image_format_t): New type.
22946 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
22947 * kern/main.c (grub_modules_get_end)
22948 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
22949 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
22950 (codestart): Switch stacks.
22951 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
22952 variable.
22953 (grub_heap_init): Use grub_modules_get_end.
22954 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
22955 stack.
22956 * util/grub-mkrawimage.c (generate_image): Support sparc64.
22957 (main): Likewise.
22958 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
22959
22960 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
22961
22962 * util/grub-mkrescue.in: Base ISO UUID on UTC.
22963
22964 2010-03-08 Matt Kraai <kraai@ftbfs.org>
22965
22966 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
22967 bug #559005).
22968
22969 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
22970
22971 * genmoddep.awk: Output all missing symbols and not only first.
22972
22973 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22974
22975 * NEWS: Put the date of 1.98 release.
22976
22977 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
22980 ft2build.h.
22981
22982 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22983
22984 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
22985 completition in the middle of string.
22986
22987 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22988
22989 * util/grub-mkrescue.in: Use mktemp with explicit template.
22990
22991 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22992
22993 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
22994
22995 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
22996
22997 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
22998 right pointer.
22999
23000 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 Fix FreeBSD compilation.
23003
23004 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23005 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23006
23007 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23010
23011 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23012
23013 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23014
23015 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23016
23017 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23018
23019 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23020
23021 Support relative image path in theme file.
23022
23023 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23024 (image_set_property): Handle theme_dir and relative path.
23025
23026 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * configure.ac: Alias amd64 to x86_64.
23029
23030 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * NEWS: mention multiboot on EFI.
23033
23034 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23035
23036 * kern/main.c (grub_load_modules): Handle errors from init functions of
23037 embeded modules.
23038
23039 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 * normal/autofs.c (autoload_fs_module): Handle errors.
23042
23043 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23044
23045 Disable linux.mod on qemu-mips since it's not functional and leads
23046 to compilation failure.
23047
23048 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23049 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23050 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23051 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23052 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23053 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23054 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23055 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23056 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23057 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23058 Reported by: BVK Chaitanya
23059
23060 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23061
23062 * INSTALL: Add gettext as a dependency and add qemu to a new section
23063 "Prerequisites for make-check".
23064
23065 2010-03-04 Christian Franke <franke@computer.org>
23066
23067 * util/grub-pe2elf.c: Add missing include "progname.h".
23068
23069 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * normal/crypto.c (read_crypto_list): Fix a typo.
23072 Reported by: Seth Goldberg.
23073
23074 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
23077 Reported by: Seth Goldberg.
23078
23079 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23080
23081 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23082 ascii.bitmaps.
23083
23084 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 * genmk.rb: Remove terminal*.lst in make clean.
23087 Reported by: Seth Goldberg.
23088
23089 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23090
23091 * util/i386/efi/grub-install.in: Copy gettext files.
23092
23093 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23094
23095 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23096
23097 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23098
23099 Wait for user entry basing on presence of output rather than on errors.
23100
23101 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23102 (grub_install_newline_hook): Likewise.
23103 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23104 * normal/menu.c (show_menu): Check line_counter to determine presence
23105 of output.
23106 * normal/term.c (grub_normal_line_counter): New variable.
23107 (grub_normal_get_line_counter): New function.
23108 (grub_install_newline_hook): Likewise.
23109
23110 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23111
23112 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23113
23114 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23115
23116 * configure.ac: Update version to 1.98.
23117
23118 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 * util/grub.d/10_linux.in (linux_entry): Don't default to
23121 gfxpayload=keep if Linux doesn't support video handover.
23122
23123 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 Don't compile video modules on yeeloong since video subsystem is part
23126 of kernel.
23127
23128 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23129 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23130 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23131 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23132 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23133 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23134 * include/grub/bitmap_scale.h: Likewise.
23135 * include/grub/bufio.h: Likewise.
23136 * include/grub/font.h: Likewise.
23137 * include/grub/gfxterm.h: Likewise.
23138 * include/grub/video.h: Likewise.
23139 * include/grub/vbe.h: Don't include video_fb.h.
23140 * video/i386/pc/vbe.c: Include video_fb.h.
23141 * commands/i386/pc/vbetest.c: Include video.h.
23142
23143 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23144
23145 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23146 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23147 default entry if GRUB_SAVEDEFAULT=true. This allows using
23148 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23149 saving a new default on every boot.
23150
23151 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23154 * normal/term.c (read_terminal_list): Likewise.
23155 * normal/main.c (grub_normal_init_page): Likewise.
23156 (grub_normal_read_line_real): Likewise.
23157
23158 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23161 memory leak.
23162 Reported by: Seth Goldberg.
23163
23164 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23165
23166 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23167 duplicate declaration of `start'.
23168
23169 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23170
23171 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23172 filename.
23173 Reported by: Georgy Buranov
23174
23175 2010-02-20 Carles Pina i Estany <carles@pina.cat>
23176
23177 * util/grub-mkrawimage.c (usage): Change string formatting to
23178 improve gettext.
23179
23180 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23181
23182 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23183 backspace keys.
23184
23185 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23186
23187 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23188 Reported by: Michael Suchanek.
23189
23190 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
23191
23192 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23193 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23194
23195 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 Remove any reference to non-free fonts.
23198
23199 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23200 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23201 uses non-free components.
23202 * font/font.c (grub_font_get_name): Remove example name.
23203 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23204 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23205 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23206 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23207
23208 2010-02-16 Georgy Buranov <gburanov@gmail.com>
23209
23210 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23211
23212 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23213
23214 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23215 Double divisor.
23216 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23217 features.
23218 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23219
23220 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23221
23222 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23223
23224 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23225
23226 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23227 * docs/grub.texi (Command-line and menu entry commands): Document play
23228 command.
23229
23230 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23231
23232 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23233 parse arguments as inline tempo and notes. Move code for playing notes
23234 to...
23235 (play): ... new function.
23236
23237 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23238
23239 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23240 grub_uint16_t instead of short.
23241 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23242 disk from little endian to cpu endianness.
23243
23244 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23245
23246 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23247 GRUB_TICKS_PER_SECOND instead of 120.
23248
23249 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23250
23251 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23252 escape sequence after \e.
23253
23254 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23255
23256 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23257 non-ASCII characters.
23258
23259 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23260
23261 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23262 set root in single quotes to prevent \, from being unescaped.
23263
23264 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23265
23266 Prevent unknown commands from stopping menuentry execution.
23267
23268 * script/execute.c (grub_script_execute_cmdline): Print error after
23269 unknown command.
23270
23271 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23272
23273 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23274 Reported by: Pavel Pisa.
23275
23276 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23277
23278 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23279
23280 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23281
23282 Merge grub_ieee1275_map_physical into grub_map and rename to
23283 grub_ieee1275_map
23284
23285 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23286 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23287 Remove.
23288 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23289 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23290 necessary.
23291 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23292
23293 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23294
23295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23296 opening and not after.
23297
23298 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23299
23300 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23301 constants.
23302
23303 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23306 (alloc_phys): Use ALIGN_UP instead of align_addr.
23307
23308 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23311
23312 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23313
23314 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23315
23316 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23317
23318 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23319 verbose dprintf.
23320
23321 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Fix over-4GiB seek on sparc64.
23324
23325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23326 Replace pos_i and pos_lo with pos. All users updated.
23327 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23328 New constant.
23329 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23330 Likewise.
23331 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23332 and pos_lo.
23333
23334 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 * util/grub-mkrawimage.c (main): Call set_program_name.
23337
23338 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 Properly align 64-bit targets.
23341
23342 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23343 (generate_image): Use ALIGN_ADDR.
23344
23345 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 Properly create cross-endian images.
23348
23349 * include/grub/types.h (grub_host_to_target_addr): New macro
23350 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23351
23352 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23353
23354 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23355
23356 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23359
23360 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23361 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23362 (grub_linux_boot): Divide by 64K when on VESA.
23363
23364 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23365
23366 Support GRUB_GFXPAYLOAD_LINUX.
23367
23368 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23369 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23370
23371 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23374 to show messages instead of discarding them.
23375 Process errors after executing command and not before. Keep old method
23376 too as precaution.
23377
23378 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23379
23380 * configure.ac: Check for ft2build.h.
23381
23382 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23383
23384 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23385
23386 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23387
23388 * genkernsyms.sh.in: Use TARGET_CC.
23389
23390 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
23391
23392 * NEWS: Update.
23393
23394 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23395
23396 * include/grub/multiboot2.h: Remove leftover file.
23397 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
23398 * include/grub/partition.h [GRUB_UTIL]: Likewise.
23399
23400 2010-02-07 Yves Blusseau <blusseau@zetam.org>
23401
23402 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
23403
23404 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23405
23406 Fix warnings in grub-emu when compiling with maximum warning options.
23407
23408 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
23409 (grub_arch_modules_addr): Return 0 and not NULL.
23410 * util/misc.c (ENABLE_RELOCATABLE): New definition.
23411 (xstrdup): Use newstr instead of dup.
23412 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
23413 of disk to dsk to avoid shadowing.
23414 (find_free_slot): Fix prototype.
23415 * util/getroot.c (grub_util_is_dmraid): Make static.
23416 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
23417 Add missing prototype.
23418 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
23419
23420 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23421
23422 * loader/i386/linux.c (grub_linux_setup_video): Handle error
23423 appropriately.
23424
23425 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23426
23427 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
23428 code out.
23429
23430 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23431
23432 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
23433 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
23434 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
23435 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
23436 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
23437 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
23438
23439 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 * include/grub/err.h (grub_err_printf): Don't export.
23442
23443 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23444
23445 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
23446
23447 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 * include/grub/i18n.h (grub_gettext_dummy): Removed.
23450 * kern/misc.c (grub_gettext_dummy): Make static.
23451
23452 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23453
23454 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
23455 by non-valid ones.
23456 * kern/term.c (grub_putchar): Likewise.
23457
23458 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23459
23460 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
23461 buggy hook call and memory leak.
23462
23463 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
23466
23467 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23468
23469 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
23470
23471 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
23474 modevar.
23475 Return grub_errno on allocation error.
23476
23477 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23478
23479 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
23480
23481 2010-02-06 Yves Blusseau <blusseau@zetam.org>
23482
23483 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
23484 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
23485
23486 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
23489 non-pxe disk.
23490 (grub_pxefs_open): Likewise.
23491
23492 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23493
23494 * util/grub.d/10_hurd.in: Add --class information to menuentries.
23495 * util/grub.d/10_kfreebsd.in: Likewise.
23496 * util/grub.d/10_linux.in: Likewise.
23497
23498 2010-02-06 Colin D Bennett <colin@gibibit.com>
23499
23500 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
23501 (gfxmenu_mod_SOURCES): New variable.
23502 (gfxmenu_mod_CFLAGS): Likewise.
23503 (gfxmenu_mod_LDFLAGS): Likewise.
23504 * include/grub/term.h (grub_term_set_current_output): Declare
23505 argument as const.
23506 * docs/gfxmenu-theme-example.txt: New file.
23507 * gfxmenu/gfxmenu.c: Likewise.
23508 * gfxmenu/gui_box.c: Likewise.
23509 * gfxmenu/gui_canvas.c: Likewise.
23510 * gfxmenu/gui_circular_progress.c: Likewise.
23511 * gfxmenu/gui_image.c: Likewise.
23512 * gfxmenu/gui_label.c: Likewise.
23513 * gfxmenu/gui_list.c: Likewise.
23514 * gfxmenu/gui_progress_bar.c: Likewise.
23515 * gfxmenu/gui_string_util.c: Likewise.
23516 * gfxmenu/gui_util.c: Likewise.
23517 * gfxmenu/icon_manager.c: Likewise.
23518 * gfxmenu/model.c: Likewise.
23519 * gfxmenu/named_colors.c: Likewise.
23520 * gfxmenu/theme_loader.c: Likewise.
23521 * gfxmenu/view.c: Likewise.
23522 * gfxmenu/widget-box.c: Likewise.
23523 * include/grub/gfxmenu_model.h: Likewise.
23524 * include/grub/gfxmenu_view.h: Likewise.
23525 * include/grub/gfxwidgets.h: Likewise.
23526 * include/grub/gui.h: Likewise.
23527 * include/grub/gui_string_util.h: Likewise.
23528 * include/grub/icon_manager.h: Likewise.
23529
23530 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 Agglomerate scrolling in gfxterm.
23533
23534 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
23535 (grub_virtual_screen_setup): Initialise 'total_screen'.
23536 (write_char): Split to ...
23537 (paint_char): ... this ...
23538 (write_char): ... and this.
23539 (paint_char): Handle delayed scrolling.
23540 (draw_cursor): Likewise.
23541 (scroll_up): Split to ...
23542 (real_scroll): ... this ...
23543 (scroll_up): ... and this.
23544 (real_scroll): Handle multi-line scroll and draw below-the-bottom
23545 characters.
23546 (grub_gfxterm_refresh): Call real_scroll.
23547
23548 2010-02-06 Colin D Bennett <colin@gibibit.com>
23549
23550 * include/grub/misc.h (grub_iscntrl): New inline function.
23551 (grub_isalnum): Likewise.
23552 (grub_strtol): Likewise.
23553
23554 2010-02-06 Colin D Bennett <colin@gibibit.com>
23555
23556 * normal/menu_text.c (get_entry_number): Move from here ...
23557 * normal/menu.c (get_entry_number): ... moved here.
23558 * include/grub/menu.h (grub_menu_get_default_entry_index):
23559 New prototype.
23560 * normal/menu.c (grub_menu_get_default_entry_index): New function.
23561 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
23562 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
23563 (grub_menu_viewer_should_return): Likewise.
23564 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
23565 * normal/menu_text.c (run_menu): Enable menu switching.
23566 * normal/menu_viewer.c (should_return): New variable.
23567 (menu_viewer_changed): Likewise.
23568 (grub_menu_viewer_show_menu): Handle menu viewer changes.
23569 (grub_menu_viewer_should_return): New function.
23570 (menuviewer_write_hook): Likewise.
23571 (grub_menu_viewer_init): Likewise.
23572
23573 2010-02-06 Colin D Bennet <colin@gibibit.com>
23574 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23575
23576 Support for gfxterm in a window.
23577
23578 * include/grub/gfxterm.h: New file.
23579 * include/grub/video.h (struct grub_video_rect): New declaration.
23580 (grub_video_rect_t): Likewise.
23581 * term/gfxterm.c (struct grub_gfxterm_window): New type.
23582 (refcount): New variable.
23583 (render_target): Likewise.
23584 (window): Likewise.
23585 (repaint_callback): Likewise.
23586 (grub_virtual_screen_setup): Use 'render_target'.
23587 (init_window): New function.
23588 (grub_gfxterm_init_window): Likewise.
23589 (grub_gfxterm_init): Check reference counter.
23590 Use init_window.
23591 (destroy_window): New function.
23592 (grub_gfxterm_destroy_window): Likewise.
23593 (grub_gfxterm_fini): Check reference counter.
23594 Use destroy_window.
23595 (redraw_screen_rect): Restore viewport.
23596 Use 'render_target' and 'window'.
23597 Call 'repaint_callback'.
23598 (write_char): Use 'render_target'.
23599 (draw_cursor): Likewise.
23600 (scroll_up): Restore viewport.
23601 Use 'render_target' and 'window'.
23602 Call 'repaint_callback'.
23603 (grub_gfxterm_cls): Likewise.
23604 (grub_gfxterm_refresh): Use 'window'.
23605 (grub_gfxterm_set_repaint_callback): New function.
23606 (grub_gfxterm_background_image_cmd): Use 'window'.
23607 (grub_gfxterm_get_term): New function.
23608 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
23609
23610 2010-02-06 Colin D Bennett <colin@gibibit.com>
23611
23612 Bitmap scaling support.
23613
23614 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
23615 (bitmap_scale_mod_SOURCES): New variable.
23616 (bitmap_scale_mod_CFLAGS): Likewise.
23617 (bitmap_scale_mod_LDFLAGS): Likewise.
23618 * include/grub/bitmap_scale.h: New file.
23619 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
23620 (background_image_cmd_options): New variable.
23621 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
23622 (cmd): Rename and change type to ...
23623 (background_image_cmd_handle): ... this. All users updated.
23624 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
23625 * video/bitmap_scale.c: New file.
23626
23627 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23628
23629 SDL support.
23630
23631 * Makefile.in (LIBSDL): New variable.
23632 (enable_grub_emu_sdl): Likewise.
23633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
23634 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
23635 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
23636 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
23637 * util/sdl.c: New file.
23638
23639 2010-02-06 Colin D Bennett <colin@gibibit.com>
23640 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 Double buffering support.
23643
23644 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
23645 * include/grub/video.h: Update comment.
23646 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
23647 New type.
23648 (grub_video_fb_doublebuf_blit_init): New prototype.
23649 * term/gfxterm.c (scroll_up): Support double buffering.
23650 (grub_gfxterm_refresh): Likewise.
23651 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
23652 (grub_video_fb_doublebuf_blit_init): Likewise.
23653 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
23654 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
23655 'displayed_page', 'render_page' and 'update_screen'.
23656 (grub_video_vbe_fini): Free offscreen buffer.
23657 (doublebuf_pageflipping_commit): New function.
23658 (doublebuf_pageflipping_update_screen): Likewise.
23659 (doublebuf_pageflipping_init): Likewise.
23660 (double_buffering_init): Likewise.
23661 (grub_video_vbe_setup): Enable doublebuffering.
23662 (grub_video_vbe_swap_buffers): Implement.
23663 (grub_video_vbe_set_active_render_target): Handle double buffering.
23664 (grub_video_vbe_get_active_render_target): Likewise.
23665 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
23666 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
23667 (grub_video_vbe_enable_double_buffering): Likewise.
23668 (grub_video_vbe_swap_buffers): Use update_screen.
23669 (grub_video_set_mode): Use double buffering.
23670
23671 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23672
23673 * maintainance/gentrigtables.py: Remove.
23674 * lib/trig.c: Likewise.
23675
23676 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
23677
23678 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
23679 `trigtables.c'.
23680 (trigtables.c): New rule.
23681 (gentrigtables): Likewise.
23682 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
23683
23684 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
23685
23686 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
23687 integer constants.
23688
23689 2010-02-06 Colin D Bennet <colin@gibibit.com>
23690
23691 Trigonometry support.
23692
23693 * include/grub/trig.h: New file.
23694 * lib/trig.c: Likewise.
23695 * maintainance/gentrigtables.py: Likewise.
23696 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
23697 (trig_mod_SOURCES): New variable.
23698 (trig_mod_CFLAGS): Likewise.
23699 (trig_mod_LDFLAGS): Likewise.
23700
23701 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
23704 disk devices.
23705
23706 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
23707
23708 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
23709 error.
23710
23711 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 * util/hostdisk.c (open_device): Don't use partition device when reading
23714 before the partition.
23715 (grub_util_biosdisk_read): Don't read from partition and before the
23716 partition in single operation.
23717 (grub_util_biosdisk_write): Don't write to partition and before the
23718 partition in single operation.
23719
23720 2010-02-03 Torsten Landschoff <torsten@debian.org>
23721
23722 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23723 last sectors.
23724
23725 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
23726
23727 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
23728 CDROM reads.
23729 (grub_biosdisk_write): Refuse to write to CDROM.
23730
23731 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
23734
23735 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
23736
23737 * font/font.c (find_glyph): Check that bmp_idx is available before
23738 using it.
23739 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
23740 with (font == NULL).
23741
23742 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
23743
23744 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
23745
23746 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
23747
23748 * include/grub/script_sh.h (sourcecode): Add const qualifier.
23749 * util/grub-script-check.c (getline): Fix empty lines case.
23750
23751 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
23752
23753 * Makefile.in (check): Exit with fail status when one of the tests
23754 fails.
23755 * tests/example_functional_test.c (example_test): Fix reversed assert.
23756 * tests/example_unit_test.c (example_test): Likewise.
23757
23758 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
23759
23760 * util/grub.d/10_linux.in: This script does not use any of the
23761 contents of gettext.sh, only the external command `gettext', so stop
23762 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
23763 the same prefix as GRUB.)
23764 * util/grub.d/10_kfreebsd.in: Likewise.
23765
23766 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
23769 of the line.
23770
23771 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 * kern/disk.c (grub_disk_read): Fix offset computation when reading
23774 last sectors.
23775
23776 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
23779 having a 4KiB and not 32KiB buffer size.
23780
23781 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23782
23783 * util/hostfs.c: Include `<errno.h>'.
23784 (grub_hostfs_read): Handle errors from fseeko() and fread().
23785
23786 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23787
23788 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
23789 loop when using read hooks on files whose size isn't sector-aligned.
23790
23791 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23792
23793 Remove unused parameter.
23794
23795 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
23796 (grub_iso9660_open): Remove initialization of `data->length'.
23797
23798 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
23799
23800 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
23801 memleak conditions.
23802
23803 2010-01-27 Carles Pina i Estany <carles@pina.cat>
23804
23805 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
23806 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
23807
23808 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23809
23810 * util/bin2h.c (usage): Fix warning (space after backslash).
23811
23812 2010-01-26 Carles Pina i Estany <carles@pina.cat>
23813
23814 * font/font.c: Include `grub/fontformat.h.
23815 Remove font file format constants.
23816 (grub_font_load): Use the new macros.
23817 * include/grub/fontformat.h: New file.
23818 * util/grub-mkfont.c: Include `grub/fontformat.c'.
23819 (write_font_pf2): Use the new macros.
23820
23821 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23822
23823 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
23824 does.
23825
23826 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
23827
23828 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
23829
23830 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
23831 (_start): Macroify `0x7F'.
23832
23833 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
23834 (make_install_device): Use "(pxe)" as fallback prefix when booting
23835 via PXE.
23836
23837 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
23838
23839 * configure.ac: Reset LIBS after check for libgcc symbols.
23840
23841 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
23842
23843 * util/hostdisk.c (open_device): Add trailing newline to debug
23844 message.
23845
23846 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
23847
23848 * configure.ac: Check for `limits.h'.
23849 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
23850
23851 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
23852
23853 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
23854 capitalize error strings.
23855
23856 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
23857
23858 * util/grub.d/10_hurd.in: Add a recovery mode.
23859
23860 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
23861
23862 * configure.ac: Check for libgcc symbols with -nostdlib.
23863
23864 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
23865
23866 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
23867
23868 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
23871 stack since heap may be unavailable at that point.
23872 (grub_ofconsole_gotoxy): Likewise.
23873
23874 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 * configure.ac: Check for _restgpr_14_x.
23877 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
23878 and _savegpr_* prototypes.
23879
23880 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
23881
23882 Use generic grub_reboot() for i386-efi.
23883
23884 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
23885 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
23886 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
23887
23888 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
23889
23890 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
23891 presence of "prefix" variable as it breaks when normal.mod is
23892 embedded.
23893
23894 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
23897 stack since heap is unavailable at that point.
23898
23899 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
23902 (grub_freebsd_bootinfo): Rewritten.
23903 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
23904
23905 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
23906
23907 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
23908
23909 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
23910
23911 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
23912 domain now.
23913
23914 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
23915
23916 * util/misc.c (make_system_path_relative_to_its_root): Change the work
23917 around for handling "/" to the correct fix. Fix a memory leak. Use
23918 xstrdup instead of strdup.
23919
23920 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
23923
23924 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23925
23926 Optimise glyph lookup by Basic Multilingual Plane lookup array.
23927
23928 * font/font.c (struct grub_font): New member 'bmp_idx'.
23929 (font_init): Initialise 'bmp_idx'.
23930 (load_font_index): Fill 'bmp_idx'.
23931 (find_glyph): Make inline. Use bmp_idx for BMP characters.
23932
23933 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
23936 unnecessary calls.
23937
23938 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23939
23940 Move context handling out of the kernel.
23941
23942 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
23943 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
23944 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
23945 * conf/i386-efi.rmk: Likewise.
23946 * conf/i386-ieee1275.rmk: Likewise.
23947 * conf/i386-pc.rmk: Likewise.
23948 * conf/powerpc-ieee1275.rmk: Likewise.
23949 * conf/sparc64-ieee1275.rmk: Likewise.
23950 * conf/x86_64-efi.rmk: Likewise.
23951 * include/grub/env.h: Include grub/menu.h.
23952 (grub_env_var_type): Removed.
23953 (grub_env_var): Replaced field 'type' with 'global'.
23954 (grub_env_find): New prototype.
23955 (grub_env_context_open): Remove EXPORT_FUNC.
23956 (grub_env_context_close): Likewise.
23957 (grub_env_export): Likewise.
23958 (grub_env_set_data_slot): Removed.
23959 (grub_env_get_data_slot): Likewise.
23960 (grub_env_unset_data_slot): Likewise.
23961 (grub_env_unset_menu): New prototype.
23962 (grub_env_set_menu): Likewise.
23963 (grub_env_get_menu): Likewise.
23964 * include/grub/env_private.h: New file.
23965 * include/grub/normal.h (grub_context_init): New prototype.
23966 (grub_context_fini): Likewise.
23967 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
23968 * normal/context.c (grub_cmd_export): ... to here.
23969 * kern/env.c: Include env_private.h.
23970 (HASHSZ): Moved to include/grub/env_private.h.
23971 (grub_env_context): Likewise.
23972 (grub_env_sorted_var): Likewise.
23973 (current_context): Renamed from this ...
23974 (grub_current_context): ...to this. 'static' removed. All users updated.
23975 (grub_env_find): Removed 'static'.
23976 (grub_env_context_open): Moved to normal/context.c.
23977 (grub_env_context_close): Likewise.
23978 (grub_env_export): Likewise.
23979 (mangle_data_slot_name): Removed.
23980 (grub_env_set_data_slot): Likewise.
23981 (grub_env_get_data_slot): Likewise.
23982 (grub_env_unset_data_slot): Likewise.
23983 * kern/main.c (grub_set_root_dev): Don't export root.
23984 It will be done later.
23985 (grub_main): Don't export prefix.
23986 It will be done later.
23987 * normal/context.c: New file.
23988 * normal/main.c (free_menu): Use grub_env_unset_menu.
23989 (grub_normal_add_menu_entry): Use grub_env_get_menu.
23990 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
23991 (GRUB_MOD_INIT(normal)): Call grub_context_init.
23992 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
23993
23994 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 setpci support.
23997
23998 * commands/setpci.c: New file.
23999 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24000 (setpci_mod_SOURCES): New variable.
24001 (setpci_mod_CFLAGS): Likewise.
24002 (setpci_mod_LDFLAGS): Likewise.
24003
24004 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24005
24006 Byte-addressable PCI configuration space.
24007
24008 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24009 dword address.
24010 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24011 GRUB_PCI_REG_CACHELINE.
24012 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24013 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24014 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24015 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24016 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24017 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24018 grub_pci_make_address.
24019 (lock_rom_area): Likewise.
24020 * commands/lspci.c (grub_lspci_iter): Use macroses
24021 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24022 of grub_pci_make_address.
24023 * disk/ata.c (grub_ata_pciinit): Likewise.
24024 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24025 (GRUB_PCI_REG_VENDOR): Likewise.
24026 (GRUB_PCI_REG_DEVICE): Likewise.
24027 (GRUB_PCI_REG_COMMAND): Likewise.
24028 (GRUB_PCI_REG_STATUS): Likewise.
24029 (GRUB_PCI_REG_REVISION): Likewise.
24030 (GRUB_PCI_REG_CLASS): Likewise.
24031 (GRUB_PCI_REG_CACHELINE): Likewise.
24032 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24033 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24034 (GRUB_PCI_REG_BIST): Likewise.
24035 (GRUB_PCI_REG_ADDRESSES): Likewise.
24036 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24037 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24038 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24039 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24040 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24041 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24042 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24043 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24044 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24045 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24046 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24047 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24048 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24049 (GRUB_PCI_REG_MIN_GNT): Likewise.
24050 (GRUB_PCI_REG_MAX_LAT): Likewise.
24051 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24052 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24053 * video/efi_uga.c (find_framebuf): Likewise.
24054 * video/sm712.c (grub_video_sm712_setup): Likewise.
24055 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24056 space.
24057
24058 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24061 can be reliably determined to be supported.
24062
24063 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24064
24065 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24066 that VESA is supported.
24067 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24068 supported.
24069
24070 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24073
24074 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24075
24076 * util/misc.c (make_system_path_relative_to_its_root): Work around
24077 special-casing of "/", as previous incarnation of this routine did.
24078
24079 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24080
24081 Fix any-emu compilation.
24082
24083 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24084 * grub_bin2h_SOURCES: New variable.
24085
24086 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24087
24088 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24089
24090 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24091
24092 * util/grub.d/00_header.in: Fix handling of locale_dir.
24093
24094 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24095
24096 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24097 as possible unifont location (Gentoo).
24098 Reported by: Alexander Brüning
24099
24100 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24101
24102 Don't try to generate lists for kernel.img.
24103
24104 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24105 (pkglib_MODULES): Remove kernel.img.
24106 (kernel_img_EXPORTS): Removed.
24107 (kernel_img_RELOCATABLE): New variable.
24108 * conf/x86_64-efi.rmk: Likewise.
24109 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24110
24111 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24112
24113 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24114 grub_xasprintf or grub_snprintf.
24115 (grub_vsprintf): Likewise.
24116 (grub_snprintf): New proto.
24117 (grub_vsnprintf): Likewise.
24118 (grub_xasprintf): Likewise.
24119 (grub_xvasprintf): Likewise.
24120 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24121 (grub_sprintf): Removed.
24122 (grub_vsnprintf): New function.
24123 (grub_snprintf): Likewise.
24124 (grub_xvasprintf): Likewise.
24125 (grub_xasprintf): Likewise.
24126 (grub_vsprintf): Renamed to ...
24127 (grub_vsnprintf_real): ...this. New argument max_len.
24128
24129 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24130
24131 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24132 fix grub-script-check warning.
24133
24134 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * include/grub/font.h (grub_font_load): Fix prototype.
24137
24138 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24139
24140 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24141
24142 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24143
24144 * include/grub/x86_64/at_keyboard.h: New file.
24145
24146 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 * loader/mips/linux.c: Include missing grub/i18n.h.
24149
24150 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * normal/menu.c (notify_execution_failure): Clarify error message.
24153
24154 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24155
24156 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24157 return value (and revert all return statements). Update users.
24158
24159 2010-01-20 Dan Merillat <debian@dan.merillat.org>
24160
24161 * kern/device.c (grub_device_iterate): Allocate new part_ent
24162 structure based on sizeof (*p) rather than sizeof (p->next), to
24163 account for structure padding.
24164
24165 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24166 disk is NULL, which might happen for LVM physical volumes with no
24167 LVM signature.
24168
24169 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 * loader/mips/linux.c (grub_cmd_initrd)
24172 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24173
24174 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24175
24176 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24177 (grub_video_video_init, grub_video_bitmap_init)
24178 (grub_font_manager_init, grub_term_gfxterm_init)
24179 (grub_at_keyboard_init): New extern declarations.
24180 (grub_machine_init): Initialize gfxterm and at_keyboard.
24181
24182 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24183
24184 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24185 `gfxterm.mod' into core image.
24186
24187 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24188 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24189 (kernel_img_FORMAT): Copy to ...
24190
24191 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24192 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24193 (kernel_img_FORMAT): ... here, and ...
24194
24195 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24196 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24197 (kernel_img_FORMAT): ... here.
24198
24199 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24200 and input (at_keyboard) terminals in kernel.
24201 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24202
24203 (pkglib_MODULES): Remove `pci.mod'.
24204 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24205 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24206 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24207 (at_keyboard_mod_LDFLAGS): Remove variables.
24208
24209 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
24210
24211 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24212
24213 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24214
24215 * include/grub/mips/libgcc.h: Only export symbols for functions
24216 that libgcc provides.
24217
24218 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 MIPS support.
24221
24222 * bus/bonito.c: New file.
24223 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24224 GRUB_PCI_NUM_DEVICES.
24225 * term/i386/pc/serial.c: Move to ...
24226 * term/serial.c: ... here. All users updated.
24227 * util/i386/pc/grub-mkimage.c: Move to ...
24228 * util/grub-mkrawimage.c: ... here. All users updated.
24229 * term/i386/pc/at_keyboard.c: Move to ...
24230 * term/at_keyboard.c: ... here. All users updated.
24231 * conf/mips-qemu-mips.rmk: New file.
24232 * conf/mips-yeeloong.rmk: Likewise.
24233 * conf/mips.rmk: Likewise.
24234 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24235 mipsel-qemu-mips.
24236 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24237 to port addresses.
24238 (grub_ata_pciinit): Support CS5536.
24239 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24240 * font/font_cmd.c (loadfont_command): Open file before passing it to
24241 grub_font_load.
24242 (pseudo_file_read): New function.
24243 (pseudo_file_close): Likewise.
24244 (pseudo_fs): New structure.
24245 (load_font_module): New function.
24246 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24247 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24248 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24249 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24250 * include/grub/i386/at_keyboard.h: Split into ...
24251 * include/grub/at_keyboard.h: ... this ...
24252 * include/grub/i386/at_keyboard.h: ... and this.
24253 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24254 New prototype.
24255 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24256 updated.
24257 (grub_elf64_size): Likewise.
24258 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24259 filename.
24260 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24261 * include/grub/i386/coreboot/serial.h: Rewritten.
24262 * include/grub/i386/ieee1275/serial.h: Include
24263 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24264 * include/grub/i386/pc/serial.h: Moved from here ...
24265 * include/grub/serial.h: ... to here. All users updated.
24266 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24267 (GRUB_PCI_NUM_BUS): Likewise.
24268 (GRUB_PCI_NUM_DEVICES): Likewise.
24269 (grub_pci_device_map_range): Add missing volatile keyword.
24270 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24271 * include/grub/mips/at_keyboard.h: New file.
24272 * include/grub/mips/cache.h: Likewise.
24273 * include/grub/mips/io.h: Likewise.
24274 * include/grub/mips/kernel.h: Likewise.
24275 * include/grub/mips/libgcc.h: Likewise.
24276 * include/grub/mips/pci.h: Likewise.
24277 * include/grub/mips/qemu-mips/boot.h: Likewise.
24278 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24279 * include/grub/mips/qemu-mips/loader.h: Likewise.
24280 * include/grub/mips/qemu-mips/memory.h: Likewise.
24281 * include/grub/mips/qemu-mips/serial.h: Likewise.
24282 * include/grub/mips/qemu-mips/time.h: Likewise.
24283 * include/grub/mips/relocator.h: Likewise.
24284 * include/grub/mips/time.h: Likewise.
24285 * include/grub/mips/types.h: Likewise.
24286 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24287 * include/grub/mips/yeeloong/boot.h: Likewise.
24288 * include/grub/mips/yeeloong/kernel.h: Likewise.
24289 * include/grub/mips/yeeloong/loader.h: Likewise.
24290 * include/grub/mips/yeeloong/memory.h: Likewise.
24291 * include/grub/mips/yeeloong/pci.h: Likewise.
24292 * include/grub/mips/yeeloong/serial.h: Likewise.
24293 * include/grub/mips/yeeloong/time.h: Likewise.
24294 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24295 * kern/elf.c (grub_elf32_size): New parameter. All users
24296 updated.
24297 (grub_elf64_size): Likewise.
24298 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24299 Load modules before saying "Welcome to GRUB!".
24300 Call grub_refresh after saying "Welcome to GRUB!".
24301 * kern/mips/cache.S: New file.
24302 * kern/mips/cache_flush.S: Likewise.
24303 * kern/mips/dl.c: Likewise.
24304 * kern/mips/init.c: Likewise.
24305 * kern/mips/qemu-mips/init.c: Likewise.
24306 * kern/mips/startup.S: Likewise.
24307 * kern/mips/yeeloong/init.c: Likewise.
24308 * kern/term.c (grub_putcode): Handle NULL terminal.
24309 (grub_getcharwidth): Likewise.
24310 (grub_getkey): Likewise.
24311 (grub_checkkey): Likewise.
24312 (grub_getkeystatus): Likewise.
24313 (grub_getxy): Likewise.
24314 (grub_getwh): Likewise.
24315 (grub_gotoxy): Likewise.
24316 (grub_cls): Likewise.
24317 (grub_setcolorstate): Likewise.
24318 (grub_setcolor): Likewise.
24319 (grub_getcolor): Likewise.
24320 (grub_refresh): Likewise.
24321 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24322 (write_jump): Add hatch nop.
24323 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24324 * lib/mips/setjmp.S: New file.
24325 * loader/mips/linux.c: Likewise.
24326 * term/i386/pc/at_keyboard.c: Move from here ...
24327 * term/at_keyboard.c: ... to here.
24328 * term/i386/pc/serial.c: Moved from here ...
24329 * term/serial.c: ... to here. All users updated.
24330 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24331 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24332 (serial_translate_key_sequence): Avoid deadlock.
24333 (grub_serial_getkey): Handle backspace.
24334 (grub_serial_putchar): Fix newline handling.
24335 * util/i386/pc/grub-mkimage.c: Move from here ...
24336 * util/grub-mkrawimage.c: ... to here. All users updated.
24337 (generate_image): New parameters 'font_path' and 'format'.
24338 Support embedding font.
24339 Use grub_host_to_target* instead of grub_cpu_to_le*.
24340 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24341 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24342 (options): New option "--font".
24343 (usage): Likewise.
24344 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24345 (main): Handle "--font".
24346 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24347 (grub_virtual_screen_setup): Set bg_color_display.
24348 (redraw_screen_rect): Use bg_color_display instead of incorrect
24349 bg_color.
24350 (grub_gfxterm_cls): Likewise.
24351 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24352 Support embedding config file.
24353 (add_segments): Likewise.
24354 (options): New option "--config".
24355 (main): Handle "--config".
24356 * video/sm712.c: New file.
24357
24358 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24359
24360 Fix parallel builds.
24361
24362 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24363 font.c depend on ascii.h).
24364
24365 2010-01-12 Carles Pina i Estany <carles@pina.cat>
24366
24367 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24368
24369 2010-01-11 Carles Pina i Estany <carles@pina.cat>
24370
24371 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24372 By default: disabled.
24373 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24374 parameter.
24375
24376 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24377
24378 * font/font.c: Update copyright years.
24379 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24380
24381 2010-01-10 Carles Pina i Estany <carles@pina.cat>
24382
24383 * font/font.c: Include `ascii.h'.
24384 (ASCII_BITMAP_SIZE): New macro.
24385 (ascii_font_glyph): Define.
24386 (ascii_glyph_lookup): New function.
24387 (grub_font_get_string_width): Change comment. If glyph not found, use
24388 ascii_glyph_lookup.
24389 (grub_font_get_glyph_with_fallback): If glyph not available returns
24390 ascii_glyph_lookup.
24391 * util/grub-mkfont.c (file_formats): New enum.
24392 (options): Add `ascii-bitmaps' new option.
24393 (usage): Add `asii-bitmaps' new option.
24394 (write_font_ascii_bitmap): New function.
24395 (write_font): Rename to ...
24396 (write_font_p2): ... this. Remove print_glyphs call.
24397 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
24398 used. Call print_glyphs.
24399 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
24400
24401 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24402
24403 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
24404 (grub_bin2h_SOURCES): New variable.
24405 * util/bin2h.c: New file.
24406
24407 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24408
24409 * include/multiboot.h: Resynced with spec.
24410 * include/multiboot2.h: Likewise.
24411 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
24412 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
24413
24414 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24415
24416 * include/grub/term.h (grub_term_register_input,
24417 grub_term_register_output): Check return of terminal init()
24418 routines, and abort if errors are raised.
24419
24420 * commands/terminal.c: Update copyright year.
24421
24422 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24423
24424 * commands/terminal.c (grub_cmd_terminal_input)
24425 (grub_cmd_terminal_output): Check return of terminal init()
24426 routines, and abort if errors are raised.
24427
24428 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 * include/grub/i386/bsd.h: Fix include pathes.
24431
24432 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
24433
24434 Add missing *BSD copyright headers.
24435
24436 * include/grub/aout.h: Add BSD licence.
24437 * include/grub/i386/bsd.h: Parts under different licences moved to ...
24438 * include/grub/i386/freebsd_linker.h: ... here,
24439 * include/grub/i386/freebsd_reboot.h: ... here,
24440 * include/grub/i386/netbsd_bootinfo.h: ... here,
24441 * include/grub/i386/netbsd_reboot.h: ... here,
24442 * include/grub/i386/openbsd_bootarg.h: ... here,
24443 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
24444 licence to each file.
24445
24446 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24447
24448 * acinclude.m4: Remove `nop' assembly instruction; it's not
24449 implemented by all architectures.
24450
24451 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24452
24453 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
24454 ELILO. This is no longer necessary.
24455
24456 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
24457
24458 Added new tool, grub-scrit-check to verify grub.cfg syntax.
24459
24460 * util/grub-script-check.c: grub-script-check tool.
24461 * conf/common.rmk: Make rules for grub-script-check.
24462
24463 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24464
24465 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
24466 spotting it back in 2008. Shame on me for forgetting he did.
24467
24468 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
24469
24470 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24471
24472 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
24473 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
24474 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
24475 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
24476 (GRUB_VIDEO_TYPE_EFI): Rename to ...
24477 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
24478
24479 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
24480
24481 * include/grub/test.h: Add license header.
24482 * tests/example_functional_test.c: Likewise.
24483 * tests/example_unit_test.c: Likewise.
24484 * tests/lib/functional_test.c: Likewise.
24485 * tests/lib/test.c: Likewise.
24486 * tests/lib/unit_test.c: Likewise.
24487
24488 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 Use flag-based instead of hook-based video mode selection and "auto"
24491 keyword.
24492
24493 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
24494 (grub_video_set_mode): Changed prototype. All users updated.
24495 (grub_video_check_mode_flag): New inline function.
24496 * video/video.c (parse_modespec): New function.
24497 (grub_video_set_mode): Parse flags and keywords.
24498
24499 2010-01-17 Carles Pina i Estany <carles@pina.cat>
24500
24501 * util/misc.c (grub_util_info): Fix the order of the parameters in a
24502 fprintf call.
24503
24504 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
24505
24506 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
24507
24508 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24509
24510 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
24511 string.
24512 * util/grub-emu.c (usage): Likewise.
24513 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
24514 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24515 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24516 * util/i386/pc/grub-setup.c (usage): Likewise.
24517
24518 2010-01-16 Carles Pina i Estany <carles@pina.cat>
24519
24520 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
24521 the message.
24522 (grub_util_info): Likewise.
24523 (grub_util_error): Likewise.
24524 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
24525 and/or new lines in `grub_util_warna', `grub_util_info',
24526 `grub_util_error' calls.
24527 * util/getroot.c: Likewise.
24528 * util/grub-editenv.c: Likewise.
24529 * util/grub-emu.c: Likewise.
24530 * util/grub-fstest.c: Likewise.
24531 * util/grub-mkdevicemap.c: Likewise.
24532 * util/grub-mkfont.c: Likewise.
24533 * util/grub-mkpasswd-pbkdf2.c: Likewise.
24534 * util/grub-mkrelpath.c: Likewise.
24535 * util/grub-pe2elf.c: Likewise.
24536 * util/grub-probe.c: Likewise.
24537 * util/hostdisk.c: Likewise.
24538 * util/i386/efi/grub-mkimage.c: Likewise.
24539 * util/i386/pc/grub-mkimage.c: Likewise.
24540 * util/i386/pc/grub-setup.c: Likewise.
24541 * util/ieee1275/ofpath.c: Likewise.
24542 * util/mkisofs/eltorito.c: Likewise.
24543 * util/mkisofs/rock.c: Likewise.
24544 * util/mkisofs/write.c: Likewise.
24545 * util/raid.c: Likewise.
24546 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24547 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24548
24549 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24550
24551 Enable multiboot on non-pc.
24552
24553 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
24554 multiboot.mod and multiboot2.mod to ...
24555 * conf/i386.rmk (pkglib_MODULES): ... here.
24556 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
24557 Moved to ...
24558 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
24559 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
24560 Moved to ...
24561 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
24562 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
24563 Moved to ...
24564 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
24565 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
24566 Moved to ...
24567 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
24568 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
24569 relocator.mod.
24570 (ata_mod_SOURCES): Removed.
24571 (ata_mod_CFLAGS): Likewise.
24572 (ata_mod_LDFLAGS): Likewise.
24573 (relocator_mod_SOURCES): Removed.
24574 (relocator_mod_CFLAGS): Likewise.
24575 (relocator_mod_ASFLAGS): Likewise.
24576 (relocator_mod_LDFLAGS): Likewise.
24577 Include i386.mk.
24578 * include/grub/x86_64/multiboot.h: New file.
24579 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
24580 Terminate EFI.
24581
24582 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24583
24584 Video multiboot support.
24585
24586 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
24587 New prototype.
24588 * include/multiboot.h: Resynced with multiboot specification.
24589 * include/multiboot2.h: Likewise.
24590 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
24591 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
24592 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
24593 (HAS_VGA_TEXT): Likewise.
24594 (accepts_video): New variable.
24595 (grub_multiboot_set_accepts_video): New function.
24596 (grub_multiboot_get_mbi_size): Account for video structures.
24597 (set_video_mode): New function.
24598 (retrieve_video_parameters): Likewise.
24599 (grub_multiboot_make_mbi): Fill video fields.
24600
24601 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
24602
24603 Video driver ids.
24604
24605 * include/grub/video.h (grub_video_driver_id): New type.
24606 (grub_video_adapter): New member 'id'. All users updated.
24607 (grub_video_get_driver_id): New proto.
24608 * video/video.c (grub_video_get_driver_id): New function.
24609
24610 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24611
24612 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
24613 `var=val'.
24614
24615 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24616
24617 * normal/cmdline.c (print_completion): Gettextizze.
24618
24619 2001-01-14 Carles Pina i Estany <carles@pina.cat>
24620
24621 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
24622
24623 2010-01-14 Carles Pina i Estany <carles@pina.cat>
24624
24625 * gettext/gettext.c (grub_gettext_translate): Push and pop
24626 grub_errno.
24627 (grub_gettext_delete_list): Change comment style.
24628 * kern/err.c (grub_error): Gettextizze.
24629 (grub_fatal): Gettextizze.
24630
24631 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
24632
24633 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
24634 (grub_linux16_real_boot): ... this.
24635 * kern/i386/loader.S: Likewise.
24636 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
24637 (grub_linux16_boot): New function. Switches to text mode and calls
24638 grub_linux16_real_boot().
24639
24640 * loader/i386/bsd.c: Include `<grub/video.h>'.
24641 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
24642 text mode before calling grub_unix_real_boot().
24643
24644 * loader/i386/multiboot.c: Include `<grub/video.h>'.
24645 (grub_multiboot_boot): Switch to text mode before calling
24646 grub_relocator32_boot().
24647
24648 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
24649 (grub_chainloader_boot): Switch to text mode before calling
24650 grub_chainloader_real_boot().
24651
24652 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24653 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24654
24655 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
24656 non-empty value.
24657
24658 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24659 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24660
24661 * util/grub.d/00_header.in: Define a "savedefault" function for use
24662 in menu entries.
24663 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
24664
24665 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24666 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24667
24668 * util/grub-mkconfig_lib.in (save_default_entry): Only set
24669 saved_entry if boot_once is unset.
24670 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
24671 previous saved entry (i.e. grub-reboot).
24672
24673 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24674
24675 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
24676
24677 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24678
24679 * util/grub.d/00_header.in: Use `set var=val' rather than plain
24680 `var=val'.
24681 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
24682
24683 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24684
24685 * util/grub-reboot.in: Fix --version output.
24686 * util/grub-set-default.in: Likewise.
24687
24688 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24689
24690 * util/grub.d/00_header.in: Silently ignore zero-sized environment
24691 blocks.
24692
24693 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24694
24695 * util/grub.d/00_header.in: Quote the value assigned to `default',
24696 in case it contains spaces.
24697
24698 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
24699
24700 * util/grub.d/30_os-prober.in: Fix merge error that moved a
24701 `save_default_entry' call from the macosx case to the linux case.
24702
24703 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
24704 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
24705
24706 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
24707 in `chosen' environment variable.
24708 * normal/menu_text.c (get_entry_number): Check if the variable
24709 matches the title of a menu entry.
24710 (run_menu): Pass menu to get_entry_number.
24711
24712 * util/grub-reboot.in: New file.
24713 * util/grub-set-default.in: New file.
24714 * conf/common.rmk (grub-reboot): New utility.
24715 (grub-set-default): New utility.
24716
24717 * util/grub-mkconfig_lib.in (save_default_entry): New function.
24718 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
24719 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
24720 move it to `saved_entry' for the next boot. Load environment on
24721 initialisation.
24722 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
24723 * util/grub.d/10_hurd.in: Likewise.
24724 * util/grub.d/10_linux.in (linux_entry): Likewise.
24725 * util/grub.d/10_windows.in: Likewise.
24726 * util/grub.d/30_os-prober.in: Likewise.
24727
24728 * util/grub-install.in: Create environment block.
24729 * util/i386/efi/grub-install.in: Likewise.
24730 * util/ieee1275/grub-install.in: Likewise.
24731 * util/sparc64/ieee1275/grub-install.in: Likewise.
24732
24733 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
24734
24735 Unit testing framework for GRUB.
24736
24737 * Makefile.in: Test framework build rules for 'make check'.
24738 * conf/tests.rmk: Build rules for individual tests and framework.
24739
24740 * include/grub/test.h: Header file for whitebox tests.
24741 * tests/lib/functional_test.c: Framework support for whitebox
24742 functional tests.
24743 * tests/lib/test.c: Common whitebox testing code for unit and
24744 functional tests.
24745 * tests/lib/unit_test.c: Framework support for whitebox unit
24746 tests.
24747
24748 * tests/util/grub-shell-tester.in: Support utility for grub-script
24749 tests.
24750 * tests/util/grub-shell.in: Utility to execute grub-script
24751 commands in a Qemu instance.
24752
24753 * tests/example_functional_test.c: Example whitebox functional
24754 test.
24755 * tests/example_grub_script_test.in: Example grub-script test.
24756 * tests/example_scripted_test.in: Example scripted test.
24757 * tests/example_unit_test.c: Example whitebox unit test.
24758
24759 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
24760
24761 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
24762 Add loader/i386/multiboot_mbi.c.
24763 (multiboot2_mod_SOURCES): Likewise.
24764 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
24765 (multiboot2_mod_SOURCES): Likewise.
24766 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
24767 (grub_multiboot_make_mbi): Likewise.
24768 (grub_multiboot_free_mbi): Likewise.
24769 (grub_multiboot_init_mbi): Likewise.
24770 (grub_multiboot_add_module): Likewise.
24771 (grub_multiboot_set_bootdev): Likewise.
24772 * loader/i386/multiboot.c (mbi): Removed.
24773 (mbi_dest): Likewise.
24774 (alloc_mbi): New variable.
24775 (grub_multiboot_payload_size): Removed. All users updated.
24776 (grub_multiboot_pure_size): New variable.
24777 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
24778 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
24779 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
24780 (grub_fill_multiboot_mmap): Likewise.
24781 (grub_multiboot_get_bootdev): Likewise.
24782 (grub_multiboot): Use multiboot_mbi functions.
24783 * loader/i386/multiboot_mbi.c: New file.
24784
24785 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
24788 it would result in module crash.
24789
24790 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
24793 (grub_ofconsole_getwh): Split to ...
24794 (grub_ofconsole_getwh): ... this.
24795 (grub_ofconsole_dimensions): ...and this.
24796 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
24797
24798 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
24799
24800 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
24801
24802 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * loader/i386/pc/multiboot2.c: Removed stalled file.
24805
24806 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
24807
24808 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
24809 Reported by: Grégoire Sutre
24810
24811 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
24812
24813 * util/misc.c (canonicalize_file_name): New function.
24814 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
24815 instead of realpath().
24816
24817 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
24818
24819 * util/grub-install.in (usage): Clarify meaning of --root-directory,
24820 and make it clearer that it's optional. Based on confusion
24821 witnessed on IRC.
24822
24823 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
24826 in premature implicit newline.
24827
24828 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
24829
24830 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
24831 which resulted in garbled command line at the end of screen.
24832
24833 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24834
24835 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
24836 initialization with similar approach as with other Linux loaders.
24837
24838 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24839
24840 Fix i386-ieee1275 build.
24841
24842 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
24843 and grub_term_height() for video_{width,height} initialization.
24844
24845 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
24846
24847 Fix grub-emu build.
24848
24849 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
24850
24851 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24852 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24853
24854 Support for multiple terminals.
24855
24856 * Makefile.in (pkglib_DATA): terminal.lst.
24857 (terminal.lst): New target.
24858 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
24859 (GRUB_MOD_INIT(handler)): Likewise.
24860 (GRUB_MOD_FINI(handler)): Likewise.
24861 * commands/help.c (grub_cmd_help): Handle multiple terminals.
24862 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
24863 * commands/sleep.c (do_print): Use grub_term_restore_pos.
24864 (grub_cmd_sleep): Use grub_term_save_pos.
24865 * commands/terminal.c: New file.
24866 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
24867 commands/terminal.c and lib/charset.c.
24868 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
24869 (pkglib_MODULES): Add terminal.mod.
24870 (terminal_mod_SOURCES): New variable.
24871 (terminal_mod_CFLAGS): Likewise.
24872 (terminal_mod_LDFLAGS): Likewise.
24873 * genhandlerlist.sh: Don't handle terminals.
24874 * genmk.rb: Generate terminal-*.lst.
24875 * genterminallist.sh: New file.
24876 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
24877 (grub_is_valid_utf8): Likewise.
24878 (grub_utf8_to_ucs4_alloc): Likewise.
24879 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
24880 (grub_menu_register_viewer): Changed argument.
24881 (grub_menu_try_text): New proto.
24882 (grub_gfxmenu_try_hook): New declaration.
24883 * include/grub/normal.h (grub_normal_exit_level): New declaration.
24884 (grub_menu_init_page): Additional argument term.
24885 (grub_normal_init_page): Likewise.
24886 (grub_cmdline_get): Arguments simplified.
24887 (grub_utf8_to_ucs4_alloc): Removed.
24888 (grub_print_ucs4): Additional argument term.
24889 (grub_getstringwidth): Likewise.
24890 (grub_print_message_indented): Likewise.
24891 (grub_menu_text_register_instances): New proto.
24892 (grub_show_menu): Likewise.
24893 (read_terminal_list): Likewise.
24894 (grub_set_more): Likewise.
24895 * include/grub/parser.h: Include handler.h.
24896 * include/grub/reader.h: Rewritten.
24897 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
24898 (GRUB_TERM_WIDTH): Changed to function.
24899 (GRUB_TERM_HEIGHT): Likewise.
24900 (GRUB_TERM_BORDER_WIDTH): Likewise.
24901 (GRUB_TERM_BORDER_HEIGHT): Likewise.
24902 (GRUB_TERM_NUM_ENTRIES): Likewise.
24903 (GRUB_TERM_ENTRY_WIDTH): Likewise.
24904 (GRUB_TERM_CURSOR_X): Likewise.
24905 (grub_term_input_class): Likewise.
24906 (grub_term_output_class): Likewise.
24907 (grub_term_outputs_disabled): New declaration.
24908 (grub_term_inputs_disabled): Likewise.
24909 (grub_term_outputs): Likewise.
24910 (grub_term_inputs): Likewise.
24911 (grub_term_register_input): Rewritten.
24912 (grub_term_register_output): Likewise.
24913 (grub_term_unregister_input): Likewise.
24914 (grub_term_unregister_output): Likewise.
24915 (FOR_ACTIVE_TERM_INPUTS): New macro.
24916 (FOR_DISABLED_TERM_INPUTS): Likewise.
24917 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
24918 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
24919 * include/grub/terminfo.h: Add oterm argument to all protypes.
24920 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
24921 Use grub_rescue_run.
24922 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
24923 All users updated.
24924 * kern/reader.c: Removed. All users updated.
24925 * kern/rescue_reader.c (grub_rescue_init): Removed.
24926 (grub_rescue_reader): Likewise.
24927 (grub_register_rescue_reader): Likewise.
24928 (grub_rescue_run): New function based on kern/reader.c.
24929 * kern/term.c: Adapted for multiterm.
24930 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
24931 (grub_is_valid_utf8): Likewise.
24932 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
24933 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
24934 right terminal.
24935 * loader/i386/linux.c (grub_linux_boot): Likewise.
24936 * normal/auth.c (grub_username_get): New function.
24937 (grub_auth_check_authentication): Use grub_username_get.
24938 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
24939 * normal/color.c: Adapt for multiterm.
24940 * normal/main.c (read_config_file): Don't use grub_reader_loop.
24941 (grub_normal_init_page): Additional argument term.
24942 (read_lists): Call read_terminal_lists.
24943 (grub_enter_normal_mode): Call grub_cmdline_run.
24944 Handle grub_normal_exit_level.
24945 (grub_cmd_normal): Make reentrant.
24946 (grub_cmd_normal_exit): New function.
24947 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
24948 * normal/menu.c: Adapt for multiterm.
24949 * normal/menu_entry.c: Likewise.
24950 * normal/menu_text.c: Likewise.
24951 * normal/menu_viewer.c: Removed. All users updated.
24952 * normal/term.c: New file.
24953 * util/console.c: Change order of includes to workaround a bug in
24954 ncurses headers.
24955 * term/terminfo.c: New argument oterm on all exported functions.
24956 All users updated.
24957 * util/grub-editenv.c (grub_term_input_class): Removed.
24958 (grub_term_output_class): Likewise.
24959
24960 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
24961
24962 Make loader output a bit more user-friendly.
24963
24964 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
24965 is being loaded. Likewise for the Hurd.
24966
24967 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
24968 that kernel of FreeBSD ${version} is being loaded.
24969
24970 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
24971 grub_dprintf().
24972 (grub_cmd_initrd): Likewise.
24973 * util/grub.d/10_linux.in (linux_entry): Print message indicating
24974 that Linux ${version} is being loaded. Likewise for initrd.
24975
24976 2010-01-09 Carles Pina i Estany <carles@pina.cat>
24977
24978 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
24979
24980 2010-01-08 Carles Pina i Estany <carles@pina.cat>
24981
24982 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
24983 (GRUB_MOD_INIT): Gettextizze.
24984 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
24985 (GRUB_MOD_INIT): Gettextizze.
24986 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
24987 (grub_cmd_linux): Capitalise Linux.
24988 (GRUB_MOD_INIT): Gettextizze.
24989 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
24990 (grub_cmd_linux): Capitalise Linux.
24991 (GRUB_MOD_INIT): Gettextizze.
24992 * loader/i386/linux.c: Include `<grub/i18n.h>'.
24993 (grub_cmd_linux): Capitalise Linux.
24994 (GRUB_MOD_INIT): Gettextizze.
24995 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
24996 (GRUB_MOD_INIT): Gettextizze.
24997 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
24998 (grub_cmd_linux): Capitalise Linux.
24999 (GRUB_MOD_INIT): Gettextizze.
25000 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25001 (grub_cpu_xnu_init): Gettextizze.
25002 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25003 (GRUB_MOD_INIT): Gettextizze.
25004 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25005 (GRUB_MOD_INIT): Gettextizze.
25006 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25007 (grub_linux_load64): Capitalise Linux.
25008 (GRUB_MOD_INIT): Gettextizze.
25009 * loader/xnu.c: Include `<grub/i18n.h>'.
25010 (GRUB_MOD_INIT): Gettextizze.
25011 * po/POTFILES: Add `loader/efi/appleloader.c',
25012 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25013 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25014 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25015 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25016 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25017 and `loader/xnu.c'.
25018
25019 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25020
25021 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25022
25023 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25024
25025 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25026 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25027 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25028
25029 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25030
25031 Reset Multiboot 2 support. New loader implements the draft in
25032 /branches/multiboot2 and shares as much code as possible with the
25033 production Multiboot 1 implementation.
25034
25035 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25036 * loader/multiboot2.c: Likewise.
25037 * loader/i386/multiboot_helper.S: Likewise.
25038 * include/multiboot2.h: Replace with latest version from the draft
25039 in /branches/multiboot2.
25040
25041 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25042 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25043 and `loader/multiboot2.c'.
25044 (pkglib_MODULES): Add `multiboot2.mod'.
25045 (multiboot2_mod_SOURCES): New variable.
25046 (multiboot2_mod_LDFLAGS): Likewise.
25047 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25048
25049 * conf/i386-pc.rmk: Likewise.
25050
25051 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25052 (multiboot_mod_SOURCES): Remove variable.
25053 (multiboot_mod_LDFLAGS): Likewise.
25054 (multiboot_mod_CFLAGS): Likewise.
25055
25056 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25057 `<multiboot2.h>' instead of `<multiboot.h>'.
25058 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25059 (MULTIBOOT_HEADER_MAGIC): New macros.
25060
25061 * loader/multiboot_loader.c (module_version_status): Remove variable.
25062 (find_multi_boot2_header): Remove function.
25063 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25064 logic. Always check for the Multiboot version we're compiling for.
25065 (grub_cmd_module_loader): Likewise.
25066 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25067 command instead of `multiboot'.
25068
25069 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25070
25071 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25072 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25073 all users.
25074
25075 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25076 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25077
25078 Fix breakage introduced with previous commit.
25079
25080 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25081 commands.
25082 * normal/handler.c (read_handler_list): Revert part of previous commit
25083 affecting this file.
25084 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25085 (grub_normal_execute): ... here.
25086
25087 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25088
25089 Merge prefix-redefinition-fix branch.
25090
25091 * normal/autofs.c (read_fs_list): Make function capable of being
25092 run multiple times, gracefuly replacing the previous data
25093 structures.
25094 * normal/dyncmd.c (read_command_list): Likewise.
25095 * normal/handler.c (read_handler_list): Likewise.
25096 * normal/main.c (read_lists): New function. Calls all the
25097 list reading functions.
25098 (grub_normal_execute): Use read_lists() instead of calling all
25099 list reading functions explicitly. Register read_lists() as a
25100 variable hook attached to ${prefix}.
25101
25102 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 Merge crypto branch.
25105
25106 * Makefile.in (pkglib_DATA): Add crypto.lst.
25107 (crypto.lst): New target.
25108 * commands/hashsum.c: New file.
25109 * commands/password.c (check_password): Use grub_crypto_memcmp.
25110 * commands/password_pbkdf2.c: New file.
25111 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25112 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25113 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25114 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25115 -I$(srcdir)/lib/libgcrypt_wrap.
25116 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25117 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25118 password_pbkdf2.mod.
25119 (crypto_mod_SOURCES): New variable.
25120 (crypto_mod_CFLAGS): Likewise.
25121 (crypto_mod_LDFLAGS): Likewise.
25122 (hashsum_mod_SOURCES): New variable.
25123 (hashsum_mod_CFLAGS): Likewise.
25124 (hashsum_mod_LDFLAGS): Likewise.
25125 (pbkdf2_mod_SOURCES): New variable.
25126 (pbkdf2_mod_CFLAGS): Likewise.
25127 (pbkdf2_mod_LDFLAGS): Likewise.
25128 (password_pbkdf2_mod_SOURCES): New variable.
25129 (password_pbkdf2_mod_CFLAGS): Likewise.
25130 (password_pbkdf2_mod_LDFLAGS): Likewise.
25131 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25132 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25133 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25134 Include conf/gcry.rmk.
25135 * include/grub/auth.h: Rewritten.
25136 * include/grub/crypto.h: New file.
25137 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25138 * include/grub/normal.h (read_crypto_list): New prototype.
25139 * lib/crypto.c: New file.
25140 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25141 * lib/pbkdf2.c: Likewise.
25142 * normal/auth.c (grub_auth_strcmp): Removed.
25143 (grub_iswordseparator): Likewise.
25144 (grub_auth_strword): Likewise.
25145 (is_authenticated): Use grub_strword.
25146 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25147 and grub_strword. Pass entered password to authentication callback.
25148 * normal/crypto.c: New file.
25149 * normal/main.c: Call read_crypto_list.
25150 * util/grub-mkpasswd-pbkdf2.c: New file.
25151 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25152
25153 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 Fix descent and ascent calculation.
25156
25157 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25158 (options): New option "asce".
25159 (usage): Likewise.
25160 (add_char): Ignore invalid glyphs for descent calculation.
25161 Calculate ascent from actual content.
25162 (print_glyphs): Use 'asce'.
25163 (write_font): Likewise. Allow ascent override.
25164 (main): Handle "asce" option.
25165
25166 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25167
25168 * kern/err.c: Include `<grub/i18n.h>'.
25169 (grub_print_error): Add full stop. Gettextizze.
25170 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25171 (grub_bsd_load_elf): Capitalise ELF.
25172 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25173 (grub_cmd_freebsd_module): Likewise.
25174 (grub_cmd_freebsd_module_elf): Likewise.
25175 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25176
25177 2010-01-06 Carles Pina i Estany <carles@pina.cat>
25178
25179 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25180 * commands/search_file.c (HELP_MESSAGE): New macro.
25181 * commands/search_label.c (HELP_MESSAGE): Likewise.
25182 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25183 * po/POTFILES: Add `commands/search_file.c',
25184 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25185 `commands/search.c'.
25186
25187 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25188
25189 * config.rpath: Update from Gnulib.
25190
25191 2010-01-05 Yves Blusseau <blusseau@zetam.org>
25192
25193 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25194
25195 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25196
25197 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25198
25199 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25200
25201 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25202 arguments to fread so that we get a return value in bytes, rather
25203 than something that will normally be rounded down to 0.
25204 Adjust error handling to avoid producing garbage when size_t is not
25205 the same size as long long.
25206
25207 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
25208
25209 * util/mkisofs/write.c (padblock_write): Check return value of
25210 fread.
25211
25212 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25213
25214 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25215 floppy images now.
25216
25217 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25218
25219 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25220
25221 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25222 instead of manual alignment.
25223 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25224 verbose). Avoid attempts to read past end of the device
25225 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25226 but GRUB_DISK_CACHE_SIZE may exceed that).
25227
25228 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25229
25230 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25231 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25232 it to upper layer.
25233
25234 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25235
25236 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25237 New constant.
25238 (grub_efi_piwg_device_path): New structure
25239 (grub_efi_piwg_device_path_t): New type.
25240 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25241 (devpath_1): Transform to a structure. All users updated.
25242 (devpath_2): Likewise.
25243 (devpath_3): Likewise.
25244 (devpath_4): Likewise.
25245 (devpath_5): Likewise.
25246
25247 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25248
25249 * loader/efi/appleloader.c: Restored. Update all users.
25250
25251 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25252
25253 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25254
25255 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25256 (struct boot_blocklist): Move from here ...
25257 * include/grub/i386/pc/boot.h [ASM_FILE]
25258 (struct grub_boot_blocklist): ... to here. Update all users.
25259 (setup): Only initialize `start' member of `first_block'
25260 structure. Add assert() calls to verify the other members.
25261
25262 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25263 (generate_image): Fix broken blocklist length initialization.
25264 Add assert() call to verify blocklist `segment' field.
25265
25266 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25267
25268 * loader/efi/appleloader.c: Remove. Update all users.
25269
25270 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25271
25272 * boot/i386/pc/boot.S: Update copyright year.
25273 * boot/i386/pc/cdboot.S: Likewise.
25274 * boot/i386/pc/diskboot.S: Likewise.
25275 * boot/i386/pc/lnxboot.S: Likewise.
25276 * boot/i386/pc/pxeboot.S: Likewise.
25277 * bus/pci.c: Likewise.
25278 * commands/cmp.c: Likewise.
25279 * commands/help.c: Likewise.
25280 * commands/hexdump.c: Likewise.
25281 * commands/i386/pc/halt.c: Likewise.
25282 * commands/i386/pc/play.c: Likewise.
25283 * commands/i386/pc/vbeinfo.c: Likewise.
25284 * commands/ls.c: Likewise.
25285 * commands/test.c: Likewise.
25286 * disk/dmraid_nvidia.c: Likewise.
25287 * disk/i386/pc/biosdisk.c: Likewise.
25288 * disk/ieee1275/nand.c: Likewise.
25289 * disk/ieee1275/ofdisk.c: Likewise.
25290 * disk/lvm.c: Likewise.
25291 * disk/raid.c: Likewise.
25292 * disk/raid6_recover.c: Likewise.
25293 * disk/scsi.c: Likewise.
25294 * fs/affs.c: Likewise.
25295 * fs/cpio.c: Likewise.
25296 * fs/ext2.c: Likewise.
25297 * fs/hfs.c: Likewise.
25298 * fs/iso9660.c: Likewise.
25299 * fs/ntfs.c: Likewise.
25300 * fs/sfs.c: Likewise.
25301 * fs/udf.c: Likewise.
25302 * fs/ufs.c: Likewise.
25303 * fs/xfs.c: Likewise.
25304 * gencmdlist.sh: Likewise.
25305 * genmk.rb: Likewise.
25306 * include/grub/disk.h: Likewise.
25307 * include/grub/efi/api.h: Likewise.
25308 * include/grub/efi/efi.h: Likewise.
25309 * include/grub/efi/pe32.h: Likewise.
25310 * include/grub/elf.h: Likewise.
25311 * include/grub/fs.h: Likewise.
25312 * include/grub/i386/at_keyboard.h: Likewise.
25313 * include/grub/i386/pc/memory.h: Likewise.
25314 * include/grub/i386/pc/vbe.h: Likewise.
25315 * include/grub/i386/pci.h: Likewise.
25316 * include/grub/i386/tsc.h: Likewise.
25317 * include/grub/ieee1275/ieee1275.h: Likewise.
25318 * include/grub/ntfs.h: Likewise.
25319 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25320 * include/grub/sparc64/libgcc.h: Likewise.
25321 * include/grub/symbol.h: Likewise.
25322 * include/grub/types.h: Likewise.
25323 * include/multiboot2.h: Likewise.
25324 * io/gzio.c: Likewise.
25325 * kern/device.c: Likewise.
25326 * kern/disk.c: Likewise.
25327 * kern/efi/efi.c: Likewise.
25328 * kern/efi/mm.c: Likewise.
25329 * kern/elf.c: Likewise.
25330 * kern/file.c: Likewise.
25331 * kern/i386/dl.c: Likewise.
25332 * kern/i386/pc/init.c: Likewise.
25333 * kern/i386/pc/startup.S: Likewise.
25334 * kern/ieee1275/ieee1275.c: Likewise.
25335 * kern/ieee1275/init.c: Likewise.
25336 * kern/main.c: Likewise.
25337 * kern/mm.c: Likewise.
25338 * kern/powerpc/dl.c: Likewise.
25339 * kern/sparc64/dl.c: Likewise.
25340 * kern/x86_64/dl.c: Likewise.
25341 * lib/hexdump.c: Likewise.
25342 * loader/efi/appleloader.c: Likewise.
25343 * loader/i386/ieee1275/linux.c: Likewise.
25344 * loader/i386/pc/chainloader.c: Likewise.
25345 * loader/i386/pc/linux.c: Likewise.
25346 * loader/i386/pc/multiboot2.c: Likewise.
25347 * loader/ieee1275/multiboot2.c: Likewise.
25348 * loader/multiboot2.c: Likewise.
25349 * loader/multiboot_loader.c: Likewise.
25350 * loader/powerpc/ieee1275/linux.c: Likewise.
25351 * normal/completion.c: Likewise.
25352 * normal/menu_entry.c: Likewise.
25353 * partmap/apple.c: Likewise.
25354 * util/grub.d/10_hurd.in: Likewise.
25355 * util/hostfs.c: Likewise.
25356 * video/readers/png.c: Likewise.
25357
25358 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
25359
25360 * include/grub/misc.h (GNUC_PREREQ): New macro.
25361 (ATTRIBUTE_ERROR): New macro.
25362 * include/grub/list.h (grub_bad_type_cast_real): Use
25363 ATTRIBUTE_ERROR.
25364
25365 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25366
25367 * normal/menu_text.c (print_message): Change messages.
25368
25369 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25370
25371 * normal/menu_entry.c (store_completion): Gettextizze.
25372
25373 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25374
25375 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25376
25377 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25378
25379 * po/POTFILES: Sort correctly.
25380
25381 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25382
25383 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25384 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25385 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25386 full stop.
25387 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25388 summary. Gettextizze the strings.
25389 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25390 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25391 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25392 full stop.
25393 (GRUB_MOD_INIT): Remove command name from summary.
25394 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25395 summary.
25396 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
25397 * term/i386/pc/serial.c (options): Add full stops.
25398 (GRUB_MOD_INIT): Remove command name from the summary.
25399
25400 2010-01-03 Carles Pina i Estany <carles@pina.cat>
25401
25402 * commands/acpi.c: Gettextizze help strings and/or options. Include
25403 `grub/i18n.h' if needed.
25404 * commands/blocklist.c: Likewise.
25405 * commands/boot.c: Likewise.
25406 * commands/cat.c: Likewise.
25407 * commands/cmp.c: Likewise.
25408 * commands/configfile.c: Likewise.
25409 * commands/crc.c: Likewise.
25410 * commands/date.c: Likewise.
25411 * commands/echo.c: Likewise.
25412 * commands/efi/fixvideo.c: Likewise.
25413 * commands/efi/loadbios.c: Likewise.
25414 * commands/gptsync.c: Likewise.
25415 * commands/halt.c: Likewise.
25416 * commands/handler.c: Likewise.
25417 * commands/hdparm.c: Likewise.
25418 * commands/hexdump.c: Likewise.
25419 * commands/i386/cpuid.c: Likewise.
25420 * commands/i386/pc/drivemap.c: Likewise.
25421 * commands/i386/pc/halt.c: Likewise.
25422 * commands/i386/pc/pxecmd.c: Likewise.
25423 * commands/i386/pc/vbeinfo.c: Likewise.
25424 * commands/i386/pc/vbetest.c: Likewise.
25425 * commands/ieee1275/suspend.c: Likewise.
25426 * commands/keystatus.c: Likewise.
25427 * commands/loadenv.c: Likewise.
25428 * commands/ls.c: Likewise.
25429 * commands/lsmmap.c: Likewise.
25430 * commands/lspci.c: Likewise.
25431 * commands/memrw.c: Likewise.
25432 * commands/minicmd.c: Likewise.
25433 * commands/parttool.c: Likewise.
25434 * commands/password.c: Likewise.
25435 * commands/probe.c: Likewise.
25436 * commands/read.c: Likewise.
25437 * commands/reboot.c: Likewise.
25438 * commands/search.c: Likewise.
25439 * commands/sleep.c: Likewise.
25440 * commands/test.c: Likewise.
25441 * commands/true.c: Likewise.
25442 * commands/usbtest.c: Likewise.
25443 * commands/videotest.c: Likewise.
25444 * commands/xnu_uuid.c: Likewise.
25445 * disk/loopback.c: Likewise.
25446 * hello/hello.c: Likewise.
25447 * loader/i386/bsd.c: Likewise.
25448 * term/i386/pc/serial.c: Likewise.
25449 * po/POTFILES: Add new files.
25450
25451 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
25452
25453 * term/i386/pc/at_keyboard.c
25454 (keyboard_controller_wait_untill_ready): Rename to ...
25455 (keyboard_controller_wait_until_ready): ... this. Update all users.
25456
25457 2010-01-01 Carles Pina i Estany <carles@pina.cat>
25458
25459 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
25460 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
25461 string using string width.
25462 * normal/menu_text.c (grub_print_message_indented): Use
25463 grub_print_spaces and not print_spaces.
25464 (print_timeout): Likewise.
25465 (print_spaces): Move to...
25466 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
25467
25468 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
25469
25470 Import from Gnulib.
25471
25472 * gnulib/getdelim.c: New file.
25473 * gnulib/getline.c: Likewise.
25474
25475 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
25476
25477 * include/grub/list.h (grub_assert_fail): Removed.
25478 (grub_bad_type_cast_real): New function.
25479 (grub_bad_type_cast): New macro.
25480 (GRUB_AS_LIST): Use grub_bad_type_cast.
25481 (GRUB_AS_LIST_P): Likewise.
25482 (GRUB_AS_NAMED_LIST): Likewise.
25483 (GRUB_AS_NAMED_LIST_P): Likewise.
25484 (GRUB_AS_PRIO_LIST): Likewise.
25485 (GRUB_AS_PRIO_LIST_P): Likewise.
25486 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
25487
25488 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
25489
25490 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
25491 Fix syntax error.
25492
25493 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
25494
25495 * configure.ac: Check for TARGET_CFLAGS initialization before we
25496 initialize it ourselves (sigh).
25497 Move a few modifications to TARGET_CFLAGS to be unconditional
25498 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
25499 eh_frame)
25500
25501 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
25502 * term/i386/pc/at_keyboard.c
25503 (keyboard_controller_wait_untill_ready): Likewise.
25504 (keyboard_controller_led): Rename `led_status' paramter to avoid
25505 name conflict.
25506
25507 2009-12-28 Carles Pina i Estany <carles@pina.cat>
25508
25509 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
25510 quotes.
25511
25512 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25513
25514 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
25515
25516 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25517
25518 * normal/menu_text.c (grub_print_message_indented): Prevent
25519 past-the-end-of-array dereference.
25520
25521 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
25522
25523 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
25524 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
25525
25526 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25527
25528 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
25529 * normal/main.c (grub_normal_read_line): Remove a space from the
25530 default prompt.
25531
25532 2009-12-27 Carles Pina i Estany <carles@pina.cat>
25533
25534 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
25535 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25536 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25537 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25538 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25539 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25540 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25541
25542 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25543
25544 * video/readers/jpeg.c (cmd): Declare.
25545 (grub_cmd_jpegtest): Use `grub_command_t' type.
25546 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25547 Assign to `cmd'.
25548 (GRUB_MOD_FINI): Use `cmd' to unregister.
25549 * video/readers/png.c (cmd): Declare.
25550 (grub_cmd_pngtest): Use `grub_command_t' type.
25551 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25552 Assign to `cmd'.
25553 (GRUB_MOD_FINI): Use `cmd' to unregister.
25554 * video/readers/tga.c (cmd): Declare.
25555 (grub_cmd_tgatest): Use `grub_command_t' type.
25556 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
25557 Assign to `cmd'.
25558 (GRUB_MOD_FINI): Use `cmd' to unregister.
25559
25560 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25561
25562 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
25563 stops.
25564 * kern/corecmd.c (grub_register_core_commands): Likewise.
25565 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
25566 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25567 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
25568 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25569 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
25570 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
25571 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
25572 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
25573 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25574 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
25575 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25576 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25577 * normal/handler.c (insert_handler): Likewise.
25578 * normal/main.c (GRUB_MOD_INIT): Likewise.
25579 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
25580
25581 2009-12-26 Carles Pina i Estany <carles@pina.cat>
25582
25583 * commands/help.c (grub_cmd_help): Print the command name before the
25584 summary.
25585 (GRUB_MOD_INIT): Remove command name from the summary.
25586 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
25587 string as summary.
25588 * lib/arg.c (find_long): Print the command name before the summary.
25589 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
25590 summary.
25591 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
25592 * commands/cat.c (GRUB_MOD_INIT): Likewise.
25593 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
25594 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25595 * commands/crc.c (GRUB_MOD_INIT): Likewise.
25596 * commands/date.c (GRUB_MOD_INIT): Likewise.
25597 * commands/echo.c (GRUB_MOD_INIT): Likewise.
25598 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
25599 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
25600 * commands/handler.c (GRUB_MOD_INIT): Likewise.
25601 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
25602 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
25603 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
25604 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
25605 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
25606 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
25607 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
25608 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
25609 * commands/ls.c (GRUB_MOD_INIT): Likewise.
25610 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
25611 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
25612 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
25613 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
25614 * commands/password.c (GRUB_MOD_INIT): Likewise.
25615 * commands/probe.c (GRUB_MOD_INIT): Likewise.
25616 * commands/read.c (GRUB_MOD_INIT): Likewise.
25617 * commands/search.c (GRUB_MOD_INIT): Likewise.
25618 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
25619 * commands/test.c (GRUB_MOD_INIT): Likewise.
25620 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
25621 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
25622 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
25623 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
25624 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
25625 * lib/arg.c (GRUB_MOD_INIT): Likewise.
25626 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
25627 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
25628 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
25629 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
25630 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
25631 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
25632 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
25633 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
25634
25635 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25636
25637 Use search command for preliminar UUID search.
25638
25639 * commands/search.c: Split into ...
25640 * commands/search_wrap.c: ...this
25641 * commands/search.c: ...and this.
25642 * commands/search_file.c: New file.
25643 * commands/search_label.c: New file.
25644 * commands/search_uuid.c: New file.
25645 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
25646 Add commands/search_wrap.c, commands/search_file.c,
25647 commands/search_label.c and commands/search_uuid.c.
25648 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
25649 (search_mod_SOURCES): Set to commands/search_wrap.c.
25650 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
25651 search_label.mod.
25652 (search_fs_file_mod_SOURCES): New variable.
25653 (search_fs_file_mod_CFLAGS): Likewise.
25654 (search_fs_file_mod_LDFLAGS): Likewise.
25655 (search_label_mod_SOURCES): Likewise.
25656 (search_label_mod_CFLAGS): Likewise.
25657 (search_label_mod_LDFLAGS): Likewise.
25658 (search_fs_uuid_mod_SOURCES): New variable.
25659 (search_fs_uuid_mod_CFLAGS): Likewise.
25660 (search_fs_uuid_mod_LDFLAGS): Likewise.
25661 (fs_file_mod_SOURCES): Removed.
25662 (fs_file_mod_CFLAGS): Likewise.
25663 (fs_file_mod_LDFLAGS): Likewise.
25664 (fs_uuid_mod_SOURCES): Removed.
25665 (fs_uuid_mod_CFLAGS): Likewise.
25666 (fs_uuid_mod_LDFLAGS): Likewise.
25667 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
25668 Set to util/grub-install.in.
25669 * disk/fs_file.c: Removed.
25670 * disk/fs_uuid.c: Likewise.
25671 * include/grub/search.h: New file.
25672 * util/grub-install.in: Handle sparc64.
25673 Create and use load.cfg.
25674 * util/sparc64/ieee1275/grub-install.in: Removed.
25675
25676 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25677
25678 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
25679 Ignore return status if CF is cleared.
25680 (grub_biosdisk_get_diskinfo_standard): Likewise.
25681
25682 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25683
25684 * term/i386/pc/at_keyboard.c
25685 (keyboard_controller_wait_untill_ready): New function.
25686 (grub_keyboard_controller_write, grub_keyboard_controller_read)
25687 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
25688 for keyboard polling, rather than duplicate the same loop. This
25689 saves a few bytes in code size.
25690
25691 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
25692
25693 Support for (pxe[:server[:gateway]]) syntax and
25694 use environment variable for PXE.
25695
25696 * commands/i386/pc/pxecmd.c (options): Removed.
25697 (print_ip): Removed.
25698 (grub_cmd_pxe): Removed
25699 (grub_cmd_pxe_unload): New function.
25700 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
25701 (grub_pxe_your_ip): Made static.
25702 (grub_pxe_default_server_ip): Likewise.
25703 (grub_pxe_default_gateway_ip): Likewise.
25704 (grub_pxe_blksize): Likewise.
25705 (parse_ip): New function.
25706 (grub_pxe_open): Support server and gateway specification.
25707 (grub_pxe_close): Free disk->data.
25708 (grub_pxefs_open): Use disk->data.
25709 (grub_pxefs_read): Likewise.
25710 (grub_env_write_readonly): New function.
25711 (set_mac_env): Likewise.
25712 (set_env_limn_ro): Likewise.
25713 (parse_dhcp_vendor): Likewise.
25714 (grub_pxe_detect): Set the environment variables.
25715 (set_ip_env): New function.
25716 (write_ip_env): Likewise.
25717 (grub_env_write_pxe_default_server): Likewise.
25718 (grub_env_write_pxe_default_gateway): Likewise.
25719 (grub_env_write_pxe_blocksize): Likewise.
25720 (GRUB_MOD_INIT(pxe)): Set environment variables.
25721 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
25722 (grub_pxe_mac_addr_t): ... this. All users updated.
25723 (grub_pxe_your_ip): Removed.
25724 (grub_pxe_server_ip): Likewise.
25725 (grub_pxe_gateway_ip): Likewise.
25726 (grub_pxe_blksize): Likewise.
25727
25728 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25729
25730 * commands/help.c: Include `<grub/i18n.h>'.
25731 (grub_cmd_help): Gettextizze.
25732 (GRUB_MOD_INIT): Likewise.
25733 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
25734 (GRUB_MOD_INIT): Gettextizze.
25735 * commands/search.c: Include `<grub/i18n.h>'.
25736 (options): Gettextizze.
25737 (GRUB_MOD_INIT): Gettextizze.
25738 * lib/arg.c: Include `<grub/i18n.h>'.
25739 (help_options): Gettextizze.
25740 (find_long): Likewise.
25741 (grub_arg_show_help): Likewise.
25742 * normal/dyncmd.c: Include `<grub/i18n.h>'.
25743 (read_command_list): Gettextizze.
25744 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
25745 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
25746
25747 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
25748
25749 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
25750 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
25751 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
25752 (led_status): New variable.
25753 (keyboard_controller_led): New function.
25754 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
25755 update led status for caps lock, num lock and scroll lock.
25756
25757 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
25758
25759 * util/hostdisk.c (open_device): Fix a comment.
25760
25761 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25762
25763 * util/grub-install.in (host_os): New variable.
25764 * util/i386/efi/grub-install.in (host_os): Likewise.
25765
25766 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25767
25768 * util/mkisofs/write.c (padblock_write): Abort when given an
25769 excedingly large embed image, instead of silently truncating it.
25770
25771 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25772
25773 * include/multiboot.h: Indentation fixes.
25774
25775 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25776
25777 * include/multiboot.h (struct multiboot_aout_symbol_table)
25778 (struct multiboot_elf_section_header_table): New structure
25779 declarations (stolen from GRUB Legacy).
25780 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
25781 table information.
25782
25783 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
25784 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
25785 type aliases.
25786
25787 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25788
25789 * include/multiboot.h: Make comments src2texi-friendly.
25790
25791 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25792
25793 For consistency with [multiboot]/docs/boot.S.
25794
25795 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
25796 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
25797 (MULTIBOOT_MAGIC2): Rename from this ...
25798 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
25799
25800 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
25801
25802 * include/multiboot.h: Remove `<grub/types.h>'.
25803 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
25804 types. Update all users.
25805
25806 2009-12-25 Carles Pina i Estany <carles@pina.cat>
25807
25808 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
25809 `couldn't' and `can not' by `cannot'.
25810 * commands/i386/pc/drivemap.c: Likewise.
25811 * disk/ata.c: Likewise.
25812 * disk/ieee1275/nand.c: Likewise.
25813 * fs/affs.c: Likewise.
25814 * fs/fat.c: Likewise.
25815 * fs/hfs.c: Likewise.
25816 * fs/hfsplus.c: Likewise.
25817 * fs/iso9660.c: Likewise.
25818 * fs/jfs.c: Likewise.
25819 * fs/minix.c: Likewise.
25820 * fs/reiserfs.c: Likewise.
25821 * fs/sfs.c: Likewise.
25822 * fs/udf.c: Likewise.
25823 * fs/ufs.c: Likewise.
25824 * fs/xfs.c: Likewise.
25825 * loader/powerpc/ieee1275/linux.c: Likewise.
25826 * loader/sparc64/ieee1275/linux.c: Likewise.
25827 * util/grub-probe.c: Likewise.
25828 * util/misc.c: Likewise.
25829
25830 2009-12-24 Carles Pina i Estany <carles@pina.cat>
25831
25832 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
25833 grub_errno calls.
25834 * commands/acpi.c: Likewise.
25835 * commands/blocklist.c: Likewise.
25836 * commands/efi/loadbios.c: Likewise.
25837 * commands/i386/pc/drivemap.c: Likewise.
25838 * commands/loadenv.c: Likewise.
25839 * commands/memrw.c: Likewise.
25840 * commands/password.c: Likewise.
25841 * commands/videotest.c: Likewise.
25842 * disk/ata.c: Likewise.
25843 * disk/ata_pthru.c: Likewise.
25844 * disk/dmraid_nvidia.c: Likewise.
25845 * disk/ieee1275/nand.c: Likewise.
25846 * disk/ieee1275/ofdisk.c: Likewise.
25847 * disk/loopback.c: Likewise.
25848 * disk/lvm.c: Likewise.
25849 * disk/mdraid_linux.c: Likewise.
25850 * disk/raid.c: Likewise.
25851 * disk/raid6_recover.c: Likewise.
25852 * disk/scsi.c: Likewise.
25853 * efiemu/main.c: Likewise.
25854 * efiemu/mm.c: Likewise.
25855 * efiemu/pnvram.c: Likewise.
25856 * efiemu/symbols.c: Likewise.
25857 * font/font.c: Likewise.
25858 * fs/cpio.c: Likewise.
25859 * fs/hfsplus.c: Likewise.
25860 * fs/iso9660.c: Likewise.
25861 * fs/jfs.c: Likewise.
25862 * fs/minix.c: Likewise.
25863 * fs/ntfs.c: Likewise.
25864 * fs/ntfscomp.c: Likewise.
25865 * fs/reiserfs.c: Likewise.
25866 * fs/ufs.c: Likewise.
25867 * fs/xfs.c: Likewise.
25868 * gettext/gettext.c: Likewise.
25869 * include/grub/auth.h: Likewise.
25870 * kern/elf.c: Likewise.
25871 * kern/file.c: Likewise.
25872 * kern/ieee1275/init.c: Likewise.
25873 * kern/ieee1275/mmap.c: Likewise.
25874 * kern/ieee1275/openfw.c: Likewise.
25875 * kern/powerpc/dl.c: Likewise.
25876 * kern/sparc64/dl.c: Likewise.
25877 * lib/arg.c: Likewise.
25878 * loader/i386/bsd.c: Likewise.
25879 * loader/i386/bsdXX.c: Likewise.
25880 * loader/i386/efi/linux.c: Likewise.
25881 * loader/i386/efi/xnu.c: Likewise.
25882 * loader/i386/ieee1275/linux.c: Likewise.
25883 * loader/i386/linux.c: Likewise.
25884 * loader/i386/multiboot.c: Likewise.
25885 * loader/i386/pc/linux.c: Likewise.
25886 * loader/i386/pc/multiboot2.c: Likewise.
25887 * loader/i386/xnu.c: Likewise.
25888 * loader/ieee1275/multiboot2.c: Likewise.
25889 * loader/macho.c: Likewise.
25890 * loader/machoXX.c: Likewise.
25891 * loader/multiboot2.c: Likewise.
25892 * loader/multiboot_loader.c: Likewise.
25893 * loader/powerpc/ieee1275/linux.c: Likewise.
25894 * loader/sparc64/ieee1275/linux.c: Likewise.
25895 * loader/xnu.c: Likewise.
25896 * loader/xnu_resume.c: Likewise.
25897 * mmap/i386/pc/mmap.c: Likewise.
25898 * normal/menu_viewer.c: Likewise.
25899 * partmap/acorn.c: Likewise.
25900 * partmap/amiga.c: Likewise.
25901 * partmap/apple.c: Likewise.
25902 * script/lexer.c: Likewise.
25903 * term/gfxterm.c: Likewise.
25904 * term/i386/pc/serial.c: Likewise.
25905 * term/i386/pc/vga.c: Likewise.
25906 * term/ieee1275/ofconsole.c: Likewise.
25907 * term/terminfo.c: Likewise.
25908 * video/bitmap.c: Likewise.
25909 * video/efi_gop.c: Likewise.
25910 * video/efi_uga.c: Likewise.
25911 * video/fb/video_fb.c: Likewise.
25912 * video/i386/pc/vbe.c: Likewise.
25913 * video/readers/tga.c: Likewise.
25914 * video/video.c: Likewise.
25915
25916 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
25917
25918 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
25919 * commands/lspci.c: Likewise.
25920 * commands/probe.c: Likewise.
25921 * commands/xnu_uuid.c: Likewise.
25922 * conf/i386-coreboot.rmk: Likewise.
25923 * conf/i386-efi.rmk: Likewise.
25924 * conf/i386-ieee1275.rmk: Likewise.
25925 * conf/i386-pc.rmk: Likewise.
25926 * conf/powerpc-ieee1275.rmk: Likewise.
25927 * conf/sparc64-ieee1275.rmk: Likewise.
25928 * conf/x86_64-efi.rmk: Likewise.
25929 * fs/i386/pc/pxe.c: Likewise.
25930 * gettext/gettext.c: Likewise.
25931 * include/grub/efi/graphics_output.h: Likewise.
25932 * include/grub/i386/pc/memory.h: Likewise.
25933 * kern/env.c: Likewise.
25934 * kern/i386/qemu/startup.S: Likewise.
25935 * lib/i386/pc/biosnum.c: Likewise.
25936 * lib/i386/relocator.c: Likewise.
25937 * lib/i386/relocator_asm.S: Likewise.
25938 * lib/relocator.c: Likewise.
25939 * loader/i386/bsd.c: Likewise.
25940 * loader/i386/multiboot.c: Likewise.
25941 * loader/i386/pc/chainloader.c: Likewise.
25942 * loader/i386/xnu.c: Likewise.
25943 * loader/xnu.c: Likewise.
25944 * normal/main.c: Likewise.
25945 * normal/menu_text.c: Likewise.
25946 * util/getroot.c: Likewise.
25947 * util/grub-mkconfig_lib.in: Likewise.
25948 * util/grub.d/00_header.in: Likewise.
25949 * util/i386/pc/grub-mkimage.c: Likewise.
25950 * util/mkisofs/eltorito.c: Likewise.
25951 * util/mkisofs/exclude.h: Likewise.
25952 * util/mkisofs/hash.c: Likewise.
25953 * util/mkisofs/iso9660.h: Likewise.
25954 * util/mkisofs/joliet.c: Likewise.
25955 * util/mkisofs/mkisofs.c: Likewise.
25956 * util/mkisofs/mkisofs.h: Likewise.
25957 * util/mkisofs/multi.c: Likewise.
25958 * util/mkisofs/name.c: Likewise.
25959 * util/mkisofs/rock.c: Likewise.
25960 * util/mkisofs/tree.c: Likewise.
25961 * util/mkisofs/write.c: Likewise.
25962 * video/efi_gop.c: Likewise.
25963
25964 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
25965
25966 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
25967 size counting.
25968
25969 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25970
25971 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
25972 * genmk.rb (class SCRIPT): Modify the target file instead of source.
25973
25974 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25975
25976 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
25977 (GRUB_MOD_INIT(memrw)): Update help line.
25978
25979 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
25980
25981 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
25982 Use grub_extcmd_t. All users updated.
25983 (options): New variable.
25984 (grub_cmd_read): Restructure for readability. Support "-v" option.
25985 (grub_cmd_write): Restructure for readability.
25986
25987 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25988
25989 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
25990
25991 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
25992
25993 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
25994 with the actual contents of the correspondending make variable.
25995 * util/grub-mkrescue.in (pkglib_DATA): New variable.
25996 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
25997 specifying `*.lst' and `efiemu??.o'
25998
25999 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
26000
26001 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26002 after function name.
26003 Noticed by Rene Engelhard <rene@debian.org>.
26004
26005 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26006
26007 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26008 (options): New variable.
26009 (iospace): Likewise.
26010 (grub_lspci_iter): List IO spaces if "-i" was given.
26011 (grub_cmd_lspci): Parse options.
26012 (GRUB_MOD_INIT(lspci)): Use extcmd.
26013 (GRUB_MOD_FINI(lspci)): Likewise.
26014
26015 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
26016
26017 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26018 `function' keyword.
26019 Patch by Tony Mancill <tmancill@debian.org>.
26020
26021 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26022
26023 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26024 (grub_uhci_portstatus): Likewise.
26025 (grub_uhci_portstatus): Add necessary delay.
26026 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
26027
26028 2009-12-21 Carles Pina i Estany <carles@pina.cat>
26029
26030 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26031 (GRUB_MOD_INIT): Likewise.
26032 * commands/boot.c (GRUB_MOD_INIT): Likewise.
26033 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26034 * commands/echo.c (options): Fix capitalizations and/or full stops.
26035 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26036 (enable_rom_area): Likewise.
26037 (GRUB_MOD_INIT): Likewise.
26038 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26039 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26040 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26041 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26042 * commands/hexdump.c (options): Likewise.
26043 * commands/i386/cpuid.c (options): Likewise.
26044 (GRUB_MOD_INIT): Likewise.
26045 * commands/i386/pc/drivemap.c (options): Likewise.
26046 (GRUB_MOD_INIT): Likewise.
26047 * commands/i386/pc/halt (options): Likewise.
26048 (GRUB_MOD_INIT): Likewise.
26049 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26050 * commands/i386/pc/pxecmd.c (options): Likewise.
26051 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26052 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26053 * commands/keystatus.c (options): Likewise.
26054 (GRUB_MOD_INIT): Likewise.
26055 * commands/loadenv.c (options): Likewise.
26056 * commands/ls.c (options): Likewise.
26057 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26058 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26059 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26060 * commands/parttool.c (helpmsg): Likewise.
26061 * commands/probe.c (options): Likewise.
26062 * commands/read.c (GRUB_MOD_INIT): Likewise.
26063 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26064 * commands/search.c (options): Likewise.
26065 * commands/sleep.c (options): Likewise.
26066 * commands/test.c (GRUB_MOD_INIT): Likewise.
26067 * commands/true.c (GRUB_MOD_INIT): Likewise.
26068 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26069 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26070 * lib/arg.c (help_options): Likewise.
26071 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26072 `$(XGETTEXT)'.
26073 * po/POTFILES: Add `commands/loadenv.c'.
26074
26075 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
26076
26077 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
26078 instead of specifying them explicit.
26079
26080 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26081
26082 * NEWS: Add grub-probe support for GNU/Hurd.
26083
26084 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26085
26086 * NEWS: gettext was added after 1.97.
26087
26088 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26089
26090 * util/mkisofs/msdos_partition.h: New file (based on
26091 include/grub/msdos_partition.h).
26092 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26093 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26094 (ld_options, main): Recognize --protective-msdos-label.
26095 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26096 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26097 (padblock_write): If `use_protective_msdos_label' is set, patch a
26098 protective DOS-style label in the output image.
26099
26100 * util/grub-mkrescue.in: Use --protective-msdos-label.
26101
26102 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26103
26104 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26105 boot.
26106
26107 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26108
26109 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26110 variables.
26111 (ld_options, main): Recognize `--embedded-boot'.
26112 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26113 declarations.
26114 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26115 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26116 (padblock_write): Likewise. Rewrite to support embedded boot image.
26117
26118 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26119 for BIOS-based disk boot instead of only ElTorito.
26120
26121 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26122
26123 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26124 build (not needed for bootstrap).
26125
26126 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26127
26128 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26129 from i386-pc build (not needed for bootstrap).
26130 Rewrite a pair of strings.
26131
26132 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26133
26134 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26135
26136 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26139
26140 2009-12-21 Andreas Born <futur.andy@googlemail.com>
26141
26142 * kern/env.c (grub_env_context_open): Mark exported variable for
26143 reexport.
26144
26145 2009-12-21 Andreas Born <futur.andy@googlemail.com>
26146
26147 * kern/env.c (grub_env_export): Create nonexistent variables before
26148 exporting.
26149
26150 2009-12-20 Carles Pina i Estany <carles@pina.cat>
26151
26152 * include/grub/auth.h: Include `<grub/i18n.h>'.
26153 (GRUB_GET_PASSWORD): Gettextizze string.
26154 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26155 menu_text.c.
26156 (grub_utf8_to_ucs4_alloc): Fix indentation.
26157 (grub_print_ucs4): Likewise.
26158 (grub_getstringwidth): Likewise.
26159 (print_message_indented): New declaration.
26160 * normal/auth.c: Include `<grub/i18n.h>'.
26161 (grub_auth_check_authentication): Gettexttize string.
26162 * normal/cmdline.c: Include `<grub/i18n.h>'.
26163 (grub_cmdline_get): Gettextizze.
26164 * normal/color.c: Include `<grub/i18n.h>'.
26165 (grub_parse_color_name_pair): Gettexttize strings.
26166 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26167 string (use `print_message_indented').
26168 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26169 `include/grub/normal.h'.
26170 (print_message_indented): Renamed to ...
26171 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26172 used in normal/main.c).
26173 (print_message): Use `grub_print_message_indented' instead of
26174 `print_message_indented'.
26175 (print_timeout): Likewise.
26176 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26177 (grub_normal_print_device_info): Gettexttize strings.
26178 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26179
26180 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26181
26182 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26183 of arguments. Return number of tokens and not arguments. All users
26184 updated.
26185
26186 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26187
26188 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26189 non-MSDOS paritions.
26190
26191 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26192
26193 * include/grub/types.h (UNUSED): Removed since it conflicts with
26194 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26195 Reported by Grégoire Sutre.
26196
26197 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26198
26199 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26200 (grub_print_ucs4_alloc): Likewise.
26201 (grub_getstringwidth): Likewise.
26202 * normal/main.c (grub_normal_init_page): Gettextize version string.
26203 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26204 (getstringwidth): Renamed to ...
26205 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26206 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26207 (grub_print_ucs4): Remove `static' qualifer (now used in
26208 normal/main.c).
26209 * po/POTFILES: Add normal/main.c.
26210
26211 2009-12-19 Carles Pina i Estany <carles@pina.cat>
26212
26213 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26214 (print_message_indented): Add `margin_left' and `margin_right'
26215 parameters.
26216 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26217 strings.
26218 (print_timeout): Use `print_message_indented' to print the message.
26219 Deletes `second_stage' parameter.
26220 (run_menu): Update `print_timeout' calls.
26221
26222 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26223
26224 Fix console palette on OpenFirmware.
26225
26226 * term/ieee1275/ofconsole.c (MAX): Removed.
26227 (colors): Redone based on VGA palette.
26228 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26229 colors are supported.
26230 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26231
26232 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26233
26234 Fix potential EfiEmu double prepare.
26235
26236 * efiemu/main.c (prepared): New variable
26237 (grub_efiemu_unload): Set prepare to '0'.
26238 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26239
26240 set_virtual_address_map support.
26241
26242 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26243 prototype.
26244 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26245 prototype.
26246 (grub_efiemu_crc32): Likewise.
26247 (grub_efiemu_crc64): Likewise.
26248 (grub_efiemu_set_virtual_address_map): Likewise.
26249 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26250 New definition.
26251 (grub_autoefi_set_virtual_address_map): Likewise.
26252 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26253 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26254 Restructure flow to accomodate it.
26255 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26256 (grub_efiemu_crc): Recompute CRC32.
26257 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26258 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26259 * efiemu/symbols.c (relocated_handle): New variable.
26260 (grub_efiemu_free_syms): Free relocated_handle.
26261 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26262 (grub_efiemu_write_sym_markers): New function.
26263 (grub_efiemu_set_virtual_address_map): Likewise.
26264
26265 Newer XNU parameters.
26266
26267 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26268 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26269 (grub_xnu_fill_devicetree): New prototype.
26270 (grub_xnu_heap_real_start): New variable.
26271 * loader/xnu.c (get_name_ptr): New function.
26272 (grub_xnu_load_driver): Fill namelen and name.
26273
26274 64-bit xnu support.
26275
26276 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26277 and 'loader/macho64.c'.
26278 * conf/i386-pc.rmk: Likewise.
26279 * conf/x86_64-efi.rmk: Likewise.
26280 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26281 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26282 * include/grub/macho.h (grub_macho_segment64): New structure.
26283 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26284 (grub_macho_size32): ... to this.
26285 (grub_macho32_get_entry_point): Renamed from ...
26286 (grub_macho_get_entry_point32): ... to this.
26287 (grub_macho_contains_macho64): New prototype.
26288 (grub_macho_size64): Likewise.
26289 (grub_macho_get_entry_point64): Likewise.
26290 (grub_macho32_load): Renamed from ...
26291 (grub_macho_load32): ... to this.
26292 (grub_macho32_filesize): Renamed from ...
26293 (grub_macho_filesize32): ... to this.
26294 (grub_macho32_readfile): Renamed from ...
26295 (grub_macho_readfile32): ... to this.
26296 (grub_macho_filesize64): New prototype.
26297 (grub_macho_readfile64): Likewise.
26298 (grub_macho_parse32): Likewise.
26299 (grub_macho_parse64): Likewise.
26300 * loader/macho.c: Split into ...
26301 * loader/machoXX.c: ... and this. Replace 32 with XX.
26302 * loader/macho32.c: New file.
26303 * loader/macho64.c: Likewise.
26304 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26305 (grub_cmd_xnu_kernel): Make 32-bit only.
26306 (grub_cmd_xnu_kernel64): New function.
26307 (grub_xnu_load_driver): Support Mach-O 64.
26308 (grub_cmd_xnu_mkext): Likewise.
26309 * util/grub.d/30_os-prober.in (osx_entry): New function.
26310 Generate entries for 64-bit boot too.
26311
26312 Eliminate ad-hoc tree format in XNU and EfiEmu.
26313
26314 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26315 * efiemu/pnvram.c: Rewritten to use environment variables.
26316 All users updated.
26317
26318 Inline utf16_to_utf8.
26319
26320 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26321 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26322 All users updated.
26323 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26324
26325 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26326 * commands/usbtest.c (grub_usb_get_string): ... move here.
26327 (usb_print_str): Fix error handling.
26328 * include/grub/usb.h (grub_usb_get_string): Remove.
26329
26330 UTF-8 to UTF-16 transformation.
26331
26332 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26333 (charset_mod_SOURCES): New variable.
26334 (charset_mod_CFLAGS): Likewise.
26335 (charset_mod_LDFLAGS): Likewise.
26336 * include/grub/utf.h: New file.
26337 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26338
26339 Support for device properties.
26340
26341 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26342 (grub_xnu_devprop_device_header): Likewise.
26343 (grub_xnu_devprop_device_descriptor): Likewise.
26344 (grub_xnu_devprop_add_device): New prototype.
26345 (grub_xnu_devprop_remove_device): Likewise.
26346 (grub_xnu_devprop_remove_property): Likewise.
26347 (grub_xnu_devprop_add_property_utf8): Likewise.
26348 (grub_xnu_devprop_add_property_utf16): Likewise.
26349 (grub_cpu_xnu_init): Likewise.
26350 (grub_cpu_xnu_fini): Likewise.
26351 (grub_cpu_xnu_unload): Likewise.
26352 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26353 (property_descriptor): Likewise.
26354 (devices): New variable.
26355 (grub_xnu_devprop_remove_property): New function.
26356 (grub_xnu_devprop_add_device): Likewise.
26357 (grub_xnu_devprop_remove_device): Likewise.
26358 (grub_xnu_devprop_add_property): Likewise.
26359 (grub_xnu_devprop_add_property_utf8): Likewise.
26360 (grub_xnu_devprop_add_property_utf16): Likewise.
26361 (hextoval): Likewise.
26362 (grub_cpu_xnu_fill_devprop): Likewise.
26363 (grub_cmd_devprop_load): Likewise.
26364 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26365 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26366 (cmd_devprop_load): New variable.
26367 (grub_cpu_xnu_init): New function.
26368 (grub_cpu_xnu_fini): Likewise.
26369 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26370 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26371 (grub_cmd_xnu_devtree): Likewise.
26372 (hextoval): New function.
26373 (unescape): Likewise.
26374 (grub_xnu_fill_devicetree): Likewise.
26375
26376 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26377 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26378
26379 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 Workaround for broken ATI VBE.
26382
26383 * video/i386/pc/vbe.c (last_set_mode): New variable.
26384 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26385 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26386 (grub_video_vbe_setup): Don't check for reserved flag.
26387
26388 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
26389
26390 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26391 the `find' command.
26392
26393 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 UUID support for HFS.
26396
26397 * fs/hfs.c (grub_hfs_uuid): New function.
26398 (grub_hfs_fs): New value .uuid.
26399 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
26400
26401 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
26402
26403 Fix a segfault with parsing unknown long options.
26404
26405 * util/grub-mkrelpath.c (options): Zero terminate it.
26406
26407 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26408
26409 * include/grub/misc.h (grub_puts): New declaration.
26410 (grub_puts_): Likewise.
26411 * kern/misc.c (grub_puts): New definition.
26412 (grub_puts_): Likewise.
26413
26414 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26415
26416 * util/grub-probe.c (probe): Improve error message.
26417
26418 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
26419
26420 * loader/i386/multiboot_elfxx.c
26421 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
26422 initialization.
26423
26424 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26425
26426 Relocator framework
26427
26428 * loader/i386/xnu_helper.S: Removed. All users updated.
26429 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
26430 (relocator_mod_SOURCES): New variable.
26431 (relocator_mod_CFLAGS): Likewise.
26432 (relocator_mod_LDFLAGS): Likewise.
26433 (relocator_mod_ASFLAGS): Likewise.
26434 * conf/x86_64.rmk: Likewise.
26435 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
26436 (grub_multiboot_payload_entry_offset): Likewise.
26437 (grub_multiboot_forward_relocator): Likewise.
26438 (grub_multiboot_forward_relocator_end): Likewise.
26439 (grub_multiboot_backward_relocator): Likewise.
26440 (grub_multiboot_backward_relocator_end): Likewise.
26441 (grub_multiboot_payload_eip): New variable.
26442 (grub_multiboot_payload_orig): Likewise.
26443 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
26444 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
26445 * include/grub/i386/memory.h
26446 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
26447 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
26448 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
26449 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
26450 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
26451 * include/grub/i386/relocator.h: New file.
26452 * include/grub/x86_64/relocator.h: Likewise.
26453 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
26454 (XNU_RELOCATOR): New macro.
26455 (grub_xnu_launcher_start): Remove.
26456 (grub_xnu_launcher_end): Likewise.
26457 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
26458 (grub_xnu_heap_real_start): Remove.
26459 (grub_xnu_heap_start): Change to void *. All users updated.
26460 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
26461 * lib/i386/relocator.c: New file.
26462 * lib/i386/relocator_asm.S: Likewise.
26463 * lib/i386/relocator_backward.S: Likewise.
26464 * lib/mips/relocator.c: Likewise.
26465 * lib/mips/relocator_asm.S: Likewise.
26466 * lib/relocator.c: Likewise.
26467 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
26468 (entry): Removed.
26469 (playground): Likewise.
26470 (grub_multiboot_payload_orig): New variable.
26471 (grub_multiboot_payload_dest): Likewise.
26472 (grub_multiboot_payload_size): Likewise.
26473 (grub_multiboot_payload_eip): Likewise.
26474 (grub_multiboot_payload_esp): Likewise.
26475 (grub_multiboot_boot): Use grub_relocator32_boot.
26476 (grub_multiboot_unload): Free relocators.
26477 (grub_multiboot): Setup stack. Use relocators.
26478 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
26479 (grub_multiboot_load_elfXX): Use relocators.
26480 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
26481 (grub_multiboot_payload_size): Likewise.
26482 (grub_multiboot_payload_dest): Likewise.
26483 (grub_multiboot_payload_entry_offset): Likewise.
26484 (grub_multiboot_forward_relocator): Likewise.
26485 (grub_multiboot_backward_relocator): Likewise.
26486 (grub_multiboot_real_boot): Likewise.
26487 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
26488 (grub_xnu_entry_point): Likewise.
26489 (grub_xnu_arg1): Likewise.
26490 (grub_xnu_stack): Likewise.
26491 (grub_xnu_launch): Removed.
26492 (grub_xnu_boot_resume): New function.
26493 (grub_xnu_boot): Use relocators.
26494 * loader/i386/xnu_helper.S: Removed.
26495 * loader/xnu.c (grub_xnu_heap_start): New variable.
26496 (grub_xnu_heap_size): Likewise.
26497 (grub_xnu_heap_malloc): Use relocators.
26498 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
26499
26500 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
26501
26502 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
26503 anything.
26504
26505 2009-12-13 Carles Pina i Estany <carles@pina.cat>
26506
26507 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
26508 GRUB_ERR_NONE before calling grub_env_set.
26509
26510 2009-12-12 Robert Millan <rmh@aybabtu.com>
26511
26512 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
26513 * genmk.rb (video): New variable.
26514 (CLEANFILES, VIDEOFILES): Add #{video}.
26515 (#{video}): New target rule.
26516 * genvideolist.sh: New file.
26517 * Makefile.in (pkglib_DATA): Add video.lst.
26518 (video.lst): New target rule.
26519 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
26520 `video.lst'.
26521 * util/grub.d/30_os-prober.in: Replace `vbe' with
26522 ${GRUB_VIDEO_BACKEND}.
26523
26524 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
26525
26526 * THANKS: Add David Miller.
26527
26528 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
26529
26530 libpciaccess support.
26531
26532 * Makefile.in (LIBPCIACCESS): New variable.
26533 (enable_grub_emu_pci): Likewise.
26534 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
26535 util/pci.c and commands/lspci.c.
26536 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
26537 * configure.ac (grub-emu-pci): New option.
26538 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
26539 (grub_pci_device_unmap_range): Likewise.
26540 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
26541 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
26542 (grub_pci_address_t) [!GRUB_UTIL]: New type.
26543 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
26544 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
26545 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
26546 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
26547 * include/grub/pciutils.h: New file.
26548 * util/pci.c: Likewise.
26549
26550 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
26551
26552 * util/misc.c: Don't include <errno.h> twice.
26553
26554 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
26555
26556 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
26557 name in an error message.
26558 (grub_biosdisk_rw): Likewise.
26559
26560 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26561
26562 Eliminate NTFS 4Gib barrier.
26563
26564 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
26565 (read_run_data): Likewise.
26566 (grub_ntfs_read_run_list): Likewise.
26567 (grub_ntfs_read_block): Likewise.
26568 (grub_ntfs_iterate_dir): Likewise.
26569 (read_mft): Likewise.
26570 (read_data): Likewise.
26571 Use COM_LOG_LEN.
26572 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
26573 to avoid 64-bit division
26574 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
26575 (grub_ntfs_rlst): Use grub_disk_addr_t.
26576
26577 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26578
26579 Eliminate grub-fstest 4Gib barrier.
26580
26581 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
26582 (read_file): Fix error reporting.
26583
26584 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 Eliminate hexdump 4Gib barrier.
26587
26588 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
26589 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
26590
26591 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
26592
26593 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
26594 Fixes amarsh bug.
26595
26596 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
26597
26598 Remove miscellaneous files in distclean target.
26599
26600 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
26601
26602 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
26603
26604 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
26605 if they're already set. This resolves the conflict between my
26606 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
26607 fixing the --grub-probe option again.
26608 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
26609 change on 2009-10-06, so that we now once again source
26610 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26611
26612 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
26615 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
26616 `util/devicemap.c'.
26617
26618 2009-12-08 Carles Pina i Estany <carles@pina.cat>
26619
26620 * include/grub/misc.h (grub_printf_): New declaration.
26621 * kern/misc.c (grub_printf_): New definition.
26622 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
26623 instead of `grub_printf' and `_'.
26624 * normal/menu_entry.c (store_completion): Likewise.
26625 (run): Likewise.
26626 (grub_menu_entry_run): Likewise.
26627 * normal/menu_text.c (grub_wait_after_message): Likewise.
26628 (notify_booting): Likewise.
26629 (notify_fallback): Likewise.
26630 (notify_execution_failure): Likewise.
26631
26632 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
26633
26634 * configure.ac: Check for vasprintf.
26635 * util/misc.c (asprintf): Move allocation from here ...
26636 (vasprintf): ... to here. New function.
26637 (xasprintf): New function.
26638 * include/grub/util/misc.h (vasprintf, xasprintf): Add
26639 prototypes.
26640 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26641 * util/grub-mkfont.c (write_font): Likewise.
26642 * util/grub-probe.c (probe): Likewise.
26643 * util/hostdisk.c (make_device_name): Likewise.
26644
26645 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
26646
26647 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
26648 anything even prefixed with 'cdrom' as a cdrom.
26649
26650 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
26651
26652 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
26653 mount points.
26654
26655 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26656
26657 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
26658 grub_gettext_msg_list.
26659 (grub_gettext_gettranslation_from_position): Return const char *
26660 and not char *.
26661 (grub_gettext_translate): Add the translated strings into a list,
26662 returns from the list if existing there.
26663 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
26664 (grub_gettext_delete_list): Delete the list.
26665 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
26666 lang environment variable is changed.
26667 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
26668
26669 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26670
26671 Rename kernel.mod to kernel.img.
26672
26673 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
26674 (kernel_mod_EXPORTS): Rename to ...
26675 (kernel_img_EXPORTS): ... this.
26676 (kernel_mod_SOURCES): Rename to ...
26677 (kernel_img_SOURCES): ... this.
26678 (kernel_mod_HEADERS): Rename to ...
26679 (kernel_img_HEADERS): ... this. All users updated.
26680 (kernel_mod_CFLAGS): Rename to ...
26681 (kernel_img_CFLAGS): ... this.
26682 (kernel_mod_ASFLAGS): Rename to ...
26683 (kernel_img_ASFLAGS): ... this.
26684 (kernel_mod_LDFLAGS): Rename to ...
26685 (kernel_img_LDFLAGS): ... this.
26686 * conf/x86_64-efi.rmk: Likewise.
26687 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
26688 (read_kernel_image): ... this. All users updated.
26689 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
26690
26691 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26692
26693 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
26694 (print_spaces): New function.
26695 (grub_print_ucs4): New function.
26696 (getstringwidth): New function.
26697 (print_message_indented): New function.
26698 (print_message): Gettexttize strings using print_message_indented.
26699 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
26700 width.
26701 (get_entry_number): Gettextize and uses dynamic terminal width.
26702 (notify_booting, notify_fallback, notify_execution_failure):
26703 Gettextize.
26704 * normal/menu_entry.c (store_completion): Cleanup the gettextized
26705 string.
26706 (run): Likewise.
26707 (grub_menu_entry_run): Likewise.
26708 * PO/POTFILES: Add normal/menu_entry.c.
26709
26710 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
26711
26712 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
26713
26714 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26715
26716 * util/grub-install.in: Install gettext .mo files.
26717 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
26718
26719 2009-12-05 Carles Pina i Estany <carles@pina.cat>
26720
26721 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
26722 grub_dprintf.
26723
26724 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
26725
26726 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
26727 non-firmware-dependant one in realmode.S takes precedence.
26728
26729 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
26730
26731 * commands/halt.c: Replace misc arch-specific headers with
26732 `<grub/misc.h>'.
26733 * commands/reboot.c: Likewise.
26734 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
26735 `<grub/misc.h>'.
26736 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
26737 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
26738 (kernel_img_SOURCES): ... to here.
26739
26740 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
26741 * include/grub/i386/pc/init.h: Likewise.
26742 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26743 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26744
26745 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
26746
26747 * include/grub/i386/halt.h: Remove.
26748 * include/grub/i386/reboot.h: Likewise.
26749
26750 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
26751
26752 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
26753
26754 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
26755 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
26756 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
26757 "progname.h"
26758 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26759 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26760 (usage): Add missing comma in printf.
26761
26762 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 Use the same reboot approach on i386 coreboot and qemu as we do on
26765 BIOS.
26766
26767 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
26768 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
26769 * kern/i386/reboot.c: Remove.
26770 * include/grub/i386/reboot.h (grub_reboot): Export function.
26771 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
26772 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
26773 0xf000:0xfff0 instead of 0xffff:0x0000.
26774 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
26775 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
26776
26777 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
26778
26779 Fix $srcdir != $objdir build.
26780
26781 * Makefile.in (po/%.po): Rewrite as ...
26782 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
26783
26784 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
26785
26786 Fix GNU/Hurd grub-install crash.
26787 * util/grub-probe.c (probe): Try to access `path' only when it is not
26788 NULL.
26789
26790 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 Correct module naming.
26793
26794 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26795 (GRUB_MOD_INIT(efi_uga)): ... to this
26796 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26797 (GRUB_MOD_FINI(efi_uga)): ... to this
26798 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
26799 (GRUB_MOD_INIT(efi_gop)): ... to this
26800 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
26801 (GRUB_MOD_FINI(efi_gop)): ... to this
26802
26803 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
26804
26805 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
26806 translatable.
26807 (usage): Translate `arg' strings using gettext().
26808 Thanks to Jordi Mallach for the suggestion.
26809
26810 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 GOP support. Based on patch from Bean
26813 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26814
26815 * video/efi_gop.c: New file.
26816 * include/grub/efi/graphics_output.h: Likewise.
26817 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
26818 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26819 variables.
26820 * conf/x86_64-efi.rmk: Likewise.
26821
26822 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 Rename efi_fb to efi_uga.
26825
26826 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26827 'efi_uga.mod'.
26828 (efi_fb_mod_SOURCES): Rename this ...
26829 (efi_uga_mod_SOURCES): ... to this.
26830 (efi_fb_mod_CFLAGS): Rename this ...
26831 (efi_uga_mod_CFLAGS): ... to this.
26832 (efi_fb_mod_LDFLAGS): Rename this ...
26833 (efi_uga_mod_LDFLAGS): ... to this.
26834 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
26835 'efi_uga.mod'.
26836 (efi_fb_mod_SOURCES): Rename this ...
26837 (efi_uga_mod_SOURCES): ... to this.
26838 (efi_fb_mod_CFLAGS): Rename this ...
26839 (efi_uga_mod_CFLAGS): ... to this.
26840 (efi_fb_mod_LDFLAGS): Rename this ...
26841 (efi_uga_mod_LDFLAGS): ... to this.
26842 * video/efi_fb.c: Move this ...
26843 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
26844
26845 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26846
26847 * po/README: New file. Explain our PO file workflow.
26848
26849 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26850
26851 * po/ChangeLog: Remove. Move relevant entries back to ...
26852 * ChangeLog: ... here.
26853 * po/ca.po: Remove (now handled by TLP).
26854 * po/id.po: Likewise.
26855 * po/zh_CN.po: Likewise.
26856 * Makefile.in (LINGUAS): Initialize in a way that supports
26857 empty set.
26858
26859 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
26860
26861 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
26862 reliing on po/LINGUAS.
26863 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
26864 (po/%.po): ... this.
26865
26866 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26867
26868 * util/i386/efi/grub-mkimage.c: Include "progname.h".
26869 (main): Use `program_name' instead of nonexistent `progname'.
26870
26871 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26872
26873 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26874 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
26875
26876 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26877
26878 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
26879 commit.
26880 * conf/i386-efi.rmk: Likewise.
26881 * conf/i386-ieee1275.rmk: Likewise.
26882 * conf/powerpc-ieee1275.rmk: Likewise.
26883 * conf/sparc64-ieee1275.rmk: Likewise.
26884 * conf/x86_64-efi.rmk: Likewise.
26885
26886 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26887
26888 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
26889
26890 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
26891
26892 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
26893
26894 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
26895
26896 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
26897 (grub_mkdevicemap_SOURCES): New variable.
26898 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
26899 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
26900 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
26901 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
26902 (grub_mkdevicemap_SOURCES): Remove.
26903 * conf/i386-efi.rmk: Likewise.
26904 * conf/i386-ieee1275.rmk: Likewise.
26905 * conf/i386-pc.rmk: Likewise.
26906 * conf/powerpc-ieee1275.rmk: Likewise.
26907 * conf/sparc64-ieee1275.rmk: Likewise.
26908 * conf/x86_64-efi.rmk: Likewise.
26909 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
26910 (usage): Fix strings to use `program_name'.
26911 (main): Initialize gettext.
26912 * util/grub-editenv.c: Likewise.
26913 * util/grub-emu.c: Likewise.
26914 * util/grub-fstest.c: Likewise.
26915 * util/grub-mkdevicemap.c: Likewise.
26916 * util/grub-mkfont.c: Likewise.
26917 * util/grub-mkrelpath.c: Likewise.
26918 * util/grub-pe2elf.c: Likewise.
26919 * util/grub-probe.c: Likewise.
26920 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26921 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
26922 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26923
26924 * util/misc.c: Include `"progname.h"'.
26925 (progname): Remove variable.
26926 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
26927
26928 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26929
26930 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
26931 printf and print a newline after the menuentry header line.
26932 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26933
26934 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
26935
26936 autoconf >= 2.60 support $(localedir).
26937
26938 * INSTALL: Note that autoconf 2.60 is required.
26939 * configure.ac (AC_PREREQ): Bump to 2.60.
26940 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
26941 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26942
26943 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
26944
26945 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
26946 aclocal is run.
26947
26948 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26949
26950 * normal/main.c (grub_normal_read_line): Fix off-by-one
26951 buffer overflow.
26952
26953 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
26954
26955 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
26956 "parser.grub" in grub_command_execute() call.
26957
26958 2009-11-24 Carles Pina i Estany <carles@pina.cat>
26959
26960 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
26961 * conf/i386-efi.rmk: Likewise.
26962 * conf/i386-ieee1275.rmk: Likewise.
26963 * conf/i386-pc.rmk: Likewise.
26964 * conf/powerpc-ieee1275.rmk: Likewise.
26965 * conf/sparc64-ieee1275.rmk: Likewise.
26966 * conf/x86_64-efi.rmk: Likewise.
26967 * gettext/gettex.c: Include <grub/i18n.h>.
26968 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
26969 here ...
26970 * include/grub/i18n.h: ... to here
26971 * include/grub/i18n.h: ... to here.
26972 * kern/misc.c: Include <grub/i18n.h>
26973 (grub_gettext_dummy): Move above user.
26974
26975 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26976
26977 * util/Makefile.in (install-local): Convert a `for' into a normal
26978 shell expansion.
26979
26980 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
26981
26982 * autogen.sh: Add automake call.
26983 * config.guess: Remove.
26984 * config.sub: Likewise.
26985 * install-sh: Likewise.
26986
26987 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26988
26989 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
26990
26991 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26992
26993 * util/Makefile.in (install-local): Convert a make `$(foreach)'
26994 function to a normal shell `for'.
26995
26996 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
26997
26998 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26999
27000 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
27001
27002 * util/grub-mkrelpath.c: New file.
27003 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27004 (grub_mkrelpath_SOURCES): New variable.
27005 * include/grub/util/misc.h: New function prototype.
27006 * util/misc.c (make_system_path_relative_to_its_root): New function.
27007
27008 * util/grub-mkconfig_lib.in (bindir): New variable.
27009 (grub_mkrelpath): Likewise.
27010 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27011
27012 * util/probe.c (probe): Make the file path relative to its root.
27013 Change a info message to use the GRUB path. Enable again the
27014 check if we can read the file with GRUB facilities.
27015
27016 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27017 to its root.
27018
27019 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
27020
27021 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27022 platform.
27023
27024 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
27025
27026 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27027 strncmp().
27028
27029 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
27030
27031 * util/getroot.c (grub_util_is_dmraid): New function.
27032 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27033 devices as normal ones, not as LVM.
27034
27035 2009-11-23 Carles Pina i Estany <carles@pina.cat>
27036
27037 * conf/common.rmk: Add grub-gettext_lib target and updates
27038 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27039 LDFLAGS.
27040 * gettext/gettext.c: New file. (Reads mo files).
27041 * include/grub/file.h (grub_file_pread): New prototype.
27042 * include/grub/i18n.h (_): New prototype.
27043 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27044 prototypes.
27045 * kern/misc.c (grub_gettext_dummy): New function.
27046 * normal/menu_text.c: Include <grub/i18n.h>.
27047 * normal/menu_text.c (print_timeout): Gettexttize string.
27048 * normal/menu_text.c (print_message): Gettexttize string.
27049 * po/POTFILES: Add `normal/menu_text.c'.
27050 * po/ca.po: Add new translations.
27051 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27052 gettext module and defines locale_dir and lang in grub.cfg.
27053 * NEWS: Add gettext support.
27054
27055 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27056
27057 * util/hostdisk.c: Include `<grub/i18n.h>'.
27058 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27059 (make_device_name): Rewrite using asprintf.
27060 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27061 (find_system_device): If a device is not found, generate one just
27062 by reusing the OS path name.
27063 (read_device_map): Make it permissible for device.map not to exist.
27064
27065 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27066
27067 * script/sh/execute.c: Move from here ...
27068 * script/execute.c: ... to here. Update all users.
27069 * script/sh/function.c: Move from here ...
27070 * script/function.c: ... to here. Update all users.
27071 * script/sh/lexer.c: Move from here ...
27072 * script/lexer.c: ... to here. Update all users.
27073 * script/sh/main.c: Move from here ...
27074 * script/main.c: ... to here. Update all users.
27075 * script/sh/parser.y: Move from here ...
27076 * script/parser.y: ... to here. Update all users.
27077 * script/sh/script.c: Move from here ...
27078 * script/script.c: ... to here. Update all users.
27079
27080 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27081
27082 * configure.ac: Detect all `emu' platforms. Define
27083 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27084 --enable-grub-emu logic. Disable include/grub/machine
27085 symlink on `emu' platforms.
27086
27087 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27088 * gensymlist.sh.in: Likewise.
27089
27090 * include/grub/i386/coreboot/machine.h: Remove file.
27091 * include/grub/i386/efi/machine.h: Likewise.
27092 * include/grub/i386/ieee1275/machine.h: Likewise.
27093 * include/grub/i386/pc/machine.h: Likewise.
27094 * include/grub/i386/qemu/machine.h: Likewise.
27095 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27096 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27097 * include/grub/x86_64/efi/machine.h: Likewise.
27098
27099 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27100 * commands/halt.c: Likewise.
27101 * commands/reboot.c: Likewise.
27102 * include/grub/autoefi.h: Likewise.
27103 * include/grub/i386/at_keyboard.h: Likewise.
27104 * include/grub/i386/kernel.h: Likewise.
27105 * include/grub/i386/loader.h: Likewise.
27106 * include/grub/i386/pc/memory.h: Likewise.
27107 * kern/dl.c: Likewise.
27108 * kern/i386/coreboot/init.c: Likewise.
27109 * loader/i386/bsd.c: Likewise.
27110 * loader/i386/linux.c: Likewise.
27111 * loader/multiboot_loader.c: Likewise.
27112 * term/i386/pc/serial.c: Likewise.
27113 * term/usb_keyboard.c: Likewise.
27114
27115 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27116 `<grub/machine/machine.h>'
27117 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27118 * util/misc.c: Remove `<grub/machine/machine.h>' and
27119 `<grub/machine/time.h>'.
27120
27121 * Makefile.in (enable_grub_emu): Remove variable.
27122 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27123
27124 * conf/any-emu.rmk: New file.
27125 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27126 (grub_emu_init.c): Move from here ...
27127 * conf/any-emu.rmk: ... to here.
27128
27129 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27130 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27131 * conf/any-emu.rmk: ... to here.
27132
27133 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27134
27135 * include/grub/parser.h (grub_parser_register): Document need
27136 of `name' parameter.
27137 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27138 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27139 "sh" to "grub".
27140
27141 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27142
27143 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27144 `$(XGETTEXT)'.
27145 * include/grub/i18n.h (N_): New macro.
27146 * util/mkisofs/mkisofs.h: Likewise.
27147 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27148 around N_().
27149 (usage): Use gettext() to translate help strings when printing them.
27150
27151 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27152
27153 Based on patch from Bean
27154 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27155
27156 * video/efi_fb.c: New file.
27157 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27158 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27159 variables.
27160 * conf/x86_64-efi.rmk: Likewise.
27161
27162 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27165 * util/i386/pc/grub-setup.c: Likewise.
27166
27167 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27168
27169 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27170 <hurd/fs.h>
27171 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27172 file_get_storage_info to implement grub_guess_root_device.
27173
27174 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27175
27176 * Makefile.in (target): Use make's builtin $(shell) function
27177 instead of calling directly $(SHELL) to create the locale directories,
27178 inside the $(foreach) function.
27179
27180 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27181
27182 * util/grub-mkrescue.in: Print an error and usage if output option
27183 has not been given.
27184
27185 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
27186
27187 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27188 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27189 root and /boot are on different devices.
27190
27191 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27192
27193 Fix build for srcdir != objdir.
27194
27195 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27196 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27197 $(srcdir).
27198 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27199 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27200 reference for input.
27201
27202 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27203
27204 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27205 or hardlinking it). Remove -J option, Joliet is not compatible with
27206 multiple source directories.
27207
27208 2009-11-21 Carles Pina i Estany <carles@pina.cat>
27209 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27210
27211 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27212 (process_input_dir): New function. Process an arbitrary input
27213 directory.
27214 Misc adjustments to support both "override mode" and system-wide mode.
27215
27216 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27217
27218 * configure.ac (UNIFONT_BDF): Rename to ...
27219 (FONT_SOURCE): ... this. Update all users.
27220
27221 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
27222
27223 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27224 to the list of unifont files to look for.
27225
27226 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 Patch from Joe Auricchio <jauricchio@gmail.com>
27229 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27230 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27231 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27232
27233 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27234
27235 * Makefile.in (install-local): Add a missing backslash.
27236
27237 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
27238
27239 * include/grub/x86_64/io.h: New file.
27240
27241 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27244 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27245 Include `"progname.h"'.
27246 (main): Initialize gettext.
27247 * util/i386/pc/grub-setup.c: Gettexttize.
27248 * util/i386/pc/grub-mkimage.c: Likewise.
27249
27250 * Makefile.in (po/*.po): Redefine as ...
27251 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27252
27253 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27254
27255 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27256
27257 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27258 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27259 (program_name): Remove.
27260 (main): Initialize gettext support.
27261 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27262 Include `<libintl.h>'.
27263 (_): New macro.
27264
27265 * util/mkisofs/eltorito.c: Gettexttize.
27266 * util/mkisofs/joliet.c: Likewise.
27267 * util/mkisofs/mkisofs.c: Likewise.
27268 * util/mkisofs/multi.c: Likewise.
27269 * util/mkisofs/rock.c: Likewise.
27270 * util/mkisofs/tree.c: Likewise.
27271 * util/mkisofs/write.c: Likewise.
27272
27273 * po/POTFILES: Update with new files.
27274
27275 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27276
27277 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27278 * util/mkisofs/iso9660.h: Likewise.
27279 * util/mkisofs/joliet.c: Likewise.
27280 * util/mkisofs/mkisofs.c: Likewise.
27281 * util/mkisofs/mkisofs.h: Likewise.
27282 * util/mkisofs/rock.c: Likewise.
27283 * util/mkisofs/tree.c: Likewise.
27284 * util/mkisofs/write.c: Likewise.
27285
27286 * util/mkisofs/eltorito.c (rcsid): Remove.
27287 * util/mkisofs/hash.c: Likewise.
27288 * util/mkisofs/joliet.c: Likewise.
27289 * util/mkisofs/name.c: Likewise.
27290 * util/mkisofs/rock.c: Likewise.
27291 * util/mkisofs/tree.c: Likewise.
27292 * util/mkisofs/write.c: Likewise.
27293
27294 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27295
27296 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27297 instead of static allocation.
27298 * util/mkisofs/match.h: Likewise.
27299
27300 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27301
27302 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27303 and `util/grub.d/10_linux.in'.
27304 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27305 translatable Shell files.
27306
27307 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27308
27309 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27310
27311 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 * INSTALL: Document Automake is needed for bootstrap.
27314 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
27315 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27316 Add gettext initialization.
27317 (kfreebsd_entry): Make menuentry output translatable.
27318
27319 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27320
27321 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27322 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27323 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27324 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27325 (LINGUAS): Auto-generate using `po/LINGUAS'.
27326 * po/LINGUAS: New file.
27327
27328 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27331 other things).
27332 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27333 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27334 bindtextdomain() calls for gettext initialization.
27335
27336 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27337
27338 * gnulib/progname.c: New file (imported from Gnulib).
27339 * gnulib/progname.h: Likewise.
27340 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27341 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27342 (usage): Replace `progname' with `program_name'.
27343 (main): Use set_program_name() for program name initialization.
27344
27345 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27346
27347 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27348 from here ...
27349 * Makefile.in (CPPFLAGS): ... to here.
27350
27351 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27352
27353 * aclocal.m4: Move from here ...
27354 * acinclude.m4: ... to here.
27355 * autogen.sh: Add call to `aclocal'.
27356 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27357
27358 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27359
27360 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27361 (LINGUAS): New variable.
27362 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27363 (install-local): Install MO files.
27364 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27365 * include/grub/i18n.h: New file.
27366 * po/POTFILES: New file.
27367 * po/ca.po: New file.
27368 * util/grub.d/10_linux.in (bindir): New variable.
27369 Add gettext initialization.
27370 (linux_entry): Make menuentry output translatable.
27371 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27372 (usage): Make --help output translatable.
27373 (main): Initialize gettext.
27374
27375 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27376
27377 * import_gcry.py: New file (written by Vladimir with minor
27378 adjustments).
27379 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27380 ciphers.
27381 * INSTALL: Document that Python is required for bootstrap.
27382
27383 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27384
27385 Import ciphers from libgcrypt 1.4.4.
27386
27387 * lib/libgcrypt/cipher/ChangeLog
27388 * lib/libgcrypt/cipher/ac.c
27389 * lib/libgcrypt/cipher/arcfour.c
27390 * lib/libgcrypt/cipher/bithelp.h
27391 * lib/libgcrypt/cipher/blowfish.c
27392 * lib/libgcrypt/cipher/camellia-glue.c
27393 * lib/libgcrypt/cipher/camellia.c
27394 * lib/libgcrypt/cipher/camellia.h
27395 * lib/libgcrypt/cipher/cast5.c
27396 * lib/libgcrypt/cipher/cipher.c
27397 * lib/libgcrypt/cipher/crc.c
27398 * lib/libgcrypt/cipher/des.c
27399 * lib/libgcrypt/cipher/dsa.c
27400 * lib/libgcrypt/cipher/ecc.c
27401 * lib/libgcrypt/cipher/elgamal.c
27402 * lib/libgcrypt/cipher/hash-common.c
27403 * lib/libgcrypt/cipher/hash-common.h
27404 * lib/libgcrypt/cipher/hmac-tests.c
27405 * lib/libgcrypt/cipher/md.c
27406 * lib/libgcrypt/cipher/md4.c
27407 * lib/libgcrypt/cipher/md5.c
27408 * lib/libgcrypt/cipher/primegen.c
27409 * lib/libgcrypt/cipher/pubkey.c
27410 * lib/libgcrypt/cipher/rfc2268.c
27411 * lib/libgcrypt/cipher/rijndael-tables.h
27412 * lib/libgcrypt/cipher/rijndael.c
27413 * lib/libgcrypt/cipher/rmd.h
27414 * lib/libgcrypt/cipher/rmd160.c
27415 * lib/libgcrypt/cipher/rsa.c
27416 * lib/libgcrypt/cipher/seed.c
27417 * lib/libgcrypt/cipher/serpent.c
27418 * lib/libgcrypt/cipher/sha1.c
27419 * lib/libgcrypt/cipher/sha256.c
27420 * lib/libgcrypt/cipher/sha512.c
27421 * lib/libgcrypt/cipher/tiger.c
27422 * lib/libgcrypt/cipher/twofish.c
27423 * lib/libgcrypt/cipher/whirlpool.c
27424
27425 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27426
27427 Fix build for systems without error().
27428
27429 * gnulib/error.c: New file (imported from Gnulib).
27430 * gnulib/error.h: Likewise.
27431 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
27432 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
27433 (this variable is now used by error()).
27434
27435 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
27438 instead of relying that char is signed.
27439
27440 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
27443 blocksize different from specified.
27444 (grub_pxefs_read): Likewise.
27445
27446 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
27447
27448 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
27449
27450 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
27451 (grub_ata_readwrite): Likewise. Update 2 format strings.
27452 (grub_atapi_read): Likewise.
27453
27454 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
27455 * conf/i386.rmk (pkglib_MODULES): ... to here ...
27456 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
27457 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
27458 (ata_mod_LDFLAGS): Move from here ...
27459 * conf/i386.rmk: ... to here ...
27460 * conf/x86_64-efi.rmk: ... and here.
27461 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
27462 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
27463
27464 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27465
27466 Relicense multiboot.h, with RMS' blessing.
27467
27468 * include/multiboot.h: Change to X11 license.
27469
27470 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
27471
27472 Support --version in grub-mkisofs.
27473
27474 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
27475 (OPTION_VERSION): New macro.
27476 (ld_options): Recognize --version.
27477 (usage): Move `program_name' from here ...
27478 (program_name): ... to here. Add `static' qualifier.
27479 (main): Recognize `OPTION_VERSION'.
27480
27481 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
27482
27483 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
27484 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
27485
27486 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27487
27488 Fix help2man generation for mkisofs.
27489
27490 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
27491 (usage): Send output to stdout (rather than stderr).
27492
27493 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
27494
27495 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
27496 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27497 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
27498 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
27499 (bin_SCRIPTS): Add `grub-mkfloppy'.
27500 (grub_mkfloppy_SOURCES): New variable.
27501
27502 * util/grub-mkrescue.in: New file.
27503 * util/i386/pc/grub-mkfloppy.in: New file.
27504
27505 * util/i386/coreboot/grub-mkrescue.in: Remove.
27506 * util/i386/pc/grub-mkrescue.in: Remove.
27507
27508 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27509
27510 * include/grub/multiboot.h (struct grub_multiboot_header): Move
27511 from here ...
27512 * include/multiboot.h (struct multiboot_header): ... to here. Update
27513 all users.
27514 * include/grub/multiboot.h (struct grub_multiboot_info): Move
27515 from here ...
27516 * include/multiboot.h (struct multiboot_info): ... to here. Update
27517 all users.
27518 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
27519 from here ...
27520 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
27521 Update all users.
27522 * include/grub/multiboot.h (struct grub_mod_list): Move
27523 from here ...
27524 * include/multiboot.h (struct multiboot_mod_list): ... to here.
27525 Update all users.
27526
27527 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27528
27529 * include/multiboot2.h (multiboot_word): Rename from this ...
27530 (multiboot2_word): ... to this. Update all users.
27531 (multiboot_header): Rename from this ...
27532 (multiboot2_header): ... to this. Update all users.
27533 (multiboot_tag_header): Rename from this ...
27534 (multiboot2_tag_header): ... to this. Update all users.
27535 (multiboot_tag_start): Rename from this ...
27536 (multiboot2_tag_start): ... to this. Update all users.
27537 (multiboot_tag_name): Rename from this ...
27538 (multiboot2_tag_name): ... to this. Update all users.
27539 (multiboot_tag_module): Rename from this ...
27540 (multiboot2_tag_module): ... to this. Update all users.
27541 (multiboot_tag_memory): Rename from this ...
27542 (multiboot2_tag_memory): ... to this. Update all users.
27543 (multiboot_tag_unused): Rename from this ...
27544 (multiboot2_tag_unused): ... to this. Update all users.
27545 (multiboot_tag_end): Rename from this ...
27546 (multiboot2_tag_end): ... to this. Update all users.
27547
27548 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
27549
27550 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
27551 this platform we should support Multiboot1 first.
27552
27553 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27554 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
27555 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
27556
27557 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
27560 of write calls (converting them to fwrite() if they aren't already).
27561 (get_torito_desc): Likewise.
27562 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
27563
27564 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
27565
27566 * util/i386/pc/grub-install.in: Move from here ...
27567 * util/grub-install.in: ... to here. Update all users.
27568
27569 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
27570
27571 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
27572
27573 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27574
27575 Support for El Torito without floppy emulation.
27576
27577 * util/mkisofs/eltorito.c: Include `<errno.h>'.
27578 (init_boot_catalog): Improve error handling.
27579 (get_torito_desc): Don't use floppy emulation unless requested by
27580 user. Patch boot information table when requested via
27581 `-boot-info-table'.
27582 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
27583 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
27584 (use_boot_info_table): New variables.
27585 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
27586 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
27587 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
27588 `--eltorito-emul-floppy'.
27589 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
27590 and `OPTION_ELTORITO_EMUL_FLOPPY'.
27591 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
27592 (use_boot_info_table, get_731): New prototypes.
27593 * util/mkisofs/write.c (get_731): New function.
27594
27595 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
27596
27597 Fix the generation of the man page.
27598
27599 * util/pc/i386/grub-install.in: Source
27600 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27601
27602 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
27603
27604 Large file support for grub-mkisofs.
27605
27606 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
27607 * util/mkisofs/mkisofs.c (next_extent, last_extent)
27608 (session_start): Upgrade type to `uint64_t'. Update all users.
27609 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
27610 (struct directory_entry): Upgrade type of `starting_block' and
27611 `size' to `uint64_t'. Update all users.
27612 (struct deferred): Remove unused structure.
27613 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
27614 Update all users.
27615 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
27616 file is larger than `UINT32_MAX'.
27617 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
27618 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
27619 return value.
27620 (struct deferred_write): Upgrade type of `extent' and `size' to
27621 `uint64_t'. Update all users.
27622 (last_extent_written): Upgrade type to `uint64_t'. Update all
27623 users.
27624 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
27625 Update all users. Upgrade type of `remain' to `int64_t' and
27626 `use' to `size_t'. Use error() to handle fread() errors.
27627 (write_files): Rely on write_one_file() rather than calling
27628 xfwrite() directly.
27629
27630 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
27631
27632 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
27633
27634 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27635
27636 * util/mkisofs/fnmatch.c: Remove.
27637 * util/mkisofs/getopt1.c: Likewise.
27638 * util/mkisofs/getopt.c: Likewise.
27639 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
27640 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
27641 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
27642 `gnulib/getopt1.c' and `gnulib/getopt.c'.
27643 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
27644
27645 * configure.ac: Detect `mingw32msvc' host_os.
27646 Check for lstat(), getuid() and getgid().
27647
27648 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
27649 instances of `u_char' with `uint8_t'.
27650
27651 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
27652 [!HAVE_GETUID] (getuid): New function (stub).
27653 [!HAVE_GETGID] (getgid): Likewise.
27654 [!HAVE_LSTAT] (lstat): Likewise.
27655 [!S_IROTH] (S_IROTH): New macro (dummy).
27656 [!S_IRGRP] (S_IRGRP): Likewise.
27657
27658 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27659
27660 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
27661 conditional expression).
27662
27663 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27664
27665 Import from Gnulib.
27666
27667 * gnulib/fnmatch.c: New file.
27668 * gnulib/fnmatch.h: Likewise.
27669 * gnulib/fnmatch_loop.c: Likewise.
27670 * gnulib/getopt.c: Likewise.
27671 * gnulib/getopt.h: Likewise.
27672 * gnulib/getopt1.c: Likewise.
27673 * gnulib/getopt_int.h: Likewise.
27674 * gnulib/gettext.h: Likewise.
27675
27676 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27677
27678 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
27679 * normal/handler.c (read_handler_list): Likewise.
27680
27681 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27682
27683 Misc cleanup.
27684
27685 * kern/command.c (grub_register_command_prio): Use
27686 grub_zalloc() instead of explicitly zeroing data.
27687 * kern/list.c: Include `<grub/mm.h>'.
27688 (grub_named_list_find): Replace `0' with `NULL'.
27689 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
27690 (fs_module_list): Change type to `grub_named_list_t'. Update all
27691 users.
27692 * normal/dyncmd.c (read_command_list): Add space between function
27693 call and parenthesis.
27694 * normal/handler.c (read_handler_list): Likewise.
27695
27696 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27697
27698 * normal/auth.c (punishment_delay): Moved from here ...
27699 (grub_auth_strcmp): ... to here (inside function).
27700
27701 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27702
27703 * include/grub/list.h (struct grub_named_list): Remove `const'
27704 qualifier from `name'.
27705 (struct grub_prio_list): Likewise.
27706
27707 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * normal/auth.c: Include `<grub/time.h>'.
27710 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
27711
27712 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27713
27714 * normal/auth.c (punishment_delay): New variable.
27715 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
27716 (grub_auth_check_authentication): Punish failed login attempts with
27717 an incremental (2^N) delay.
27718
27719 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27720
27721 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
27722 path with $(srcdir).
27723
27724 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27725
27726 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
27727
27728 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
27729
27730 * util/i386/coreboot/grub-mkrescue.in: New file.
27731 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
27732 variables.
27733
27734 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
27735 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
27736 * configure.ac: Add header and function checks to satisfy grub-mkisofs
27737 requirements.
27738 * util/mkisofs/defaults.h: New file.
27739 * util/mkisofs/eltorito.c: Likewise.
27740 * util/mkisofs/exclude.h: Likewise.
27741 * util/mkisofs/fnmatch.c: Likewise.
27742 * util/mkisofs/getopt.c: Likewise.
27743 * util/mkisofs/getopt1.c: Likewise.
27744 * util/mkisofs/hash.c: Likewise.
27745 * util/mkisofs/include/fctldefs.h: Likewise.
27746 * util/mkisofs/include/mconfig.h: Likewise.
27747 * util/mkisofs/include/prototyp.h: Likewise.
27748 * util/mkisofs/include/statdefs.h: Likewise.
27749 * util/mkisofs/iso9660.h: Likewise.
27750 * util/mkisofs/joliet.c: Likewise.
27751 * util/mkisofs/match.c: Likewise.
27752 * util/mkisofs/match.h: Likewise.
27753 * util/mkisofs/mkisofs.c: Likewise.
27754 * util/mkisofs/mkisofs.h: Likewise.
27755 * util/mkisofs/multi.c: Likewise.
27756 * util/mkisofs/name.c: Likewise.
27757 * util/mkisofs/rock.c: Likewise.
27758 * util/mkisofs/tree.c: Likewise.
27759 * util/mkisofs/write.c: Likewise.
27760
27761 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
27762
27763 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
27764 being insecure.
27765
27766 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27767
27768 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
27769 `grub-mkimage' (and use $0 when possible).
27770
27771 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27772
27773 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
27774 error message for excessively large memory map.
27775
27776 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27777
27778 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
27779 executable bit.
27780
27781 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
27782
27783 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
27784 message for coreboot users.
27785
27786 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
27787
27788 Fix build with GNU gold.
27789
27790 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
27791 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
27792 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
27793 link addresses.
27794 * aclocal.m4: Likewise.
27795
27796 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
27797
27798 * configure.ac (AC_PREREQ): Bump to 2.59d.
27799 * INSTALL: Make it more clear when Autoconf and Ruby are
27800 needed and when to run `./autogen.sh'.
27801
27802 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
27803
27804 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
27805 OSes.
27806
27807 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27808
27809 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
27810
27811 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27812
27813 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
27814 giving it to GNU Mach.
27815
27816 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27817
27818 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
27819 GNU partition number to get internal GRUB partition number.
27820
27821 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
27822
27823 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
27824 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
27825
27826 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
27827
27828 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
27829 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
27830 case.
27831
27832 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
27833
27834 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
27835
27836 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27837
27838 Fix build problem.
27839
27840 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
27841 `-isystem=$(srcdir)/include'.
27842
27843 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
27844
27845 * util/i386/pc/grub-install.in: Remove hint that device.map should be
27846 checked (grub-install doesn't currently rely on it).
27847
27848 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
27849
27850 Revert SVN r2660.
27851
27852 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
27853 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27854 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
27855 * conf/i386-ieee1275.rmk: Likewise.
27856 * conf/i386-pc.rmk: Likewise.
27857 * conf/powerpc-ieee1275.rmk: Likewise.
27858 * conf/sparc64-ieee1275.rmk: Likewise.
27859 * conf/x86_64-efi.rmk: Likewise.
27860
27861 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27862
27863 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
27864
27865 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27866
27867 * include/grub/misc.h: Stop checking for APPLE_CC.
27868
27869 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
27870
27871 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
27872 doesn't cause an infinite call loop.
27873
27874 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
27875
27876 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
27877 strings.
27878
27879 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
27882 variable.
27883 * Makefile.in: Likewise.
27884
27885 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27886
27887 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
27888
27889 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27890
27891 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
27892
27893 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27894
27895 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
27896
27897 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27898
27899 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
27900 from here ...
27901 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
27902
27903 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27904
27905 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
27906 in $(MAKEINFO) invocation. This makes it clear in output that
27907 errors are being ignored.
27908
27909 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27910
27911 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
27912 from here ...
27913 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
27914 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
27915 * conf/i386-ieee1275.rmk: Likewise.
27916 * conf/i386-pc.rmk: Likewise.
27917 * conf/powerpc-ieee1275.rmk: Likewise.
27918 * conf/sparc64-ieee1275.rmk: Likewise.
27919 * conf/x86_64-efi.rmk: Likewise.
27920
27921 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27922
27923 * util/grub-editenv.c (main): If only a command is given, use
27924 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
27925 (usage): FILENAME is now optional and has a default.
27926
27927 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
27928
27929 Improve grub-mkconfig performance when there are several menu
27930 entries on a single filesystem.
27931
27932 * util/grub.d/10_linux.in (linux_entry): Cache the output of
27933 prepare_grub_to_access_device.
27934 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27935 * util/grub.d/30_os-prober.in: Likewise.
27936
27937 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27938
27939 * util/grub.d/10_freebsd.in: Remove.
27940 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
27941 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
27942
27943 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * docs/grub.cfg: Fix example usage of *BSD loaders.
27946
27947 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27948
27949 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
27950 grub_util_error() call.
27951
27952 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27953
27954 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
27955 `reserved_first_sector' member.
27956 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
27957 `reserved_first_sector' to 1.
27958 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
27959 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
27960 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
27961 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
27962 filesystems which begin at first sector.
27963 (options): New option --skip-fs-probe.
27964 (main): Handle --skip-fs-probe and pass it to setup().
27965
27966 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27967
27968 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
27969 (memset): Fix function prototype.
27970
27971 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27972 2009-10-25 Vasily Averin <vvs@parallels.com>
27973
27974 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
27975 `dirent.direntlen == 0'.
27976
27977 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27978
27979 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
27980 `cpio'.
27981 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
27982
27983 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27984
27985 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
27986 `__trampoline_setup' and `__ucmpdi2'.
27987 * include/grub/powerpc/libgcc.h: Only export symbols for functions
27988 that libgcc provides.
27989
27990 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27991
27992 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
27993 * include/grub/sparc64/libgcc.h (memset): Likewise.
27994 * include/grub/misc.h (memset, memcmp): New function prototypes.
27995
27996 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
27997
27998 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
27999 `cpio'.
28000 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28001
28002 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28003
28004 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28005 * docs/grub.cfg: Compensate for recent change in multiboot
28006 loader (since 2009-08-14 it won't pass filename to payload).
28007 * util/grub.d/10_hurd.in: Likewise.
28008
28009 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
28010
28011 * config.guess: Update to latest version from config git
28012 repository.
28013 * config.sub: Likewise.
28014
28015 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28016
28017 Fix build on sparc64.
28018
28019 * configure.ac: Perform checks for libgcc symbols before
28020 adding `-nostdlib' to LDFLAGS.
28021
28022 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28023
28024 Let user specify OpenBSD root device.
28025
28026 * loader/i386/bsd.c (openbsd_root): New variable.
28027 (openbsd_opts): New option 'root'.
28028 (OPENBSD_ROOT_ARG): New macro.
28029 (grub_openbsd_boot): Use 'openbsd_root'.
28030 (grub_cmd_openbsd): Fill 'openbsd_root'.
28031
28032 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28033
28034 * NEWS: Misc adjustments.
28035
28036 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28037
28038 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28039
28040 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28041
28042 * configure.ac: Bump version to 1.97.
28043
28044 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
28045
28046 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28047 -mno-3dnow on x86 architectures. Some toolchains enable these
28048 features by default, but they rely on registers that aren't enabled
28049 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28050
28051 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28052
28053 Make entry text a bit more readable.
28054
28055 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28056
28057 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28058
28059 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28060
28061 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28064 operations.
28065
28066 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 * configure.ac: Add missing dollar.
28069
28070 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28073
28074 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28075 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28076 exports.
28077 * include/grub/sparc64/libgcc.h: Likewise. Use
28078 preprocessor conditionals.
28079
28080 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28081
28082 * conf/common.rmk (grub-dumpbios): Remove rule.
28083 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28084 * util/grub-dumpbios.in: Remove file.
28085
28086 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28087
28088 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28089 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28090
28091 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28092 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28093 users.
28094
28095 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28096 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28097 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28098 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28099 users.
28100
28101 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 * term/tparm.c: Switch to GPLv3.
28104
28105 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28106
28107 * include/grub/i386/cpuid.h: Add header protection.
28108
28109 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28112
28113 * include/grub/i386/cpuid.h: New file.
28114 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28115 (has_longmode): Rename to ...
28116 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28117 `static' attribute.
28118 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28119 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28120 on a CPU that doesn't implement AMD64 instruction set.
28121
28122 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28123
28124 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28125 that version.texi is rebuilt on version number changes.
28126
28127 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28128
28129 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28130 Fixes bug #27602.
28131
28132 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
28133
28134 * util/i386/pc/grub-install.in: Source
28135 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28136 that the --grub-probe option will work.
28137 * util/sparc64/ieee1275/grub-install.in: Likewise.
28138
28139 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28140
28141 * configure.ac: Bump version to 1.97~beta4.
28142
28143 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28144
28145 Resync grub-mkdevicemap in x86_64-efi.
28146
28147 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28148 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28149 `util/devicemap.c'.
28150
28151 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
28152
28153 * util/grub-editenv.c (create_envblk_file): Write new block with a
28154 .new suffix and then rename it into place, to ensure atomic
28155 creation.
28156
28157 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28158
28159 Do not automatically install headers.
28160
28161 * Makefile.in (include_DATA): Remove. Update all users.
28162
28163 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28164
28165 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28166 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28167
28168 * util/osdetect.lua: Remove.
28169 * script/lua/lauxlib.c: Likewise.
28170 * script/lua/ldebug.c: Likewise.
28171 * script/lua/grub_main.c: Likewise.
28172 * script/lua/lauxlib.h: Likewise.
28173 * script/lua/ldebug.h: Likewise.
28174 * script/lua/ltablib.c: Likewise.
28175 * script/lua/liolib.c: Likewise.
28176 * script/lua/lstrlib.c: Likewise.
28177 * script/lua/lualib.h: Likewise.
28178 * script/lua/ldo.c: Likewise.
28179 * script/lua/ldump.c: Likewise.
28180 * script/lua/ldo.h: Likewise.
28181 * script/lua/loslib.c: Likewise.
28182 * script/lua/lundump.c: Likewise.
28183 * script/lua/grub_lib.c: Likewise.
28184 * script/lua/ldblib.c: Likewise.
28185 * script/lua/lundump.h: Likewise.
28186 * script/lua/lmem.c: Likewise.
28187 * script/lua/grub_lib.h: Likewise.
28188 * script/lua/lmathlib.c: Likewise.
28189 * script/lua/lstate.c: Likewise.
28190 * script/lua/ltm.c: Likewise.
28191 * script/lua/lvm.c: Likewise.
28192 * script/lua/lmem.h: Likewise.
28193 * script/lua/lstate.h: Likewise.
28194 * script/lua/ltm.h: Likewise.
28195 * script/lua/ltable.c: Likewise.
28196 * script/lua/lvm.h: Likewise.
28197 * script/lua/llex.c: Likewise.
28198 * script/lua/lgc.c: Likewise.
28199 * script/lua/grub_lua.h: Likewise.
28200 * script/lua/loadlib.c: Likewise.
28201 * script/lua/lfunc.c: Likewise.
28202 * script/lua/lopcodes.c: Likewise.
28203 * script/lua/lparser.c: Likewise.
28204 * script/lua/ltable.h: Likewise.
28205 * script/lua/llex.h: Likewise.
28206 * script/lua/lgc.h: Likewise.
28207 * script/lua/lfunc.h: Likewise.
28208 * script/lua/lbaselib.c: Likewise.
28209 * script/lua/lopcodes.h: Likewise.
28210 * script/lua/lparser.h: Likewise.
28211 * script/lua/lzio.c: Likewise.
28212 * script/lua/linit.c: Likewise.
28213 * script/lua/lobject.c: Likewise.
28214 * script/lua/llimits.h: Likewise.
28215 * script/lua/lstring.c: Likewise.
28216 * script/lua/lzio.h: Likewise.
28217 * script/lua/lapi.c: Likewise.
28218 * script/lua/lcode.c: Likewise.
28219 * script/lua/lua.h: Likewise.
28220 * script/lua/lobject.h: Likewise.
28221 * script/lua/lstring.h: Likewise.
28222 * script/lua/lapi.h: Likewise.
28223 * script/lua/lcode.h: Likewise.
28224 * script/lua/luaconf.h: Likewise.
28225
28226 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
28227
28228 * docs/grub.texi (Command-line and menu entry commands): Document
28229 date and echo commands.
28230
28231 2009-09-24 Pavel Roskin <proski@gnu.org>
28232
28233 * include/grub/kernel.h (struct grub_module_header): Remove
28234 `grub_module_header_types'. Make `type' unsigned. Make `size'
28235 32-bit on all platforms.
28236 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28237 8-bit field. Use grub_host_to_target32() for `size'.
28238 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28239 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28240 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28241
28242 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28243
28244 Fix "lost keypress" bug in at_keyboard.
28245
28246 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28247 Checks for readyness of input buffer (without flushing it).
28248 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28249 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28250
28251 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28252
28253 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28254 size check within GRUB_MACHINE_PCBIOS section.
28255
28256 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28257
28258 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28259 return value.
28260 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28261 KEYBOARD_ISREADY check.
28262 (grub_at_keyboard_checkkey): Rename to ...
28263 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28264 Remove gratuitous cast.
28265
28266 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
28267
28268 * configure.ac: Call AC_PROG_MKDIR_P.
28269 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28270 version.texi in $(builddir) rather than $(srcdir).
28271 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28272 to makeinfo's @include search path.
28273
28274 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28275
28276 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28277
28278 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
28279
28280 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28281 for `*.dpkg-new'.
28282
28283 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
28284
28285 Build info documentation. Some code borrowed from Automake.
28286
28287 * configure.ac: Check for makeinfo.
28288 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28289 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28290 docs/version.texi.
28291 (MOSTLYCLEANFILES): Add vti.tmp.
28292 (docs/version.texi, docs/stamp-vti): Update automatically.
28293 (docs/grub.info): Build info documentation. Use --force and ignore
28294 errors for now.
28295 (all-local): Add $(INFOS).
28296 (install-local): Install info files.
28297 (uninstall): Uninstall info files.
28298 * docs/version.texi: Remove from revision control. This file is
28299 automatically generated on build now.
28300 * gendistlist.sh: Add `*.info'.
28301
28302 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28303
28304 * kern/term.c: Fix indentation.
28305
28306 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
28307
28308 * util/hostdisk.c: Fix a comment.
28309
28310 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28311
28312 Fix regression introduced in r2539.
28313
28314 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28315 to 0xA1.
28316
28317 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
28318
28319 * util/grub.d/30_os-prober.in: Don't throw away stderr from
28320 os-prober. Under normal operation, it does not print anything to
28321 stderr; if it does, we need to debug it, and throwing away stderr
28322 makes that excessively difficult.
28323
28324 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28325
28326 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28327
28328 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28329
28330 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28331 AC_LANG_PROGRAM from autoconf.
28332 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28333 prototypes (fixes warning).
28334
28335 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28336 `--disable-werror' was used.
28337
28338 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28339
28340 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28341 uninitialized `lastaddr'.
28342
28343 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
28346
28347 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28348
28349 * commands/test.c (get_fileinfo): Return immediately if
28350 grub_fs_probe fails.
28351
28352 2009-09-14 José Martínez <xosemp@gmail.com>
28353
28354 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28355
28356 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
28357
28358 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28359 output.
28360
28361 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28362
28363 * configure.ac: Remove --enable-grub-pe2elf. Only build
28364 grub-pe2elf when needed by the build system itself.
28365 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28366
28367 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28368
28369 * configure.ac: Bump version to 1.97~beta3.
28370 * docs/version.texi: Likewise.
28371
28372 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28373
28374 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28375 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28376 from here ...
28377 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28378 (grub_linux_setup_video): ... to here (with some adjustments).
28379
28380 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28381
28382 Fix memory corruption issue (spotted by Colin Watson).
28383
28384 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28385 causing returned size to be stored in an incorrect memory location.
28386 Fix use of uninitialized value when storing the returned size.
28387
28388 2009-09-12 Yves Blusseau <blusseau@zetam.org>
28389
28390 Change clean rules to properly remove files
28391
28392 * genmk.rb: add new clean rules
28393 * Makefile.in (clean): add the new targets
28394 (mostlyclean): likewise
28395
28396 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28397
28398 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
28399 to grub_uint64_t.
28400 * fs/ntfs.c (init_file): Understand 64-bit sizes for
28401 non-resident files.
28402
28403 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
28404
28405 * configure.ac: Don't look for help2man when cross-compiling. Fixes
28406 part of bug #27349.
28407
28408 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28409
28410 * util/grub-mkconfig.in: Make the created config mode 400 and
28411 print a warning if it fails.
28412
28413 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
28414
28415 * util/grub.d/40_custom.in: Ask user to type custom entries below
28416 comment, rather than below 'exec tail' line.
28417
28418 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28419
28420 * util/grub.d/40_custom.in: Make sure that the explanatory text is
28421 visible in grub.cfg.
28422
28423 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
28424
28425 * util/grub.d/40_custom.in: Make it a little clearer how to use this
28426 file.
28427
28428 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
28429
28430 * docs/grub.cfg: Add an example menu entry for memtest86+.
28431
28432 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
28433
28434 * config.guess: Update to latest version from config git.
28435 * config.sub: Likewise.
28436
28437 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
28438
28439 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
28440 unknown-command case. Fixes bug #27320.
28441
28442 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
28443
28444 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
28445 `help' if the command exists.
28446
28447 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * INSTALL: Require GCC 4.1.3 or later.
28450
28451 2009-09-06 Yves Blusseau <blusseau@zetam.org>
28452
28453 * Makefile.in (RMKFILES): add i386-qemu.rmk
28454 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
28455 $(srcdir)/stamp-h.in
28456
28457 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
28458
28459 * util/grub-probe.c (probe): Comment out buggy codepath, which
28460 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
28461 should be re-enabled after 1.97.
28462
28463 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
28464
28465 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
28466 find searches for.
28467
28468 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
28469
28470 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
28471 unnecessary calls to grub_error.
28472
28473 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
28474
28475 * NEWS: Mention `keystatus' and Unicode fonts.
28476
28477 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
28478
28479 * configure.ac: Bump version to 1.97~beta2.
28480 * docs/version.texi: Likewise.
28481
28482 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28483
28484 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
28485 containing unwind information in some cases where it previously did
28486 not. Use -fno-dwarf2-cfi-asm if available to restore the old
28487 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
28488 discussion.
28489
28490 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
28491
28492 Embedding loadenv module into grub-emu
28493
28494 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
28495 commands/loadenv.c
28496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
28497 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
28498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
28499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
28500 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
28501 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
28502
28503 2009-09-03 Magnus Granberg <zorry@ume.nu>
28504
28505 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
28506 include -fPIE in the default specs.
28507 * configure.ac: Check if pie_possible is yes and add -fno-PIE
28508 to TARGET_CFLAGS.
28509
28510 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
28511
28512 * INSTALL: Note that GNU Bison 2.3 or later is required.
28513
28514 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
28515
28516 * kern/i386/pc/startup.S: Fix typo.
28517
28518 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
28519
28520 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
28521 according to GCS.
28522
28523 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28524
28525 * docs/grub.texi (Naming convention): Describe one-based partition
28526 numbering.
28527 (Device syntax): Likewise.
28528 (File name syntax): Likewise.
28529 (Block list syntax): Likewise.
28530 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
28531 menu.lst.
28532 (File name syntax): Likewise.
28533 (Command-line and menu entry commands): Document acpi, blocklist,
28534 crc, export, insmod, keystatus, ls, set, and unset commands.
28535
28536 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28537
28538 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
28539 to avoid implying that only one of --shift, --ctrl, or --alt may be
28540 used.
28541
28542 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
28543
28544 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
28545 rather than comparing against S_IFREG, which will almost never work.
28546
28547 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
28548
28549 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
28550 (write_blocklists): Likewise.
28551
28552 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
28553
28554 * script/lua/grub_lua.h (fputs): Supply a format string as the first
28555 argument to grub_printf.
28556
28557 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
28558
28559 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
28560 non GNU test.
28561
28562 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28563
28564 * kern/file.c (grub_file_read): Spelling fix
28565
28566 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
28567
28568 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
28569 loading of headers in some cases.
28570
28571 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
28572
28573 * configure.ac: Bump version to 1.97~beta1.
28574 * docs/version.texi: Likewise.
28575
28576 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
28577
28578 * include/grub/i386/xnu.h: Add license header.
28579 include grub/err.h explicitly.
28580
28581 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28582
28583 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
28584 to `ufs' in the vfs.root.mountfrom kernel parameter.
28585
28586 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
28587
28588 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
28589
28590 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
28591 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
28592
28593 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
28594 `ARRAY_SIZE' macro.
28595
28596 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28597
28598 * kern/file.c (grub_file_read): Check offset.
28599 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
28600 * fs/jfs.c (grub_jfs_read_file): Likewise.
28601 * fs/ntfs.c (grub_ntfs_read): Likewise.
28602 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
28603 * fs/minix.c (grub_minix_read_file): Correct offset check.
28604 * fs/ufs.c (grub_ufs_read_file): Likewise.
28605
28606 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28607
28608 * term/i386/pc/console.c (bios_data_area): Cast
28609 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
28610
28611 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28612
28613 1-bit optimised blitters.
28614
28615 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
28616 prototype.
28617 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28618 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28619 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28620 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28621 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28622 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28623 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
28624 function.
28625 (grub_video_fbblit_replace_24bit_1bit): Likewise.
28626 (grub_video_fbblit_replace_16bit_1bit): Likewise.
28627 (grub_video_fbblit_replace_8bit_1bit): Likewise.
28628 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
28629 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
28630 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
28631 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
28632 when possible.
28633 * video/video.c (grub_video_get_blit_format): Return
28634 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
28635
28636 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28637
28638 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
28639 the first argument to grub_printf.
28640
28641 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
28642 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
28643
28644 Add `getkeystatus' terminal method. Add a new `keystatus' command
28645 to query it.
28646
28647 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
28648 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
28649 modifier key bitmasks.
28650 (struct grub_term_input): Add `getkeystatus' member.
28651 (grub_getkeystatus): Add prototype.
28652 * kern/term.c (grub_getkeystatus): New function.
28653
28654 * include/grub/i386/pc/memory.h
28655 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
28656 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
28657 Data Area layout.
28658 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
28659 (grub_console_term_input): Set `getkeystatus' member.
28660 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
28661 constants.
28662 (grub_usb_keyboard_getreport): Likewise.
28663 (grub_usb_keyboard_checkkey): Likewise.
28664 (grub_usb_keyboard_getkeystatus): New function.
28665 (grub_usb_keyboard_term): Set `getkeystatus' member.
28666
28667 * commands/keystatus.c: New file.
28668 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
28669 (keystatus_mod_SOURCES): New variable.
28670 (keystatus_mod_CFLAGS): Likewise.
28671 (keystatus_mod_LDFLAGS): Likewise.
28672 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
28673 commands/keystatus.c.
28674 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28675 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28676 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28678 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28679 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28680
28681 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 Split befs.mod and afs.mod into *_be.mod and *.mod
28684
28685 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
28686 (grub_fstest_SOURCES): Likewise.
28687 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
28688 (afs_be_mod_SOURCES): New variable.
28689 (afs_be_mod_CFLAGS): Likewise.
28690 (afs_be_mod_LDFLAGS): Likewise.
28691 (befs_be_mod_SOURCES): Likewise.
28692 (befs_be_mod_CFLAGS): Likewise.
28693 (befs_be_mod_LDFLAGS): Likewise.
28694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
28695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28696 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28697 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28698 (grub_emu_SOURCES): Likewise.
28699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28700 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28702 * fs/afs_be.c: New file.
28703 * fs/befs_be.c: New file.
28704 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
28705 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
28706 (U16): Replaced with ...
28707 (grub_afs_to_cpu16): ...this. All users updated.
28708 (U32): Replaced with ...
28709 (grub_afs_to_cpu32): ...this. All users updated.
28710 (U64): Replaced with ...
28711 (grub_afs_to_cpu64): ...this. All users updated.
28712 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
28713 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
28714 (grub_afs_validate_sblock): Check only one endianness.
28715 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28716 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28717 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28718 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28719 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
28720 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
28721 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
28722 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
28723
28724 2009-08-26 Bean <bean123ch@gmail.com>
28725
28726 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
28727 64-bit number.
28728 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
28729 (grub_xfs_inode_block): Change return type to grub_uint64_t.
28730 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
28731
28732 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28733
28734 NetBSD memory map support.
28735
28736 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
28737 (grub_netbsd_btinfo_mmap_header): New structure.
28738 (grub_netbsd_btinfo_mmap_entry): Likewise.
28739 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
28740
28741 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28742
28743 Enable bsd.mod on coreboot.
28744
28745 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
28746 (bsd_mod_SOURCES): New variable.
28747 (bsd_mod_CFLAGS): Likewise.
28748 (bsd_mod_LDFLAGS): Likewise.
28749 (bsd_mod_ASFLAGS): Likewise.
28750 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
28751 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
28752
28753 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 Cleanup NetBSD root support.
28756
28757 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
28758 grub_bsd_get_device.
28759 Fix typo.
28760
28761 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
28762
28763 * util/grub.d/00_header.in: Move check for the video backend of
28764 gfxterm from here ...
28765 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
28766 a suitable video backend.
28767
28768 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28769
28770 Fix breakage in grub-setup.
28771
28772 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
28773 "msdos_partition_map".
28774
28775 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 Fix breakage in normal/auth.c.
28778
28779 * normal/auth.c (grub_iswordseparator): New function.
28780
28781 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
28782
28783 Authentication support.
28784
28785 * commands/password.c: New file.
28786 * conf/common.rmk (pkglib_MODULES): Add password.mod.
28787 (password_mod_SOURCES): New variable.
28788 (password_mod_CFLAGS): Likewise.
28789 (password_mod_LDFLAGS): Likewise.
28790 (normal_mod_SOURCES): Add normal/auth.c.
28791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
28792 normal/auth.c.
28793 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28794 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28795 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28797 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28799 * include/grub/auth.h: New file.
28800 * include/grub/err.h (grub_err_t): New enum value
28801 GRUB_ERR_ACCESS_DENIED.
28802 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
28803 'users'.
28804 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
28805 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
28806 users updated.
28807 * normal/auth.c: New file.
28808 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
28809 (grub_cmdline_run): Don't allow to go to command line without
28810 authentication.
28811 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
28812 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
28813 menuentry without superuser rights.
28814 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
28815 user isn't a superuser.
28816
28817 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 Save space by inlining misc.c functions.
28820
28821 * kern/misc.c (grub_iswordseparator): Made static.
28822 * kern/misc.c (grub_strcat): Moved from here ...
28823 * include/grub/misc.h (grub_strcat): ... here. Inlined.
28824 * kern/misc.c (grub_strncat): Moved from here ...
28825 * include/grub/misc.h (grub_strncat): ... here. Inlined.
28826 * kern/misc.c (grub_strcasecmp): Moved from here ...
28827 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
28828 * kern/misc.c (grub_strncasecmp): Moved from here ...
28829 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
28830 * kern/misc.c (grub_isalpha): Moved from here ...
28831 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
28832 * kern/misc.c (grub_isdigit): Moved from here ...
28833 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
28834 * kern/misc.c (grub_isgraph): Moved from here ...
28835 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
28836 * kern/misc.c (grub_tolower): Moved from here ...
28837 * include/grub/misc.h (grub_tolower): ... here. Inlined.
28838
28839 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28840
28841 * script/sh/function.c (grub_script_function_find): Cut error message
28842 not to flood terminal.
28843 * script/sh/lexer.c (grub_script_yylex): Remove command line length
28844 limit.
28845 * script/sh/script.c (grub_script_arg_add): Duplicate string.
28846
28847 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
28848
28849 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
28850 `report' grub_uint8_t *.
28851 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
28852 Use a 50-millisecond timeout rather than just repeating
28853 grub_usb_keyboard_getreport 50 times.
28854 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
28855
28856 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 Rename *_partition_map to part_*
28859
28860 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
28861 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
28862 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
28863 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
28864 All users updated.
28865 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
28866 All users updated.
28867 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
28868 * util/grub-probe.c (probe_partmap): Don't transform partition name
28869 to get module name.
28870
28871 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28872
28873 Fix OpenBSD and NetBSD support.
28874
28875 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
28876 memory address conflict.
28877 (OPENBSD_MMAP_ACPI): New definition.
28878 (OPENBSD_MMAP_NVS): Likewise.
28879 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
28880 and OPENBSD_MMAP_NVS.
28881 Add memory map terminator
28882 Explicit cast when calling grub_unix_real_boot.
28883 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
28884
28885 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28886
28887 Let user specify NetBSD root device.
28888
28889 * loader/i386/bsd.c (netbsd_root): New variable.
28890 (netbsd_opts): New option 'root'.
28891 (NETBSD_ROOT_ARG): New macro.
28892 (grub_netbsd_boot): Use 'netbsd_root'.
28893 (grub_bsd_unload): Free 'netbsd_root'.
28894 (grub_cmd_netbsd): Fill 'netbsd_root'.
28895
28896 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 Support for 64-bit NetBSD.
28899
28900 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
28901 point when booting non-FreeBSD.
28902
28903 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
28904
28905 Support --no-smp and --no-acpi for NetBSD.
28906
28907 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
28908 (NETBSD_AB_NOACPI): Likewise.
28909 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
28910 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
28911
28912 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28913
28914 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
28915 errors.
28916 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
28917 errors. Call grub_error when needed.
28918
28919 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28920
28921 * commands/search.c (search_fs): Try searching without autoload first.
28922 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
28923 filesystem module explicitly for faster booting.
28924
28925 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28926
28927 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
28928
28929 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
28930
28931 * util/grub.d/30_os-prober.in: Disable os-prober if
28932 `GRUB_DISABLE_OS_PROBER' was set to true.
28933
28934 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
28935
28936 * partmap/pc.c: Rename to ...
28937 * partmap/msdos.c: ... this. Update all users.
28938 (grub_pc_partition_map): Rename to ...
28939 (grub_msdos_partition_map): ... this. Update all users.
28940
28941 * parttool/pcpart.c: Rename to ...
28942 * parttool/msdospart.c: ... this. Update all users.
28943
28944 * include/grub/pc_partition.h: Rename to ...
28945 * include/grub/msdos_partition.h: ... this. Update all users.
28946 (grub_pc_partition_bsd_entry): Rename to ...
28947 (grub_msdos_partition_bsd_entry): ... this. Update all users.
28948 (grub_pc_partition_disk_label): Rename to ...
28949 (grub_msdos_partition_disk_label): ... this. Update all users.
28950 (grub_pc_partition_entry): Rename to ...
28951 (grub_msdos_partition_entry): ... this. Update all users.
28952 (grub_pc_partition_mbr): Rename to ...
28953 (grub_msdos_partition_mbr): ... this. Update all users.
28954 (grub_pc_partition): Rename to ...
28955 (grub_msdos_partition): ... this. Update all users.
28956 (grub_pc_partition_is_empty): Rename to ...
28957 (grub_msdos_partition_is_empty): ... this. Update all users.
28958 (grub_pc_partition_is_extended): Rename to ...
28959 (grub_msdos_partition_is_extended): ... this. Update all users.
28960 (grub_pc_partition_is_bsd): Rename to ...
28961 (grub_msdos_partition_is_bsd): ... this. Update all users.
28962
28963 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
28964 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
28965 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
28966 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
28967 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
28968 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
28969 (gpt_mod_LDFLAGS): Rename to ...
28970 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
28971 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
28972 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
28973 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
28974 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
28975 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
28976 (part_gpt_mod_LDFLAGS): ... this.
28977 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
28978 `pcpart.mod' to `msdospart.mod'.
28979 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
28980 to ...
28981 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
28982 (msdospart_mod_LDFLAGS): ... this.
28983
28984 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
28985
28986 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
28987 (openbsd_opts): Likewise.
28988 (netbsd_opts): Likewise.
28989 (freebsd_flags): Added 0 terminator.
28990 (openbsd_flags): Likewise.
28991 (netbsd_flags): Likewise.
28992 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
28993 (grub_cmd_freebsd): Transformed into extended command.
28994 (grub_cmd_openbsd): Likewise.
28995 (grub_cmd_netbsd): Likewise.
28996 (cmd_freebsd): Changed type to grub_extcmd_t.
28997 (cmd_openbsd): Likewise.
28998 (cmd_netbsd): Likewise.
28999 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29000 grub_cmd_openbsd as extended commands.
29001 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29002 cmd_netbsd and cmd_openbsd
29003
29004 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29005
29006 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29007
29008 2009-08-21 Pavel Roskin <proski@gnu.org>
29009
29010 * Makefile.in (install-local): When checking if a file is in the
29011 build directory, use "test -e" to detect symlinks.
29012
29013 * Makefile.in (install-local): Remove all files in
29014 $(DESTDIR)$(pkglibdir) before installing new files there.
29015
29016 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
29017
29018 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29019 grub-mkelfimage.
29020
29021 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
29022
29023 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29024 explicitly specified by the user.
29025
29026 2009-08-18 Pavel Roskin <proski@gnu.org>
29027
29028 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29029 grub_uint8_t pointer for data.
29030 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29031 Likewise.
29032 * video/fb/fbutil.c: Remove unnecessary casts.
29033
29034 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
29035
29036 VBE cleanup.
29037
29038 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29039 (grub_vbe_set_video_mode): Save active mode info
29040 only after setting the mode.
29041 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29042 second argument.
29043
29044 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
29045
29046 Rename variables for clarity.
29047
29048 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29049 (active_vbe_mode_info): ... this. All users updated.
29050 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29051 All users updated.
29052 (initial_mode): Rename to ...
29053 (initial_vbe_mode): ... this. All users updated.
29054 (mode_in_use): Rename to ..
29055 (vbe_mode_in_use): ... this. All users updated.
29056 (mode_list): Rename to ..
29057 (vbe_mode_list): ... this. All users updated.
29058 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29059 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29060 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29061 'mode_list_size' to 'vbe_mode_list_size'.
29062 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29063 'best_mode_info' to 'best_vbe_mode_info' and
29064 'best_mode' to 'best_vbe_mode'
29065
29066 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
29067
29068 Remove duplicate grub_video_fb_get_video_ptr.
29069
29070 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29071 (grub_video_fb_get_video_ptr): ... this.
29072 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29073 * video/fb/fbutil.c: Add comment about addressing.
29074 (get_data_ptr): Rename to ...
29075 (grub_video_fb_get_video_ptr): ... this. All users updated.
29076 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29077
29078 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29079
29080 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29081 grub_dprintf() that was just added.
29082
29083 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29084
29085 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29086 (DEFAULT_VIDEO_MODE): Remove macros.
29087 (grub_linux_boot): Remove assumption that Linux has FB support,
29088 and use "text" as default video mode.
29089
29090 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29093 grub_dprintf.
29094 * fs/fat.c (grub_fat_read_data): Likewise.
29095
29096 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29097
29098 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29099 payload.
29100 (grub_module): Likewise.
29101
29102 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29103
29104 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29105 mbi->cmdline but free playground.
29106
29107 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29108
29109 Handle group offset on UFS1.
29110
29111 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29112 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29113
29114 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29115
29116 Split ufs.mod into ufs1.mod and ufs2.mod.
29117
29118 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29119 (grub_fstest_SOURCES): Likewise.
29120 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29121 (ufs_mod_SOURCES): Remove.
29122 (ufs_mod_CFLAGS): Likewise.
29123 (ufs_mod_LDFLAGS): Likewise.
29124 (ufs1_mod_SOURCES): New variable.
29125 (ufs1_mod_CFLAGS): Likewise.
29126 (ufs1_mod_LDFLAGS): Likewise.
29127 (ufs2_mod_SOURCES): New variable.
29128 (ufs2_mod_CFLAGS): Likewise.
29129 (ufs2_mod_LDFLAGS): Likewise.
29130 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29131 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29132 Likewise.
29133 (grub_emu_SOURCES): Likewise.
29134 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29135 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29136 (grub_setup_SOURCES): Likewise.
29137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29138 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29139 (grub_setup_SOURCES): Likewise.
29140 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29141 Likewise.
29142 * fs/ufs2.c: New file.
29143 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29144
29145 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29146
29147 Framebuffer split.
29148
29149 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29150 subsystem at the end.
29151 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29152 (video_fb_mod_SOURCES): New variable.
29153 (video_fb_mod_CFLAGS): Likewise.
29154 (video_fb_mod_LDFLAGS): Likewise.
29155 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29156 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29157 * video/i386/pc/vbeblit.c: Moved from here ...
29158 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29159 * video/i386/pc/vbefill.c: Moved from here ...
29160 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29161 * video/i386/pc/vbeutil.c: Moved from here ...
29162 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29163 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29164 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29165 * include/grub/i386/pc/vbefill.h: Moved from here ...
29166 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29167 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29168 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29169 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29170 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29171 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29172 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29173 (grub_video_adapter): Added 'get_info_and_fini'.
29174 (grub_video_get_info_and_fini): New prototype.
29175 (grub_video_set_mode): make modestring const char *.
29176 * loader/i386/linux.c (grub_linux_setup_video): Use
29177 grub_video_get_info_and_fini.
29178 (grub_linux_boot): Move modesetting just before booting.
29179 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29180 grub_video_get_info_and_fini.
29181 * video/i386/pc/vbe.c: Moved framebuffer part ...
29182 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29183 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29184 grub_video_fbstd_colors and grub_video_fb_set_palette.
29185 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29186 grub_video_fb_init.
29187 (grub_video_vbe_fini): Use grub_video_fb_fini.
29188 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29189 render_target and use grub_video_fb_set_active_render_target and
29190 grub_video_fb_set_palette.
29191 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29192 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29193 (grub_video_vbe_adapter): Use framebuffer.
29194 * video/video.c (grub_video_get_info_and_fini): New function.
29195 (grub_video_set_mode): Make modestring const char *.
29196 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29197 values are already initialised.
29198
29199 2009-08-14 Pavel Roskin <proski@gnu.org>
29200
29201 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29202 ABS and APPLE_CC.
29203 * boot/i386/pc/diskboot.S: Likewise.
29204 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29205 sectors allow compilation on MacOSX.
29206 * conf/i386-pc.rmk: Enable unconditional compilation of
29207 lnxboot.img.
29208
29209 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
29210
29211 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29212 * util/grub.d/00_header.in: Enter interruptible sleep if
29213 GRUB_HIDDEN_TIMEOUT is set.
29214
29215 2009-08-13 Yves Blusseau <blusseau@zetam.org>
29216
29217 * include/grub/symbol.h: Add the LOCAL macro.
29218 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29219 starting with "L_".
29220
29221 2009-08-13 Pavel Roskin <proski@gnu.org>
29222
29223 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29224 any modern compilers we support.
29225
29226 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29227 Use local labels starting with "L_" so that Apple assembler
29228 knows they are local.
29229
29230 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29231
29232 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29233 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29234 (bsd_kernel_types): ... this enum.
29235
29236 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29237 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29238 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29239
29240 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29241 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29242 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29243 messages.
29244
29245 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * util/grub-dumpdevtree: Moved from here ...
29248 * util/i386/efi/grub-dumpdevtree: ... to here.
29249 (hexify): New function. Converts a string to its hex version.
29250 Generate hex versions of "efi" and "device-properties" by calling
29251 hexify() on the ASCII strings rather than by hardcoding numbers.
29252
29253 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29254
29255 * fs/jfs.c: Update copyright year.
29256
29257 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29258
29259 * util/grub.d/00_header.in: Fix a comment.
29260 * util/grub.d/10_linux.in: Likewise.
29261 * util/grub.d/10_windows.in: Likewise.
29262 * util/grub.d/10_hurd.in: Likewise.
29263
29264 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
29265
29266 * util/grub-mkconfig.in: Allow the user to specify the used font
29267 with GRUB_FONT.
29268
29269 2009-08-08 Pavel Roskin <proski@gnu.org>
29270
29271 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29272 available, xfs.mod needs it now.
29273
29274 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29275 the "g" modifier in sed when the intention is to strip something
29276 once. This fixes comparison of kernels with multiple dashes.
29277
29278 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29279 on it. Add missing space before closing bracket. Fix
29280 misleading formatting.
29281
29282 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29283
29284 * docs/grub.texi: Major overhaul. Remove all sections that are
29285 specific to GRUB Legacy, or mostly composed of Legacy-specific
29286 information.
29287
29288 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29289
29290 * docs/version.texi: New file. Provides version information for
29291 grub.texi.
29292
29293 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29294
29295 * docs/grub.texi: Update CVS information to SVN.
29296 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29297
29298 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29299
29300 * util/grub-mkconfig.in: Remove a wrong `fi'.
29301
29302 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29303
29304 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29305 (grub_jfs_uuid): New function.
29306 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29307
29308 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
29309
29310 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29311 of it to ...
29312 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29313 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29314
29315 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29316
29317 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29318 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29319 Update all users.
29320
29321 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29322 not just "vmlinu[zx]".
29323 Moved from here ...
29324 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29325 all users.
29326
29327 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29328 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29329 all users.
29330
29331 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29332
29333 * util/grub.d/10_freebsd.in: Use an absolute device path for
29334 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29335
29336 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
29337
29338 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29339 handling of multiple abstraction modules.
29340
29341 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29342
29343 Fix a bug resulting in black screen when loading Linux using a
29344 packed video mode.
29345
29346 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29347 function.
29348
29349 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29350 (grub_vbe_bios_getset_dac_palette_width): New function.
29351 (grub_vbe_bios_get_dac_palette_width)
29352 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29353 grub_vbe_bios_getset_dac_palette_width()).
29354
29355 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29356 check for return status.
29357 (grub_vbe_get_video_mode_info): When getting information for a packed
29358 mode (<= 8 bpp), obtain DAC palette width using
29359 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29360 {red,green,blue}_mark_size.
29361
29362 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
29363
29364 * commands/search.c (options): Fix help output to match actual code.
29365
29366 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29367
29368 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29369 of homegrown code.
29370
29371 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29372
29373 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29374 on XFS or ReiserFS.
29375
29376 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29377
29378 Support Apple partition map with sector size different from 512 bytes.
29379
29380 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29381 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29382 and 'apart.partmap_size'.
29383
29384 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29385 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29386
29387 Fix cpuid command.
29388
29389 * commands/i386/cpuid.c (options): New variable.
29390 (grub_cmd_cpuid): Return real error.
29391 (GRUB_MOD_INIT(cpuid)): Declare options.
29392
29393 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29394
29395 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
29396 valid.
29397
29398 2009-07-31 Bean <bean123ch@gmail.com>
29399
29400 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
29401 log2_inode.
29402 (grub_fshelp_node): Move inode field to the end.
29403 (grub_xfs_data): Remove inode field.
29404 (grub_xfs_inode_block): Calculate inode size using sblock.
29405 (grub_xfs_inode_offset): Likewise.
29406 (grub_xfs_read_inode): Calculate inode size using sblock.
29407 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
29408 (grub_xfs_iterate_dir): Calculate inode size using sblock.
29409 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
29410 to match inode size.
29411 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
29412 not accessible when data is null.
29413 (grub_xfs_open): Likewise.
29414
29415 2009-07-31 Bean <bean123ch@gmail.com>
29416
29417 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
29418 Don't change pv->disk if it's already set.
29419
29420 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
29421 (grub_raid_register): ... here.
29422 (grub_raid_rescan): Removed.
29423
29424 * include/grub/raid.h (grub_raid_rescan): Removed.
29425
29426 * util/grub-fstest.c: Remove include file <grub/raid.h>.
29427 (fstest): Replace grub_raid_rescan with module fini function followed
29428 by init function.
29429
29430 * util/grub-probe.c: Add include file <grub/raid.h>.
29431 (probe_raid_level): New function.
29432 (probe): Detect abstraction by walking the disk device, support two
29433 level of abstraction (LVM on RAID) when detecting partition map.
29434
29435 2009-07-31 Pavel Roskin <proski@gnu.org>
29436
29437 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
29438 to grub_zalloc(), it was erroneous.
29439 Reported by Bean <bean123ch@gmail.com>
29440
29441 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
29442
29443 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
29444 embedding zone, not only the first one.
29445
29446 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
29447
29448 * term/gfxterm.c (clear_char): New function.
29449 (grub_virtual_screen_setup): Use clear_char.
29450 (scroll_up): Likewise.
29451 (grub_virtual_screen_cls): Likewise.
29452
29453 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
29454
29455 * util/deviceiter.c (get_acceleraid_disk_name): New static
29456 function.
29457 (grub_util_iterate_devices): Handle Accelraid devices.
29458 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
29459
29460 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
29461
29462 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
29463 separator for the suggested gfxpayload string (';' collides with the
29464 parser and needs escaping).
29465
29466 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
29467
29468 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
29469 Clear direction flag before jumping to OS.
29470 (grub_multiboot2_real_boot): Likewise.
29471
29472 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29473
29474 * util/i386/pc/grub-install: Fix parsing of --disk-module
29475 option.
29476
29477 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
29478
29479 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
29480 when embedding.
29481
29482 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
29483
29484 * util/grub-mkconfig.in (package_version): New variable.
29485 Use it do display the version.
29486
29487 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29488
29489 * kern/file.c (grub_file_open): Revert to previous check with
29490 grub_errno.
29491
29492 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29493
29494 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
29495 from help line. It's out of sync with code.
29496
29497 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
29498
29499 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
29500 entries on failed boot.
29501
29502 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
29503
29504 * kern/file.c (grub_file_open): Fix an error check.
29505
29506 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
29507
29508 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
29509 partition map couldn't be identified.
29510
29511 2009-07-23 Pavel Roskin <proski@gnu.org>
29512
29513 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
29514 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
29515 case of little endian words becomes just an optimization.
29516 Respect const modifier.
29517 (md5_final): Use code that doesn't depend on endianness.
29518
29519 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
29520 to avoid loss of upper bits if align is unsigned and shorter
29521 than addr.
29522
29523 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29524
29525 UUID support for UFS
29526
29527 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
29528 (grub_ufs_uuid): New function.
29529 (grub_ufs_fs): add .uuid
29530
29531 2009-07-21 Pavel Roskin <proski@gnu.org>
29532
29533 * kern/dl.c (grub_dl_check_header): Make static.
29534
29535 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
29536
29537 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
29538 add drivemap for Vista. It breaks Windows 7.
29539
29540 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
29541
29542 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
29543 128 bytes
29544
29545 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29546
29547 Add BFS support
29548
29549 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
29550 (grub_fstest_SOURCES): Likewise.
29551 (pkglib_MODULES): Add befs.mod.
29552 (befs_mod_SOURCES): New variable.
29553 (befs_mod_CFLAGS): Likewise.
29554 (befs_mod_LDFLAGS): Likewise.
29555 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29556 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29557 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29558 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29559 (grub_setup_SOURCES): Likewise.
29560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29561 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29562 (grub_setup_SOURCES): Likewise.
29563 * fs/befs.c: New file.
29564 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
29565 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
29566 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
29567 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
29568 (B_KEY_INDEX_ALIGN): New declaration.
29569 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
29570 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
29571 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
29572 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
29573 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
29574 (grub_afs_mount) [MODE_BFS]: Likewise.
29575 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
29576 (grub_afs_fs): Use GRUB_AFS_FSNAME
29577 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
29578 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
29579 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
29580 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
29581
29582 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
29583
29584 * util/getroot.c (find_root_device): Add support for MacOSX.
29585 * util/hostdisk.c: Likewise.
29586
29587 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29588
29589 * font/font.c (find_glyph): Check whether a font is present to avoid
29590 segmentation fault.
29591
29592 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
29593
29594 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
29595
29596 2009-07-20 Pavel Roskin <proski@gnu.org>
29597
29598 * configure.ac: Trim excessively wordy excuses.
29599
29600 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29601
29602 Add symlink, mtime and label support to AtheFS.
29603
29604 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
29605 (grub_afs_iterate_dir): Handle symlinks.
29606 (grub_afs_open): Use grub_afs_read_symlink.
29607 (grub_afs_dir): Likewise.
29608 Pass mtime.
29609 (grub_afs_label): New function.
29610 (grub_afs_fs): Add grub_afs_label.
29611 (grub_afs_read_symlink): New function.
29612
29613 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Fix AtheFS support.
29616
29617 * fs/afs.c: Fix comments style.
29618 (grub_afs_blockrun): Declare as packed.
29619 (grub_afs_datastream): Likewise.
29620 (grub_afs_bnode): Likewise.
29621 (grub_afs_btree): Likewise.
29622 (grub_afs_sblock): Likewise.
29623 Declare `name' as char.
29624 (grub_afs_inode): Declare as packed.
29625 Change void *vnode to grub_uint32_t unused.
29626 (grub_afs_iterate_dir): Check that key_size is positive.
29627 (grub_afs_mount): Don't read superblock twice.
29628 (grub_afs_dir): Don't free node in case of error,
29629 grub_fshelp_find_file already handles this.
29630 (grub_afs_open): Likewise.
29631
29632 2009-07-19 Pavel Roskin <proski@gnu.org>
29633
29634 * Makefile.in: Remove LIBLZO and enable_lzo.
29635 * conf/i386-pc.rmk: Remove lzo support.
29636 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
29637 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
29638 support.
29639 * kern/i386/pc/lzo1x.S: Remove.
29640 * kern/i386/pc/startup.S: Remove lzo support.
29641 * util/i386/pc/grub-mkimage.c: Likewise.
29642
29643 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
29644
29645 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
29646 * fs/xfs.c (grub_xfs_dir): Likewise.
29647 * fs/afs.c (grub_afs_dir): Likewise.
29648 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
29649 (grub_iso9660_open): Likewise.
29650 * fs/jfs.c (grub_jfs_open): Likewise.
29651 * fs/ext2.c (grub_ext2_dir): Likewise.
29652 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
29653 * script/sh/lexer.c (grub_script_yylex): Likewise.
29654
29655 2009-07-16 Pavel Roskin <proski@gnu.org>
29656
29657 * configure.ac: Never add "-c" to CFLAGS.
29658
29659 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
29660
29661 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
29662 grub_cv_cc_efiemu should be used.
29663
29664 * configure.ac: Typo fixes.
29665
29666 * kern/mm.c (grub_zalloc): New function.
29667 (grub_debug_zalloc): Likewise.
29668 * include/grub/mm.h: Declare grub_zalloc() and
29669 grub_debug_zalloc().
29670 * util/misc.c (grub_zalloc): New function.
29671 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
29672 instead of grub_malloc(), remove unneeded initializations.
29673 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
29674 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
29675 * commands/parttool.c (grub_cmd_parttool): Likewise.
29676 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
29677 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
29678 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
29679 * disk/usbms.c (grub_usbms_finddevs): Likewise.
29680 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
29681 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
29682 (grub_cmd_efiemu_pnvram): Likewise.
29683 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
29684 * fs/iso9660.c (grub_iso9660_mount): Likewise.
29685 (grub_iso9660_iterate_dir): Likewise.
29686 * fs/jfs.c (grub_jfs_opendir): Likewise.
29687 * fs/ntfs.c (list_file): Likewise.
29688 (grub_ntfs_mount): Likewise.
29689 * kern/disk.c (grub_disk_open): Likewise.
29690 * kern/dl.c (grub_dl_load_core): Likewise.
29691 * kern/elf.c (grub_elf_file): Likewise.
29692 * kern/env.c (grub_env_context_open): Likewise.
29693 (grub_env_set): Likewise.
29694 (grub_env_set_data_slot): Likewise.
29695 * kern/file.c (grub_file_open): Likewise.
29696 * kern/fs.c (grub_fs_blocklist_open): Likewise.
29697 * loader/i386/multiboot.c (grub_module): Likewise.
29698 * loader/xnu.c (grub_xnu_create_key): Likewise.
29699 (grub_xnu_create_value): Likewise.
29700 * normal/main.c (grub_normal_add_menu_entry): Likewise.
29701 (read_config_file): Likewise.
29702 * normal/menu_entry.c (make_screen): Likewise.
29703 * partmap/sun.c (sun_partition_map_iterate): Likewise.
29704 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
29705 * script/sh/script.c (grub_script_parse): Likewise.
29706 * video/bitmap.c (grub_video_bitmap_create): Likewise.
29707 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
29708 * video/readers/png.c (grub_png_output_byte): Likewise.
29709 (grub_video_reader_png): Likewise.
29710
29711 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29712
29713 Enable all targets that can be built by default
29714
29715 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
29716 grub-mkfont and grub-fstest if they can be built
29717
29718 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 Fix hang and segmentation fault in grub-emu-usb
29721
29722 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
29723 * util/usb.c (grub_libusb_devices): likewise
29724 (grub_libusb_init): rename to ...
29725 (GRUB_MOD_INIT (libusb)):...this
29726 (grub_libusb_fini): rename to ..
29727 (GRUB_MOD_FINI (libusb)):...this
29728 * disk/usbms.c (grub_usbms_transfer): fix retry logic
29729 * include/grub/disk.h (grub_raid_init): removed, it's useless
29730 (grub_raid_fini): likewise
29731 (grub_lvm_init): likewise
29732 (grub_lvm_fini): likewise
29733 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
29734 by grub_init_all
29735
29736 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29737
29738 Fix libusb
29739
29740 * Makefile.in (LIBUSB): new macro
29741 * genmk.rb (Utility/print_tail): new method
29742 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
29743 (top level): call util.print_tail at the end.
29744
29745 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29746
29747 Make FreeBSD accept zpool.cache
29748
29749 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
29750 type is /boot/zfs/zpool.cache
29751
29752 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
29753
29754 Fix 64-bit efiemu
29755
29756 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
29757 correct wrong typedef
29758 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
29759
29760 2009-07-15 Pavel Roskin <proski@gnu.org>
29761
29762 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
29763 * kern/disk.c (struct grub_disk_cache): Likewise.
29764
29765 * commands/probe.c (options): Typo fix.
29766
29767 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
29768 Increase to 0x5a to accommodate FAT32. Adjust other offsets
29769 accordingly.
29770 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
29771
29772 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
29773 the end of "Error" to make the message more readable.
29774
29775 * boot/i386/pc/boot.S (kernel_segment): Remove.
29776 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
29777 for destination.
29778
29779 * boot/i386/pc/boot.S (boot_version): Remove.
29780 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
29781 Remove.
29782
29783 * include/grub/i386/pc/boot.h: Sort all offsets.
29784 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
29785 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
29786 * boot/i386/pc/boot.S: Assert location of every offset listed in
29787 include/grub/i386/pc/boot.h.
29788
29789 2009-07-13 Pavel Roskin <proski@gnu.org>
29790
29791 * include/grub/i386/coreboot/machine.h: Rename
29792 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
29793 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
29794 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
29795
29796 * kern/dl.c: Force native word size to suppress warnings when
29797 compiling grub-emu.
29798
29799 * kern/device.c (grub_device_iterate): Change struct part_ent to
29800 hold the name, not a pointer to it. Use one grub_malloc() per
29801 partition, not two. Free partition_name if grub_malloc() fails.
29802 Set ents to NULL only before grub_partition_iterate() is called.
29803
29804 2009-07-11 Bean <bean123ch@gmail.com>
29805
29806 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
29807 childname.
29808
29809 2009-07-10 Bean <bean123ch@gmail.com>
29810 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
29811
29812 * kern/ieee1275/openfw.c (grub_children_iterate)
29813 (grub_devalias_iterate): Fix size evaluation for property or path
29814 strings, which was broken since r2132.
29815
29816 2009-07-07 Pavel Roskin <proski@gnu.org>
29817
29818 * commands/search.c (search_file): Merge into ...
29819 (search_fs): ... this. Accept search type as argument.
29820 (grub_cmd_search): Pass search type to search_fs().
29821
29822 * include/grub/util/console.h: New file.
29823 * util/console.c: Use it instead of grub/machine/console.h.
29824 * util/grub-emu.c: Likewise.
29825
29826 * lib/arg.c (find_long_option): Remove.
29827 (find_long): Add `len' argument, make `s' const char *.
29828 (grub_arg_parse): Parse long options in place, not in a
29829 temporary buffer.
29830
29831 2009-07-06 Pavel Roskin <proski@gnu.org>
29832
29833 * commands/search.c (search_fs): Fix potential NULL pointer
29834 dereference.
29835
29836 * commands/search.c (search_fs): Replace QUID macro with quid_fn
29837 function pointer.
29838
29839 2009-07-06 Daniel Mierswa <impulze@impulze.org>
29840
29841 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
29842 comparison.
29843
29844 2009-07-05 Pavel Roskin <proski@gnu.org>
29845
29846 * include/grub/i386/linux.h (struct linux_kernel_params):
29847 Restore padding3, it's still needed.
29848
29849 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
29850 FreeBSD.
29851 * util/osdetect.lua: Likewise.
29852
29853 2009-07-05 Bean <bean123ch@gmail.com>
29854
29855 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
29856
29857 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
29858 (grub_lua_getenv): Likewise.
29859 (grub_lua_setenv): Likewise.
29860 (save_errno): New function.
29861 (push_result): Likewise.
29862 (grub_lua_enum_device): Likewise.
29863 (grub_lua_enum_file): Likewise.
29864 (grub_lua_file_open): Likewise.
29865 (grub_lua_file_close): Likewise.
29866 (grub_lua_file_seek): Likewise.
29867 (grub_lua_file_read): Likewise.
29868 (grub_lua_file_getline): Likewise.
29869 (grub_lua_file_getsize): Likewise.
29870 (grub_lua_file_getpos): Likewise.
29871 (grub_lua_file_eof): Likewise.
29872 (grub_lua_file_exist): Likewise.
29873 (grub_lua_add_menu): Likewise.
29874
29875 * script/lua/grub_lua.h (isupper): New inline function.
29876 (islower): Likewise.
29877 (ispunct): Likewise.
29878 (isxdigit): Likewise.
29879 (strcspn): Change to normal function.
29880 (strpbkr): New function declaration.
29881 (memchr): Likewise.
29882
29883 * script/lua/grub_main.c (scan_str): New function.
29884 (strcspn): Likewise.
29885 (strpbrk): Likewise.
29886 (memchr): Likewise.
29887
29888 * script/lua/linit.c (lualibs): Enable the string library.
29889
29890 * util/osdetect.lua: New file.
29891
29892 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
29893
29894 * include/grub/i386/linux.h (struct linux_kernel_params): Add
29895 `capabilities' member.
29896
29897 2009-07-02 Pavel Roskin <proski@gnu.org>
29898
29899 * genparttoollist.sh: Add missing newline at the end.
29900
29901 2009-07-01 Pavel Roskin <proski@gnu.org>
29902
29903 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
29904
29905 * util/hostdisk.c (open_device): Remove `const' from
29906 `sysctl_size', as sysctlbyname() can change it (in this case it
29907 doesn't actually happen).
29908
29909 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
29910 using signed long int constants.
29911
29912 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
29913 constant to avoid a warning on FreeBSD.
29914
29915 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
29916 where it's needed.
29917
29918 * Makefile.in: Install include/grub/machine symlink.
29919
29920 * Makefile.in: When installing symlinks, use "cp -fR", which
29921 works on FreeBSD and MacOSX.
29922 From Yves Blusseau <cl7m42e02@sneakemail.com>
29923
29924 * kern/dl.c (grub_dl_resolve_symbol): Make static.
29925 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
29926
29927 * util/misc.c: Move grub_reboot() and grub_halt() ...
29928 * util/grub-emu.c: ... here. Make main_env static.
29929 * include/grub/util/misc.h: Remove main_env.
29930
29931 * kern/mm.c: Use correct format to print size_t.
29932
29933 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
29934 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
29935 * kern/powerpc/dl.c: Likewise.
29936 * kern/sparc64/dl.c: Likewise.
29937 * kern/x86_64/dl.c: Likewise.
29938
29939 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29940
29941 Fix grub-emu build on sparc64-ieee1275.
29942
29943 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
29944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
29945
29946 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29947
29948 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
29949 (grub_reboot, grub_halt): New functions.
29950
29951 * util/i386/pc/misc.c: Delete. Update all users.
29952 * util/sparc64/ieee1275/misc.c: Likewise.
29953 * util/powerpc/ieee1275/misc.c: Likewise.
29954
29955 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29956
29957 * conf/i386.rmk (setjmp_mod_SOURCES)
29958 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
29959 * conf/common.rmk (setjmp_mod_SOURCES)
29960 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
29961 to use $(target_cpu).
29962 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
29963 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
29964 * conf/powerpc-ieee1275.rmk: Likewise.
29965 * conf/sparc64-ieee1275.rmk: Likewise.
29966
29967 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
29968 $(target_cpu) for kern/$(target_cpu)/dl.c.
29969 * conf/i386-efi.rmk: Likewise.
29970 * conf/i386-ieee1275.rmk: Likewise.
29971 * conf/x86_64-efi.rmk: Likewise.
29972 * conf/i386-coreboot.rmk: Likewise.
29973 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
29974 $(target_cpu) for kern/$(target_cpu)/dl.c and for
29975 kern/$(target_cpu)/cache.S.
29976 * conf/sparc64-ieee1275.rmk: Likewise.
29977
29978 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
29979
29980 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
29981 type to `grub_uint8_t', and adjust `padding9' accordingly.
29982
29983 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
29984
29985 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
29986
29987 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
29988 assembly in final jump, using register constraints.
29989
29990 (grub_linux_boot): For text mode, initialize `have_vga' using
29991 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
29992
29993 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
29994 right before the final jump.
29995
29996 Set `video_mode' to 0x3.
29997
29998 Document initialization of `video_page', `video_mode' and
29999 `video_ega_bx'.
30000
30001 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30002
30003 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30004 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
30005 and set GRUB_LINUX_FLAG_QUIET appropriately.
30006
30007 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30008
30009 Fix build on Debian / sparc.
30010
30011 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30012
30013 2009-06-28 Pavel Roskin <proski@gnu.org>
30014
30015 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30016 fix a warning.
30017
30018 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30019
30020 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30023 `err'.
30024
30025 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30026
30027 Revert r2338.
30028
30029 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30030 file can't be opened. grub_file_open() is already supposed to set
30031 grub_errno / grub_errmsg appropriately.
30032 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30033
30034 2009-06-27 Pavel Roskin <proski@gnu.org>
30035 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30036
30037 * include/grub/dl.h: Include grub/elf.h.
30038 (struct grub_dl): Add symtab field.
30039 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30040 GRUB_MODULES_MACHINE_READONLY.
30041 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30042 of the header for read-only modules.
30043 (grub_dl_unload): Free mod->symtab for read-only modules.
30044 * kern/i386/dl.c: Use mod->symtab.
30045 * kern/powerpc/dl.c: Likewise.
30046 * kern/sparc64/dl.c: Likewise.
30047 * kern/x86_64/dl.c: Likewise.
30048
30049 * conf/i386-qemu.rmk: New file.
30050 * kern/i386/qemu/startup.S: Likewise.
30051 * kern/i386/qemu/mmap.c: Likewise.
30052 * boot/i386/qemu/boot.S: Likewise.
30053 * include/grub/i386/qemu/time.h: Likewise.
30054 * include/grub/i386/qemu/serial.h: Likewise.
30055 * include/grub/i386/qemu/kernel.h: Likewise.
30056 * include/grub/i386/qemu/console.h: Likewise.
30057 * include/grub/i386/qemu/boot.h: Likewise.
30058 * include/grub/i386/qemu/init.h: Likewise.
30059 * include/grub/i386/qemu/machine.h: Likewise.
30060 * include/grub/i386/qemu/loader.h: Likewise.
30061 * include/grub/i386/qemu/memory.h: Likewise.
30062
30063 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30064 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30065 [qemu] (pkglib_IMAGES): Add `boot.img'.
30066 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30067 [qemu] (boot_img_FORMAT): New variables.
30068 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30069 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30070 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30071 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30072 [qemu] (kernel_img_FORMAT): New variables.
30073
30074 * configure.ac: Recognise `i386-qemu'.
30075
30076 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30077 (for no compression).
30078 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30079 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30080 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30081 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30082 ifdefs).
30083
30084 2009-06-27 Pavel Roskin <proski@gnu.org>
30085
30086 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30087 read.
30088 * efiemu/prepare32.c: Likewise.
30089 * efiemu/prepare64.c: Likewise.
30090
30091 2009-06-26 Pavel Roskin <proski@gnu.org>
30092
30093 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30094 * include/grub/elf.h: Define symbols without "32" or "64" based
30095 on GRUB_TARGET_WORDSIZE.
30096 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30097 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30098 ELF definitions.
30099 * efiemu/loadcore64.c: Likewise.
30100 * loader/i386/bsd32.c: Likewise.
30101 * loader/i386/bsd64.c: Likewise.
30102 * kern/dl.c: Remove own ELF definitions.
30103 * util/i386/efi/grub-mkimage.c: Likewise.
30104
30105 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30106
30107 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30108 segment 0x0 unconditionally, because the reference generated by
30109 GAS is an absolute address.
30110
30111 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30112
30113 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30114 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30115
30116 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30117
30118 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30119 indexes. Check for -f explicitly.
30120 (search_file): Improve error message.
30121 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
30122
30123 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30124
30125 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30126 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30127
30128 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30129
30130 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30131 * conf/i386-ieee1275.rmk: Likewise.
30132 * conf/i386-coreboot.rmk: Likewise.
30133
30134 * kern/i386/pc/startup.S (grub_stop): Remove function.
30135 * kern/i386/ieee1275/startup.S: Likewise.
30136 * kern/i386/coreboot/startup.S: Likewise.
30137 * kern/i386/misc.S (grub_stop): New function.
30138
30139 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30140
30141 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30142 * kern/i386/realmode.S (real_to_prot): ... to here.
30143
30144 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30147 with `kernel.img'.
30148 (kernel_elf_SOURCES): Rename to ...
30149 (kernel_img_SOURCES): ... this.
30150 (kernel_elf_HEADERS): Rename to ...
30151 (kernel_img_HEADERS): ... this. Update all users.
30152 (kernel_elf_ASFLAGS): Rename to ...
30153 (kernel_img_ASFLAGS): ... this.
30154 (kernel_elf_CFLAGS): Rename to ...
30155 (kernel_img_CFLAGS): ... this.
30156 (kernel_elf_LDFLAGS): Rename to ...
30157 (kernel_img_LDFLAGS): ... this.
30158 * conf/i386-coreboot.rmk: Likewise.
30159 * conf/powerpc-ieee1275.rmk: Likewise.
30160
30161 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30162 with "kernel.img".
30163
30164 2009-06-21 Pavel Roskin <proski@gnu.org>
30165
30166 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30167 to match nested functions.
30168 * loader/sparc64/ieee1275/linux.c: Likewise.
30169
30170 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30171
30172 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30173
30174 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30175 all i386 platforms.
30176
30177 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 Fix asm file handling on ELF, and remove workarounds.
30180
30181 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
30182 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
30183 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30184 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30185
30186 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30187
30188 Load BSD ELF modules
30189
30190 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30191 and loader/i386/bsd64.c
30192 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30193 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30194 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30195 (grub_freebsd_load_elfmodule32): New declaration
30196 (grub_freebsd_load_elfmoduleobj64): Likewise
30197 (grub_freebsd_load_elf_meta32): Likewise
30198 (grub_freebsd_load_elf_meta64): Likewise
30199 (grub_freebsd_add_meta): Likewise
30200 (grub_freebsd_add_meta_module): Likewise
30201 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30202 (grub_freebsd_add_meta_module): Likewise and move module-specific
30203 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30204 (grub_cmd_freebsd): Add elf-kernel specific parts
30205 based on grub_freebsd_add_meta_module
30206 (grub_cmd_freebsd_module): Add type parsing moved from
30207 grub_freebsd_add_meta_module
30208 (grub_cmd_freebsd_module_elf): New function
30209 (cmd_freebsd_module_elf): New variable
30210 (GRUB_MOD_INIT): Register freebsd_module_elf
30211 * loader/i386/bsd32.c: New file
30212 * loader/i386/bsd64.c: Likewise
30213 * loader/i386/bsdXX.c: Likewise
30214 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30215 (grub_elf64_load): Likewise
30216 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30217 All users updated
30218 (grub_elf64_load_hook_t): Likewise
30219
30220 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
30221
30222 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30223 variable.
30224 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30225 don't write a menu entry for recovery mode.
30226
30227 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30228
30229 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30230 after it's no longer needed.
30231
30232 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30233
30234 * include/grub/i386/loader.h (grub_linux_prot_size)
30235 (grub_linux_tmp_addr, grub_linux_real_addr)
30236 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30237 GRUB_MACHINE_PCBIOS.
30238 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30239 common grub_util_info() call to ...
30240 (generate_image): ... here.
30241 Fix use of uninitialized memory, comparison of signed with
30242 unsigned integers and memory leak.
30243 Remove bogus module address message.
30244
30245 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30246
30247 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30248 grub_raid_register
30249 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30250
30251 2009-06-19 Pavel Roskin <proski@gnu.org>
30252
30253 * configure.ac: Remove stray AC_MSG_CHECKING.
30254
30255 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30256
30257 * disk/scsi.c (grub_scsi_open): use continue instead of big if
30258
30259 2009-06-18 Pavel Roskin <proski@gnu.org>
30260
30261 * conf/common.rmk: Add fs_file.mod.
30262 * disk/fs_file.c: New file.
30263 * include/grub/disk.h (enum grub_disk_dev_id): Add
30264 GRUB_DISK_DEVICE_FILE_ID.
30265
30266 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30267
30268 Fix build with Apple's toolchain. Part 2
30269
30270 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30271 a fake start
30272
30273 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30274
30275 Fix build with Apple's toolchain. Part 1
30276
30277 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30278 for long calls
30279 * configure.ac: remove a leftover AC_MSG_RESULT
30280 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
30281 Apple's toolchain
30282
30283 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30284
30285 Fix warnings
30286
30287 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30288 (decomp_block): initialize ch
30289 use grub_memcpy instead of memcpy
30290
30291 2009-06-17 Pavel Roskin <proski@gnu.org>
30292
30293 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30294 version, use declarations needed to use vga_text as the startup
30295 console.
30296
30297 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30298 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30299 the kernel.
30300 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30301 and grub_at_keyboard_fini(), it's done on module load and
30302 unload.
30303
30304 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
30305
30306 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30307 file can't be found.
30308 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30309
30310 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30311
30312 Fix newline handling
30313
30314 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
30315 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
30316 (grub_script_yylex): don't segfault on unterminated script
30317 newline terminates command and variable
30318
30319 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30320
30321 avoid double grub_adjust_range call. Bug reported by David Simner
30322
30323 * kern/disk.c (grub_disk_write): change to raw disk access before
30324 calling disk_read
30325
30326 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
30327
30328 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30329 spaces, for the benefit of help2man.
30330 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30331
30332 2009-06-16 Pavel Roskin <proski@gnu.org>
30333
30334 * kern/i386/halt.c: Include grub/machine/init.h.
30335 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30336
30337 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
30338
30339 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30340 drivemap menuentry.
30341
30342 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30343
30344 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30345 `echo' command.
30346
30347 2009-06-16 Pavel Roskin <proski@gnu.org>
30348
30349 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30350 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30351 save %dx, we only need %dl and we never change it.
30352 * boot/i386/pc/cdboot.S: Don't set the root drive.
30353 * boot/i386/pc/pxeboot.S: Likewise.
30354 * include/grub/i386/pc/boot.h: Remove
30355 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30356 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30357 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30358 * kern/i386/pc/init.c (make_install_device): Remove references
30359 to grub_root_drive.
30360 * kern/i386/pc/startup.S: Likewise.
30361 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30362
30363 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30364
30365 xnu_uuid command
30366
30367 * commands/xnu_uuid.c: new file
30368 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30369 (xnu_uuid_mod_SOURCES): new variable
30370 (xnu_uuid_mod_CFLAGS): likewise
30371 (xnu_uuid_mod_LDFLAGS): likewise
30372 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30373 * conf/i386-ieee1275.rmk: likewise
30374 * conf/i386-pc.rmk: likewise
30375 * conf/powerpc-ieee1275.rmk: likewise
30376 * conf/sparc64-ieee1275.rmk: likewise
30377 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30378
30379 2009-06-16 Pavel Roskin <proski@gnu.org>
30380
30381 * configure.ac: Avoid '==' in test command, it's not portable.
30382
30383 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30384
30385 Probe command
30386
30387 * commands/probe.c: new file
30388 * conf/common.rmk (pkglib_MODULES): add probe.mod
30389 (probe_mod_SOURCES): new variable
30390 (probe_mod_CFLAGS): likewise
30391 (probe_mod_LDFLAGS): likewise
30392 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30393 * conf/i386-ieee1275.rmk: likewise
30394 * conf/i386-pc.rmk: likewise
30395 * conf/powerpc-ieee1275.rmk: likewise
30396 * conf/sparc64-ieee1275.rmk: likewise
30397
30398 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
30399
30400 Fix handling of string like \"hello\" and "a
30401 b"
30402
30403 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
30404 (grub_script_yylex): fix parsing of quoting, escaping and newline
30405
30406 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
30407
30408 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
30409 handling
30410
30411 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
30412
30413 * util/grub-mkconfig.in: Fix parsing of --output option.
30414
30415 2009-06-12 Pavel Roskin <proski@gnu.org>
30416
30417 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
30418 genmk.rb don't need to be generated or installed.
30419
30420 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
30421
30422 * commands/i386/pc/drivemap_int13h.S: add more comments
30423
30424 2009-06-11 Pavel Roskin <proski@gnu.org>
30425
30426 * Makefile.in (uninstall): Uninstall manuals.
30427
30428 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
30429 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
30430 and update-grub_lib in two places.
30431 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
30432
30433 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
30434 a compiler warning.
30435
30436 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
30437 `entry_lo' to fix variable shadowing.
30438
30439 2009-06-11 Christian Franke <franke@computer.org>
30440
30441 * kern/misc.c (__enable_execute_stack): Add missing return type
30442 to prevent gcc warning.
30443
30444 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30445
30446 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
30447
30448 2009-06-11 Pavel Roskin <proski@gnu.org>
30449
30450 * Makefile.in: Don't rely on any scripts being executable.
30451 Always use $(SHELL) to run shell scripts.
30452
30453 * configure.ac: Always define ___main if using -nostdlib. This
30454 fixes tests on Cygwin.
30455
30456 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
30457
30458 UDF fix
30459
30460 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
30461 is in bytes and not in blocks
30462
30463 2009-06-11 Pavel Roskin <proski@gnu.org>
30464
30465 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
30466 warning.
30467
30468 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
30469
30470 * util/grub.d/30_os-prober.in: Fix a comment. Source
30471 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
30472 to set the root device. Place drivemap command in the generated
30473 chain entry.
30474
30475 2009-06-11 Pavel Roskin <proski@gnu.org>
30476
30477 * configure.ac: Remove host_m32. Issues with 64-bit utilities
30478 have long been resolved.
30479
30480 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
30481
30482 * util/grub.d/10_linux.in: Capitalise "Linux".
30483
30484 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
30485
30486 2009-06-11 Pavel Roskin <proski@gnu.org>
30487
30488 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
30489 fix a gcc warning and ensure that the function won't ever exit.
30490
30491 * kern/i386/ieee1275/init.c: Add missing prototype for
30492 grub_stop_floppy().
30493
30494 * loader/ieee1275/multiboot2.c [__i386__]: Include
30495 grub/cpu/multiboot.h.
30496
30497 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
30498 casts to short - they are not portable and cause warnings. Fix
30499 use of uninitialized values in input_buf. Use ARRAY_SIZE.
30500
30501 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
30502
30503 Drivemap fixes
30504
30505 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
30506 new function
30507 (grub_get_root_biosnumber_saved): new variable
30508 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
30509 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
30510 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
30511 %dx after the call if necessary
30512 * conf/common.rmk (pkglib_MODULES): remove boot.mod
30513 (boot_mod_SOURCES): remove
30514 (boot_mod_CFLAGS): remove
30515 (boot_mod_LDFLAGS): remove
30516 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
30517 (boot_mod_SOURCES): new variable
30518 (boot_mod_CFLAGS): likewise
30519 (boot_mod_LDFLAGS): likewise
30520 * conf/i386-efi.rmk: likewise
30521 * conf/i386-ieee1275.rmk: likewise
30522 * conf/i386-pc.rmk: likewise
30523 * conf/powerpc-ieee1275.rmk: likewise
30524 * conf/sparc64-ieee1275.rmk: likewise
30525 * conf/x86_64-efi.rmk: likewise
30526 * include/grub/i386/pc/biosnum.h: new file
30527 * lib/i386/pc/biosnum.c: likewise
30528 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
30529 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
30530 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
30531
30532 2009-06-10 Pavel Roskin <proski@gnu.org>
30533
30534 * io/gzio.c (test_header): Don't reuse one buffer for all data.
30535 Use separate variables. Read only the file size at the end, but
30536 not the checksum that we don't use.
30537
30538 * kern/file.c (grub_file_read): Use void pointer for the buffer.
30539 Adjust all callers.
30540
30541 * kern/ieee1275/openfw.c: Remove libc includes.
30542 * kern/ieee1275/cmain.c: Likewise.
30543 * include/grub/ieee1275/ieee1275.h: Likewise.
30544
30545 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
30546 compiler warnings.
30547
30548 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30549
30550 * Makefile.in: Remove all trailing whitespace.
30551 * conf/i386-pc.rmk: Likewise.
30552 * conf/powerpc-ieee1275.rmk: Likewise.
30553 * conf/sparc64-ieee1275.rmk: Likewise.
30554 * docs/grub.texi: Likewise.
30555 * docs/texinfo.tex: Likewise.
30556 * disk/fs_uuid.c: Likewise.
30557 * disk/lvm.c: Likewise.
30558 * disk/scsi.c: Likewise.
30559 * disk/ata.c: Likewise.
30560 * disk/ieee1275/ofdisk.c: Likewise.
30561 * disk/i386/pc/biosdisk.c: Likewise.
30562 * disk/host.c: Likewise.
30563 * disk/raid.c: Likewise.
30564 * disk/efi/efidisk.c: Likewise.
30565 * disk/usbms.c: Likewise.
30566 * disk/memdisk.c: Likewise.
30567 * disk/loopback.c: Likewise.
30568 * kern/powerpc/dl.c: Likewise.
30569 * kern/device.c: Likewise.
30570 * kern/dl.c: Likewise.
30571 * kern/sparc64/dl.c: Likewise.
30572 * kern/ieee1275/ieee1275.c: Likewise.
30573 * kern/term.c: Likewise.
30574 * kern/fs.c: Likewise.
30575 * kern/i386/dl.c: Likewise.
30576 * kern/i386/pc/startup.S: Likewise.
30577 * kern/i386/pc/init.c: Likewise.
30578 * kern/i386/pc/mmap.c: Likewise.
30579 * kern/i386/pc/lzo1x.S: Likewise.
30580 * kern/i386/ieee1275/init.c: Likewise.
30581 * kern/i386/realmode.S: Likewise.
30582 * kern/i386/tsc.c: Likewise.
30583 * kern/partition.c: Likewise.
30584 * kern/corecmd.c: Likewise.
30585 * kern/file.c: Likewise.
30586 * kern/efi/efi.c: Likewise.
30587 * kern/efi/init.c: Likewise.
30588 * kern/efi/mm.c: Likewise.
30589 * kern/main.c: Likewise.
30590 * kern/err.c: Likewise.
30591 * kern/env.c: Likewise.
30592 * kern/disk.c: Likewise.
30593 * kern/generic/millisleep.c: Likewise.
30594 * kern/generic/rtc_get_time_ms.c: Likewise.
30595 * kern/misc.c: Likewise.
30596 * kern/parser.c: Likewise.
30597 * genmk.rb: Likewise.
30598 * configure.ac: Likewise.
30599 * boot/i386/pc/diskboot.S: Likewise.
30600 * boot/i386/pc/pxeboot.S: Likewise.
30601 * boot/i386/pc/boot.S: Likewise.
30602 * boot/i386/pc/lnxboot.S: Likewise.
30603 * boot/i386/pc/cdboot.S: Likewise.
30604 * parttool/pcpart.c: Likewise.
30605 * video/readers/tga.c: Likewise.
30606 * video/video.c: Likewise.
30607 * video/bitmap.c: Likewise.
30608 * lib/envblk.c: Likewise.
30609 * lib/i386/setjmp.S: Likewise.
30610 * fs/xfs.c: Likewise.
30611 * fs/afs.c: Likewise.
30612 * fs/fat.c: Likewise.
30613 * fs/ntfs.c: Likewise.
30614 * fs/udf.c: Likewise.
30615 * fs/affs.c: Likewise.
30616 * fs/iso9660.c: Likewise.
30617 * fs/hfs.c: Likewise.
30618 * fs/fshelp.c: Likewise.
30619 * fs/ext2.c: Likewise.
30620 * fs/jfs.c: Likewise.
30621 * fs/reiserfs.c: Likewise.
30622 * fs/hfsplus.c: Likewise.
30623 * fs/minix.c: Likewise.
30624 * fs/cpio.c: Likewise.
30625 * fs/sfs.c: Likewise.
30626 * fs/ufs.c: Likewise.
30627 * efiemu/prepare.c: Likewise.
30628 * efiemu/loadcore_common.c: Likewise.
30629 * efiemu/runtime/efiemu.sh: Likewise.
30630 * efiemu/runtime/efiemu.S: Likewise.
30631 * efiemu/runtime/efiemu.c: Likewise.
30632 * efiemu/pnvram.c: Likewise.
30633 * efiemu/main.c: Likewise.
30634 * efiemu/i386/pc/cfgtables.c: Likewise.
30635 * efiemu/i386/loadcore64.c: Likewise.
30636 * efiemu/i386/loadcore32.c: Likewise.
30637 * efiemu/loadcore.c: Likewise.
30638 * efiemu/symbols.c: Likewise.
30639 * efiemu/mm.c: Likewise.
30640 * include/grub/autoefi.h: Likewise.
30641 * include/grub/datetime.h: Likewise.
30642 * include/grub/term.h: Likewise.
30643 * include/grub/hfs.h: Likewise.
30644 * include/grub/lvm.h: Likewise.
30645 * include/grub/i386/tsc.h: Likewise.
30646 * include/grub/i386/linux.h: Likewise.
30647 * include/grub/i386/xnu.h: Likewise.
30648 * include/grub/i386/efiemu.h: Likewise.
30649 * include/grub/i386/pc/biosdisk.h: Likewise.
30650 * include/grub/i386/pc/memory.h: Likewise.
30651 * include/grub/i386/pc/vbe.h: Likewise.
30652 * include/grub/parttool.h: Likewise.
30653 * include/grub/video.h: Likewise.
30654 * include/grub/memory.h: Likewise.
30655 * include/grub/fs.h: Likewise.
30656 * include/grub/partition.h: Likewise.
30657 * include/grub/xnu.h: Likewise.
30658 * include/grub/efi/api.h: Likewise.
30659 * include/grub/efi/pe32.h: Likewise.
30660 * include/grub/efi/memory.h: Likewise.
30661 * include/grub/multiboot.h: Likewise.
30662 * include/grub/usbdesc.h: Likewise.
30663 * include/grub/multiboot2.h: Likewise.
30664 * include/grub/acpi.h: Likewise.
30665 * include/grub/efiemu/efiemu.h: Likewise.
30666 * include/grub/disk.h: Likewise.
30667 * include/grub/ieee1275/ieee1275.h: Likewise.
30668 * include/grub/net.h: Likewise.
30669 * include/grub/machoload.h: Likewise.
30670 * include/grub/macho.h: Likewise.
30671 * include/multiboot.h: Likewise.
30672 * genmoddep.awk: Likewise.
30673 * normal/main.c: Likewise.
30674 * normal/menu_entry.c: Likewise.
30675 * normal/menu_viewer.c: Likewise.
30676 * normal/completion.c: Likewise.
30677 * normal/cmdline.c: Likewise.
30678 * normal/misc.c: Likewise.
30679 * normal/datetime.c: Likewise.
30680 * bus/usb/usbtrans.c: Likewise.
30681 * bus/usb/ohci.c: Likewise.
30682 * bus/usb/uhci.c: Likewise.
30683 * bus/usb/usb.c: Likewise.
30684 * mmap/efi/mmap.c: Likewise.
30685 * mmap/i386/pc/mmap_helper.S: Likewise.
30686 * mmap/i386/pc/mmap.c: Likewise.
30687 * mmap/i386/mmap.c: Likewise.
30688 * mmap/i386/uppermem.c: Likewise.
30689 * mmap/mmap.c: Likewise.
30690 * commands/acpi.c: Likewise.
30691 * commands/echo.c: Likewise.
30692 * commands/blocklist.c: Likewise.
30693 * commands/loadenv.c: Likewise.
30694 * commands/usbtest.c: Likewise.
30695 * commands/boot.c: Likewise.
30696 * commands/parttool.c: Likewise.
30697 * commands/search.c: Likewise.
30698 * commands/cat.c: Likewise.
30699 * commands/i386/pc/play.c: Likewise.
30700 * commands/i386/pc/drivemap.c: Likewise.
30701 * commands/i386/pc/vbeinfo.c: Likewise.
30702 * commands/i386/pc/acpi.c: Likewise.
30703 * commands/i386/pc/vbetest.c: Likewise.
30704 * commands/ls.c: Likewise.
30705 * commands/cmp.c: Likewise.
30706 * commands/test.c: Likewise.
30707 * commands/efi/acpi.c: Likewise.
30708 * commands/gptsync.c: Likewise.
30709 * commands/help.c: Likewise.
30710 * partmap/amiga.c: Likewise.
30711 * partmap/apple.c: Likewise.
30712 * partmap/acorn.c: Likewise.
30713 * partmap/pc.c: Likewise.
30714 * partmap/sun.c: Likewise.
30715 * partmap/gpt.c: Likewise.
30716 * script/sh/lexer.c: Likewise.
30717 * script/sh/function.c: Likewise.
30718 * font/font.c: Likewise.
30719 * font/font_cmd.c: Likewise.
30720 * loader/powerpc/ieee1275/linux.c: Likewise.
30721 * loader/efi/chainloader.c: Likewise.
30722 * loader/multiboot_loader.c: Likewise.
30723 * loader/macho.c: Likewise.
30724 * loader/i386/multiboot.c: Likewise.
30725 * loader/i386/linux.c: Likewise.
30726 * loader/i386/pc/linux.c: Likewise.
30727 * loader/i386/pc/multiboot2.c: Likewise.
30728 * loader/i386/pc/chainloader.c: Likewise.
30729 * loader/i386/pc/xnu.c: Likewise.
30730 * loader/i386/bsd_trampoline.S: Likewise.
30731 * loader/i386/efi/linux.c: Likewise.
30732 * loader/i386/multiboot_elfxx.c: Likewise.
30733 * loader/i386/bsd_helper.S: Likewise.
30734 * loader/i386/bsd.c: Likewise.
30735 * loader/i386/linux_trampoline.S: Likewise.
30736 * loader/i386/xnu_helper.S: Likewise.
30737 * loader/i386/xnu.c: Likewise.
30738 * loader/i386/bsd_pagetable.c: Likewise.
30739 * loader/i386/multiboot_helper.S: Likewise.
30740 * loader/xnu.c: Likewise.
30741 * loader/xnu_resume.c: Likewise.
30742 * io/gzio.c: Likewise.
30743 * term/efi/console.c: Likewise.
30744 * term/terminfo.c: Likewise.
30745 * term/ieee1275/ofconsole.c: Likewise.
30746 * term/i386/pc/serial.c: Likewise.
30747 * term/i386/pc/vesafb.c: Likewise.
30748 * term/i386/pc/vga.c: Likewise.
30749 * term/usb_keyboard.c: Likewise.
30750 * term/gfxterm.c: Likewise.
30751 * aclocal.m4: Likewise.
30752 * util/lvm.c: Likewise.
30753 * util/grub.d/30_os-prober.in: Likewise.
30754 * util/grub.d/10_hurd.in: Likewise.
30755 * util/console.c: Likewise.
30756 * util/grub-macho2img.c: Likewise.
30757 * util/grub-probe.c: Likewise.
30758 * util/hostfs.c: Likewise.
30759 * util/i386/pc/grub-mkimage.c: Likewise.
30760 * util/i386/pc/grub-setup.c: Likewise.
30761 * util/i386/efi/grub-mkimage.c: Likewise.
30762 * util/grub-mkconfig.in: Likewise.
30763 * util/raid.c: Likewise.
30764 * util/resolve.c: Likewise.
30765 * util/grub-mkdevicemap.c: Likewise.
30766 * util/grub-emu.c: Likewise.
30767 * util/getroot.c: Likewise.
30768 * util/hostdisk.c: Likewise.
30769 * util/usb.c: Likewise.
30770 * util/grub-editenv.c: Likewise.
30771 * util/misc.c: Likewise.
30772
30773 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
30774
30775 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
30776 `genparttoollist.sh'.
30777 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
30778 Add `*.sh' to the list find searches for and change `mdate.sh'
30779 to `mdate-sh'.
30780
30781 2009-06-10 Pavel Roskin <proski@gnu.org>
30782
30783 * include/grub/multiboot2.h: Provide compatibility defines for
30784 multiboot2.h.
30785 * include/multiboot2.h: Include stdint.h only if needed, using
30786 angle brackets.
30787 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
30788 grub/multiboot2.h.
30789 * loader/ieee1275/multiboot2.c: Likewise.
30790 * loader/multiboot2.c: Likewise.
30791 * loader/multiboot_loader.c: Likewise.
30792
30793 * configure.ac: Use -nostdlib when probing for the target. It
30794 should not be required to have libc for the target.
30795
30796 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
30797 they fail without libc headers for the target.
30798 * include/grub/powerpc/libgcc.h: Use weak attribute for all
30799 exports.
30800 * include/grub/sparc64/libgcc.h: Likewise. Don't use
30801 preprocessor conditionals.
30802
30803 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
30804 build system doesn't need to be aware of the tar.c internals.
30805
30806 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
30807
30808 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
30809
30810 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
30811
30812 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
30813 disk limit to 26 for IDE, Virtio, Xen and SCSI.
30814
30815 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
30816
30817 * util/i386/pc/grub-install.in: Change the error message if UUIDs
30818 aren't available if ata.mod gets used.
30819
30820 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
30821
30822 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
30823 initialising controller.
30824 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30825
30826 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30827
30828 * util/i386/pc/grub-install.in: Add a parameter --disk-module
30829 to choose between ata and biosdisk module on i386-pc.
30830
30831 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
30832
30833 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
30834 Subclass and Programming Interface fields in terms of the 3 byte
30835 Class Code register.
30836 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30837
30838 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
30839 interface is OHCI. Add grub_dprintf for symmetry with
30840 bus/usb/uhci.c.
30841 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
30842 interface is UHCI. Add interf variable for programming
30843 interface. Print interface with class/subclass.
30844
30845 * bus/usb/ohci.c: Set interf with correct field.
30846
30847 * bus/usb/uhci.c: Remove unneeded doubled lines.
30848 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
30849 Remove whitespace inside comment.
30850
30851 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
30852
30853 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
30854 as fallback an equivalent option without depth.
30855
30856 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30857
30858 Not fail if unable to retrieve C/H/S on LBA disks
30859
30860 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
30861 if unable to retrieve C/H/S on LBA disks
30862
30863 2009-06-08 Pavel Roskin <proski@gnu.org>
30864
30865 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
30866 about aliasing.
30867
30868 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30869
30870 * Makefile.in (uninstall): Remove all $lib_DATA files.
30871
30872 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
30873
30874 Bugfix: install on partitionless device
30875
30876 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
30877 is a whole disk
30878
30879 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30880
30881 * Makefile.in (uninstall): Remove all $include_DATA files.
30882
30883 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
30884
30885 * commands/true.c: New file. Implement the true and false commands.
30886 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
30887 (true_mod_SOURCES): New variable.
30888 (true_mod_CFLAGS): Likewise.
30889 (true_mod_LDFLAGS): Likewise.
30890
30891 2009-06-05 Colin D Bennett <colin@gibibit.com>
30892
30893 Optimized font character lookup using binary search instead of linear
30894 search. Fonts now are required to have the character index ordered by
30895 code point.
30896
30897 * font/font.c (load_font_index): Verify that fonts have ordered
30898 character indices.
30899 (find_glyph): Use binary search instead of linear search to find a
30900 character in a font.
30901
30902 2009-06-05 Michael Scherer <misc@mandriva.org>
30903
30904 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
30905 uses case sensitive btree.
30906 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
30907 only for case insensitive filesystems.
30908
30909 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
30910
30911 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
30912 * conf/common.rmk (search_mod_CFLAGS): likewise
30913
30914 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
30917 compensate a compiler bug
30918
30919 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30920
30921 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
30922 instead of '\b'
30923
30924 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30925
30926 Definitions for creating asm symbols with Apple's CC
30927
30928 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
30929 [APPLE_CC] (VARIABLE): likewise
30930
30931 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30932
30933 Disable lnxboot.img when compiled
30934 with Apple's CC
30935
30936 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
30937 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
30938 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
30939 [! APPLE_CC] (CODE_LENG): skip
30940 [! APPLE_CC] (setup_sects): likewise
30941 [! APPLE_CC]: skip filling
30942
30943 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30944
30945 Address in trampolines based on 32-bit registers when compiled
30946 with Apple's CC
30947
30948 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
30949 for addresses
30950 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
30951
30952 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30953
30954 Avoid aliases when compiling with Apple's CC for PCBIOS machine
30955
30956 * kern/misc.c [APPLE_CC] (memcpy): new function
30957 [APPLE_CC] (memmove): likewise
30958 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
30959 (memcpy): define alias conditionally on !APPLE_CC
30960 (memset): likewise
30961 (abort): likewise
30962 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
30963 APPLE_CC are defined
30964 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
30965 (grub_assert_fail): make prototype conditional
30966
30967 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30968
30969 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
30970
30971 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
30972 grub-macho2img
30973 (CLEANFILES): add grub-macho2img
30974 (grub_macho2img_SOURCES): new variable
30975 * kern/i386/pc/startup.S (bss_start): new variable
30976 (bss_end): likewise
30977 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
30978 * util/grub-macho2img.c: new file
30979
30980 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30981
30982 Use objconv when compiling with Apple's CC
30983
30984 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
30985 (efiemu64.o): likewise
30986 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
30987 when compiling with Apple's CC
30988 (efiemu64_s.o): likewise
30989 * configure.ac: check for objconv when compiling with Apple's CC
30990 * genmk.rb: use objconv for modules when compiled with Apple's CC
30991
30992 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30993
30994 Define segment as well as section when compiling with
30995 Apple's CC
30996
30997 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
30998 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
30999 (efiemu_convert_pointer): likewise
31000 (efiemu_set_virtual_address_map): likewise
31001 (efiemu_convert_pointer): likewise
31002 (efiemu_getcrc32): likewise
31003 (init_crc32_table): likewise
31004 (reflect): likewise
31005 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31006 (GRUB_MOD_DEP): likewise
31007
31008 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31009
31010 Allow a compilation without -mcmodel=large
31011
31012 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31013 when compiled without -mcmodel=large
31014 (filter_memory_map): remove memory post 4 GiB when compiled
31015 without -mcmodel=large
31016 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
31017 TARGET_CFLAGS when -mcmodel=large isn't supported
31018
31019 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31020
31021 Remove nested functions in efiemu core
31022
31023 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
31024
31025 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31026
31027 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31028
31029 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31030 temporary storage
31031 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31032 using Apple's CC
31033 (grub_cpu_is_tsc_supported): likewise
31034 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
31035
31036 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31037
31038 Absolute addressing through constant with Apple's cc
31039
31040 * kern/i386/pc/startup.S: Define necessary constants
31041 and address through it when using ABS with Apple's CC
31042 * boot/i386/pc/diskboot.S: likewise
31043 * boot/i386/pc/boot.S: likewise
31044 * boot/i386/pc/lnxboot.S: likewise
31045 * boot/i386/pc/cdboot.S: likewise
31046 * mmap/i386/pc/mmap_helper.S: likewise
31047 * commands/i386/pc/drivemap_int13h.S: likewise
31048
31049 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 Check if compiler is apple cc
31052
31053 * Makefile.in (ASFLAGS): new variable
31054 (TARGET_ASFLAGS): likewise
31055 (TARGET_MODULE_FORMAT): likewise
31056 (TARGET_APPLE_CC): likewise
31057 (OBJCONV): likewise
31058 (TARGET_IMG_CFLAGS): likewise
31059 (TARGET_CPPFLAGS): add includedir
31060 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31061 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31062 Check for linker script only if compiler isn't Apple's CC
31063 (TARGET_MODULE_FORMAT): set
31064 (TARGET_APPLE_CC): likewise
31065 (TARGET_ASFLAGS): likewise
31066 (ASFLAGS): likewise
31067 Check for objcopy only if compiler isn't Apple's CC
31068 Check for BSS symbol only if compiler isn't Apple's CC
31069 * genmk.rb: adapt nm options if we use Apple's utils
31070 * aclocal.m4 (grub_apple_cc): new test
31071 (grub_apple_target_cc): likewise
31072
31073 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 Simplify sed expressions and improve awk
31076
31077 * Makefile.in (install-local): simplify sed expression
31078 * gencmdlist.sh: likewise
31079 * genmoddep.awk: avoid adding module as a dependency of itself
31080
31081 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31082
31083 Add missing start symbols
31084
31085 * boot/i386/pc/boot.S: add start
31086 * boot/i386/pc/pxeboot.S: likewise
31087
31088 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31089
31090 Fix wrong assumptions with grub-mkimage on EFI
31091
31092 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
31093 (relocate_addresses): consider both r_addend and value at offset
31094 (make_mods_section): zerofill modinfo and header
31095 (convert_elf): write prefix here
31096
31097 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31098
31099 Use .asciz instead of .string
31100
31101 * i386/pc/diskboot.S: use .asciz instead of .string
31102 * i386/pc/boot.S: likewise
31103 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31104 (GRUB_MOD_NAME): likewise
31105
31106 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31107
31108 gfxpayload support
31109
31110 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31111 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31112 (grub_video_setup): remove
31113 (grub_video_set_mode): new prototype
31114 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31115 (vid_mode): remove
31116 (linux_vesafb_res): compile only on PCBIOS
31117 (grub_linux_boot): support gfxpayload
31118 * loader/i386/pc/xnu.c (video_hook): new function
31119 (grub_xnu_set_video): support gfxpayload
31120 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31121 (DEFAULT_VIDEO_HEIGHT): likewise
31122 (DEFAULT_VIDEO_FLAGS): likewise
31123 (DEFAULT_VIDEO_MODE): new definition
31124 (video_hook): new function
31125 (grub_gfxterm_init): use grub_video_set_mode
31126 * util/grub.d/30_os-prober.in: remove explicit modesetting before
31127 loading xnu
31128 * video/video.c (grub_video_setup): removed
31129 (grub_video_set_mode): new function based on grub_gfxterm_init and
31130 grub_video_setup
31131
31132 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 Avoid calling biosdisk in drivemap
31135
31136 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31137 (revparse_biosdisk): likewise
31138 (list_mappings): derive name from id directly
31139 (grub_cmd_drivemap): use tryparse_diskstring
31140
31141 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31142
31143 Script fixes
31144
31145 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31146 (grub_lexer_param): add tokenonhold
31147 (grub_script_create_cmdline): remove cmdline. All callers updated
31148 (grub_script_function_create): make functionname
31149 grub_script_arg. All callers updated
31150 (grub_script_execute_argument_to_string): new prototype
31151 * kern/parser.c (state_transitions): reorder
31152 (grub_parser_cmdline_state): fix a bug and make more compact
31153 * script/sh/execute.c (grub_script_execute_argument_to_string):
31154 make global
31155 (grub_script_execute_cmdline): use new format
31156 * script/sh/function.c (grub_script_function_create): make functionname
31157 grub_script_arg. All callers updated
31158 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
31159 (grub_script_yylex): remove
31160 (grub_script_yylex2): renamed to ...
31161 (grub_script_yylex): ...renamed
31162 parse the expressions like a${b}c
31163 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31164 (GRUB_PARSER_TOKEN_VAR): remove
31165 (GRUB_PARSER_TOKEN_NAME): likewise
31166 ("if"): declare as typeless
31167 ("while"): likewise
31168 ("function"): likewise
31169 ("else"): likewise
31170 ("then"): likewise
31171 ("fi"): likewise
31172 (text): remove
31173 (argument): likewise
31174 (script): accept empty scripts and make exit on error
31175 (arguments): use GRUB_PARSER_TOKEN_ARG
31176 (function): likewise
31177 (command): move error handling to script
31178 (menuentry): move grub_script_lexer_ref before
31179 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
31180 argument. All callers updated
31181
31182 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31183
31184 Prevent GRUB from probing floppies during boot.
31185
31186 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31187 * commands/search.c (options): Add --no-floppy.
31188 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31189 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31190 --no-floppy when searching for UUIDs.
31191
31192 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31193
31194 Simplify the code duplication in commands/search.c.
31195
31196 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31197 (search_fs): ... this. Update all users.
31198
31199 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
31200
31201 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31202
31203 2009-05-28 Pavel Roskin <proski@gnu.org>
31204
31205 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31206 Remove the original symlink explicitly.
31207
31208 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31209 just one slash. That's how grub_fshelp_find_file() does it.
31210
31211 2009-05-26 Pavel Roskin <proski@gnu.org>
31212
31213 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31214 to `str'.
31215
31216 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31217 possibly unused.
31218
31219 2009-05-25 Christian Franke <franke@computer.org>
31220
31221 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31222 register.
31223 (grub_atapi_identify): Add wait after drive select.
31224 (grub_ata_identify): Do more strict status register check before
31225 calling grub_atapi_identify (). Suppress error message if status
31226 register is 0x00 after command failure. Add status register
31227 check after PIO read to avoid bogus identify due to stuck DRQ.
31228 Thanks to Pavel Roskin for testing.
31229 (grub_device_initialize): Remove unsafe status register check.
31230 Thanks to 'phcoder' for problem report and patch.
31231 Prevent sign extension in debug message.
31232
31233 2009-05-23 Colin D Bennett <colin@gibibit.com>
31234
31235 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31236 definition file, and functions defined in `normal/menu.c' have had
31237 their prototypes moved to `include/grub/menu.h' for consistency.
31238
31239 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31240 from normal.h.
31241 (grub_menu_get_entry): Likewise.
31242 (grub_menu_get_timeout): Likewise.
31243 (grub_menu_set_timeout): Likewise.
31244 (grub_menu_execute_entry): Likewise.
31245 (grub_menu_execute_with_fallback): Likewise.
31246 (grub_menu_entry_run): Likewise.
31247
31248 * include/grub/normal.h: Re-ordered and grouped function
31249 prototypes by file that the function is defined in.
31250 (grub_menu_execute_callback): Removed; moved to menu.h.
31251 (grub_menu_get_entry): Likewise.
31252 (grub_menu_get_timeout): Likewise.
31253 (grub_menu_set_timeout): Likewise.
31254 (grub_menu_execute_entry): Likewise.
31255 (grub_menu_execute_with_fallback): Likewise.
31256 (grub_menu_entry_run): Likewise.
31257 (grub_menu_addentry): Renamed from this ...
31258 (grub_normal_add_menu_entry): ... to this.
31259
31260 * normal/main.c (grub_menu_addentry): Renamed from this ...
31261 (grub_normal_add_menu_entry): ... to this.
31262
31263 * script/sh/execute.c (grub_script_execute_menuentry): Update
31264 reference to renamed grub_menu_addentry function.
31265
31266 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
31267
31268 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31269
31270 2009-05-22 Pavel Roskin <proski@gnu.org>
31271
31272 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31273 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31274 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31275 compiling for the i386 targets, but not for the utilities.
31276
31277 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31278 to grub_uint8_t.
31279 (grub_root_drive): Likewise.
31280 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31281 remove alignment.
31282 (grub_root_drive): Change size to byte.
31283 (grub_start_addr): Remove.
31284 (grub_end_addr): Likewise.
31285 (grub_apm_bios_info): Likewise.
31286
31287 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
31288
31289 * normal/i386: Remove.
31290 * normal/powerpc: Likewise.
31291 * normal/sparc64: Likewise.
31292 * normal/x86_64: Likewise.
31293
31294 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31295
31296 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
31297 * loader/i386/linux_trampoline.S: Fix indentation
31298 * loader/i386/xnu_helper.S: Likewise
31299
31300 2009-05-18 Colin D Bennett <colin@gibibit.com>
31301
31302 Display error messages when parsing a Lua statement fails.
31303 Previously, executing a syntactically invalid statement like
31304 ")foo" or "bar;" would silently fail.
31305
31306 * script/lua/grub_main.c (handle_lua_error): New function.
31307 (grub_lua_parse_line): Improved reporting of Lua parser and
31308 execution errors.
31309
31310 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31311
31312 Remove -Werror which causes build to fail on some systems
31313
31314 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31315 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31316 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
31317
31318 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31319
31320 trampoline for linux on 64-bit platform
31321
31322 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31323 loader/i386/efi/linux_trampoline.S
31324 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
31325 declaration
31326 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31327 here
31328 * loader/i386/linux_trampoline.S: moved here
31329 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31330 trampoline
31331 (jumpvector): removed
31332 (grub_linux_trampoline_start): new declaration
31333 (grub_linux_trampoline_end): likewise
31334 (grub_linux_boot): use trampoline when on 64-bit platform
31335 * loader/i386/linux.c: likewise
31336
31337 2009-05-16 Pavel Roskin <proski@gnu.org>
31338
31339 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31340 const to avoid a warning.
31341 (grub_lua_setenv): Likewise.
31342 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31343 lmsg to fix a warning.
31344
31345 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31346
31347 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
31348 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31349 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31350 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31351 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31352 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31353 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31354 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31355
31356 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
31357
31358 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31359
31360 2009-05-16 Bean <bean123ch@gmail.com>
31361
31362 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31363 (lua_mod_SOURCES): New variable.
31364 (lua_mod_CFLAGS): Likewise.
31365 (lua_mod_LDFLAGS): Likewise.
31366
31367 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31368 (setjmp_mod_SOURCES): New variable.
31369 (setjmp_mod_CFLAGS): Likewise.
31370 (setjmp_LDFLAGS): Likewise.
31371
31372 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31373 (setjmp_mod_SOURCES): New variable.
31374 (setjmp_mod_CFLAGS): Likewise.
31375 (setjmp_LDFLAGS): Likewise.
31376
31377 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31378 (setjmp_mod_SOURCES): New variable.
31379 (setjmp_mod_CFLAGS): Likewise.
31380 (setjmp_LDFLAGS): Likewise.
31381
31382 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31383 (setjmp_mod_SOURCES): New variable.
31384 (setjmp_mod_CFLAGS): Likewise.
31385 (setjmp_LDFLAGS): Likewise.
31386
31387 * normal/i386/setjmp.S: Moved from here ...
31388 * lib/i386/setjmp.S: ... Moved here
31389 * normal/x86_64/setjmp.S: Moved from here ...
31390 * lib/x86_64/setjmp.S: ... Moved here
31391 * normal/powerpc/setjmp.S: Moved from here ...
31392 * lib/powerpc/setjmp.S: ... Moved here
31393 * normal/sparc64/setjmp.S: Moved from here ...
31394 * lib/sparc64/setjmp.S: ... Moved here
31395
31396 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
31397 returns_twice in mingw.
31398
31399 * script/lua/grub_lib.c: New file.
31400 * script/lua/grub_lib.h: Likewise.
31401 * script/lua/grub_lua.h: Likewise.
31402 * script/lua/grub_main.c: Likewise.
31403 * script/lua/lapi.c: Likewise.
31404 * script/lua/lapi.h: Likewise.
31405 * script/lua/lauxlib.c: Likewise.
31406 * script/lua/lauxlib.h: Likewise.
31407 * script/lua/lbaselib.c: Likewise.
31408 * script/lua/lcode.c: Likewise.
31409 * script/lua/lcode.h: Likewise.
31410 * script/lua/ldblib.c: Likewise.
31411 * script/lua/ldebug.c: Likewise.
31412 * script/lua/ldebug.h: Likewise.
31413 * script/lua/ldo.c: Likewise.
31414 * script/lua/ldo.h: Likewise.
31415 * script/lua/ldump.c: Likewise.
31416 * script/lua/lfunc.c: Likewise.
31417 * script/lua/lfunc.h: Likewise.
31418 * script/lua/lgc.c: Likewise.
31419 * script/lua/lgc.h: Likewise.
31420 * script/lua/linit.c: Likewise.
31421 * script/lua/liolib.c: Likewise.
31422 * script/lua/llex.c: Likewise.
31423 * script/lua/llex.h: Likewise.
31424 * script/lua/llimits.h: Likewise.
31425 * script/lua/lmathlib.c: Likewise.
31426 * script/lua/lmem.c: Likewise.
31427 * script/lua/lmem.h: Likewise.
31428 * script/lua/loadlib.c: Likewise.
31429 * script/lua/lobject.c: Likewise.
31430 * script/lua/lobject.h: Likewise.
31431 * script/lua/lopcodes.c: Likewise.
31432 * script/lua/lopcodes.h: Likewise.
31433 * script/lua/loslib.c: Likewise.
31434 * script/lua/lparser.c: Likewise.
31435 * script/lua/lparser.h: Likewise.
31436 * script/lua/lstate.c: Likewise.
31437 * script/lua/lstate.h: Likewise.
31438 * script/lua/lstring.c: Likewise.
31439 * script/lua/lstring.h: Likewise.
31440 * script/lua/lstrlib.c: Likewise.
31441 * script/lua/ltable.c: Likewise.
31442 * script/lua/ltable.h: Likewise.
31443 * script/lua/ltablib.c: Likewise.
31444 * script/lua/ltm.c: Likewise.
31445 * script/lua/ltm.h: Likewise.
31446 * script/lua/lua.h: Likewise.
31447 * script/lua/luaconf.h: Likewise.
31448 * script/lua/lualib.h: Likewise.
31449 * script/lua/lundump.c: Likewise.
31450 * script/lua/lundump.h: Likewise.
31451 * script/lua/lvm.c: Likewise.
31452 * script/lua/lvm.h: Likewise.
31453 * script/lua/lzio.c: Likewise.
31454 * script/lua/lzio.h: Likewise.
31455
31456 2009-05-16 Bean <bean123ch@gmail.com>
31457
31458 * include/grub/kernel.h (grub_module_header_types): Add type
31459 OBJ_TYPE_CONFIG.
31460
31461 * kern/main.c (grub_load_config): New function.
31462 (grub_main): Call grub_load_config to read boot config.
31463
31464 * grub-mkimage (generate_image): New parameter config_path.
31465 (options): New option --config.
31466 (main): Parse --config option, and pass it to generate_image.
31467
31468 2009-05-14 Christian Franke <franke@computer.org>
31469
31470 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
31471 This fixes build on Cygwin.
31472
31473 2009-05-14 Pavel Roskin <proski@gnu.org>
31474
31475 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
31476 jump. This saves two bytes, so the typical case of 2 swapped
31477 drives would fit 32 bytes.
31478
31479 2009-05-13 Pavel Roskin <proski@gnu.org>
31480
31481 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
31482 grub_uint32_t to avoid a warning.
31483
31484 * loader/i386/linux.c (allocate_pages): When assigning
31485 real_mode_mem, cast through grub_size_t to fix a warning. The
31486 code already makes sure that the value would fit a pointer.
31487 (grub_linux_setup_video): Cast render_target->data to
31488 grub_size_t to fix a warning.
31489
31490 2009-05-13 Javier Martín <lordhabbit@gmail.com>
31491
31492 * commands/i386/pc/drivemap.c: New file - implement drivemap
31493 command.
31494 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
31495 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
31496
31497 2009-05-13 Pavel Roskin <proski@gnu.org>
31498
31499 * util/i386/pc/grub-setup.c (setup): Remove unused variable
31500 embedding_area_exists.
31501
31502 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
31503
31504 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
31505 it easier to understand / work with.
31506 Improve warning messages for cases where there's no embedding area,
31507 or when it is too small (or core.img too large).
31508
31509 2009-05-13 Pavel Roskin <proski@gnu.org>
31510
31511 * loader/i386/pc/multiboot2.c: Add necessary includes for
31512 grub_multiboot2_real_boot().
31513
31514 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
31515 PX record is always little-endian. We only need the lower 2
31516 bytes of the mode.
31517
31518 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
31519 facilitate code reuse.
31520 (grub_cpio_mount): Use "struct head", not a char buffer. This
31521 fixes a warning reported by gcc 4.4.
31522
31523 * kernel/disk.c (grub_disk_read): Use void pointer for the
31524 buffer.
31525 (grub_disk_write): Use const void pointer for the buffer.
31526 Adjust all callers. Remove unnecessary casts.
31527
31528 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
31529
31530 * util/i386/pc/grub-install.in: Update copyright year.
31531
31532 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31533
31534 gptsync
31535
31536 * commands/gptsync.c: new file
31537 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
31538 (gptsync_mod_SOURCES): new variable
31539 (gptsync_mod_CFLAGS): likewise
31540 (gptsync_mod_LDFLAGS): likewise
31541 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
31542 new definition
31543 (GRUB_PC_PARTITION_TYPE_HFS): likewise
31544 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
31545 * conf/i386-ieee1275.rmk: likewise
31546 * conf/i386-pc.rmk: likewise
31547 * conf/powerpc-ieee1275.rmk: likewise
31548
31549 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
31550
31551 Fixed grub-emu
31552
31553 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
31554 (grub_dl_ref): likewise
31555
31556 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
31557
31558 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
31559 split in two functions (one for msdos and one for gpt).
31560
31561 2009-05-08 Pavel Roskin <proski@gnu.org>
31562
31563 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
31564 not modified.
31565
31566 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
31567 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
31568 Initialize them with -1. Add sanity check for bad1. Eliminate
31569 nerr variable.
31570
31571 2009-05-08 David S. Miller <davem@davemloft.net>
31572
31573 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
31574
31575 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
31576
31577 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
31578 existence.
31579
31580 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
31581
31582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31583 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
31584
31585 2009-05-05 David S. Miller <davem@davemloft.net>
31586
31587 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
31588
31589 2009-05-05 Pavel Roskin <proski@gnu.org>
31590
31591 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
31592 of grub_dl_ref() and grub_dl_unref().
31593 * commands/parttool.c: Remove preprocessor conditionals around
31594 grub_dl_ref() and grub_dl_unref().
31595 * fs/affs.c: Likewise.
31596 * fs/afs.c: Likewise.
31597 * fs/cpio.c: Likewise.
31598 * fs/ext2.c: Likewise.
31599 * fs/fat.c: Likewise.
31600 * fs/hfs.c: Likewise.
31601 * fs/hfsplus.c: Likewise.
31602 * fs/iso9660.c: Likewise.
31603 * fs/jfs.c: Likewise.
31604 * fs/minix.c: Likewise.
31605 * fs/ntfs.c: Likewise.
31606 * fs/reiserfs.c: Likewise.
31607 * fs/sfs.c: Likewise.
31608 * fs/udf.c: Likewise.
31609 * fs/ufs.c: Likewise.
31610 * fs/xfs.c: Likewise.
31611 * include/grub/dl.h: Likewise.
31612 * loader/xnu.c: Likewise.
31613
31614 2009-05-04 Pavel Roskin <proski@gnu.org>
31615
31616 * commands/acpi.c: Remove unused variable my_mod.
31617 * partmap/amiga.c: Likewise.
31618 * partmap/apple.c: Likewise.
31619 * partmap/gpt.c: Likewise.
31620 * partmap/pc.c: Likewise.
31621 * partmap/sun.c: Likewise.
31622 * term/gfxterm.c: Likewise.
31623 * term/i386/pc/vesafb.c: Likewise.
31624 * term/i386/pc/vga.c: Likewise.
31625
31626 2009-05-04 David S. Miller <davem@davemloft.net>
31627
31628 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
31629 pointer args to grub_ieee1275_get_property().
31630
31631 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
31632
31633 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
31634 devices, and do not traverse down under controller nodes.
31635
31636 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
31637 (grub_ofdisk_open): Use it to un-escape "," characters.
31638 * kern/disk.c (find_part_sep): New.
31639 (grub_disk_open): Use it to find the first non-escaped ','
31640 character in the disk name.
31641 * util/ieee1275/devicemap.c (escape_of_path): New.
31642 (grub_util_emit_devicemap_entry): Use it.
31643 * util/sparc64/ieee1275/grub-install.in: Update script to
31644 strip partition specifiers properly by not triggering on
31645 '\' escaped ',' characters.
31646
31647 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31648
31649 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
31650 to 0x300.
31651 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
31652 resolutions.
31653 (linux_vesafb_modes): Add a lot of additional modes to the list (based
31654 on documentation from Wikipedia).
31655
31656 2009-05-04 Pavel Roskin <proski@gnu.org>
31657
31658 * disk/ata.c: Spelling fixes.
31659 * disk/raid.c: Likewise.
31660 * disk/usbms.c: Likewise.
31661 * disk/dmraid_nvidia.c: Likewise.
31662 * kern/ieee1275/openfw.c: Likewise.
31663 * kern/ieee1275/init.c: Likewise.
31664 * kern/ieee1275/cmain.c: Likewise.
31665 * boot/i386/pc/cdboot.S: Likewise.
31666 * video/readers/png.c: Likewise.
31667 * video/i386/pc/vbe.c: Likewise.
31668 * fs/udf.c: Likewise.
31669 * fs/hfs.c: Likewise.
31670 * fs/reiserfs.c: Likewise.
31671 * efiemu/runtime/efiemu.c: Likewise.
31672 * efiemu/main.c: Likewise.
31673 * efiemu/mm.c: Likewise.
31674 * include/grub/elf.h: Likewise.
31675 * include/grub/xnu.h: Likewise.
31676 * include/grub/usbdesc.h: Likewise.
31677 * include/grub/usb.h: Likewise.
31678 * include/grub/script_sh.h: Likewise.
31679 * include/grub/lib/LzmaEnc.h: Likewise.
31680 * include/grub/efiemu/efiemu.h: Likewise.
31681 * include/grub/command.h: Likewise.
31682 * normal/menu.c: Likewise.
31683 * normal/main.c: Likewise.
31684 * normal/datetime.c: Likewise.
31685 * bus/usb/uhci.c: Likewise.
31686 * mmap/i386/uppermem.c: Likewise.
31687 * mmap/mmap.c: Likewise.
31688 * commands/acpi.c: Likewise.
31689 * commands/test.c: Likewise.
31690 * partmap/apple.c: Likewise.
31691 * font/font.c: Likewise.
31692 * loader/sparc64/ieee1275/linux.c: Likewise.
31693 * loader/macho.c: Likewise.
31694 * loader/i386/bsd_trampoline.S: Likewise.
31695 * loader/i386/bsd.c: Likewise.
31696 * loader/xnu.c: Likewise.
31697 * term/i386/pc/vesafb.c: Likewise.
31698 * term/usb_keyboard.c: Likewise.
31699 * util/resolve.c: Likewise.
31700 * util/getroot.c: Likewise.
31701
31702 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31703
31704 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
31705
31706 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31707
31708 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
31709 build error.
31710
31711 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31712
31713 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
31714 parameter only available on BIOS.
31715
31716 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31717
31718 Removed wrong semicolon in declaration
31719
31720 * grub/misc.h (grub_dprintf): remove semicolon
31721
31722 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31723
31724 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
31725 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
31726 is done by grub_cmd_linux() now).
31727 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
31728 restore video to text mode.
31729 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
31730 indicates lack of "vga=" parameter. "vga=0" is mapped to
31731 `GRUB_LINUX_VID_MODE_NORMAL'.
31732
31733 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
31734
31735 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
31736 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
31737 and `normal/script.c'. Add `kern/rescue_reader.c',
31738 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
31739 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
31740 `grub_script.tab.c'.
31741
31742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31743 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31745 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31747
31748 * Makefile.in: Remove duplicated 2008 in Copyright line.
31749
31750 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
31751
31752 * util/misc.c (grub_util_warn): New function. Emits a warning
31753 unconditionally.
31754 * include/grub/util/misc.h (grub_util_warn): New declaration.
31755
31756 * util/i386/pc/grub-install.in: Understand --force and pass it down
31757 to grub-setup.
31758
31759 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
31760 down to setup().
31761 (setup): Improve error messages and add warnings when requested to
31762 install in odd layouts. Refuse to install using blocklists unless
31763 --force was set.
31764
31765 2009-05-04 martin f. krafft <madduck@madduck.net>
31766
31767 * disk/raid.c (grub_raid_scan_device): Improve debug message.
31768
31769 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31770
31771 Updated copyright year
31772
31773 * fs/hfsplus.c: updated copyright year
31774
31775 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
31776
31777 HFS+ UUID
31778
31779 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
31780 in the space previously used by unused3
31781 (grub_hfsplus_uuid): new function
31782 (grub_hfsplus_fs): added uuid field
31783
31784 2009-05-03 Pavel Roskin <proski@gnu.org>
31785
31786 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
31787 suppress warnings. It's no longer needed.
31788 * disk/host.c: Likewise.
31789 * disk/ata_pthru.c: Likewise.
31790 * disk/loopback.c: Likewise.
31791 * hook/datehook.c: Likewise.
31792 * parttool/pcpart.c: Likewise.
31793 * fs/i386/pc/pxe.c: Likewise.
31794 * fs/ntfscomp.c: Likewise.
31795 * efiemu/main.c: Likewise.
31796 * mmap/mmap.c: Likewise.
31797 * commands/crc.c: Likewise.
31798 * commands/hexdump.c: Likewise.
31799 * commands/hdparm.c: Likewise.
31800 * commands/acpi.c: Likewise.
31801 * commands/echo.c: Likewise.
31802 * commands/minicmd.c: Likewise.
31803 * commands/blocklist.c: Likewise.
31804 * commands/memrw.c: Likewise.
31805 * commands/loadenv.c: Likewise.
31806 * commands/usbtest.c: Likewise.
31807 * commands/lsmmap.c: Likewise.
31808 * commands/boot.c: Likewise.
31809 * commands/parttool.c: Likewise.
31810 * commands/configfile.c: Likewise.
31811 * commands/search.c: Likewise.
31812 * commands/ieee1275/suspend.c: Likewise.
31813 * commands/cat.c: Likewise.
31814 * commands/i386/pc/pxecmd.c: Likewise.
31815 * commands/i386/pc/play.c: Likewise.
31816 * commands/i386/pc/halt.c: Likewise.
31817 * commands/i386/pc/vbeinfo.c: Likewise.
31818 * commands/i386/pc/vbetest.c: Likewise.
31819 * commands/lspci.c: Likewise.
31820 * commands/date.c: Likewise.
31821 * commands/handler.c: Likewise.
31822 * commands/ls.c: Likewise.
31823 * commands/test.c: Likewise.
31824 * commands/cmp.c: Likewise.
31825 * commands/efi/loadbios.c: Likewise.
31826 * commands/efi/fixvideo.c: Likewise.
31827 * commands/halt.c: Likewise.
31828 * commands/help.c: Likewise.
31829 * commands/reboot.c: Likewise.
31830 * hello/hello.c: Likewise.
31831 * script/sh/main.c: Likewise.
31832 * loader/xnu.c: Likewise.
31833 * term/terminfo.c: Likewise.
31834 * term/i386/pc/serial.c: Likewise.
31835 * term/usb_keyboard.c: Likewise.
31836
31837 2009-05-03 David S. Miller <davem@davemloft.net>
31838
31839 * normal/menu.c: Include grub/parser.h
31840
31841 2009-05-03 Pavel Roskin <proski@gnu.org>
31842
31843 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
31844 not char*.
31845 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
31846 Suggested by Javier Martín <lordhabbit@gmail.com>
31847
31848 * util/i386/pc/grub-mkrescue.in: Allow for the case when
31849 efiemu??.o doesn't exist.
31850 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
31851 copying.
31852
31853 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
31854
31855 FreeBSD 64-bit support
31856
31857 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
31858 and loader/i386/bsd_trampoline.S
31859 (bsd_mod_ASFLAGS): new variable
31860 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
31861 (FREEBSD_MODTYPE_KERNEL64): likewise
31862 (grub_bsd64_trampoline_start): likewise
31863 (grub_bsd64_trampoline_end): likewise
31864 (grub_bsd64_trampoline_selfjump): likewise
31865 (grub_bsd64_trampoline_gdt): likewise
31866 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
31867 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
31868 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
31869 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
31870 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31871 of "attrib" member
31872 * loader/i386/bsd_pagetable.c: new file
31873 * loader/i386/bsd_trampoline.S: likewise
31874 * loader/i386/bsd.c (ALIGN_QWORD): new macro
31875 (ALIGN_VAR): likewise
31876 (entry_hi): new variable
31877 (kern_end_mdofs): likewise
31878 (is_64bit): likewise
31879 (grub_freebsd_add_meta): use ALIGN_VAR
31880 (grub_e820_mmap): new declaration
31881 (grub_freebsd_add_mmap): new function
31882 (grub_freebsd_add_meta_module): support 64 bit kernels
31883 (grub_freebsd_list_modules): use ALIGN_VAR
31884 (gdt_descriptor): new declaration
31885 (grub_freebsd_boot): support 64 bit kernels
31886 (grub_bsd_elf64_hook): new function
31887 (grub_bsd_load_elf): support elf64
31888
31889 2009-05-03 Bean <bean123ch@gmail.com>
31890
31891 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
31892 after we get the result of if statement.
31893
31894 2009-05-03 Bean <bean123ch@gmail.com>
31895
31896 * Makefile.in (enable_efiemu): New variable.
31897
31898 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
31899 set.
31900 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
31901 path.
31902 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
31903 path, add -mno-red-zone option.
31904 (efiemu64_s.o): Likewise.
31905 (efiemu64.o): Use macro $^ for source file.
31906
31907 * configure.ac (--enable-efiemu): New option.
31908
31909 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31910
31911 xnu support
31912
31913 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
31914 (pkglib_MODULES): add xnu.mod
31915 (xnu_mod_SOURCES): new variable
31916 (xnu_mod_CFLAGS): likewise
31917 (xnu_mod_LDFLAGS): likewise
31918 (xnu_mod_ASFLAGS): likewise
31919 * conf/i386-pc.rmk: likewise
31920 * conf/x86_64-efi.rmk: likewise
31921 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
31922 new declaration
31923 * include/grub/i386/macho.h: new file
31924 * include/grub/i386/xnu.h: likewise
31925 * include/grub/macho.h: likewise
31926 * include/grub/machoload.h: likewise
31927 * include/grub/x86_64/macho.h: likewise
31928 * include/grub/x86_64/xnu.h: likewise
31929 * include/grub/xnu.h: likewise
31930 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
31931 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
31932 * loader/i386/efi/xnu.c: new file
31933 * loader/i386/pc/xnu.c: likewise
31934 * loader/i386/xnu.c: likewise
31935 * loader/i386/xnu_helper.S: likewise
31936 * loader/macho.c: likewise
31937 * loader/xnu.c: likewise
31938 * loader/xnu_resume.c: likewise
31939 * util/grub-dumpdevtree: likewise
31940 * include/grub/i386/pit.h: include grub/err.h
31941 (grub_pit_wait): export
31942 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
31943
31944 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31945
31946 Efiemu
31947
31948 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
31949 _linux_efi, linux_efi.
31950 new files in grub-emu
31951 new targets efiemu32.o and efiemu64.o
31952 * loader/linux_normal_efiemu.c: likewise
31953 * loader/i386/efi/linux.c: added preliminary efiemu support
31954 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
31955 files to copy
31956 * include/grub/autoefi.h: new file
31957 * include/grub/i386/efiemu.h: likewise
31958 * include/grub/i386/pc/efiemu.h: likewise
31959 * include/grub/efi/api.h: add LL suffix when necessary
31960 new definitions relating to tables
31961 * include/grub/efiemu/efiemu.h: new file
31962 * include/grub/efiemu/runtime.h: likewise
31963 * efiemu/prepare.c: likewise
31964 * efiemu/loadcore_common.c: likewise
31965 * efiemu/loadcore64.c: likewise
31966 * efiemu/runtime/efiemu.sh: likewise
31967 * efiemu/runtime/efiemu.S: likewise
31968 * efiemu/runtime/efiemu.c: likewise
31969 * efiemu/runtime/config.h: likewise
31970 * efiemu/prepare32.c: likewise
31971 * efiemu/main.c: likewise
31972 * efiemu/modules/pnvram.c: likewise
31973 * efiemu/modules/i386: likewise
31974 * efiemu/modules/i386/pc: likewise
31975 * efiemu/modules/acpi.c: likewise
31976 * efiemu/i386/pc/cfgtables.c: likewise
31977 * efiemu/i386/loadcore64.c: likewise
31978 * efiemu/i386/loadcore32.c: likewise
31979 * efiemu/prepare64.c: likewise
31980 * efiemu/loadcore.c: likewise
31981 * efiemu/symbols.c: likewise
31982 * efiemu/mm.c: likewise
31983 * efiemu/loadcore32.c: likewise
31984
31985 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31986
31987 ACPI spoofing
31988
31989 * commands/acpi.c: new file
31990 * commands/i386/pc/acpi.c: likewise
31991 * commands/efi/acpi.c: likewise
31992 * include/grub/acpi.h: likewise
31993 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
31994 (acpi_mod_SOURCES): new variable
31995 (acpi_mod_CFLAGS): likewise
31996 (acpi_mod_LDFLAGS): likewise
31997 * conf/i386-efi.rmk: likewise
31998 * conf/x86_64-efi.rmk: likewise
31999
32000 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32001
32002 Missing part from mmap patch
32003
32004 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32005 (grub_mmap_unregister)
32006 (grub_mmap_free_and_unregister): use grub_mmap_register
32007
32008 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32009
32010 Mmap services
32011
32012 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32013 * loader/i386/linux.c (find_mmap_size): likewise
32014 (allocate_pages): likewise
32015 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32016 (grub_fill_multiboot_mmap): likewise
32017 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32018 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32019 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32020 (OPENBSD_MMAP_RESERVED): likewise
32021 * include/grub/i386/pc/memory.h: include grub/memory.h
32022 (grub_lower_mem): removed
32023 (grub_upper_mem): likewise
32024 (GRUB_MACHINE_MEMORY_ACPI): new definition
32025 (GRUB_MACHINE_MEMORY_NVS): likewise
32026 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32027 (GRUB_MACHINE_MEMORY_HOLE): likewise
32028 (grub_machine_mmap_register): likewise
32029 (grub_machine_mmap_unregister): likewise
32030 (grub_machine_get_upper): likewise
32031 (grub_machine_get_lower): likewise
32032 (grub_machine_get_post64): likewise
32033 * include/grub/i386/efi/memory.h: new file
32034 * include/grub/x86_64/efi/memory.h: likewise
32035 * include/grub/efi/memory.h: likewise
32036 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32037 (mmap_mod_SOURCES): new variable
32038 (mmap_mod_LDFLAGS): likewise
32039 (mmap_mod_ASFLAGS): likewise
32040 * conf/i386-coreboot.rmk: likewise
32041 * conf/i386-ieee1275.rmk: likewise
32042 * conf/i386-efi.rmk: likewise
32043 * conf/x86_64-efi.rmk: likewise
32044 * include/grub/types.h (UINT_TO_PTR): new macro
32045 (PTR_TO_UINT32): likewise
32046 (PTR_TO_UINT64): likewise
32047 * include/grub/memory.h: new file
32048 * mmap/i386/pc/mmap.c: likewise
32049 * mmap/i386/pc/mmap_helper.S: likewise
32050 * mmap/i386/uppermem.c: likewise
32051 * mmap/mmap.c: likewise
32052 * mmap/efi/mmap.c: likewise
32053 * kern/i386/coreboot/init.c (grub_machine_init): don't use
32054 grub_upper_mem
32055 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32056 (grub_upper_mem): likewise
32057 (grub_machine_init): don't use grub_upper_mem,
32058 make grub_lower_mem local
32059 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32060 grub_mmap_iterate and grub_mmap_get_upper
32061 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32062
32063 2009-05-02 Bean <bean123ch@gmail.com>
32064
32065 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32066 script/sh/parser.y.
32067 (pkglib_MODULES): Add normal.mod and sh.mod.
32068 (normal_SOURCES): New variable.
32069 (normal_mod_CFLAGS): Likewise.
32070 (normal_mod_LDFLAGS): Likewise.
32071 (sh_mod_SOURCES): Likewise.
32072 (sh_mod_CFLAGS): Likewise.
32073 (sh_mod_LDFLAGS): Likewise.
32074
32075 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32076 script/sh/lexer.c_DEPENDENCIES.
32077 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32078 kern/rescue_reader.c and kern/rescue_parser.c.
32079 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32080 (grub_emu_SOURCES): Change source files.
32081 (pkglib_MODULES): Remove normal.mod.
32082 (normal_SOURCES): Removed.
32083 (normal_mod_CFLAGS): Likewise.
32084 (normal_mod_LDFLAGS): Likewise.
32085 * conf/i386-coreboot.rmk: Likewise.
32086 * conf/i386-efi.rmk: Likewise.
32087 * conf/i386-ieee1276.rmk: Likewise.
32088 * conf/powerpc-ieee1275.rmk: Likewise.
32089 * conf/sparc64-ieee1275.rmk: Likewise.
32090 * conf/x86_64-efi.rmk: Likewise.
32091
32092 * include/grub/command.h (grub_command_execute): New inline function.
32093
32094 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32095
32096 * include/grub/normal.h: Remove <grub/setjmp.h>.
32097 (grub_fs_module_list): Moved to normal/autofs.c.
32098 (grub_exit_env): Removed.
32099 (grub_command_execute): Likewise.
32100 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32101 parameter script.
32102 (read_command_list): New function declaration.
32103 (read_fs_list): Likewise.
32104
32105 * include/parser.h: Include <grub/reader.h>.
32106 (grub_parser_split_cmdline): Change type of getline parameter.
32107 (grub_parser): New structure.
32108 (grub_parser_class): New variable.
32109 (grub_parser_execute): New function declaration.
32110 (grub_register_rescue_parser): Likewise.
32111 (grub_parser_register): New inline function.
32112 (grub_parser_unregister): Likewise.
32113 (grub_parser_get_current): Likewise.
32114 (grub_parser_set_current): Likewise.
32115
32116 * include/grub/reader.h: New file.
32117 * kern/reader.c: Likewise.
32118 * kern/rescue_parser.c: Likewise.
32119 * kern/rescue_reader.c: Likewise.
32120 * normal/autofs.c: Likewise.
32121 * normal/dyncmd.c: Likewise.
32122
32123 * include/grub/rescue.h: Removed.
32124 * normal/command.h: Likewise.
32125
32126 * include/grub/script.h: Moved to ...
32127 * include/grub/script_sh.h: ... Moved here.
32128 * normal/execute.c: Moved to ...
32129 * script/sh/execute.c: ... Moved here.
32130 * normal/function.c: Moved to ...
32131 * script/sh/function.c: ... Moved here.
32132 * normal/lexer.c: Moved to ...
32133 * script/sh/lexer.c: ... Moved here.
32134 * normal/parser.y: Moved to ...
32135 * script/sh/parser.y: ... Moved here.
32136 * normal/script.c: Moved to ...
32137 * script/sh/script.c: ... Moved here.
32138
32139 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32140 <grub/reader.h>.
32141 (grub_exit_env): Removed.
32142 (fs_module_list): Moved to normal/autofs.c.
32143 (grub_file_getline): Don't handle comment here.
32144 (free_menu): Skip removed field entry->commands.
32145 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32146 script parameter.
32147 (read_config_file): Removed nested parameter, change getline function.
32148 (grub_enter_normal_mode): Removed.
32149 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32150 (read_command_list): Likewise.
32151 (autoload_fs_module): Moved to normal/autofs.c.
32152 (read_fs_list): Likewise.
32153 (reader_nested): New variable.
32154 (grub_normal_execute): Run parser.sh to switch to sh parser.
32155 (grub_cmd_rescue): Removed.
32156 (cmd_normal): Removed.
32157 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32158 rescue command.
32159 (grub_cmdline_run): New function.
32160 (grub_normal_reader_init): Likewise.
32161 (grub_normal_read_line): Likewise.
32162 (grub_env_write_pager): Likewise.
32163 (cmdline): New variable.
32164 (grub_normal_reader): Likewise.
32165 (GRUB_MOD_INIT): Register normal reader and set as current, register
32166 pager hook, register normal command with grub_register_command_prio,
32167 so that it won't show up in command.lst.
32168 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32169 grub_fs_autoload_hook.
32170
32171 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32172 (grub_menu_execute_entry): Replace grub_script_execute with
32173 grub_parser_execute, change parameter to grub_command_execute.
32174
32175 * normal/menu_text.c: Remove <grub/script.h>.
32176
32177 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32178 and <grub/parser.h>.
32179 (run): Change editor_getline to use new parser interface. Change
32180 parameter to grub_command_execute.
32181
32182 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32183 <grub/reader.h> and <grub/parser.h>.
32184 (grub_load_normal_mode): Execute normal command.
32185 (grub_main): Call grub_register_core_commands,
32186 grub_register_rescue_parser and grub_register_rescue_reader, use
32187 grub_reader_loop to enter input loop.
32188
32189 * kern/parser.c (grub_parser_split_cmdline): Change type of
32190 getline parameter.
32191 (grub_parser_class): New variable.
32192 (grub_parser_execute): New function.
32193
32194 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32195 * loader/multiboot2.c: Likewise.
32196 * loader/sparc64/ieee1275/linux.c: Likewise.
32197
32198 * util/grub-emu.c (read_command_list): New dummy function.
32199
32200 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32201
32202 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32203 count to 16 for CCISS and IDA.
32204
32205 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32206
32207 * normal/menu_text.c (grub_wait_after_message): Print a newline
32208 after waiting for user input.
32209
32210 * loader/i386/linux.c: Include `<grub/normal.h>'.
32211 (grub_cmd_linux): Improve the error message about `ask' mode, by
32212 waiting for user input so it's not missed (we can do this, since
32213 user requested interaction).
32214
32215 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32216
32217 Added missing lst to grub-mkrescue
32218
32219 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32220 and ${input_dir}/parttool.lst
32221
32222 2009-04-30 David S. Miller <davem@davemloft.net>
32223
32224 * util/hostdisk.c (device_is_wholedisk): New function.
32225 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32226 zero only if device_is_wholedisk() returns true.
32227
32228 * util/hostdisk.c (convert_system_partition_to_system_disk):
32229 Handle virtual disk devices named /dev/vdiskX as found on sparc
32230 and powerpc.
32231
32232 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32233 lettered partition specifier is found, convert to numbered.
32234
32235 2009-04-29 David S. Miller <davem@davemloft.net>
32236
32237 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32238 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32239
32240 * normal/command.c: Add missing newline at end of file.
32241
32242 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32243 warnings.
32244 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32245 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32246 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32247 ihandles have a 32-bit type but need to be stored in a "void *".
32248
32249 2009-04-28 Pavel Roskin <proski@gnu.org>
32250
32251 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32252 not disk. Adjust all dependencies.
32253 (grub_fs_uuid_close): Use grub_device_close(), not
32254 grub_disk_close().
32255
32256 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32257 parent's partition, don't copy it by reference, as it gets freed
32258 on close.
32259
32260 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32261
32262 Preboot hooks support
32263
32264 * commands/boot.c (struct grub_preboot_t): new declaration
32265 (preboots_head): new variable
32266 (preboots_tail): likewise
32267 (grub_loader_register_preboot_hook): new function
32268 (grub_loader_unregister_preboot_hook): likewise
32269 (grub_loader_set): launch preboot hooks
32270 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32271 (grub_loader_register_preboot_hook): new declaration
32272 (grub_loader_unregister_preboot_hook): likewise
32273
32274 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32275
32276 Warning fix
32277
32278 * disk/scsi.c (grub_scsi_open): added missing cast when
32279 calling grub_dprintf
32280
32281 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32282
32283 Bug and warning fixes
32284
32285 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
32286 declaration
32287 * commands/test.c (test_parse): fixed bug with file tests and corrected
32288 declaration of find_file
32289
32290 2009-04-26 Pavel Roskin <proski@gnu.org>
32291
32292 * Makefile.in: Don't install empty manual pages if help2man is
32293 missing. Use help2man option for output, not shell redirection.
32294
32295 2009-04-26 David S. Miller <davem@davemloft.net>
32296
32297 * util/grub-mkdevicemap.c (make_device_map): Add missing
32298 NESTED_FUNC_ATTR to process_device().
32299
32300 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 Test command
32303
32304 * commands/test.c: rewritten to use bash-like test
32305
32306 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32307
32308 Parttool autoloading and improvements
32309
32310 * Makefile.in (pkglib_DATA): add parttool.lst
32311 (parttool.lst): new target
32312 * genmk.rb: generate parttool-*
32313 (CLEANFILES): add #{parttool}
32314 (PARTTOOLFILES): new variable
32315 * genparttoollist.sh: new file
32316 * parttool/pcpart.c (grub_pcpart_boot): more feedback
32317 (grub_pcpart_type): likewise
32318 * commands/parttool.c (helpmsg): new variable
32319 (grub_cmd_parttool): output help if not enough arguments are supplied
32320 autoload modules
32321 (GRUB_MOD_INIT(parttool)): use helpmsg
32322
32323 2009-04-24 David S. Miller <davem@davemloft.net>
32324
32325 Avoiding opening same device multiple times in device iterator.
32326
32327 * kern/device.c: (grub_device_iterate): Define struct part_ent,
32328 and use it to build a list of partitions in iterate_disk() and
32329 iterate_partition().
32330
32331 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32332 on disk->data.
32333
32334 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32335 grub_devalias_iterate() result instead of unconditional 0.
32336 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32337 Also, capture hook return value, either directly or via
32338 grub_children_iterate(), and propagate to caller.
32339 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32340 grub_children_iterate): Return value is now 'int' instead of
32341 'grub_err_t'.
32342 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32343 like a proper iterator, stopping when hooks return non-zero.
32344 (grub_devalias_iterate): Likewise.
32345
32346 2009-04-23 David S. Miller <davem@davemloft.net>
32347
32348 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32349
32350 2009-04-22 David S. Miller <davem@davemloft.net>
32351
32352 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32353 is larger than address_cells, use that value for address_cells too.
32354
32355 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32356 IEEE1275_MAX_PATH_LEN): Define.
32357 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32358 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32359 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32360 'devtype'. Explicitly NULL terminate devalias expansion.
32361
32362 * util/sparc64/ieee1275/misc.c: New file.
32363 * util/sparc64/ieee1275/grub-setup.c: New file.
32364 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32365 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32366 * util/sparc64/ieee1275/grub-install.in: New file.
32367 * util/ieee1275/ofpath.c: New file.
32368 * util/ieee1275/devicemap.c: New file.
32369 * util/devicemap.c: New file.
32370 * util/deviceiter.c: New file.
32371 * kern/sparc64/ieee1275/init.c: New file.
32372 * include/grub/util/ofpath.h: New file.
32373 * include/grub/util/deviceiter.h: New file.
32374 * util/grub-mkdevicemap.c: Include deviceiter.h.
32375 Implement using grub_util_emit_devicemap_entry and
32376 grub_util_iterate_devices.
32377 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32378 util/devicemap.c into grub-mkdevicemap
32379 * conf/i386-efi.rmk: Likewise.
32380 * conf/i386-ieee1275.rmk: Likewise.
32381 * conf/i386-pc.rmk: Likewise.
32382 * conf/powerpc-ieee1275.rmk: Likewise.
32383 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32384 images and installation utilities. Build kernel as image
32385 instead of as elf binary. Use common rules as much as possible.
32386
32387 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
32388
32389 Correct GPT definition
32390
32391 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
32392 of "attrib" member
32393
32394 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
32395
32396 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
32397
32398 2009-04-19 David S. Miller <davem@davemloft.net>
32399
32400 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
32401 (grub_rescue_cmd_linux): Rename to...
32402 (grub_cmd_linux): and fix prototype.
32403 (grub_rescue_cmd_initrd): Rename to...
32404 (grub_cmd_initrd): and fix prototype.
32405 (cmd_linux, cmd_initrd): New.
32406 (GRUB_MOD_INIT(linux)): Use grub_register_command().
32407 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
32408
32409 2009-04-17 Pavel Roskin <proski@gnu.org>
32410
32411 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
32412 format.
32413 (grub_ohci_transfer): Likewise.
32414
32415 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
32416
32417 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
32418 return without a value. Fix inconsistent indentation.
32419
32420 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
32421 match struct grub_fs.
32422
32423 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
32424 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
32425 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32426 * commands/lspci.c (grub_lspci_iter): Likewise.
32427
32428 2009-04-16 Bean <bean123ch@gmail.com>
32429
32430 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
32431 value.
32432
32433 2009-04-15 Pavel Roskin <proski@gnu.org>
32434
32435 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
32436 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
32437 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
32438 definitions.
32439
32440 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32441
32442 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
32443 that no multiple data or metadata areas are supported and `Unknown
32444 metadata header'.
32445
32446 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32447
32448 Move loader out of the kernel
32449
32450 * kern/loader.c: moved to ...
32451 * commands/boot.c: ... moved here
32452 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
32453 * commands/boot.c (grub_cmd_boot): moved here. All users updated
32454 * include/grub/kernel.h (grub_machine_fini): export
32455 * include/grub/loader.h (grub_loader_is_loaded): update declaration
32456 (grub_loader_set): likewise
32457 (grub_loader_unset): likewise
32458 (grub_loader_boot): likewise
32459 * conf/common.rmk: new module boot.mod
32460 (pkglib_MODULES): add boot.mod
32461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
32462 (grub_emu_SOURCES): likewise
32463 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
32464 (grub_emu_SOURCES): likewise
32465 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
32466 (grub_emu_SOURCES): likewise
32467 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
32468 (grub_emu_SOURCES): likewise
32469 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
32470 (grub_emu_SOURCES): likewise
32471 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
32472 (grub_emu_SOURCES): likewise
32473 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
32474 (grub_emu_SOURCES): likewise
32475
32476 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32477
32478 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
32479
32480 * kern/misc.c (grub_itoa): Removed function
32481 (grub_ltoa): likewise
32482 (grub_vsprintf): use grub_lltoa
32483
32484 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
32485
32486 Restore grub-emu
32487
32488 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
32489 * conf/i386-coreboot.rmk: likewise
32490 * conf/i386-ieee1275.rmk: likewise
32491 * conf/powerpc-ieee1275.rmk: likewise
32492
32493 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
32494
32495 * INSTALL: Add that `./autogen.sh' needs to be run before
32496 `./configure.'.
32497
32498 2009-04-14 Bean <bean123ch@gmail.com>
32499
32500 * Makefile.in (pkglib_DATA): Add handler.lst.
32501 (handler.lst): New rule.
32502
32503 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
32504 * conf/i386-coreboot.rmk: Likewise.
32505 * conf/i386-ieee1275.rmk: Likewise.
32506 * conf/i386-efi.rmk: Likewise.
32507 * conf/x86_64-efi.rmk: Likewise.
32508 * conf/powerpc-ieee1275.rmk: Likewise.
32509 * conf/sparc64-ieee1275.rmk: Likewise.
32510
32511 * genhandlerlist.sh: New file.
32512
32513 * genmk.rb: Add rules to generate handler.lst.
32514
32515 * include/grub/normal.h (grub_file_getline): New function definition.
32516 (read_handler_list): Likewise.
32517 (free_handler_list): Likewise.
32518
32519 * include/grub/term.h (grub_term_register_input): Add name parameter
32520 for auto generation of handler.lst.
32521 (grub_term_register_output): Likewise.
32522
32523 * normal/handler.c: New file.
32524
32525 * normal/main.c (get_line): Renamed to grub_file_getline.
32526 (read_config_file): Use the newly renamed grub_file_getline.
32527 (read_command_list): Likewise.
32528 (read_fs_list): Likewise.
32529 (grub_normal_execute): Call read_handler_list to parse handler.lst.
32530 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
32531
32532 * term/efi/console.c (grub_console_init): Add name parameter for auto
32533 generation of handler.lst.
32534 * term/gfxterm.c: Likewise.
32535 * term/i386/pc/at_keyboard.c: Likewise.
32536 * term/i386/pc/console.c: Likewise.
32537 * term/i386/pc/serial.c: Likewise.
32538 * term/i386/pc/vesafb.c: Likewise.
32539 * term/i386/pc/vga.c: Likewise.
32540 * term/i386/pc/vga_text.c: Likewise.
32541 * term/ieee1275/ofconsole.c: Likewise.
32542 * term/usb_keyboard.c: Likewise.
32543
32544 2009-04-14 Bean <bean123ch@gmail.com>
32545
32546 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
32547 properly with null character.
32548
32549 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32550
32551 * configure: Remove.
32552 * config.h.in: Likewise.
32553 * stamp-h.in: Likewise.
32554 * DISTLIST: Likewise.
32555 * conf/common.mk: Likewise.
32556 * conf/i386-coreboot.mk: Likewise.
32557 * conf/i386-efi.mk: Likewise.
32558 * conf/i386-ieee1275.mk: Likewise.
32559 * conf/i386.mk: Likewise.
32560 * conf/i386-pc.mk: Likewise.
32561 * conf/powerpc-ieee1275.mk: Likewise.
32562 * conf/sparc64-ieee1275.mk: Likewise.
32563 * conf/x86_64-efi.mk: Likewise.
32564
32565 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
32566 develop on GRUB.
32567
32568 2009-04-14 John Stanley <jpsinthemix@verizon.net>
32569 David S. Miller <davem@davemloft.net>
32570
32571 * util/hostdisk.c (make_device_name): Fix buffer length
32572 calculations.
32573
32574 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
32575
32576 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
32577 <sys/param.h> and <sys/sysctl.h>.
32578 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
32579 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
32580 opening the device and reset them afterwards.
32581
32582 2009-04-13 Pavel Roskin <proski@gnu.org>
32583
32584 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
32585 Reported by John Stanley <jpsinthemix@verizon.net>
32586
32587 2009-04-13 Robert Millan <rmh@aybabtu.com>
32588
32589 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
32590 that name for menuentries when appropriate.
32591
32592 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32593
32594 * util/grub.d/10_freebsd.in: Add a missing `fi'.
32595
32596 2009-04-13 Robert Millan <rmh@aybabtu.com>
32597
32598 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
32599 to Linux, simply abort telling the user it's no longer supported.
32600
32601 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32602
32603 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
32604 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
32605 `freebsd_loadenv' only when devices.hints exist.
32606
32607 2009-04-13 Pavel Roskin <proski@gnu.org>
32608
32609 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
32610
32611 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
32612
32613 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
32614 partition number.
32615 (grub_drive): Likewise.
32616
32617 2009-04-13 David S. Miller <davem@davemloft.net>
32618
32619 * kern/sparc64/ieee1275/ieee1275.c: New file.
32620 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
32621 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
32622 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
32623 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
32624 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
32625 grub_ieee1275_alloc_physmem): Declare new exported functions.
32626
32627 * include/grub/sparc64/ieee1275/loader.h: New file.
32628 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32629 * include/grub/sparc64/kernel.h: Likewise.
32630 * loader/sparc64/ieee1275/linux.c: Likewise.
32631
32632 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
32633 (grub_fstest_SOURCES): Likewise.
32634
32635 * util/hostdisk.c (make_device_name): Do not make any assumptions
32636 about the length of drive names.
32637
32638 * kern/dl.c (grub_dl_load_file): Close file immediately when
32639 we are done using it.
32640
32641 2009-04-12 David S. Miller <davem@davemloft.net>
32642
32643 * kern/misc.c (grub_ltoa): Fix cast when handling negative
32644 values. Noticed by Pavel Roskin.
32645
32646 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
32647 target compiler.
32648
32649 * genmk.rb: Add more flexible image type specification, also
32650 pass --strip-unneeded to objcopy.
32651 * conf/i386-pc.rmk: Use *_FORMAT.
32652 * conf/i386-pc.mk: Rebuilt.
32653
32654 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
32655 (OFDISK_HASH_SZ): Define.
32656 (ofdisk_hash): New hash table.
32657 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
32658 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
32659 instead of device phandle which is not unique.
32660
32661 * kern/sparc64/ieee1275/init.c: Delete, replace with...
32662 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
32663 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
32664 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
32665 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
32666 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
32667 GRUB_KERNEL_MACHINE_DATA_END): Define.
32668 (grub_kernel_image_size, grub_total_module_size): Declare.
32669
32670 2009-04-12 Pavel Roskin <proski@gnu.org>
32671
32672 * configure.ac: Change the logic when we check for target tools.
32673 Do it when the target is specified and it's different from the
32674 specified value of the host.
32675
32676 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
32677
32678 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
32679 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
32680 GNU/kFreeBSD. Check if a device is a character device. Use
32681 DIOCGMEDIASIZE to get the size.
32682 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
32683 support for GNU/kFreeBSD.
32684 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
32685 is a character device instead of a block device. Add support for
32686 FreeBSD device names.
32687
32688 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
32689 is a character device instead of a block device.
32690
32691 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
32692 is a character device instead of a block device.
32693
32694 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
32695
32696 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
32697 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
32698 FreeBSD. Check if a device is a character device. Use
32699 DIOCGMEDIASIZE to get the size.
32700 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
32701 support for FreeBSD.
32702 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
32703 is a character device instead of a block device. Add support for
32704 FreeBSD device names.
32705
32706 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
32707 a character device instead of a block device.
32708 (grub_util_check_char_device): New function.
32709
32710 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
32711 a character device instead of a block device.
32712
32713 * include/grub/util/getroot.h (grub_util_check_char_device): New
32714 prototype.
32715
32716 2009-04-11 David S. Miller <davem@davemloft.net>
32717
32718 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
32719 static libgcc.
32720 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
32721 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
32722 function, if present.
32723 (__bswapdi2): Likewise.
32724
32725 * include/grub/sparc64/ieee1275/boot.h: New file.
32726 * boot/sparc64/ieee1275/boot.S: Likewise.
32727 * boot/sparc64/ieee1275/diskboot.S: Likewise.
32728
32729 * kern/misc.c (grub_ltoa): New function.
32730 (grub_vsprintf): Use it to format 'long' integers.
32731
32732 2009-04-10 David S. Miller <davem@davemloft.net>
32733
32734 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
32735 slots are of type grub_ieee1275_cell_t.
32736 (grub_nand_read): Likewise.
32737 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
32738 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
32739 macros are used to compare values in arg/ret block of the call.
32740 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32741 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
32742 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
32743 grub_ieee1275_instance_to_path, grub_ieee1275_write,
32744 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
32745 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
32746 grub_ieee1275_close, grub_ieee1275_set_property,
32747 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
32748 grub_ieee1275_cell_t.
32749 * kern/ieee1275/openfw.c (grub_map): Likewise.
32750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
32751 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
32752
32753 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
32754 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
32755 (grub_devalias_iterate): Likewise.
32756
32757 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
32758
32759 UFS improvements
32760
32761 * fs/ufs.c (INODE_NBLOCKS): new definition
32762 (struct grub_ufs_dirent): added fields for non-BSD dirents
32763 (grub_ufs_get_file_block): fixed double indirect handling
32764 (grub_ufs_lookup_symlink): use more robust way to determine whether
32765 symlink is inline
32766 (grub_ufs_find_file): support for non-BSD dirents
32767 (grub_ufs_dir): support for non-BSD dirents
32768
32769 2009-04-10 Bean <bean123ch@gnail.com>
32770
32771 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
32772 attribute, otherwise the size would be wrong for i386 platform.
32773
32774 * include/grub/pci.h (grub_pci_read_word): New inline function.
32775 (grub_pci_read_byte): Likewise.
32776 (grub_pci_write): Likewise.
32777 (grub_pci_write_word): Likewise.
32778 (grub_pci_write_byte): Likewise.
32779
32780 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
32781
32782 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
32783 (find_framebuf): Scan pci to locate the frame buffer address.
32784
32785 * commands/efi/fixvideo.c: New file.
32786
32787 * commands/efi/loadbios.c: Likewise.
32788
32789 * commands/memrw.c: Likewise.
32790
32791 * util/grub-dumpbios.in: Likewise.
32792
32793 * conf/common.rmk (grub-dumpbios): New utility.
32794 (pkglib_MODULES): New module memrw.mod.
32795 (memrw_mod_SOURCE): New macro.
32796 (memrw_mod_CFLAGS): Likewise.
32797 (memrw_mod_LDFLAGS): Likewise.
32798
32799 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
32800 fixvideo.mod.
32801 (loadbios_mod_SOURCE): New macro.
32802 (loadbios_mod_CFLAGS): Likewise.
32803 (loadbios_mod_LDFLAGS): Likewise.
32804 (fixvideo_mod_SOURCE): Likewise.
32805 (fixvideo_mod_CFLAGS): Likewise.
32806 (fixvideo_mod_LDFLAGS): Likewise.
32807
32808 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
32809 fixvideo.mod.
32810 (loadbios_mod_SOURCE): New macro.
32811 (loadbios_mod_CFLAGS): Likewise.
32812 (loadbios_mod_LDFLAGS): Likewise.
32813 (fixvideo_mod_SOURCE): Likewise.
32814 (fixvideo_mod_CFLAGS): Likewise.
32815 (fixvideo_mod_LDFLAGS): Likewise.
32816
32817 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
32818
32819 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
32820
32821 2009-04-07 David S. Miller <davem@davemloft.net>
32822
32823 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
32824 support for R_SPARC_OLO10 relocations. Fix compile warning for
32825 R_SPARC_WDISP30 case.
32826 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
32827
32828 2009-04-06 Pavel Roskin <proski@gnu.org>
32829
32830 * include/grub/misc.h (ARRAY_SIZE): New macro.
32831 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
32832 New macro.
32833 * loader/i386/linux.c (allocate_pages): Use free_pages().
32834 (grub_linux_unload): Don't use free_pages().
32835 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
32836 wrong index. Treat all other modes as text modes.
32837 (grub_cmd_linux): Initialize vid_mode unconditionally to
32838 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
32839
32840 * commands/help.c (print_command_help): Use cmd->prio, not
32841 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
32842
32843 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
32844
32845 Parttool
32846
32847 * parttool/pcpart.c: new file
32848 * commands/parttool.c: likewise
32849 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
32850 (parttool_mod_SOURCES): new variable
32851 (parttool_mod_CFLAGS): likewise
32852 (parttool_mod_LDFLAGS): likewise
32853 (pcpart_mod_SOURCES): likewise
32854 (pcpart_mod_CFLAGS): likewise
32855 (pcpart_mod_LDFLAGS): likewise
32856 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
32857 and parttool/pcpart.c
32858 * conf/i386-efi.rmk: likewise
32859 * conf/i386-ieee1275.rmk: likewise
32860 * conf/i386-pc.rmk: likewise
32861 * conf/powerpc-ieee1275.rmk: likewise
32862 * conf/sparc64-ieee1275.rmk: likewise
32863 * conf/x86_64-ieee1275.rmk: likewise
32864
32865 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32866
32867 Support for mtime and further expandability of dir command
32868
32869 * include/grub/lib/datetime.h: moved to ...
32870 * include/grub/datetime.h: ... moved here and added
32871 declaration of grub_unixtime2datetime. All users updated
32872 * include/grub/fs.h: new syntax for dir and mtime functions in
32873 struct grub_fs
32874 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
32875 and GRUB_FSHELP_FLAGS_MASK
32876 * commands/ls.c (grub_ls_list_files): Write mtime in long format
32877 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
32878 (grub_ext2_mtime): new function
32879 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
32880 (grub_hfsplus_mtime): new function
32881 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
32882 (GRUB_UFS_ATTR_FILE): likewise
32883 (GRUB_UFS_ATTR_LNK): likewise
32884 (struct grub_ufs_sblock): new fields mtime
32885 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
32886 all users updated
32887 (grub_ufs_dir): mtime support
32888 (grub_ufs_mtime): new function
32889 * fs/affs.c (grub_affs_dir): use new dir syntax
32890 * fs/afs.c (grub_afs_dir): likewise
32891 * fs/cpio.c (grub_cpio_dir): likewise
32892 * fs/fat.c (grub_fat_find_dir): likewise
32893 * fs/hfs.c (grub_hfs_dir): likewise
32894 * fs/iso9660.c (grub_iso9660_dir): likewise
32895 * fs/jfs.c (grub_jfs_dir): likewise
32896 * fs/minix.c (grub_minix_dir): likewise
32897 * fs/ntfs.c (grub_ntfs_dir): likewise
32898 * fs/reiserfs.c (grub_reiserfs_dir): likewise
32899 * fs/sfs.c (grub_sfs_dir): likewise
32900 * fs/xfs.c (grub_xfs_dir): likewise
32901 * util/hostfs.c (grub_hostfs_dir): likewise
32902 * lib/datetime.c: moved to ...
32903 * normal/datetime.c: ... moved here
32904 (grub_unixtime2datetime): new function
32905 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
32906 * normal/completion.c (iterate_dir): use new dir syntax
32907 * normal/misc.c (grub_normal_print_device_info): tell the
32908 last modification time of a volume
32909 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
32910 * conf/common.rmk: added lib/datetime.c to ls.mod
32911 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
32912 (normal_mod_SOURCES): likewise
32913 (datetime_mod_SOURCES): Removed lib/datetime.c
32914 * conf/i386-efi.rmk: likewise
32915 * conf/i386-ieee1275.rmk: likewise
32916 * conf/i386-pc.rmk: likewise
32917 * conf/powerpc-ieee1275.rmk: likewise
32918 * conf/sparc64-ieee1275.rmk: likewise
32919 * conf/x86_64-efi.rmk: likewise
32920
32921 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
32922
32923 Trim trailing spaces in FAT label and support mtools-like labels
32924
32925 * fs/fat.c (grub_fat_iterate_dir): New function based
32926 on grub_fat_find_dir
32927 (grub_fat_find_dir): use grub_fat_iterate_dir
32928 (grub_fat_label): likewise
32929
32930 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
32931
32932 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
32933 and command.h
32934 remove extraneous kernel_elf_HEADERS
32935
32936 2009-04-04 Bean <bean123ch@gnail.com>
32937
32938 * include/grub/util/misc.h: Add dummy function fsync for mingw.
32939
32940 * util/misc.c: Likewise.
32941
32942 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32943
32944 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
32945 instead of grub_printf.
32946
32947 2009-04-03 Robert Millan <rmh@aybabtu.com>
32948
32949 * loader/i386/linux.c (grub_linux_setup_video): Fill
32950 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
32951 values from `mode info' structure instead of hardcoded
32952 values.
32953
32954 2009-04-01 Pavel Roskin <proski@gnu.org>
32955
32956 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
32957 unused now.
32958 * genmk.rb: Likewise.
32959 * configure.ac: Likewise.
32960
32961 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
32962
32963 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
32964 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
32965
32966 2009-04-01 David S. Miller <davem@davemloft.net>
32967
32968 * normal/sparc64/setjmp.S: Fix setjmp implementation.
32969 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
32970 (grub_setjmp): Mark with 'returns_twice' attribute.
32971 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
32972 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
32973 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
32974
32975 2009-04-01 Robert Millan <rmh@aybabtu.com>
32976
32977 Reapply fix from 2008-07-28 which was accidentally reverted; also
32978 perform the same fix to a similar check in same function.
32979
32980 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32981 with the same number are found, just use issue a warning with
32982 grub_dprintf(), as this error has been reported to be non-fatal.
32983
32984 2009-03-31 Pavel Roskin <proski@gnu.org>
32985
32986 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
32987 for cross-compilation.
32988
32989 2009-03-30 Robert Millan <rmh@aybabtu.com>
32990
32991 Fix i386-ieee1275 build.
32992
32993 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
32994 Remove declaration.
32995
32996 2009-03-30 Pavel Roskin <proski@gnu.org>
32997
32998 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
32999 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33000 zero-terminated, rely only on the strlen value. Fix comparison
33001 of strings differing in length.
33002
33003 2009-03-30 Robert Millan <rmh@aybabtu.com>
33004
33005 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33006 checking for abi version. Improve error messages on BIOS to notify
33007 user about `linux16' command.
33008
33009 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33010
33011 Leak fixes
33012
33013 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33014 in case of collision
33015 * disk/scsi.c (grub_scsi_open): free scsi in case of error
33016
33017 2009-03-29 Robert Millan <rmh@aybabtu.com>
33018
33019 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33020 set `vid_mode' accordingly.
33021 (grub_linux_boot): Process `vid_mode' and set video mode.
33022
33023 2009-03-29 Robert Millan <rmh@aybabtu.com>
33024
33025 * util/grub.d/10_linux.in (linux_entry): New function.
33026 Factorize generation of Linux boot entries.
33027
33028 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33029
33030 Make the format of Environment Block plain text. The boot loader
33031 part is not tested well yet.
33032
33033 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33034 (buffer): Removed.
33035 (envblk): Likewise.
33036 (usage): Remove "info" and "clear". Add "unset". Update the
33037 description of "set", as this does not delete variables any
33038 longer.
33039 (create_envblk_file): Complete rewrite.
33040 (open_envblk_file): Likewise.
33041 (cmd_info): Removed.
33042 (cmd_list): Likewise.
33043 (cmd_set): Likewise.
33044 (cmd_clear): Likewise.
33045 (list_variables): New function.
33046 (write_envblk): Likewise.
33047 (set_variables): Likewise.
33048 (unset_variables): Likewise.
33049 (main): Complete rewrite.
33050
33051 * commands/loadenv.c (buffer): Removed.
33052 (envblk): Likewise.
33053 (open_envblk_file): New function.
33054 (read_envblk_file): Complete rewrite.
33055 (grub_cmd_load_env): Likewise.
33056 (grub_cmd_list_env): Likewise.
33057 (struct blocklist): New struct.
33058 (free_blocklists): New function.
33059 (check_blocklists): Likewise.
33060 (write_blocklists): Likewise.
33061 (grub_cmd_save_env): Complete rewrite.
33062
33063 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33064 a plain text signature.
33065 (GRUB_ENVBLK_MAXLEN): Removed.
33066 (struct grub_envblk): Complete rewrite.
33067 (grub_envblk_find): Removed.
33068 (grub_envblk_insert): Likewise.
33069 (grub_envblk_open): New prototype.
33070 (grub_envblk_set): Likewise.
33071 (grub_envblk_delete): Put const to VALUE.
33072 (grub_envblk_iterate): Put const to NAME and VALUE.
33073 (grub_envblk_close): New prototype.
33074 (grub_envblk_buffer): New inline function.
33075 (grub_envblk_size): Likewise.
33076
33077 * lib/envblk.c: Include grub/mm.h.
33078 (grub_env_find): Removed.
33079 (grub_envblk_open): New function.
33080 (grub_envblk_close): Likewise.
33081 (escaped_value_len): Likewise.
33082 (find_next_line): Likewise.
33083 (grub_envblk_insert): Removed.
33084 (grub_envblk_set): New function.
33085 (grub_envblk_delete): Complete rewrite.
33086 (grub_envblk_iterate): Likewise.
33087
33088 2009-03-28 Robert Millan <rmh@aybabtu.com>
33089
33090 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33091 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33092 variables. Use 16-bit loader.
33093 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33094 loader.
33095 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33096 (grub_linux16_boot): ... this. Update all users.
33097 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33098 (grub_linux_boot): ... this. Update all users.
33099
33100 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33101 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33102 commands to `linux16' and `initrd16'.
33103 (GRUB_MOD_FINI(linux)): Rename to ...
33104 (GRUB_MOD_FINI(linux16)): ... this.
33105
33106 2009-03-24 Pavel Roskin <proski@gnu.org>
33107
33108 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33109 not just for compilation.
33110
33111 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33112
33113 Move multiboot helper out of kernel
33114
33115 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33116 `loader/i386/multiboot_helper.S'.
33117 * conf/i386-coreboot.rmk: Likewise
33118 * conf/i386-ieee1275.rmk: Likewise
33119
33120 * kern/i386/loader.S: Move multiboot helpers from here...
33121 * loader/i386/multiboot_helper.S: ...moved here
33122 * include/grub/i386/loader.h: Move declarations of multiboot
33123 helpers from here...
33124 * include/grub/i386/multiboot.h: ...moved here
33125 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33126
33127 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33128
33129 * kern/env.c (grub_env_context_open): Added an argument to specify
33130 whether a new context inherits exported variables from current
33131 one. This is useful when making a sandbox to interpret a config
33132 file.
33133 All callers updated.
33134
33135 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33136
33137 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33138
33139 * kern/env.c (grub_env_context_close): Fix memory leaks.
33140
33141 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33142
33143 * normal/main.c (grub_normal_execute): Added an argument
33144 BATCH to specify if an interactive interface should be provided
33145 after reading a config file.
33146 All callers updated.
33147 (read_command_list): Prevent being executed twice.
33148 (read_fs_list): Likewise.
33149
33150 * include/grub/normal.h (grub_normal_execute): Updated the
33151 prototype.
33152
33153 2009-03-22 Pavel Roskin <proski@gno.org>
33154
33155 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33156 _start.
33157 * kern/i386/pc/startup.S: Likewise.
33158 * kern/i386/efi/startup.S: Likewise.
33159 * kern/i386/ieee1275/startup.S: Likewise.
33160 * kern/i386/coreboot/startup.S: Likewise.
33161 * kern/x86_64/efi/startup.S: Likewise.
33162
33163 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33164 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33165 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33166
33167 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33168
33169 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33170
33171 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33172 limit detection.
33173 Use vaddr of correct segment for entry_point.
33174
33175 2009-03-21 Bean <bean123ch@gmail.com>
33176
33177 * commands/blocklist.c: Add include file <grub/command.h>, remove
33178 <grub/normal.h> and <grub/arg.h>.
33179 (grub_cmd_blocklist): Use the new command interface.
33180 (GRUB_MOD_INIT): Likewise.
33181 (GRUB_MOD_FINI): Likewise.
33182 * commands/boot.c: Likewise.
33183 * commands/cat.c: Likewise.
33184 * commands/cmp.c: Likewise.
33185 * commands/configfile.c: Likewise.
33186 * commands/crc.c: Likewise.
33187 * commands/echo.c: Likewise.
33188 * commands/halt.c: Likewise.
33189 * commands/handler.c: Likewise.
33190 * commands/hdparm.c: Likewise.
33191 * commands/help.c: Likewise.
33192 * commands/hexdump.c: Likewise.
33193 * commands/loadenv.c: Likewise.
33194 * commands/ls.c: Likewise.
33195 * commands/lsmmap.c: Likewise.
33196 * commands/lspci.c: Likewise.
33197 * commands/loadenv.c: Likewise.
33198 * commands/read.c: Likewise.
33199 * commands/reboot.c: Likewise.
33200 * commands/search.c: Likewise.
33201 * commands/sleep.c: Likewise.
33202 * commands/test.c: Likewise.
33203 * commands/usbtest.c: Likewise.
33204 * commands/videotest.c: Likewise.
33205 * commands/i386/cpuid.c: Likewise.
33206 * commands/i386/pc/halt.c: Likewise.
33207 * commands/i386/pc/play.c: Likewise.
33208 * commands/i386/pc/pxecmd.c: Likewise.
33209 * commands/i386/pc/vbeinfo.c: Likewise.
33210 * commands/i386/pc/vbetest.c: Likewise.
33211 * commands/ieee1275/suspend.c: Likewise.
33212 * disk/loopback.c: Likewise.
33213 * font/font_cmd.c: Likewise.
33214 * hello/hello.c: Likewise.
33215 * loader/efi/appleloader.c: Likewise.
33216 * loader/efi/chainloader.c: Likewise.
33217 * loader/i386/bsd.c: Likewise.
33218 * loader/i386/efi/linux.c: Likewise.
33219 * loader/i386/ieee1275/linux.c: Likewise.
33220 * loader/i386/linux.c: Likewise.
33221 * loader/i386/pc/chainloader.c: Likewise.
33222 * loader/i386/pc/linux.c: Likewise.
33223 * loader/powerpc/ieee1275/linux.c: Likewise.
33224 * loader/multiboot_loader.c: Likewise.
33225 * term/gfxterm.c: Likewise.
33226 * term/i386/pc/serial.c: Likewise.
33227 * term/terminfo.c: Likewise.
33228
33229 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33230 * term/i386/pc/vga.c: Likewise.
33231 * video/readers/jpeg.c: Likewise.
33232 * video/readers/png.c: Likewise.
33233 * video/readers/tga.c: Likewise.
33234
33235 * util/grub-fstest (cmd_loopback): Removed.
33236 (cmd_blocklist): Likewise.
33237 (cmd_ls): Likewise.
33238 (grub_register_command): Likewise.
33239 (grub_unregister_command): Likewise.
33240 (execute_command): Use grub_command_find to locate command and execute
33241 it.
33242
33243 * include/grub/efi/chainloader.h: Removed.
33244 * loader/efi/chainloader_normal.c: Likewise.
33245 * loader/i386/bsd_normal.c: Likewise.
33246 * loader/i386/pc/chainloader_normal.c: Likewise.
33247 * loader/i386/pc/multiboot_normal.c: Likewise.
33248 * loader/linux_normal.c: Likewise.
33249 * loader/multiboot_loader_normal.c: Likewise.
33250 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33251
33252 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33253 and grub_register_command_p1.
33254
33255 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33256 kern/command.c, lib/arg.c and commands/extcmd.c.
33257 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33258 (minicmd_mod_SOURCES): New variable.
33259 (minicmd_mod_CFLAGS): Likewise.
33260 (minicmd_mod_LDFLAGS): Likewise.
33261 (extcmd_mod_SOURCES): Likewise.
33262 (extcmd_mod_CFLAGS): Likewise.
33263 (extcmd_mod_LDFLAGS): Likewise.
33264 (boot_mod_SOURCES): Removed.
33265 (boot_mod_CFLAGS): Likewise.
33266 (boot_mod_LDFLAGS): Likewise.
33267
33268 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33269 kern/corecmd.c.
33270 (kernel_img_HEADERS): Add command.h.
33271 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33272 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33273 and lib/arg.c.
33274 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33275 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33276 remove the corresponding normal mode command.
33277 (normal_mod_SOURCES): Remove normal/arg.c.
33278 * conf/i386-coreboot.rmk: Likewise.
33279 * conf/i386-efi.rmk: Likewise.
33280 * conf/i386-ieee1275.rmk: Likewise.
33281 * conf/powerpc-ieee1275.rmk: Likewise.
33282 * conf/x86_64-efi.rmk: Likewise.
33283
33284 * include/grub/arg.h: Move from here ...
33285 * include/grub/lib/arg.h: ... to here.
33286
33287 * normal/arg.c: Move from here ...
33288 * lib/arg.c: ... to here.
33289
33290 * commands/extcmd.c: New file.
33291 * commands/minicmd.c: Likewise.
33292 * include/grub/command.h: Likewise.
33293 * include/grub/extcmd.h: Likewise.
33294 * kern/command.c: Likewise.
33295 * kern/corecmd.c: Likewise.
33296
33297 * kern/list.c (grub_list_iterate): Return int instead of void.
33298 (grub_list_insert): New function.
33299 (grub_prio_list_insert): Likewise.
33300
33301 * kern/rescue.c (grub_rescue_command): Removed.
33302 (grub_rescue_command_list): Likewise.
33303 (grub_rescue_register_command): Likewise.
33304 (grub_rescue_unregister_command): Likewise.
33305 (grub_rescue_cmd_boot): Move to minicmd.c
33306 (grub_rescue_cmd_help): Likewise.
33307 (grub_rescue_cmd_info): Likewise.
33308 (grub_rescue_cmd_boot): Likewise.
33309 (grub_rescue_cmd_testload): Likewise.
33310 (grub_rescue_cmd_dump): Likewise.
33311 (grub_rescue_cmd_rmmod): Likewise.
33312 (grub_rescue_cmd_lsmod): Likewise.
33313 (grub_rescue_cmd_exit): Likewise.
33314 (grub_rescue_print_devices): Moved to corecmd.c.
33315 (grub_rescue_print_files): Likewise.
33316 (grub_rescue_cmd_ls): Likewise.
33317 (grub_rescue_cmd_insmod): Likewise.
33318 (grub_rescue_cmd_set): Likewise.
33319 (grub_rescue_cmd_unset): Likewise.
33320 (attempt_normal_mode): Use grub_command_find to get normal module.
33321 (grub_enter_rescue_mode): Use grub_register_core_commands to register
33322 commands, remove grub_rescue_register_command calls.
33323
33324 * normal/command.c (grub_register_command): Removed.
33325 (grub_unregister_command): Likewise.
33326 (grub_command_find): Likewise.
33327 (grub_iterate_commands): Likewise.
33328 (rescue_command): Likewise.
33329 (export_command): Moved to corecmd.c.
33330 (set_command): Removed.
33331 (unset_command): Likewise.
33332 (insmod_command): Likewise.
33333 (rmmod_command): Likewise.
33334 (lsmod_command): Likewise.
33335 (grub_command_init): Likewise.
33336
33337 * normal/completion.c (iterate_command): Use cmd->prio to check for
33338 active command.
33339 (complete_arguments): Use grub_extcmd_t structure to find options.
33340 (grub_normal_do_completion): Change function grub_iterate_commands to
33341 grub_command_iterate.
33342
33343 * normal/execute.c (grub_script_execute_cmd): No need to parse
33344 argument here.
33345
33346 * normal/main.c (grub_dyncmd_dispatcher): New function.
33347 (read_command_list): Register unload commands as dyncmd.
33348 (grub_cmd_normal): Use new command interface, register rescue,
33349 unregister normal at entry, register normal, unregister rescue at exit.
33350
33351 * include/grub/list.h (grub_list_test_t): New type.
33352 (grub_list_iterate): Return int instead of void.
33353 (grub_list_insert): New function.
33354 (GRUB_AS_NAMED_LIST_P): New macro.
33355 (GRUB_AS_PRIO_LIST): Likewise.
33356 (GRUB_AS_PRIO_LIST_P): Likewise.
33357 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33358 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33359 (grub_prio_list): New structure.
33360 (grub_prio_list_insert): New function.
33361 (grub_prio_list_remove): New inline function.
33362
33363 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33364 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33365 (GRUB_COMMAND_FLAG_MENU): Likewise.
33366 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33367 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33368 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33369 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33370 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33371 (grub_command): Likewise.
33372 (grub_register_command): Likewise.
33373 (grub_command_find): Likewise.
33374 (grub_iterate_commands): Likewise.
33375 (grub_command_init): Likewise.
33376 (grub_arg_parse): Likewise.
33377 (grub_arg_show_help): Likewise.
33378
33379 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33380 (grub_rescue_unregister_command): Likewise.
33381
33382 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33383 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33384 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33385
33386 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33387 grub_rescue_cmd_initrd.
33388 * include/grub/i386/loader.h: Likewise.
33389 * include/grub/x86_64/loader.h: Likewise.
33390
33391 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33392
33393 2009-03-21 Bean <bean123ch@gmail.com>
33394
33395 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
33396 instead of stat in mingw environment.
33397
33398 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
33399
33400 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
33401
33402 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
33403 AC_CONFIG_LINKS.
33404
33405 2009-03-21 Bean <bean123ch@gmail.com>
33406
33407 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
33408 out of range error.
33409
33410 2009-03-18 Michel Dänzer <michel@daenzer.net>
33411
33412 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
33413 checking inode flags for EXT4_EXTENTS_FLAG.
33414
33415 2009-03-18 Robert Millan <rmh@aybabtu.com>
33416
33417 * loader/i386/linux.c: Include `<grub/video.h>' and
33418 `<grub/i386/pc/vbe.h>'..
33419 (grub_linux_setup_video): New function. Loosely based on the EFI one.
33420 (grub_linux32_boot): Attempt to configure video settings with
33421 grub_linux_setup_video().
33422 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
33423 to avoid grub_console_fini() which would step out of graphical mode
33424 unconditionally.
33425
33426 2009-03-14 Robert Millan <rmh@aybabtu.com>
33427
33428 Fix build on powerpc.
33429 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
33430
33431 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
33432
33433 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
33434 background image command.
33435
33436 2009-03-12 Colin D Bennett <colin@gibibit.com>
33437
33438 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
33439 (grub_gfxterm_putchar): Extract pairs of identical calls to
33440 draw_cursor out of conditional blocks.
33441
33442 2009-03-11 Pavel Roskin <proski@gnu.org>
33443
33444 * fs/hfs.c (grub_hfs_strncasecmp): New function.
33445 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
33446
33447 2009-03-11 Robert Millan <rmh@aybabtu.com>
33448
33449 * loader/i386/multiboot_elfxx.c
33450 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
33451
33452 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
33453
33454 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
33455 `kern/handler.c'.
33456
33457 2009-03-11 Robert Millan <rmh@aybabtu.com>
33458
33459 * loader/i386/multiboot.c (code_size): New variable.
33460 (grub_multiboot): Define offsets by adding to `code_size' rather
33461 than subtracting from `grub_multiboot_payload_size'. Provide
33462 4-byte alignment to MBI and others by increasing
33463 `boot_loader_name_length' appropriately.
33464
33465 * loader/i386/multiboot_elfxx.c
33466 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
33467
33468 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
33469
33470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
33471 `fs/ext2.c'.
33472
33473 2009-03-08 Robert Millan <rmh@aybabtu.com>
33474
33475 Make loader/i386/linux.c usable on i386-pc again.
33476
33477 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
33478 memory to heap.
33479 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
33480 `#error' stanza.
33481
33482 2009-03-07 Bean <bean123ch@gmail.com>
33483
33484 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
33485 allocation.
33486
33487 2009-03-06 Robert Millan <rmh@aybabtu.com>
33488
33489 Fix display issue on terminals with screen size other than 80x25
33490 (e.g. gfxterm with resolution higher than 640x480).
33491
33492 * normal/main.c (grub_normal_init_page): Display title text in a
33493 position relative to the center of the terminal instead of relying
33494 on a hardcoded offset.
33495
33496 2009-03-04 Robert Millan <rmh@aybabtu.com>
33497
33498 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
33499 installed.
33500
33501 * Makefile.in (host_kernel): New variable.
33502 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
33503 scripts instead of just the windows one.
33504 * configure.ac: Initialize and AC_SUBST `host_kernel'.
33505
33506 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33507
33508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
33509 `kern/handler.c'.
33510 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33512 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33514 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33515 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33516
33517 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33518
33519 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
33520 or if there's no space for the disk label and print the partition number on a
33521 invalid magic.
33522
33523 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
33524
33525 * util/misc.c: Include <time.h>.
33526 (grub_millisleep): New function.
33527
33528 2009-03-04 Bean <bean123ch@gmail.com>
33529
33530 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
33531 another option -mno-red-zone.
33532
33533 * commands/handler.c: Change module description.
33534
33535 * kern/handler.c: Add missing space at the end of description line.
33536
33537 * kern/list.c: Likewise.
33538
33539 2009-03-03 Robert Millan <rmh@aybabtu.com>
33540
33541 Move more components to the relocation area, and fix mbi pointer
33542 handling to use the destination rather than the origin (thanks to
33543 Vladimir Serbinenko for spotting).
33544
33545 * loader/i386/multiboot.c (mbi_dest): New variable.
33546 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
33547 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
33548 relocation area.
33549
33550 2009-03-01 Bean <bean123ch@gmail.com>
33551
33552 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
33553 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
33554 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
33555 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
33556
33557 * loader/i386/efi/linux.c (acpi_guid): New variable.
33558 (acpi_guid): Likewise.
33559 (EBDA_SEG_ADDR): New constant.
33560 (LOW_MEM_ADDR): Likewise.
33561 (FAKE_EBDA_SEG): Likewise.
33562 (fake_bios_data): New function.
33563 (grub_linux_boot): Call fake_bios_data.
33564
33565 2009-03-01 Bean <bean123ch@gmail.com>
33566
33567 * commands/terminal.c: Removed.
33568
33569 * commands/handler.c: New file.
33570
33571 * include/grub/list.h: Likewise.
33572
33573 * include/grub/handler.h: Likewise.
33574
33575 * kern/list.c: Likewise.
33576
33577 * kern/handler.c: Likewise.
33578
33579 * kern/term.h: Include header file <grub/handler.h>.
33580 (grub_term_input): Move next field to the beginning.
33581 (grub_term_output): Likewise.
33582 (grub_term_input_class): New variable.
33583 (grub_term_output_class): Likewise.
33584 (grub_term_register_input): Changed to inline function.
33585 (grub_term_register_output): Likewise.
33586 (grub_term_unregister_input): Likewise.
33587 (grub_term_unregister_output): Likewise.
33588 (grub_term_set_current_input): Likewise.
33589 (grub_term_set_current_output): Likewise.
33590 (grub_term_get_current_input): Likewise.
33591 (grub_term_get_current_output): Likewise.
33592 (grub_term_iterate_input): Removed.
33593 (grub_term_iterate_output): Likewise.
33594
33595 * kern/term.c (grub_term_list_input): Removed.
33596 (grub_term_list_output): Likewise.
33597 (grub_term_input_class): New variable.
33598 (grub_term_output_class): Likewise.
33599 (grub_cur_term_input): Change variable as macro.
33600 (grub_cur_term_output): Likewise.
33601 (grub_term_register_input): Removed.
33602 (grub_term_register_output): Likewise.
33603 (grub_term_unregister_input): Likewise.
33604 (grub_term_unregister_output): Likewise.
33605 (grub_term_set_current_input): Likewise.
33606 (grub_term_set_current_output): Likewise.
33607 (grub_term_iterate_input): Likewise.
33608 (grub_term_iterate_output): Likewise.
33609 (grub_term_get_current_input): Likewise.
33610 (grub_term_get_current_output): Likewise.
33611
33612 * util/grub-editenv.c: Include header file <grub/handler.h>.
33613 (grub_term_get_current_input): Removed.
33614 (grub_term_get_current_output): Likewise.
33615 (grub_term_input_class): New variable.
33616 (grub_term_output_class): Likewise.
33617
33618 * util/grub-fstest.c (grub_term_get_current_input): Removed.
33619 (grub_term_get_current_output): Likewise.
33620 (grub_term_input_class): New variable.
33621 (grub_term_output_class): Likewise.
33622
33623 * util/grub-probe.c (grub_term_get_current_input): Removed.
33624 (grub_term_get_current_output): Likewise.
33625 (grub_term_input_class): New variable.
33626 (grub_term_output_class): Likewise.
33627
33628 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
33629 (grub_term_get_current_output): Likewise.
33630 (grub_term_input_class): New variable.
33631 (grub_term_output_class): Likewise.
33632
33633 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
33634 (terminal_mod_SOURCES): Likewise.
33635 (terminal_mod_CFLAGS): Likewise.
33636 (terminal_mod_LDFLAGS): Likewise.
33637
33638 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
33639 handler.c.
33640 (kernel_img_SOURCES): Add list.c and handler.c.
33641 (kernel_img_HEADERS): Add list.h and handler.h.
33642
33643 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33644 handler.c.
33645 (kernel_mod_SOURCES): Add list.c and handler.c.
33646 (kernel_mod_HEADERS): Add list.h and handler.h.
33647
33648 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
33649 handler.c.
33650 (kernel_elf_SOURCES): Add list.c and handler.c.
33651 (kernel_elf_HEADERS): Add list.h and handler.h.
33652
33653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33654 handler.c.
33655 (kernel_elf_SOURCES): Add list.c and handler.c.
33656 (kernel_elf_HEADERS): Add list.h and handler.h.
33657
33658 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
33659 handler.c.
33660 (kernel_mod_SOURCES): Add list.c and handler.c.
33661 (kernel_mod_HEADERS): Add list.h and handler.h.
33662
33663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
33664 handler.c.
33665 (kernel_elf_SOURCES): Add list.c and handler.c.
33666 (kernel_elf_HEADERS): Add list.h and handler.h.
33667
33668 2009-02-27 Robert Millan <rmh@aybabtu.com>
33669
33670 Factorize elf32 / elf64 code in Multiboot loader. This will
33671 prevent it from getting out of sync again.
33672
33673 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
33674 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
33675 grub_multiboot_load_elf64): Move from here ...
33676 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
33677 grub_multiboot_load_elf): ... to here (new file).
33678
33679 2009-02-27 Robert Millan <rmh@aybabtu.com>
33680
33681 * util/grub.d/10_linux.in: Rename "single-user mode" to
33682 "recovery mode".
33683
33684 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
33685
33686 Don't leak in SCSI code.
33687 * disk/scsi.c (grub_scsi_close): free `scsi'.
33688
33689 2009-02-27 Robert Millan <rmh@aybabtu.com>
33690
33691 * loader/i386/pc/multiboot.c: Move from here ...
33692 * loader/i386/multiboot.c: ... to here. Update all users.
33693
33694 2009-02-27 Robert Millan <rmh@aybabtu.com>
33695
33696 Patch from Alexandre Bique <bique.alexandre@gmail.com>
33697 * util/i386/pc/grub-setup.c (setup): Fix directory path.
33698
33699 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
33700
33701 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
33702 b-tree.
33703
33704 2009-02-27 Robert Millan <rmh@aybabtu.com>
33705
33706 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
33707 `0x' qualifier as 0 when base is specified as parameter).
33708
33709 2009-02-24 Bean <bean123ch@gmail.com>
33710
33711 * configure.ac: Check for -mcmodel=large in x86_64 target.
33712
33713 * include/grub/efi/api.h (efi_call_10): New macro.
33714 (efi_wrap_10): New function.
33715
33716 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
33717 (GRUB_PE32_REL_BASED_HIGH): Likewise.
33718 (GRUB_PE32_REL_BASED_LOW): Likewise.
33719 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
33720 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
33721 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
33722 (GRUB_PE32_REL_BASED_SECTION): Likewise.
33723 (GRUB_PE32_REL_BASED_REL): Likewise.
33724 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
33725 (GRUB_PE32_REL_BASED_DIR64): Likewise.
33726 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
33727
33728 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
33729 issue.
33730
33731 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
33732 (efi_wrap_10): New function.
33733
33734 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
33735
33736 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
33737 MB/MBP model (NV chipset).
33738 (devdata_devs): Add devpath_5 to the list.
33739
33740 * load/i386/efi/linux.c (video_base): Remove variable.
33741 (RGB_MASK): New macro.
33742 (RGB_MAGIC): Likewise.
33743 (LINE_MIN): Likewise.
33744 (LINE_MAX): Likewise.
33745 (FBTEST_STEP): Likewise.
33746 (FBTEST_COUNT): Likewise.
33747 (fb_list): New variable.
33748 (grub_find_video_card): Remove function.
33749 (find_framebuf): New function.
33750 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
33751 line length.
33752
33753 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
33754 problem for x86_64.
33755
33756 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
33757
33758 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
33759
33760 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
33761 coding tool name.
33762
33763 2009-02-22 Robert Millan <rmh@aybabtu.com>
33764
33765 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
33766 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
33767 in our relocation, instead of using it directly from heap. Also
33768 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
33769
33770 2009-02-21 Robert Millan <rmh@aybabtu.com>
33771
33772 Implement USB keyboard support (based on patch by Marco Gerards)
33773
33774 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
33775 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
33776 (usb_keyboard_mod_LDFLAGS): New variables.
33777
33778 * term/usb_keyboard.c: New file.
33779
33780 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 Corrected wrong declaration
33783
33784 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
33785
33786 2009-02-14 Christian Franke <franke@computer.org>
33787
33788 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
33789 (grub_lspci_iter): Print class code and programming interface byte.
33790
33791 2009-02-14 Christian Franke <franke@computer.org>
33792
33793 * gendistlist.sh: Ignore `.svn' directories.
33794
33795 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
33796
33797 * fs/fat.c: Add 2009 to Copyright line.
33798
33799 2009-02-14 Christian Franke <franke@computer.org>
33800
33801 * commands/hdparm.c: New file. Provides `hdparm' command
33802 which sends ATA commands via grub_disk_ata_pass_through ().
33803
33804 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
33805
33806 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
33807 and <grub/cpu/io.h> to include/grub/ata.h.
33808 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
33809 (GRUB_CDROM_SECTOR_SIZE): Remove.
33810 (GRUB_ATA_*): Move to include/grub/ata.h.
33811 (GRUB_ATAPI_*): Likewise.
33812 (enum grub_ata_commands): Likewise.
33813 (enum grub_ata_timeout_milliseconds): Likewise.
33814 (struct grub_ata_device): Likewise.
33815 (grub_ata_regset): Likewise.
33816 (grub_ata_regget): Likewise.
33817 (grub_ata_regset2): Likewise.
33818 (grub_ata_regget2): Likewise.
33819 (grub_ata_check_ready): Likewise.
33820 (grub_ata_wait_not_busy): Remove static, exported in
33821 include/grub/ata.h.
33822 (grub_ata_wait_drq): Likewise.
33823 (grub_ata_pio_read): Likewise.
33824
33825 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
33826 function for hdparm.mod.
33827
33828 * include/grub/ata.h: New file, contains declarations from
33829 disk/ata.c.
33830 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
33831
33832 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
33833 (grub_disk_ata_pass_through): New exported variable.
33834
33835 * kern/disk.c (grub_disk_ata_pass_through): New variable.
33836
33837 2009-02-13 Colin D Bennett <colin@gibibit.com>
33838
33839 Support multiple fallback entries, and provide an API to support
33840 executing default+fallback menu entries. Renamed the `terminal' menu
33841 viewer to `text'.
33842
33843 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
33844 variable declaration.
33845 (grub_menu_execute_callback): New structure declaration.
33846 (grub_menu_execute_callback_t): New typedef.
33847 (grub_menu_execute_with_fallback): New function declaration.
33848 (grub_menu_get_entry): Likewise.
33849 (grub_menu_get_timeout): Likewise.
33850 (grub_menu_set_timeout): Likewise.
33851
33852 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
33853
33854 * normal/menu.c (grub_wait_after_message): Moved to
33855 `normal/menu_text.c'.
33856 (draw_border): Likewise.
33857 (print_message): Likewise.
33858 (print_entry): Likewise.
33859 (print_entries): Likewise.
33860 (grub_menu_init_page): Likewise.
33861 (get_entry_number): Likewise.
33862 (print_timeout): Likewise.
33863 (run_menu): Likewise.
33864 (grub_menu_execute_entry): Likewise.
33865 (show_text_menu): Likewise.
33866 (get_and_remove_first_entry_number): New function.
33867 (grub_menu_execute_with_fallback): Likewise.
33868 (get_entry): Renamed to ...
33869 (grub_menu_get_entry): .. this and made it global.
33870 (get_timeout): Renamed to ...
33871 (grub_menu_get_timeout): ... this and made it global.
33872 (set_timeout): Renamed to ...
33873 (grub_menu_set_timeout): ... this and made it global.
33874 (grub_normal_terminal_menu_viewer): Renamed to ...
33875 (grub_normal_text_menu_viewer): ... this.
33876
33877 * normal/menu_text.c: New file. Extracted text-menu-specific code
33878 from normal/menu.c.
33879
33880 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
33881 (normal_mod_SOURCES): Likewise.
33882
33883 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33884 (normal_mod_SOURCES): Likewise.
33885
33886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33887 (normal_mod_SOURCES): Likewise.
33888
33889 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
33890 (normal_mod_SOURCES): Likewise.
33891
33892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33893 (normal_mod_SOURCES): Likewise.
33894
33895 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33896 (normal_mod_SOURCES): Likewise.
33897
33898 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33899 (normal_mod_SOURCES): Likewise.
33900
33901 2009-02-11 Robert Millan <rmh@aybabtu.com>
33902
33903 * util/grub.d/00_header.in: Update old reference to `font' command.
33904
33905 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
33906
33907 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
33908
33909 Based on patch from Javier Martín.
33910
33911 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33912
33913 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
33914 to avoid false positives with FAT.
33915 (grub_fstest_SOURCES): Likewise.
33916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33917 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33919 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33921 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33922
33923 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
33924
33925 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
33926 bpb.version_specific.fat12_or_fat16.fstype and
33927 bpb.version_specific.fat32.fstype.
33928
33929 2009-02-08 Robert Millan <rmh@aybabtu.com>
33930
33931 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
33932
33933 2009-02-08 Robert Millan <rmh@aybabtu.com>
33934
33935 * Makefile.in (host_os, host_cpu): New variables.
33936 (target_os): Remove. Update all users.
33937
33938 2009-02-08 Marco Gerards <marco@gnu.org>
33939
33940 * Makefile.in (enable_grub_emu_usb): New variable.
33941 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
33942 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
33943 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
33944 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
33945 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
33946 `usbtest.mod' and `usbms.mod'.
33947 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
33948 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
33949 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
33950 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
33951 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
33952 variables.
33953
33954 * disk/usbms.c: New file.
33955
33956 * include/grub/usb.h: Likewise.
33957
33958 * include/grub/usbtrans.h: Likewise.
33959
33960 * include/grub/usbdesc.h: Likewise.
33961
33962 * bus/usb/usbtrans.c: Likewise.
33963
33964 * bus/usb/ohci.c: Likewise.
33965
33966 * bus/usb/uhci.c: Likewise.
33967
33968 * bus/usb/usbhub.c: Likewise.
33969
33970 * bus/usb/usb.c: Likewise.
33971
33972 * commands/usbtest.c: Likewise.
33973
33974 * util/usb.c: Likewise.
33975
33976 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
33977
33978 * configure.ac: Test for libusb presence.
33979
33980 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
33981
33982 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
33983
33984 * kern/mm.c: Add more comments.
33985
33986 2009-02-08 Robert Millan <rmh@aybabtu.com>
33987
33988 Patch from Javier Martín.
33989 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
33990 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
33991
33992 2009-02-08 Robert Millan <rmh@aybabtu.com>
33993
33994 * fs/cpio.c: Split tar functionality to ...
33995 * fs/tar.c: ... here (new file). Update all users.
33996
33997 2009-02-07 Robert Millan <rmh@aybabtu.com>
33998
33999 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34000 backward-incompatible features.
34001
34002 Based on patch from Javier Martín, with some adjustments.
34003
34004 2009-02-07 Michael Scherer <misc@mandriva.org>
34005
34006 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34007
34008 2009-02-07 Robert Millan <rmh@aybabtu.com>
34009
34010 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34011 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34012 after the RAID stuff.
34013
34014 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34015
34016 Fixes problem when running vbetest command as reported by
34017 Vladimir Serbinenko <phcoder@gmail.com>.
34018
34019 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34020
34021 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
34022
34023 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34024 /dev/md/NpN style mdraid devices.
34025
34026 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
34027
34028 * util/unifont2pff.rb: Remove.
34029
34030 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
34031
34032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34033 `#'.
34034
34035 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
34036
34037 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34038 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34039 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34042 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34043 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34044
34045 2009-02-02 Christian Franke <franke@computer.org>
34046
34047 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34048
34049 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
34050
34051 * INSTALL: Note that we now require at least autoconf 2.59 and
34052 that LZO is optional.
34053
34054 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34055
34056 Base on patch on bug #24154 created by Tomas Tintera
34057 <trosos@seznam.cz>.
34058
34059 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34060
34061 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34062
34063 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
34064 <bero@arklinux.org>.
34065
34066 * normal/parser.y (script_init): Add missing semicolon.
34067
34068 2009-01-31 Colin D Bennett <colin@gibibit.com>
34069
34070 * normal/main.c: Add include to grub/menu_viewer.h.
34071 (free_menu_entry_classes): Added.
34072 (grub_normal_menu_addentry): Added class property handling.
34073 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34074 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34075
34076 * normal/menu_viewer.c: New file.
34077
34078 * normal/menu.c (run_menu_entry): Renamed to ...
34079 (grub_menu_execute_entry): ... this and made it as global.
34080 (grub_menu_run): Renamed to ...
34081 (show_text_menu): ... this and made it local.
34082 (show_text_menu): Adapt to new function names.
34083 (grub_normal_terminal_menu_viewer): New global variable.
34084
34085 * include/grub/menu.h: New file.
34086
34087 * include/grub/menu_viewer.h: New file.
34088
34089 * include/grub/normal.h: Added include to grub/menu.h.
34090 (grub_menu_entry): Moved to include/grub/menu.h.
34091 (grub_menu_entry_t): Likewise.
34092 (grub_menu): Likewise.
34093 (grub_menu_t): Likewise.
34094 (grub_normal_terminal_menu_viewer): Added.
34095 (grub_menu_execute_entry): Likewise.
34096 (grub_menu_run): Removed.
34097
34098 * DISTLIST: Added include/grub/menu.h.
34099 Added include/grub/menu_viewer.h.
34100 Added normal/menu_viewer.c.
34101
34102 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34103
34104 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34105 arglist for menutitle arguments.
34106
34107 * normal/main.c (grub_normal_menu_addentry): Likewise.
34108
34109 * normal/parser.y (menuentry): Likewise.
34110
34111 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34112
34113 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34114 (grub_script_create_cmdmenu): Likewise.
34115
34116 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34117
34118 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34119 changes.
34120
34121 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34122
34123 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34124
34125 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34126
34127 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34128
34129 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34130
34131 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34132
34133 2009-01-30 Christian Franke <franke@computer.org>
34134
34135 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34136 in option help text.
34137
34138 2009-01-27 Pavel Roskin <proski@gnu.org>
34139
34140 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34141
34142 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34143
34144 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34145
34146 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34147
34148 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34149 unregister function.
34150
34151 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34152
34153 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34154
34155 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34156
34157 * util/grub-mkfont.c (usage): Fix typo.
34158
34159 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34160
34161 2009-01-26 Daniel Mierswa <impulze@impulze.org>
34162
34163 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34164
34165 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34166
34167 * kern/misc.c (grub_strcasecmp): New function.
34168 (grub_strcasecmp): Use grub_size_t instead of int for length.
34169 Fix return value.
34170 * include/grub/misc.h: Update function prototypes.
34171
34172 2009-01-26 Robert Millan <rmh@aybabtu.com>
34173
34174 * configure.ac: Fix cross-compilation check.
34175
34176 2009-01-22 Christian Franke <franke@computer.org>
34177
34178 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34179 (precision) digit string. Allow `.format2' without `format1' (width).
34180 Limit input chars for `%s' output to `format2' if specified. This is
34181 compatible with standard printf ().
34182
34183 2009-01-22 Christian Franke <franke@computer.org>
34184
34185 * disk/ata.c (grub_ata_wait_status): Replace by ...
34186 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34187 other status bits may be invalid while BSY is asserted.
34188 (grub_ata_check_ready): New function.
34189 (grub_ata_cmd): Removed.
34190 (grub_ata_wait_drq): New function.
34191 (grub_ata_strncpy): Remove inline.
34192 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34193 and error check now done by grub_ata_wait_drq ().
34194 (grub_ata_pio_write): Likewise.
34195 (grub_atapi_identify): Set DEV before check for !BSY. Use
34196 grub_ata_wait_drq () to wait for data.
34197 (grub_ata_device_initialize): Add status register check to
34198 detect missing SATA slave devices. Add debug messages.
34199 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34200 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34201 transfer loop by grub_ata_pio_write ().
34202 (grub_ata_identify): Set DEV before check for !BSY. Use
34203 grub_ata_wait_drq () to wait for data.
34204 (grub_ata_setaddress): Set DEV before check for !BSY.
34205 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34206 read/write in one loop. Fix invalid command on write. Fix incomplete
34207 command on (size % batch) == 0. Add missing error check after write of
34208 last block. Add debug messages.
34209 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34210
34211 2009-01-19 Christian Franke <franke@computer.org>
34212
34213 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34214 (GRUB_ATAPI_IREASON_*): Likewise.
34215 (grub_ata_pio_write): Fix timeout error return.
34216 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34217 (grub_atapi_wait_drq): New function.
34218 (grub_atapi_packet): New parameter `size'.
34219 Use grub_atapi_wait_drq () and direct write instead of
34220 grub_ata_pio_write ().
34221 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34222 reads the number of bytes requested by the device for each DRQ
34223 assertion.
34224 (grub_atapi_write): Remove old implementation, return not
34225 implemented instead.
34226
34227 2009-01-19 Christian Franke <franke@computer.org>
34228
34229 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34230 of 512 to calculate data size.
34231 (grub_scsi_read12): Likewise.
34232 (grub_scsi_write10): Likewise.
34233 (grub_scsi_write12): Likewise.
34234 (grub_scsi_read): Adjust size according to blocksize.
34235 Add checks for invalid blocksize and unaligned transfer.
34236
34237 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34238
34239 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34240
34241 * term/gfxterm.c (write_char): Fix background rendering for wide
34242 width glyphs.
34243
34244 2009-01-19 Robert Millan <rmh@aybabtu.com>
34245
34246 * config.guess: Update to latest version from config git.
34247 * config.sub: Likewise.
34248
34249 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
34250
34251 * Makefile.in: Change font compilation to use new grub-mkfont instead
34252 of java version.
34253
34254 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34255 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34256 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34257 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34258 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34259 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34260 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34261 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34262 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34263
34264 2009-01-16 Christian Franke <franke@computer.org>
34265
34266 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34267 (enum grub_ata_timeout_milliseconds): New enum.
34268 (grub_ata_wait_status): Add parameter milliseconds.
34269 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34270 recovery from timed-out commands.
34271 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34272 return grub_errno instead of REG_ERROR.
34273 (grub_ata_pio_write): Add parameter milliseconds.
34274 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34275 Pass milliseconds to grub_ata_wait_status () and
34276 grub_ata_pio_read ().
34277 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34278 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34279 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34280 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34281 It is not suitable for device detection, because DEV bit is ignored,
34282 the command may run too long, and not all devices set the signature
34283 properly.
34284 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34285 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34286 Fix device selection, DEV bit must be set first to address the registers
34287 of the correct device.
34288 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34289 grub_ata_pio_read/write ().
34290 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34291 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34292
34293 2009-01-13 Carles Pina i Estany <carles@pina.cat>
34294
34295 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34296
34297 2009-01-13 Bean <bean123ch@gmail.com>
34298
34299 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34300
34301 2009-01-13 Bean <bean123ch@gmail.com>
34302
34303 * Makefile.in: (enable_grub_mkfont): New variable.
34304 (freetype_cflags): Likewise.
34305 (freetype_libs): Likewise.
34306
34307 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34308 (grub_mkfont_SOURCES): New variable.
34309 (grub_mkfont_CFLAGS): Likewise.
34310 (grub_mkfont_LDFLAGS): Likewise.
34311
34312 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34313 library if `--enable-grub-mkfont' is requested.
34314 (enable_grub_mkfont): New variable.
34315 (freetype_cflags): Likewise.
34316 (freetype_libs): Likewise.
34317
34318 * util/grub-mkfont.c: New file.
34319
34320 2009-01-12 Christian Franke <franke@computer.org>
34321
34322 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34323 mode check. Fix setting of compat_use[].
34324
34325 2009-01-10 Robert Millan <rmh@aybabtu.com>
34326
34327 Update a few copyright years which we forgot to do in 2008 (only for
34328 files whose changes made in 2008 were copyright-significant)
34329
34330 * Makefile.in: Add 2008 to Copyright line.
34331 * disk/ieee1275/ofdisk.c: Likewise.
34332 * disk/efi/efidisk.c: Likewise.
34333 * kern/dl.c: Likewise.
34334 * kern/sparc64/ieee1275/init.c: Likewise.
34335 * kern/mm.c: Likewise.
34336 * kern/efi/mm.c: Likewise.
34337 * boot/i386/pc/boot.S: Likewise.
34338 * genfslist.sh: Likewise.
34339 * fs/iso9660.c: Likewise.
34340 * fs/hfs.c: Likewise.
34341 * fs/jfs.c: Likewise.
34342 * fs/minix.c: Likewise.
34343 * fs/ufs.c: Likewise.
34344 * gensymlist.sh.in: Likewise.
34345 * genkernsyms.sh.in: Likewise.
34346 * include/grub/misc.h: Likewise.
34347 * include/grub/types.h: Likewise.
34348 * include/grub/symbol.h: Likewise.
34349 * include/grub/elf.h: Likewise.
34350 * include/grub/kernel.h: Likewise.
34351 * include/grub/disk.h: Likewise.
34352 * include/grub/dl.h: Likewise.
34353 * include/grub/i386/linux.h: Likewise.
34354 * include/grub/i386/pc/biosdisk.h: Likewise.
34355 * include/grub/efi/api.h: Likewise.
34356 * include/grub/efi/pe32.h: Likewise.
34357 * include/grub/util/misc.h: Likewise.
34358 * normal/execute.c: Likewise.
34359 * normal/arg.c: Likewise.
34360 * normal/completion.c: Likewise.
34361 * normal/lexer.c: Likewise.
34362 * normal/parser.y: Likewise.
34363 * normal/misc.c: Likewise.
34364 * commands/i386/pc/vbeinfo.c: Likewise.
34365 * commands/hexdump.c: Likewise.
34366 * commands/terminal.c: Likewise.
34367 * commands/ls.c: Likewise.
34368 * commands/help.c: Likewise.
34369 * partmap/pc.c: Likewise.
34370 * loader/efi/chainloader.c: Likewise.
34371 * loader/multiboot_loader.c: Likewise.
34372 * loader/i386/pc/multiboot2.c: Likewise.
34373 * term/efi/console.c: Likewise.
34374 * term/i386/pc/serial.c: Likewise.
34375 * util/lvm.c: Likewise.
34376 * util/console.c: Likewise.
34377 * util/i386/efi/grub-mkimage.c: Likewise.
34378 * util/raid.c: Likewise.
34379
34380 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34381
34382 * commands/videotest.c: Removed include to grub/machine/memory.h.
34383
34384 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34385 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34386 (video_mod_SOURCES): Removed.
34387 (video_mod_CFLAGS): Likewise.
34388 (video_mod_LDFLAGS): Likewise.
34389 (gfxterm_mod_SOURCES): Likewise.
34390 (gfxterm_mod_CFLAGS): Likewise.
34391 (gfxterm_mod_LDFLAGS): Likewise.
34392 (videotest_mod_SOURCES): Likewise.
34393 (videotest_mod_CFLAGS): Likewise.
34394 (videotest_mod_LDFLAGS): Likewise.
34395 (bitmap_mod_SOURCES): Likewise.
34396 (bitmap_mod_CFLAGS): Likewise.
34397 (bitmap_mod_LDFLAGS): Likewise.
34398 (tga_mod_SOURCES): Likewise.
34399 (tga_mod_CFLAGS): Likewise.
34400 (tga_mod_LDFLAGS): Likewise.
34401 (jpeg_mod_SOURCES): Likewise.
34402 (jpeg_mod_CFLAGS): Likewise.
34403 (jpeg_mod_LDFLAGS): Likewise.
34404 (png_mod_SOURCES): Likewise.
34405 (png_mod_CFLAGS): Likewise.
34406 (png_mod_LDFLAGS): Likewise.
34407
34408 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
34409 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
34410 (video_mod_SOURCES): Added.
34411 (video_mod_CFLAGS): Likewise.
34412 (video_mod_LDFLAGS): Likewise.
34413 (videotest_mod_SOURCES): Likewise.
34414 (videotest_mod_CFLAGS): Likewise.
34415 (videotest_mod_LDFLAGS): Likewise.
34416 (bitmap_mod_SOURCES): Likewise.
34417 (bitmap_mod_CFLAGS): Likewise.
34418 (bitmap_mod_LDFLAGS): Likewise.
34419 (tga_mod_SOURCES): Likewise.
34420 (tga_mod_CFLAGS): Likewise.
34421 (tga_mod_LDFLAGS): Likewise.
34422 (jpeg_mod_SOURCES): Likewise.
34423 (jpeg_mod_CFLAGS): Likewise.
34424 (jpeg_mod_LDFLAGS): Likewise.
34425 (png_mod_SOURCES): Likewise.
34426 (png_mod_CFLAGS): Likewise.
34427 (png_mod_LDFLAGS): Likewise.
34428 (gfxterm_mod_SOURCES): Likewise.
34429 (gfxterm_mod_CFLAGS): Likewise.
34430 (gfxterm_mod_LDFLAGS): Likewise.
34431
34432 * term/gfxterm.c: Removed include to grub/machine/memory.h,
34433 grub/machine/console.h.
34434
34435 2009-01-04 Jerone Young <jerone@gmail.com>
34436
34437 Make on screen instructions clearer
34438
34439 Based on patch created by Jidanni <jidanni@jidanni.org>
34440
34441 * normal/menu.c: print clearer instructions on the screen
34442
34443 2009-01-02 Colin D Bennett <colin@gibibit.com>
34444
34445 New font engine.
34446
34447 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
34448 build system and fixed gfxterm.c to work with different sized fonts.
34449
34450 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34451
34452 * configure: Re-generated.
34453
34454 * DISTLIST: Removed font/manager.c.
34455 Added font/font.c.
34456 Added font/font_cmd.c.
34457
34458 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
34459 compilation.
34460
34461 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34462
34463 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
34464
34465 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34466
34467 * normal/menu.c: Likewise.
34468
34469 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
34470 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34471
34472 * include/grub/font.h: Replaced with new file.
34473
34474 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
34475 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
34476 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
34477 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
34478 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34479 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
34480 fg_red, fg_green, fg_blue, fg_alpha.
34481 (grub_video_adapter): Removed blit_glyph.
34482 (grub_video_blit_glyph): Removed.
34483
34484 * font/manager.c: Removed file.
34485
34486 * font/font.c: New file.
34487
34488 * font/font_cmd.c: Likewise.
34489
34490 * video/video.c (grub_video_blit_glyph): Removed.
34491
34492 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
34493 (grub_video_vbe_map_rgba): Likewise.
34494 (grub_video_vbe_unmap_color_int): Likewise.
34495 (grub_video_vbe_blit_glyph): Removed.
34496 (grub_video_vbe_adapter): Removed blit_glyph.
34497
34498 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
34499 (get_pixel): Likewise.
34500 (set_pixel): Likewise.
34501
34502 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34503
34504 * term/gfxterm.c: Adapted to new font engine.
34505
34506 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34507
34508 * term/i386/pc/vga.c: Likewise.
34509
34510 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34511
34512 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34513
34514 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34515
34516 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34517
34518 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34519
34520 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34521
34522 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34523
34524 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34525
34526 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34527
34528 * util/grub.d/00_header.in: Changed to use new loadfont command.
34529
34530 * util/grub-mkconfig_lib.in: Changed font extension.
34531
34532 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
34533
34534 * util/getroot.c (grub_util_get_grub_dev): Add support for
34535 /dev/md/dNNpNN style partitionable mdraid devices.
34536
34537 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
34538
34539 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
34540 at a time limit of the PXE TFTP API correctly.
34541 (grub_pxefs_close): Likewise.
34542
34543 2008-11-29 Robert Millan <rmh@aybabtu.com>
34544
34545 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
34546 grub_ata_device_initialize() calls.
34547
34548 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
34549
34550 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
34551 iteration failed.
34552 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
34553
34554 2008-11-28 Robert Millan <rmh@aybabtu.com>
34555
34556 Fix build on powerpc-ieee1275. Based on patch created by
34557 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
34558 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34559 `kern/ieee1275/mmap.c'.
34560 * include/grub/powerpc/ieee1275/memory.h: New file.
34561
34562 Provide grub-install on coreboot.
34563 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
34564 (grub_install_SOURCES): New variable.
34565 * util/i386/pc/grub-install.in: Add a few condition checks to make it
34566 usable on coreboot.
34567
34568 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
34569
34570 * util/grub-fstest.c (grub_term_get_current_input): Change return type
34571 to `grub_term_input_t'.
34572 (grub_term_get_current_output): Change return type to
34573 `grub_term_output_t'.
34574
34575 2008-11-22 Robert Millan <rmh@aybabtu.com>
34576
34577 Fix breakage on coreboot due to declaration mismatch.
34578 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
34579 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
34580 grub_vga_text_cls().
34581
34582 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34583 comments. Avoid copying one more byte than necessary (just in case).
34584
34585 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
34586 to 0x200000 (avoids trouble with some OFW implementations, and matches
34587 with the one in Yaboot).
34588 Reported by Manoel Abranches
34589
34590 2008-11-20 Robert Millan <rmh@aybabtu.com>
34591
34592 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
34593 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
34594
34595 * util/grub-mkconfig_lib.in (grub_warn): New function.
34596 (convert_system_path_to_grub_path): Use grub_warn() when issuing
34597 warnings, to obtain consistent formatting.
34598 * util/grub.d/00_header.in: Likewise.
34599 * util/update-grub_lib.in: Likewise.
34600
34601 * loader/i386/linux.c (allocate_pages): Fix a warning.
34602 Move comment text to `#error' stanza.
34603
34604 Harmonize ieee1275's grub_available_iterate() with the generic
34605 grub_machine_mmap_iterate() interface (fixes a recently-introduced
34606 build problem on i386-ieee1275):
34607 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
34608 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
34609 parameter `type'. Update all users of this function.
34610 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34611 `kern/ieee1275/mmap.c'.
34612 * kern/ieee1275/init.c
34613 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
34614 with ...
34615 (grub_machine_mmap_iterate): ... this.
34616 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
34617 return type to `grub_err_t'. Update all implementations of this
34618 function prototype.
34619 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
34620 Likewise.
34621
34622 Add `lsmmap' command (lists firmware-provided memory map):
34623 * commands/lsmmap.c: New file.
34624 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
34625 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
34626 variables.
34627 * conf/powerpc-ieee1275.rmk: Likewise.
34628 * conf/i386-coreboot.rmk: Likewise.
34629 * conf/i386-ieee1275.rmk: Likewise.
34630
34631 2008-11-19 Robert Millan <rmh@aybabtu.com>
34632
34633 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
34634 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
34635 constraints to initrd allocation (based on code from
34636 loader/i386/pc/linux.c). Without them, initrd was allocated too high
34637 for Linux to find it.
34638
34639 2008-11-14 Robert Millan <rmh@aybabtu.com>
34640
34641 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
34642 order to cope with duplicate slashes.
34643
34644 2008-11-14 Robert Millan <rmh@aybabtu.com>
34645
34646 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
34647 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
34648 don't want to mess with lower memory, because it is used in the Linux
34649 loader.
34650
34651 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34652 an appropriate place in lower memory, between 0x10000 and 0x90000,
34653 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
34654 is in our heap (probably as a result of it being corrupted during
34655 decompression). Add #error instance with comment to explain why this
34656 loader isn't currently usable on PC/BIOS.
34657
34658 2008-11-14 Robert Millan <rmh@aybabtu.com>
34659
34660 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34661 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
34662
34663 2008-11-12 Robert Millan <rmh@aybabtu.com>
34664
34665 Make loader/i386/linux.c buildable on i386-pc (although disabled).
34666
34667 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
34668 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
34669 from here ...
34670 * include/grub/i386/pc/memory.h: ... to here.
34671
34672 2008-11-12 Robert Millan <rmh@aybabtu.com>
34673
34674 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
34675 split).
34676
34677 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
34678 (grub_console_cur_color, grub_console_real_putchar)
34679 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34680 (grub_console_setcolorstate, grub_console_setcolor)
34681 (grub_console_getcolor): Move from here ...
34682 * include/grub/i386/vga_common.h: ... to here (new file).
34683
34684 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
34685 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
34686 `<grub/i386/io.h>'.
34687 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
34688 `<grub/i386/vga_common.h>'.
34689
34690 2008-11-12 Robert Millan <rmh@aybabtu.com>
34691
34692 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
34693 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
34694 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
34695 variables.
34696 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34697 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
34698
34699 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
34700 grub_console_init() with call to grub_vga_text_init().
34701 (grub_machine_fini): Replace call to
34702 grub_console_fini() with call to grub_vga_text_fini() and
34703 grub_at_keyboard_fini().
34704
34705 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
34706 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
34707 (grub_console_setcolorstate, grub_console_setcolor)
34708 (grub_console_getcolor): New function prototypes.
34709
34710 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
34711 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
34712 (grub_vga_text_setcursor): Static-ize.
34713 (grub_vga_text_term): New structure.
34714 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
34715
34716 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
34717 (grub_console_cur_color, grub_console_standard_color)
34718 (grub_console_normal_color, grub_console_highlight_color)
34719 (map_char, grub_console_putchar, grub_console_getcharwidth)
34720 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
34721 (grub_console_getcolor): Move from here ...
34722 * term/i386/vga_common.c: ... to here (same function names).
34723
34724 2008-11-12 Robert Millan <rmh@aybabtu.com>
34725
34726 Use newly-added Multiboot support in coreboot.
34727
34728 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
34729 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
34730
34731 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
34732 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
34733 (codestart): Store the MBI in `startup_multiboot_info' when we're
34734 being loaded using Multiboot.
34735
34736 * kern/i386/coreboot/init.c (grub_machine_init): Move
34737 grub_at_keyboard_init() call to beginning of function (useful for
34738 debugging). Call grub_machine_mmap_init() before attempting to use
34739 grub_machine_mmap_iterate().
34740 (grub_lower_mem, grub_upper_mem): Move from here ...
34741 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
34742 here (new file).
34743
34744 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
34745 function prototype.
34746
34747 2008-11-12 Robert Millan <rmh@aybabtu.com>
34748
34749 Fix a regression introduced by the at_keyboard.mod split. Because
34750 some terminals are default on some platforms and non-default on
34751 others, the first terminal being registered determines which is
34752 going to be default.
34753
34754 * kern/term.c (grub_term_register_input): If this is the first
34755 terminal being registered, set it as the current one.
34756 (grub_term_register_output): Likewise.
34757
34758 * term/efi/console.c (grub_console_init): Do not call
34759 grub_term_set_current_output() or grub_term_set_current_input().
34760 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
34761 * term/i386/pc/console.c (grub_console_init): Likewise.
34762 (grub_console_fini): Do not call grub_term_set_current_input()
34763 (but leave grub_term_set_current_output() to restore text mode).
34764
34765 2008-11-10 Robert Millan <rmh@aybabtu.com>
34766
34767 * util/grub.d/00_header.in: Add backward compatibility check for
34768 versions of terminal.mod that don't understand `terminal_input' or
34769 `terminal_output'.
34770
34771 2008-11-09 Robert Millan <rmh@aybabtu.com>
34772
34773 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
34774 `terminal_input' / `terminal_output', not `terminal'.
34775
34776 2008-11-08 Robert Millan <rmh@aybabtu.com>
34777
34778 * Makefile.in (include_DATA): Fix srcdir=. assumption.
34779 (DISTCLEANFILES): Add `build_env.mk'.
34780
34781 2008-11-08 Robert Millan <rmh@aybabtu.com>
34782
34783 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
34784 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34785 members. Update all users.
34786 * util/console.c (grub_ncurses_term): Split in ...
34787 (grub_ncurses_term_input): ... this, and ...
34788 (grub_ncurses_term_output): ... this. Update all users.
34789 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
34790
34791 2008-11-08 Robert Millan <rmh@aybabtu.com>
34792
34793 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
34794 (PKGDATA): Add $(pkgdata_SRCDIR).
34795 (pkglib_BUILDDIR): New variable.
34796 (pkgdata_SRCDIR): New variable.
34797 (build_env.mk): New target.
34798 (include_DATA): New variable.
34799 (install-local): Install $(include_DATA) files in $(includedir).
34800
34801 2008-11-07 Pavel Roskin <proski@gnu.org>
34802
34803 * gendistlist.sh: Use C locale for sorting to ensure consistent
34804 output on all systems.
34805
34806 * util/grub.d/00_header.in: Remove incorrect space before
34807 "serial".
34808
34809 2008-11-07 Robert Millan <rmh@aybabtu.com>
34810
34811 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
34812 per specification.
34813 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
34814 * loader/multiboot_loader.c (find_multi_boot2_header): New function
34815 (based on find_multi_boot1_header).
34816 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
34817 using find_multi_boot2_header(), and abort if neither Multiboot or
34818 Multiboot headers were found.
34819
34820 2008-11-07 Robert Millan <rmh@aybabtu.com>
34821
34822 Modularize at_keyboard.mod:
34823
34824 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
34825 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
34826 (at_keyboard_mod_LDFLAGS): New variables.
34827
34828 Actual terminal split:
34829
34830 * include/grub/term.h (struct grub_term): Split in ...
34831 (struct grub_term_input): ... this, and ...
34832 (struct grub_term_output): ... this. Update all users.
34833 (grub_term_set_current): Split in ...
34834 (grub_term_set_current_input): ... this, and ...
34835 (grub_term_set_current_output): ... this.
34836 (grub_term_get_current): Split in ...
34837 (grub_term_get_current_input): ... this, and ...
34838 (grub_term_get_current_output): ... this.
34839 (grub_term_register): Split in ...
34840 (grub_term_register_input): ... this, and ...
34841 (grub_term_register_output): ... this.
34842 (grub_term_unregister): Split in ...
34843 (grub_term_unregister_input): ... this, and ...
34844 (grub_term_unregister_output): ... this.
34845 (grub_term_iterate): Split in ...
34846 (grub_term_iterate_input): ... this, and ...
34847 (grub_term_iterate_output): ... this.
34848
34849 * kern/term.c (grub_term_list): Split in ...
34850 (grub_term_list_input): ... this, and ...
34851 (grub_term_list_output): ... this. Update all users.
34852 (grub_cur_term): Split in ...
34853 (grub_cur_term_input): ... this, and ...
34854 (grub_cur_term_output): ... this. Update all users.
34855 (grub_term_set_current): Split in ...
34856 (grub_term_set_current_input): ... this, and ...
34857 (grub_term_set_current_output): ... this.
34858 (grub_term_get_current): Split in ...
34859 (grub_term_get_current_input): ... this, and ...
34860 (grub_term_get_current_output): ... this.
34861 (grub_term_register): Split in ...
34862 (grub_term_register_input): ... this, and ...
34863 (grub_term_register_output): ... this.
34864 (grub_term_unregister): Split in ...
34865 (grub_term_unregister_input): ... this, and ...
34866 (grub_term_unregister_output): ... this.
34867 (grub_term_iterate): Split in ...
34868 (grub_term_iterate_input): ... this, and ...
34869 (grub_term_iterate_output): ... this.
34870
34871 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
34872 a check for input and one for output (and only attempt to get keys
34873 from user when input works).
34874
34875 * util/grub-probe.c (grub_term_get_current): Split in ...
34876 (grub_term_get_current_input): ... this, and ...
34877 (grub_term_get_current_output): ... this.
34878 * util/grub-fstest.c: Likewise.
34879 * util/i386/pc/grub-setup.c: Likewise.
34880 * util/grub-editenv.c: Likewise.
34881
34882 Portability adjustments:
34883
34884 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
34885 `term/i386/pc/at_keyboard.c'.
34886 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
34887 grub_keyboard_controller_init() (now handled by terminal .init).
34888 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
34889 grub_at_keyboard_init().
34890 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
34891 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
34892 at_keyboard.mod via input terminal interface).
34893 * include/grub/i386/coreboot/console.h: Convert into a stub for
34894 `<grub/i386/pc/console.h>'.
34895
34896 Migrate full terminals to new API:
34897
34898 * term/efi/console.c (grub_console_term): Split into ...
34899 (grub_console_term_input): ... this, and ...
34900 (grub_console_term_output): ... this. Update all users.
34901 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
34902 (grub_ofconsole_init): Split into ...
34903 (grub_ofconsole_init_input): ... this, and ...
34904 (grub_ofconsole_init_output): ... this.
34905 (grub_ofconsole_term): Split into ...
34906 (grub_ofconsole_term_input): ... this, and ...
34907 (grub_ofconsole_term_output): ... this. Update all users.
34908 * term/i386/pc/serial.c (grub_serial_term): Split into ...
34909 (grub_serial_term_input): ... this, and ...
34910 (grub_serial_term_output): ... this. Update all users.
34911 * term/i386/pc/console.c (grub_console_term): Split into ...
34912 (grub_console_term_input): ... this, and ...
34913 (grub_console_term_output): ... this. Update all users.
34914 (grub_console_term_input): Only enable it on PC/BIOS platform.
34915 (grub_console_init): Remove grub_keyboard_controller_init() call.
34916
34917 Migrate input terminals to new API:
34918
34919 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
34920 `i386' and `i386/pc' to enable build on x86_64 (this driver is
34921 i386-specific anyway).
34922 (grub_console_checkkey): Rename to ...
34923 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
34924 users.
34925 (grub_keyboard_controller_orig): New variable.
34926 (grub_console_getkey): Rename to ...
34927 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
34928 users.
34929 (grub_keyboard_controller_init): Static-ize. Save original
34930 controller value so that it can be restored ...
34931 (grub_keyboard_controller_fini): ... here (new function).
34932 (grub_at_keyboard_term): New structure.
34933 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
34934 functions.
34935
34936 Migrate output terminals to new API:
34937
34938 * term/i386/pc/vga.c (grub_vga_term): Change type to
34939 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34940 members. Update all users.
34941 * term/gfxterm.c (grub_video_term): Change type to
34942 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
34943 members. Update all users.
34944 * include/grub/i386/pc/console.h (grub_console_checkkey)
34945 (grub_console_getkey): Do not export (no longer needed by gfxterm,
34946 etc).
34947
34948 Migrate `terminal' command and userland tools to new API:
34949
34950 * commands/terminal.c (grub_cmd_terminal): Split into ...
34951 (grub_cmd_terminal_input): ... this, and ...
34952 (grub_cmd_terminal_output): ... this.
34953 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
34954 `terminal_input' and `terminal_output'.
34955 * util/grub.d/00_header.in: Adjust `terminal' calls to new
34956 `terminal_input' / `terminal_output' API.
34957 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
34958 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
34959 provided ${GRUB_TERMINAL}, convert it).
34960
34961 2008-11-04 Robert Millan <rmh@aybabtu.com>
34962
34963 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
34964 for FreeBSD.
34965 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
34966
34967 2008-11-03 Bean <bean123ch@gmail.com>
34968
34969 * kern/elf.c (grub_elf32_load): Revert to previous code.
34970 (grub_elf64_load): Likewise.
34971
34972 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
34973
34974 2008-11-01 Robert Millan <rmh@aybabtu.com>
34975
34976 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
34977 (TARGET_CPPFLAGS): Likewise.
34978 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
34979
34980 2008-11-01 Carles Pina i Estany <carles@pina.cat>
34981
34982 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
34983
34984 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34985
34986 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
34987 addition of objects until the code is not going to be able to fail.
34988
34989 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
34990
34991 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
34992 (add a missing NULL check, and correct them by moving the pointer
34993 operations after the actual check).
34994
34995 2008-10-29 Robert Millan <rmh@aybabtu.com>
34996
34997 * util/i386/pc/grub-install.in: Handle empty string as output from
34998 make_system_path_relative_to_its_root().
34999
35000 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35001
35002 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35003 circular metadata worst case scenario. If the metadata is circular
35004 then copy the wrap in place.
35005 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35006 project lib/format_text/layout.h
35007 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35008
35009 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
35010
35011 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
35012
35013 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
35014
35015 * util/update-grub_lib.in: Mention filename in warning message.
35016
35017 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
35018
35019 * NEWS: Update for rename of update-grub to grub-mkconfig.
35020
35021 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
35022
35023 * util/update-grub_lib.in: Copy to ...
35024 * util/grub-mkconfig_lib.in: ... this. Update all users.
35025 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
35026 * util/update-grub.in: Rename to ...
35027 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35028 option. Add `--output' option to allow users to specify the generated
35029 configuration file. Default to stdout.
35030 (update_grub_dir): Rename to ...
35031 (grub_mkconfig_dir): ... this.
35032 (grub_cfg): Default to an empty string.
35033 * conf/common.rmk (update-grub): Rename to ...
35034 (grub-mkconfig): ... this.
35035 (update-grub_lib): Copy to ...
35036 (grub-mkconfig_lib): ... this.
35037 (update-grub_SCRIPTS): Copy to ...
35038 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35039 (update-grub_DATA): Rename to ...
35040 (grub-mkconfig_DATA): ... this.
35041
35042 2008-09-28 Robert Millan <rmh@aybabtu.com>
35043
35044 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35045 to `modified'. Add the real `created' field.
35046 (grub_iso9660_uuid): Use `modified' rather than `created' for
35047 constructing the UUID.
35048
35049 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
35050
35051 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35052 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35053
35054 2008-09-28 Bean <bean123ch@gmail.com>
35055
35056 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35057 Thanks to Christian Franke for finding this bug.
35058
35059 2008-09-25 Robert Millan <rmh@aybabtu.com>
35060
35061 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35062 instances of grub_util_get_disk_name() (see previous commit).
35063
35064 2008-09-25 Robert Millan <rmh@aybabtu.com>
35065
35066 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35067 `util/i386/get_disk_name.c'.
35068 * conf/i386-efi.rmk: Likewise.
35069 * conf/x86_64-efi.rmk: Likewise.
35070 * conf/i386-coreboot.rmk: Likewise.
35071 * conf/i386-ieee1275.rmk: Likewise.
35072 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35073 `util/ieee1275/get_disk_name.c'.
35074 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35075 * util/ieee1275/get_disk_name.c: Remove file.
35076 * util/i386/get_disk_name.c: Remove file.
35077 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35078 "hd%d" for device.map entries, rather than using
35079 grub_util_get_disk_name().
35080
35081 2008-09-24 Carles Pina i Estany <carles@pina.cat>
35082
35083 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35084 warning.
35085 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35086
35087 2008-09-24 Carles Pina i Estany <carles@pina.cat>
35088
35089 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35090 Changed to 0x5100.
35091 (GRUB_TERM_PPAGE): Changed to 0x4900.
35092
35093 2008-09-24 Robert Millan <rmh@aybabtu.com>
35094
35095 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35096 macros (they were i386-pc specific).
35097 * include/grub/sparc64/ieee1275/console.h: Likewise.
35098 * include/grub/efi/console.h: Likewise.
35099
35100 2008-09-22 Bean <bean123ch@gmail.com>
35101
35102 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35103 resident and in attribute list.
35104
35105 * include/grub/ntfs.h (BMP_LEN): Removed.
35106
35107 2008-09-22 Bean <bean123ch@gmail.com>
35108
35109 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
35110 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35111
35112 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35113 error occurs, as grub_disk_open will call grub_disk_close, which will
35114 call p->close (scsi).
35115
35116 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
35117
35118 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35119 (AC_PREREQ): Bumped to 2.59.
35120 (AC_TRY_COMPILE): Replace obsolete macro with ...
35121 (AC_COMPILE_IFELSE): ... this.
35122 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35123 (AC_LINK_IFELSE): ... this.
35124
35125 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
35126
35127 * autogen.sh: Add a call to `gendistlist.sh'.
35128
35129 2008-09-19 Christian Franke <franke@computer.org>
35130
35131 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35132 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35133 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35134 Export __enable_execute_stack() to modules.
35135 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35136 New function.
35137
35138 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
35139
35140 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35141 Sort the list.
35142
35143 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
35144
35145 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
35146 #include <grub/util/hostdisk.h>.
35147
35148 2008-09-08 Robert Millan <rmh@aybabtu.com>
35149
35150 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35151 segments when their filesz is zero (grub_file_read() interprets
35152 zero-size as "read until EOF", which results in memory corruption).
35153 Use `lowest_segment' rather than 0 for calculating the current
35154 segment load address.
35155
35156 2008-09-08 Robert Millan <rmh@aybabtu.com>
35157
35158 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35159 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35160 clobbered useful information.
35161
35162 2008-09-08 Robert Millan <rmh@aybabtu.com>
35163
35164 * include/grub/util/biosdisk.h: Move to ...
35165 * include/grub/util/hostdisk.h: ... here. Update all users.
35166 * util/biosdisk.c: Move to ...
35167 * util/hostdisk.c: ... here. Update all users.
35168
35169 2008-09-07 Robert Millan <rmh@aybabtu.com>
35170
35171 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35172 variables.
35173 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35174 and length can be stored directly in the `mbi->mmap_addr' and
35175 `mbi->mmap_length' struct fields.
35176
35177 2008-09-07 Robert Millan <rmh@aybabtu.com>
35178
35179 * conf/i386.rmk: New file. Provides declaration for building
35180 `cpuid.mod'.
35181 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35182 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35183 variables.
35184 Include `conf/i386.mk'.
35185 * conf/i386-efi.rmk: Likewise.
35186 * conf/x86_64-efi.rmk: Likewise.
35187 * conf/i386-coreboot.rmk: Likewise.
35188 * conf/i386-ieee1275.rmk: Likewise.
35189
35190 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35191
35192 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35193 Adds optimization support for BGR based modes.
35194
35195 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35196 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35197 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35198 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35199 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35200 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35201 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35202 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35203 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35204 (grub_video_i386_vbeblit_index_index): Likewise.
35205 (grub_video_i386_vbeblit_replace_directN): Added.
35206 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35207 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35208 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35209 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35210 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35211 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35212 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35213 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35214 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35215 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35216 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35217 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35218 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35219
35220 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35221 (grub_video_i386_vbefill_R8G8B8): Likewise.
35222 (grub_video_i386_vbefill_index): Likewise.
35223 (grub_video_i386_vbefill_direct32): Added.
35224 (grub_video_i386_vbefill_direct24): Likewise.
35225 (grub_video_i386_vbefill_direct16): Likewise.
35226 (grub_video_i386_vbefill_direct8): Likewise.
35227
35228 * include/grub/video.h (grub_video_blit_format): Removed
35229 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35230 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35231 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35232 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35233 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
35234
35235 * video/video.c (grub_video_get_blit_format): Updated to use new
35236 blit formats. Added handling for 16 bit color modes.
35237
35238 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
35239 fillers.
35240 (common_blitter): Updated to use new blitters.
35241
35242 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35243 Removed.
35244 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35245 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35246 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35247 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35248 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35249 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35250 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35251 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35252 (grub_video_i386_vbeblit_index_index): Likewise.
35253 (grub_video_i386_vbeblit_replace_directN): Added.
35254 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35255 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35256 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35257 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35258 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35259 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35260 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35261 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35262 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35263 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35264 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35265 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35266 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35267
35268 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35269 (grub_video_i386_vbefill_R8G8B8): Likewise.
35270 (grub_video_i386_vbefill_index): Likewise.
35271 (grub_video_i386_vbefill_direct32): Added.
35272 (grub_video_i386_vbefill_direct24): Likewise.
35273 (grub_video_i386_vbefill_direct16): Likewise.
35274 (grub_video_i386_vbefill_direct8): Likewise.
35275
35276 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35277 types.
35278
35279 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35280 types.
35281
35282 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35283 blitter types.
35284
35285 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35286 types.
35287
35288 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35289
35290 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35291 RAID level 1.
35292
35293 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
35294
35295 * fs/iso9660.c (grub_iso9660_date): New structure.
35296 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35297 (grub_iso9660_uuid): New function.
35298
35299 2008-09-05 Bean <bean123ch@gmail.com>
35300
35301 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35302
35303 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35304 insensitive bit for names in Win32 and Win32 & DOS namespace.
35305
35306 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35307
35308 * include/grub/types.h (LONG_MAX): Likewise.
35309
35310 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35311
35312 * util/getroot.c: Include <config.h>.
35313 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35314 add support for /dev/md/N devices and handle LVM double dash escaping.
35315
35316 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
35317
35318 * config.guess: Update to latest version from config git.
35319 * config.sub: Likewise.
35320
35321 2008-09-03 Robert Millan <rmh@aybabtu.com>
35322
35323 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35324 `disk->total_sectors'.
35325
35326 2008-09-01 Colin D Bennett <colin@gibibit.com>
35327
35328 * include/grub/normal.h: Fixed incorrect comment for
35329 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35330
35331 2008-09-01 Colin D Bennett <colin@gibibit.com>
35332
35333 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35334 values with defines.
35335
35336 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35337 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35338 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35339 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35340 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35341 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35342 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35343 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35344 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35345 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35346 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35347 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35348 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35349 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35350 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35351 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35352 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35353 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35354 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35355
35356 2008-08-31 Robert Millan <rmh@aybabtu.com>
35357
35358 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35359 declaration.
35360 (grub_multiboot): Fix a few warnings.
35361
35362 2008-08-31 Robert Millan <rmh@aybabtu.com>
35363
35364 * loader/i386/pc/multiboot.c: Update comment not to say that
35365 boot_device support is unimplemented.
35366
35367 2008-08-31 Robert Millan <rmh@aybabtu.com>
35368
35369 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35370 or memory map support are unimplemented.
35371
35372 2008-08-31 Colin D Bennett <colin@gibibit.com>
35373
35374 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35375
35376 2008-08-31 Colin D Bennett <colin@gibibit.com>
35377
35378 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35379 total video memory in 'vbeinfo' output; show color format details for
35380 each video mode.
35381
35382 2008-08-30 Pavel Roskin <proski@gnu.org>
35383
35384 * util/genmoddep.c: Remove for real this time.
35385 * DISTLIST: Remove util/genmoddep.c.
35386
35387 2008-08-30 Robert Millan <rmh@aybabtu.com>
35388
35389 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35390 as required by Multiboot spec (it was already 4-byte aligned, but
35391 only by chance).
35392
35393 2008-08-29 Pavel Roskin <proski@gnu.org>
35394
35395 * kern/powerpc/ieee1275/crt0.S: Rename to ...
35396 * kern/powerpc/ieee1275/startup.S: ... this.
35397 * conf/powerpc-ieee1275.rmk: Adjust for the above.
35398 * DISTLIST: Likewise.
35399
35400 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
35401 grub/cpu/kernel.h. Add start label for consistency with other
35402 platforms. Add grub_prefix immediately after start. Add jump
35403 to the code after grub_prefix.
35404 * include/grub/powerpc/kernel.h: Provide valid values for
35405 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
35406
35407 2008-08-29 Bean <bean123ch@gmail.com>
35408
35409 * configure.ac: Change host_os to cygwin for mingw.
35410 (asprintf): New check for function.
35411
35412 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
35413 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
35414
35415 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
35416 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
35417 sync, sleep and grub_util_get_disk_size for mingw.
35418
35419 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
35420 to get size in mingw.
35421 (open_device): Use flag O_BINARY if it's defined.
35422 (find_root_device): Add dummy code for mingw.
35423
35424 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
35425 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
35426 (get_scsi_disk_name): Return 0 for mingw.
35427
35428 * util/hostfs.c: #include <grub/util/misc.h>.
35429 (grub_hostfs_open): Use "rb" flag to open file, use
35430 grub_util_get_disk_size to get disk size for mingw.
35431
35432 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
35433 (asprintf): New function if HAVE_ASPRINTF is not set.
35434 (sync): New function for mingw.
35435 (sleep): Likewise.
35436 (grub_util_get_disk_size): Likewise.
35437
35438 2008-08-28 Pavel Roskin <proski@gnu.org>
35439
35440 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35441 kern/time.c.
35442
35443 2008-08-28 Robert Millan <rmh@aybabtu.com>
35444
35445 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
35446
35447 2008-08-28 Robert Millan <rmh@aybabtu.com>
35448
35449 Change find_grub_drive() syntax so it doesn't prevent it from
35450 detecting NULL names as errors.
35451
35452 * util/biosdisk.c (find_grub_drive): Move free slot search code
35453 from here ...
35454 (find_free_slot): ... to here.
35455 (read_device_map): Use find_free_slot() to search for free slots.
35456
35457 2008-08-27 Marco Gerards <marco@gnu.org>
35458
35459 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
35460 (scsi_mod_SOURCES): New variable.
35461 (scsi_mod_CFLAGS): Likewise
35462 (scsi_mod_LDFLAGS): Likewise.
35463
35464 * disk/scsi.c: New file.
35465
35466 * include/grub/scsi.h: Likewise.
35467
35468 * include/grub/scsicmd.h: Likewise.
35469
35470 * disk/ata.c: Include <grub/scsi.h>.
35471 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
35472 instead.
35473 (grub_ata_iterate): Skip ATAPI devices.
35474 (grub_ata_open): Only handle ATAPI devices.
35475 (struct grub_atapi_read): Removed.
35476 (grub_atapi_readsector): Likewise.
35477 (grub_ata_read): No longer handle ATAPI devices.
35478 (grub_ata_write): Likewise.
35479 (grub_atapi_iterate): New function.
35480 (grub_atapi_read): Likewise.
35481 (grub_atapi_write): Likewise.
35482 (grub_atapi_open): Likewise.
35483 (grub_atapi_close): Likewise.
35484 (grub_atapi_dev): New variable.
35485 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
35486 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
35487
35488 * include/grub/disk.h (enum grub_disk_dev_id): Add
35489 `GRUB_DISK_DEVICE_SCSI_ID'.
35490
35491 2008-08-26 Robert Millan <rmh@aybabtu.com>
35492
35493 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
35494 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
35495 descriptive.
35496
35497 2008-08-23 Bean <bean123ch@gmail.com>
35498
35499 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
35500 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35501 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
35502 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
35503 dm_nv.mod.
35504 (raid5rec_mod_SOURCES): New macro.
35505 (raid5rec_mod_CFLAGS): Likewise.
35506 (raid5rec_mod_LDFLAGS): Likewise.
35507 (raid6rec_mod_SOURCES): Likewise.
35508 (raid6rec_mod_CFLAGS): Likewise.
35509 (raid6rec_mod_LDFLAGS): Likewise.
35510 (mdraid_mod_SOURCES): Likewise.
35511 (mdraid_mod_CFLAGS): Likewise.
35512 (mdraid_mod_LDFLAGS): Likewise.
35513 (dm_nv_mod_SOURCES): Likewise.
35514 (dm_nv_mod_CFLAGS): Likewise.
35515 (dm_nv_mod_LDFLAGS): Likewise.
35516
35517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
35518 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
35519 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35520
35521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
35522 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
35523
35524 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35525
35526 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35527
35528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35529
35530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35531
35532 * disk/raid5_recover.c: New file.
35533
35534 * disk/raid6_recover.c: Likewise.
35535
35536 * disk/mdraid_linux.c: Likewise.
35537
35538 * disk/dmraid_nvidia.c: Likewise.
35539
35540 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
35541 ULONG_MAX.
35542
35543 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
35544 calculate the size of raid device.
35545 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
35546 different layout of raid5.
35547 (grub_raid_scan_device): Remove code specific to mdraid.
35548 (grub_raid_list): New variable.
35549 (free_array): New function.
35550 (grub_raid_register): Likewise.
35551 (grub_raid_unregister): Likewise.
35552 (grub_raid_rescan): Likewise.
35553 (GRUB_MOD_INIT): Don't iterate device here.
35554 (GRUB_MOD_FINI): Use free_array to release resource.
35555
35556 * include/grub/raid.h: Remove macro and structure specific to mdraid.
35557 (grub_raid5_recover_func_t): New function variable type.
35558 (grub_raid6_recover_func_t): Likewise.
35559 (grub_raid5_recover_func): New variable.
35560 (grub_raid6_recover_func): Likewise.
35561 (grub_raid_register): New function.
35562 (grub_raid_unregister): Likewise.
35563 (grub_raid_rescan): Likewise.
35564 (grub_raid_block_xor): Likewise.
35565
35566 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
35567 (CMD_CRC): New macro.
35568 (part): Removed.
35569 (read_file): Handle device as well as file.
35570 (cmd_crc): New function.
35571 (fstest): Handle multiple disks.
35572 (options): Remove part, raw and long, add root and diskcount.
35573 (usage): Add crc, remove -p, -r, -l, add -r and -c.
35574 (main): Find the first non option entry and ignore subsequent options,
35575 add handling for the new options, support multiple disks.
35576
35577 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
35578
35579 2008-08-23 Bean <bean123ch@gmail.com>
35580
35581 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
35582
35583 * genfslist.sh: Ignore kernel.mod.
35584
35585 * genpartmaplist.sh: Likewise.
35586
35587 2008-08-23 Robert Millan <rmh@aybabtu.com>
35588
35589 * util/getroot.c (find_root_device): Skip anything that starts with
35590 a dot, not just directories. This avoids things like /dev/.tmp.md0.
35591
35592 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
35593
35594 * util/update-grub.in (GRUB_GFXMODE): Export variable.
35595 * util/grub.d/00_header.in: Allow the administrator to change default
35596 gfxmode via ${GRUB_GFXMODE}.
35597
35598 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
35599
35600 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
35601
35602 2008-08-21 Robert Millan <rmh@aybabtu.com>
35603
35604 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
35605 loader.
35606 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
35607 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
35608
35609 2008-08-20 Carles Pina i Estany <carles@pina.cat>
35610
35611 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
35612 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
35613
35614 2008-08-19 Robert Millan <rmh@aybabtu.com>
35615
35616 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
35617 (struct grub_virtual_screen): Remove `cursor_color'.
35618 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
35619 initialization.
35620 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
35621
35622 2008-08-18 Robert Millan <rmh@aybabtu.com>
35623
35624 Unify (identical) linux_normal.c files.
35625 * loader/i386/efi/linux_normal.c: Move from here ...
35626 * loader/linux_normal.c: ... to here. Update all users.
35627 * loader/i386/pc/linux_normal.c: Delete. Update all users.
35628 * loader/i386/ieee1275/linux_normal.c: Likewise.
35629
35630 2008-08-18 Robert Millan <rmh@aybabtu.com>
35631
35632 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
35633 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
35634 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
35635 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
35636 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
35637 New macros.
35638 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
35639 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
35640 (GRUB_LINUX_CL_END_OFFSET): ... to here.
35641 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
35642 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
35643 (GRUB_EFI_CL_END_OFFSET): Rename to ...
35644 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
35645 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
35646 Initialize `params->video_cursor_x' and `params->video_cursor_y'
35647 portably using grub_getxy().
35648 Replace `-EFI' with `-bzImage' in boot message.
35649
35650 2008-08-17 Robert Millan <rmh@aybabtu.com>
35651
35652 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
35653
35654 2008-08-17 Robert Millan <rmh@aybabtu.com>
35655
35656 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
35657
35658 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
35659 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
35660 (grub_machine_mmap_iterate): New function declaration.
35661 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
35662 structure.
35663 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
35664 macros.
35665
35666 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
35667 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
35668 Move e820 parsing from here ...
35669 * kern/i386/pc/mmap.c: New file.
35670 (grub_machine_mmap_iterate): ... to here.
35671
35672 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
35673 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
35674 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
35675 (grub_available_iterate): Redeclare to return `void', and redeclare
35676 its hook to use grub_uint64_t as addr and size parameters, and rename
35677 to ...
35678 (grub_machine_mmap_iterate): ... this. Update all users.
35679
35680 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
35681 to make it more readable. Rename to ...
35682 (grub_machine_mmap_iterate): ... this.
35683
35684 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
35685 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
35686 (grub_multiboot): Allocate an extra region after the payload, and fill
35687 it with a Multiboot memory map. Adjust a.out loader to calculate size
35688 with the extra space.
35689 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
35690 with the extra space.
35691
35692 2008-08-17 Carles Pina i Estany <carles@pina.cat>
35693
35694 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
35695
35696 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
35697
35698 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
35699 mdate-sh to the list `find' searches for.
35700 * DISTLIST: Regenerated.
35701
35702 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
35703
35704 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
35705 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
35706 genmoddep.awk, gensymlist.sh.in.
35707 (DISTDIRS): Add bus, docs, hook, lib.
35708 * DISTLIST: Regenerated.
35709 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
35710
35711 2008-08-16 Robert Millan <rmh@aybabtu.com>
35712
35713 * disk/raid.c (grub_raid_init): Handle/report errors set by
35714 grub_device_iterate().
35715 * disk/lvm.c (grub_lvm_init): Likewise.
35716
35717 2008-08-15 Bean <bean123ch@gmail.com>
35718
35719 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35720 and datehook.mod.
35721 (datetime_mod_SOURCES): New macro.
35722 (datetime_mod_CFLAGS): Likewise.
35723 (datetime_mod_LDFLAGS): Likewise.
35724 (date_mod_SOURCES): Likewise.
35725 (date_mod_CFLAGS): Likewise.
35726 (date_mod_LDFLAGS): Likewise.
35727 (datehook_mod_SOURCES): Likewise.
35728 (datehook_mod_CFLAGS): Likewise.
35729 (datehook_mod_LDFLAGS): Likewise.
35730
35731 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35732 and datehook.mod.
35733 (datetime_mod_SOURCES): New macro.
35734 (datetime_mod_CFLAGS): Likewise.
35735 (datetime_mod_LDFLAGS): Likewise.
35736 (date_mod_SOURCES): Likewise.
35737 (date_mod_CFLAGS): Likewise.
35738 (date_mod_LDFLAGS): Likewise.
35739 (datehook_mod_SOURCES): Likewise.
35740 (datehook_mod_CFLAGS): Likewise.
35741 (datehook_mod_LDFLAGS): Likewise.
35742
35743 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35744 and datehook.mod.
35745 (datetime_mod_SOURCES): New macro.
35746 (datetime_mod_CFLAGS): Likewise.
35747 (datetime_mod_LDFLAGS): Likewise.
35748 (date_mod_SOURCES): Likewise.
35749 (date_mod_CFLAGS): Likewise.
35750 (date_mod_LDFLAGS): Likewise.
35751 (datehook_mod_SOURCES): Likewise.
35752 (datehook_mod_CFLAGS): Likewise.
35753 (datehook_mod_LDFLAGS): Likewise.
35754
35755 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35756 and datehook.mod.
35757 (datetime_mod_SOURCES): New macro.
35758 (datetime_mod_CFLAGS): Likewise.
35759 (datetime_mod_LDFLAGS): Likewise.
35760 (date_mod_SOURCES): Likewise.
35761 (date_mod_CFLAGS): Likewise.
35762 (date_mod_LDFLAGS): Likewise.
35763 (datehook_mod_SOURCES): Likewise.
35764 (datehook_mod_CFLAGS): Likewise.
35765 (datehook_mod_LDFLAGS): Likewise.
35766
35767 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
35768 and datehook.mod.
35769 (datetime_mod_SOURCES): New macro.
35770 (datetime_mod_CFLAGS): Likewise.
35771 (datetime_mod_LDFLAGS): Likewise.
35772 (date_mod_SOURCES): Likewise.
35773 (date_mod_CFLAGS): Likewise.
35774 (date_mod_LDFLAGS): Likewise.
35775 (datehook_mod_SOURCES): Likewise.
35776 (datehook_mod_CFLAGS): Likewise.
35777 (datehook_mod_LDFLAGS): Likewise.
35778
35779 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
35780
35781 * commands/date.c: New file.
35782
35783 * hook/datehook.c: Likewise.
35784
35785 * include/grub/lib/datetime.h: Likewise.
35786
35787 * include/grub/i386/cmos.h: Likewise.
35788
35789 * lib/datetime.c: Likewise.
35790
35791 * lib/i386/datetime.c: Likewise.
35792
35793 * lib/efi/datetime.c: Likewise.
35794
35795 2008-08-14 Robert Millan <rmh@aybabtu.com>
35796
35797 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
35798 (grub_mkelfimage_SOURCES): New variable.
35799 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
35800
35801 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
35802 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
35803 * conf/powerpc-ieee1275.rmk: Likewise.
35804 * conf/i386-ieee1275.rmk: Likewise.
35805
35806 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
35807 * kern/i386/coreboot/init.c: Likewise.
35808
35809 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
35810 with `<grub/cpu/kernel.h>'.
35811 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
35812 to ...
35813 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
35814 * kern/i386/coreboot/startup.S: Likewise.
35815
35816 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
35817 (GRUB_MOD_GAP): Remove.
35818 * include/grub/powerpc/kernel.h: New file.
35819 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
35820 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35821 * include/grub/i386/kernel.h: New file.
35822 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
35823 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
35824 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
35825
35826 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
35827 `grub-mkelfimage'.
35828 Use --directory when invoking grub_mkimage.
35829
35830 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
35831 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
35832 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
35833 and GRUB_KERNEL_CPU_PREFIX.
35834
35835 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
35836
35837 * include/grub/err.h (grub_err_printf): New function prototype.
35838 * util/misc.c (grub_err_printf): New function.
35839 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
35840 grub_printf.
35841 * kern/err.c (grub_print_error): Use grub_err_printf.
35842
35843 2008-08-13 Robert Millan <rmh@aybabtu.com>
35844
35845 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
35846
35847 2008-08-13 Robert Millan <rmh@aybabtu.com>
35848
35849 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
35850 boot entry.
35851
35852 2008-08-12 Robert Millan <rmh@aybabtu.com>
35853
35854 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
35855 of the relocation code from here ...
35856 (grub_multiboot): ... to here.
35857 (forward_relocator, backward_relocator): Move from here ...
35858 * kern/i386/loader.S (grub_multiboot_forward_relocator)
35859 (grub_multiboot_backward_relocator): ... to here.
35860 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
35861 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
35862 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
35863 (grub_multiboot_forward_relocator_end)
35864 (grub_multiboot_backward_relocator)
35865 (grub_multiboot_backward_relocator_end): New variables.
35866
35867 2008-08-12 Bean <bean123ch@gmail.com>
35868
35869 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
35870
35871 2008-08-11 Robert Millan <rmh@aybabtu.com>
35872
35873 * kern/i386/linuxbios/startup.S: Move from here ...
35874 * kern/i386/coreboot/startup.S: ... to here.
35875
35876 * kern/i386/linuxbios/init.c: Move from here ...
35877 * kern/i386/coreboot/init.c: ... to here.
35878
35879 * kern/i386/linuxbios/table.c: Move from here ...
35880 * kern/i386/coreboot/mmap.c: ... to here.
35881
35882 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
35883
35884 2008-08-11 Robert Millan <rmh@aybabtu.com>
35885
35886 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
35887 errors. Leave it to the upper layer to handle them.
35888
35889 2008-08-09 Christian Franke <franke@computer.org>
35890
35891 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
35892 * conf/common.rmk: Install `grub-pe2elf' only if requested.
35893 Install `grub.d/10_windows' only on Cygwin.
35894 * configure.ac: Add subst of `target_os'.
35895 Check `target_os' also before setting TARGET_OBJ2ELF.
35896 Add `--enable-grub-pe2elf'.
35897
35898 2008-08-08 Robert Millan <rmh@aybabtu.com>
35899
35900 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35901 (grub_last_time): Change type to grub_uint64_t.
35902 (grub_disk_open): Migrate code from to using grub_get_time_ms().
35903 (grub_disk_close): Likewise.
35904
35905 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
35906 (run_menu): Migrate code from to using grub_get_time_ms().
35907
35908 * util/misc.c (grub_get_time_ms): New function.
35909
35910 2008-08-08 Marco Gerards <marco@gnu.org>
35911
35912 * disk/ata.c (grub_ata_regget): Change return type to
35913 `grub_uint8_t'.
35914 (grub_ata_regget2): Likewise.
35915 (grub_ata_wait_status): New function.
35916 (grub_ata_wait_busy): Removed function, updated all users to use
35917 `grub_ata_wait_status'.
35918 (grub_ata_wait_drq): Likewise.
35919 (grub_ata_cmd): New function.
35920 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
35921 error handling.
35922 (grub_ata_pio_write): Add error handling.
35923 (grub_atapi_identify): Likewise.
35924 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
35925 handling.
35926 (grub_ata_identify): Use `grub_ata_cmd' and improve error
35927 handling. Actually use the detected registers. Reorder the
35928 detection logic such that it is easier to read.
35929 (grub_ata_pciinit): Do not assign the same ID to each controller.
35930 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
35931 handling.
35932 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
35933
35934 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
35935
35936 2008-08-08 Marco Gerards <marco@gnu.org>
35937
35938 * NEWS: Update.
35939
35940 2008-08-07 Bean <bean123ch@gmail.com>
35941
35942 * include/grub/x86_64/pci.h: New file.
35943
35944 2008-08-07 Christian Franke <franke@computer.org>
35945
35946 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
35947 (TIMER2_GATE): Likewise.
35948 (grub_pit_wait): Add enable/disable of the timer2 gate
35949 bit of port 0x61. This fixes a possible infinite loop.
35950
35951 2008-08-07 Bean <bean123ch@gmail.com>
35952
35953 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
35954 kern/i386/tsc.c and kern/i386/pit.c.
35955
35956 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
35957 x86_64 platform.
35958
35959 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
35960 <grub/i386/tsc.h>.
35961
35962 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
35963
35964 2008-08-07 Bean <bean123ch@gmail.com>
35965
35966 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
35967
35968 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
35969
35970 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
35971 multiple inclusion. Add #include <grub/types.h>.
35972
35973 2008-08-06 Christian Franke <franke@computer.org>
35974
35975 * conf/common.rmk: Build and install `10_windows'.
35976 * util/grub.d/10_windows.in: New script.
35977
35978 2008-08-06 Pavel Roskin <proski@gnu.org>
35979
35980 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
35981
35982 2008-08-06 Robert Millan <rmh@aybabtu.com>
35983
35984 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
35985 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
35986
35987 2008-08-06 Bean <bean123ch@gmail.com>
35988
35989 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
35990 (grub_pxefs_fs_int): Remove dummy definition.
35991 (grub_pxefs_open): Use data->block_size to store the current block
35992 size setting.
35993 (grub_pxefs_read): Use block size stored in data->block_size. As the
35994 value of grub_pxe_blksize can be changed after the file is opened.
35995
35996 2008-08-06 Bean <bean123ch@gmail.com>
35997
35998 * fs/i386/pc/pxe.c (curr_file): new variable.
35999 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36000 require the dummy internal file system anymore.
36001 (grub_pxefs_read): Removed.
36002 (grub_pxefs_close): Likewise.
36003 (grub_pxefs_fs_int): Likewise.
36004 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36005 connection when we switch file.
36006 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36007
36008 2008-08-06 Robert Millan <rmh@aybabtu.com>
36009
36010 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36011 `halt.mod'.
36012 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36013 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36014
36015 * kern/i386/halt.c: New file.
36016 * kern/i386/reboot.c: Likewise.
36017 * include/grub/i386/reboot.h: Likewise.
36018 * include/grub/i386/halt.h: Likewise.
36019
36020 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36021 Include `<grub/cpu/halt.h>'.
36022 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36023 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36024
36025 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36026 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36027 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36028 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36029 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36030 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36031 from here ...
36032 * include/grub/i386/at_keyboard.h: ... to here.
36033
36034 2008-08-05 Robert Millan <rmh@aybabtu.com>
36035
36036 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36037 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36038 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36039 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36040 `kern/generic/millisleep.c'.
36041
36042 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36043 instead of grub_get_rtc().
36044 (grub_tsc_init): Initialize `tsc_boot_time'.
36045
36046 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36047 (grub_machine_init): Use grub_tsc_init() rather than
36048 installing an RTC-based handler via grub_install_get_time_ms().
36049
36050 * kern/i386/pit.c: New file.
36051 * include/grub/i386/pit.h: Likewise.
36052
36053 2008-08-05 Bean <bean123ch@gmail.com>
36054
36055 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36056
36057 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36058 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36059 (pxe_mod_SOURCES): New macro.
36060 (pxe_mod_CFLAGS): Likewise.
36061 (pxe_mod_LDFLAGS): Likewise.
36062 (pxecmd_mod_SOURCES): Likewise.
36063 (pxecmd_mod_CFLAGS): Likewise.
36064 (pxecmd_mod_LDFLAGS): Likewise.
36065
36066 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36067 (grub_pxe_call): Likewise.
36068
36069 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36070
36071 * commands/i386/pc/pxecmd.c: New file.
36072
36073 * fs/i386/pc/pxe.c: Likewise.
36074
36075 * include/grub/i386/pc/pxe.h: Likewise.
36076
36077 2008-08-05 Bean <bean123ch@gmail.com>
36078
36079 * util/console.c (grub_console_cur_color): New variable.
36080 (grub_console_standard_color): Likewise.
36081 (grub_console_normal_color): Likewise.
36082 (grub_console_highlight_color): Likewise.
36083 (color_map): Likewise.
36084 (use_color): Likewise.
36085 (NUM_COLORS): New macro.
36086 (grub_ncurses_setcolorstate): Handle color properly.
36087 (grub_ncurses_setcolor): Don't change color here, just remember the
36088 settings, color will be set in grub_ncurses_setcolorstate.
36089 (grub_ncurses_getcolor): New function.
36090 (grub_ncurses_init): Initialize color pairs.
36091 (grub_ncurses_term): New member grub_ncurses_getcolor.
36092
36093 2008-08-05 Colin D Bennett <colin@gibibit.com>
36094
36095 High resolution timer support. Implemented for x86 CPUs using TSC.
36096 Extracted generic grub_millisleep() so it's linked in only as needed.
36097 This requires a Pentium compatible CPU; if the RDTSC instruction is
36098 not supported, then it falls back on the generic grub_get_time_ms()
36099 implementation that uses the machine's RTC.
36100
36101 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36102 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36103 `kern/generic/millisleep.c'.
36104
36105 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36106 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36107
36108 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36109 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36110
36111 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36112
36113 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36114 `kern/generic/millisleep.c'.
36115
36116 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36117
36118 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36119
36120 * kern/generic/rtc_get_time_ms.c: New file.
36121
36122 * kern/generic/millisleep.c: New file.
36123
36124 * kern/misc.c: Don't include
36125 <kern/time.h> anymore.
36126 (grub_millisleep_generic): Removed.
36127
36128 * commands/sleep.c (grub_interruptible_millisleep): Uses
36129 grub_get_time_ms() instead of grub_get_rtc().
36130
36131 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36132 function.
36133 (grub_cpu_is_cpuid_supported): New inline function.
36134 (grub_cpu_is_tsc_supported): New inline function.
36135 (grub_tsc_init): New function prototype.
36136 (grub_tsc_get_time_ms): New function prototype.
36137
36138 * kern/i386/tsc.c (grub_get_time_ms): New file.
36139
36140 * include/grub/time.h: Include <grub/types.h.
36141 (grub_millisleep_generic): Removed.
36142 (grub_get_time_ms): New prototype.
36143 (grub_install_get_time_ms): New prototype.
36144 (grub_rtc_get_time_ms): New prototype.
36145
36146 * kern/time.c (grub_get_time_ms): New function.
36147 (grub_install_get_time_ms): New function.
36148
36149 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36150 <grub/time.h> anymore.
36151 (grub_millisleep): Removed.
36152 (grub_machine_init): Call grub_tsc_init.
36153
36154 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36155 get_time_ms() implementation.
36156
36157 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36158 (ieee1275_get_time_ms): New function.
36159 (grub_machine_init): Install get_time_ms() implementation.
36160
36161 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36162 (grub_machine_init): Call grub_tsc_init().
36163 (grub_millisleep): Removed.
36164
36165 * kern/ieee1275/init.c (grub_millisleep): Removed.
36166 (grub_machine_init): Install ieee1275_get_time_ms()
36167 implementation.
36168 (ieee1275_get_time_ms): New function.
36169 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36170 real work.
36171
36172 2008-08-05 Marco Gerards <marco@gnu.org>
36173
36174 * disk/ata.c: Include <grub/pci.h>.
36175 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36176 (grub_ata_initialize): Rewritten.
36177 (grub_ata_device_initialize): New function.
36178
36179 2008-08-04 Pavel Roskin <proski@gnu.org>
36180
36181 * kern/main.c: Include grub/mm.h.
36182
36183 2008-08-04 Robert Millan <rmh@aybabtu.com>
36184
36185 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36186 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36187 corruption problem).
36188
36189 2008-08-04 Robert Millan <rmh@aybabtu.com>
36190
36191 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36192 warnings introduced in my last commit.
36193
36194 2008-08-03 Robert Millan <rmh@aybabtu.com>
36195
36196 Make PCI available on all i386 architectures.
36197
36198 * include/grub/i386/pc/pci.h: Move from here ...
36199 * include/grub/i386/pci.h: ... to here.
36200
36201 * include/grub/i386/pc/pci.h: Remove.
36202 * include/grub/i386/efi/pci.h: Remove.
36203 * include/grub/x86_64/efi/pci.h: Remove.
36204
36205 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36206 `<grub/cpu/pci.h>'.
36207
36208 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36209 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36210 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36211
36212 * conf/i386-ieee1275.rmk: Likewise.
36213
36214 2008-08-03 Robert Millan <rmh@aybabtu.com>
36215
36216 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36217 (grub_console_setcursor): Make it possible to set cursor off.
36218
36219 2008-08-03 Robert Millan <rmh@aybabtu.com>
36220
36221 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36222 of modules instead of assuming which platform provides what.
36223 * util/update-grub.in: Likewise.
36224
36225 2008-08-03 Robert Millan <rmh@aybabtu.com>
36226
36227 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36228 instead of `grub_install_dos_part' to determine whether a drive needs
36229 to be prepended to prefix (`grub_install_dos_part' is not reliable,
36230 because it can be overridden when loading GRUB via Multiboot).
36231
36232 2008-08-02 Robert Millan <rmh@aybabtu.com>
36233
36234 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36235
36236 2008-08-02 Robert Millan <rmh@aybabtu.com>
36237
36238 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36239 of informational grub_dprintf() calls.
36240
36241 2008-08-02 Robert Millan <rmh@aybabtu.com>
36242
36243 * disk/memdisk.c (memdisk_size): Don't initialize.
36244 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36245
36246 * include/grub/i386/pc/kernel.h
36247 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36248 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36249 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36250 (grub_arch_memdisk_size): Remove.
36251
36252 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36253 field (was only used to transfer a constant). Add `type' field to
36254 support multiple module types.
36255 (grub_module_iterate): New function.
36256
36257 * kern/device.c (grub_device_open): Do not hide error messages
36258 when grub_disk_open() fails. Use grub_print_error() instead.
36259
36260 * kern/i386/pc/init.c (grub_arch_modules_addr)
36261 (grub_arch_memdisk_size): Remove functions.
36262 (grub_arch_modules_addr): Return the module address in high memory
36263 (now that it isn't copied anymore).
36264
36265 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36266 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36267 decompression routine (grub_total_module_size already includes that
36268 now). Don't copy modules back to low memory.
36269
36270 * kern/main.c: Include `<grub/mm.h>'.
36271 (grub_load_modules): Split out (and use) ...
36272 (grub_module_iterate): ... this function, which iterates through
36273 module objects and runs a hook.
36274 Comment out grub_mm_init_region() call, as it would cause non-ELF
36275 modules to be overwritten.
36276
36277 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36278 the memdisk image in its own region, make it part of the module list.
36279 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36280 (main): Parse --memdisk|-m option, and pass user-provided path as
36281 parameter to generate_image().
36282 (add_segments): Pass `memdisk_path' down to load_modules().
36283 (load_modules): Embed memdisk image in module section when requested.
36284 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36285 `header.type' instead of `header.offset'.
36286
36287 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36288 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36289 (memdisk_mod_LDFLAGS): New variables.
36290 * conf/i386-coreboot.rmk: Likewise.
36291 * conf/i386-ieee1275.rmk: Likewise.
36292
36293 2008-08-02 Robert Millan <rmh@aybabtu.com>
36294
36295 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36296 (backward_relocator): New variables. Used to allocate and relocate
36297 the payload, respectively.
36298 (grub_multiboot_load_elf32): Load into heap instead of requested
36299 address, install the appropriate relocator code in each bound of
36300 the payload, and set the entry point such that
36301 grub_multiboot_real_boot() will jump to one of them.
36302
36303 * kern/i386/loader.S (grub_multiboot_payload_size)
36304 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36305 (grub_multiboot_payload_entry_offset): New variables.
36306 (grub_multiboot_real_boot): Set cpu context to what the relocator
36307 expects, and jump to the relocator instead of the payload.
36308
36309 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36310 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36311 (grub_multiboot_payload_entry_offset): Export.
36312
36313 2008-08-01 Bean <bean123ch@gmail.com>
36314
36315 * normal/menu_entry.c (editor_getline): Don't return the original
36316 string as result, as it will be released by lexer once it has done
36317 using it.
36318
36319 2008-08-01 Robert Millan <rmh@aybabtu.com>
36320
36321 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36322 within menuentries, not before them.
36323 util/grub.d/10_hurd.in: Likewise.
36324
36325 2008-08-01 Bean <bean123ch@gmail.com>
36326
36327 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36328 (bufio_mod_SOURCES): New macro.
36329 (bufio_mod_CFLAGS): Likewise.
36330 (bufio_mod_LDFLAGS): Likewise.
36331
36332 * include/grub/bufio.h: New file.
36333
36334 * io/bufio.c: Likewise.
36335
36336 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36337 (grub_video_reader_png): Use grub_buffile_open to open file.
36338
36339 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36340 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36341
36342 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36343 (grub_video_reader_tga): Use grub_buffile_open to open file.
36344
36345 * font/manager.c: Include <grub/bufio.h>.
36346 (add_font): Use grub_buffile_open to open file.
36347
36348 2008-07-31 Robert Millan <rmh@aybabtu.com>
36349
36350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36351 ELF segments, use a macro for arbitrarily accessing any of them instead
36352 of preparing a pointer that allows access to one at a time.
36353 (grub_multiboot_load_elf64): Likewise.
36354
36355 2008-07-31 Bean <bean123ch@gmail.com>
36356
36357 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36358 GRUB_KERNEL_MACHINE_DATA_END.
36359
36360 2008-07-30 Robert Millan <rmh@aybabtu.com>
36361
36362 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36363 Increase from 0x50 to 0x60.
36364 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36365 use UUIDs to identify the root drive for them. If that's not
36366 possible, abort.
36367 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36368 check, for cross-disk installs.
36369
36370 2008-07-30 Robert Millan <rmh@aybabtu.com>
36371
36372 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36373 is non-empty, use it to set the `prefix' environment variable instead
36374 of the usual approach.
36375 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36376 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36377 environment variable instead of dummy make_install_device().
36378
36379 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36380 (start): Insert a data section, with `grub_prefix' variable.
36381 * kern/i386/linuxbios/startup.S: Likewise.
36382
36383 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36384 New variable reference.
36385 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36386 New macro. Defines offset of `grub_prefix' within startup.S (relative
36387 to `start').
36388 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36389 section within startup.S (relative to `start').
36390 * include/grub/i386/coreboot/kernel.h: Likewise.
36391
36392 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36393 Overwrite grub_prefix with its contents, at the beginning of the
36394 first segment.
36395 (main): Understand -p|--prefix.
36396
36397 2008-07-30 Robert Millan <rmh@aybabtu.com>
36398
36399 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
36400
36401 2008-07-30 Robert Millan <rmh@aybabtu.com>
36402
36403 * term/i386/pc/vga_text.c (grub_console_cls): Use
36404 grub_console_gotoxy() to go back to beginning of the screen.
36405 Found by Patrick Georgi <patrick.georgi@coresystems.de>
36406
36407 2008-07-29 Christian Franke <franke@computer.org>
36408
36409 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36410 Add conversion of emulated mount points on Cygwin.
36411
36412 2008-07-29 Christian Franke <franke@computer.org>
36413
36414 * util/update-grub.in: Add a check for admin
36415 group on Cygwin.
36416 Remove old `grub.cfg.new' before creation.
36417 Add `-f' to `mv' to handle the different filesystem
36418 semantics of Windows.
36419
36420 2008-07-29 Bean <bean123ch@gmail.com>
36421
36422 * normal/main.c (get_line): Fix buffer overflow bug.
36423
36424 2008-07-28 Robert Millan <rmh@aybabtu.com>
36425
36426 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
36427 (struct grub_apple_header): New struct. Describes the layout of
36428 the partmap header.
36429 (apple_partition_map_iterate): Check the header magic as well as the
36430 partition magic (which was already being checked).
36431
36432 2008-07-28 Pavel Roskin <proski@gnu.org>
36433
36434 * genmk.rb: Add a warning to the beginning of the output that
36435 it's a generated file and should not be edited.
36436
36437 2008-07-28 Robert Millan <rmh@aybabtu.com>
36438
36439 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
36440 with the same number are found, just use issue a warning with
36441 grub_dprintf(), as this error has been reported to be non-fatal.
36442
36443 2008-07-27 Robert Millan <rmh@aybabtu.com>
36444
36445 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
36446 information.
36447
36448 2008-07-27 Bean <bean123ch@gmail.com>
36449
36450 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
36451 (grub_fat_find_dir): Ignore case when comparing filename.
36452
36453 2008-07-27 Bean <bean123ch@gmail.com>
36454
36455 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
36456 smallino, as it's more descriptive, and i8count can be confused with
36457 the other field count.
36458 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
36459 inode type.
36460
36461 2008-07-27 Bean <bean123ch@gmail.com>
36462
36463 * commands/crc.c: New file.
36464
36465 * lib/crc.c: Likewise.
36466
36467 * include/grub/lib/crc.h: Likewise.
36468
36469 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
36470
36471 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
36472 (hexdump): Move this function to ...
36473
36474 * lib/hexdump.c: ... here.
36475
36476 * include/grub/hexdump.h: Renamed to ...
36477
36478 * include/grub/lib/hexdump.h: ... this.
36479
36480 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
36481
36482 * util/grub-editenv.c: Likewise.
36483
36484 * include/envblk.h: Renamed to ...
36485
36486 * include/lib/envblk.h: ... this.
36487
36488 * util/envblk.c: Renamed to ...
36489
36490 * lib/envblk.c: ... this.
36491
36492 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
36493 lib/hexdump.c.
36494 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
36495 (pkglib_MODULES): Add crc.mod.
36496 (hexdump_mod_SOURCES): Add lib/hexdump.c.
36497 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
36498 (crc_mod_SOURCES): New macro.
36499 (crc_mod_CFLAGS): Likewise.
36500 (crc_mod_LDFLAGS): Likewise.
36501
36502 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
36503
36504 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36505
36506 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36507
36508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36509
36510 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36511
36512 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
36513
36514 * commands/help.c: Include <grub/term.h>.
36515 (TERM_WIDTH): Removed. Updated all users.
36516
36517 2008-07-27 Pavel Roskin <proski@gnu.org>
36518
36519 * util/getroot.c (find_root_device): Rephrase a comment to avoid
36520 spurious warnings about a comment within a comment.
36521
36522 2008-07-25 Robert Millan <rmh@aybabtu.com>
36523
36524 * util/getroot.c (find_root_device): Skip devices that match
36525 /dev/dm-[0-9]. This lets the real device be found for any type of
36526 abstraction (LVM, EVMS, RAID..).
36527 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
36528 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
36529 device is found first, find_root_device() will now skip it.
36530
36531 2008-07-24 Pavel Roskin <proski@gnu.org>
36532
36533 * include/grub/types.h: Use __builtin_bswap32() and
36534 __builtin_bswap64() with gcc 4.3 and newer.
36535
36536 2008-07-24 Christian Franke <franke@computer.org>
36537
36538 * util/i386/pc/grub-install.in: If `--debug' is specified,
36539 pass `--verbose' to grub-setup.
36540 Abort script if make_system_path_relative_to_its_root() fails.
36541
36542 2008-07-24 Bean <bean123ch@gmail.com>
36543
36544 * configure.ac: Fixed a bug caused by the previous cygwin patch,
36545 variable `target_platform' should be `platform'.
36546
36547 2008-07-24 Bean <bean123ch@gmail.com>
36548
36549 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
36550 (grub_png_init_fixed_block): New function.
36551 (grub_png_decode_image_data): Handle fixed huffman code compression.
36552
36553 2008-07-24 Bean <bean123ch@gmail.com>
36554
36555 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
36556 (grub_pe2elf_SOURCES): New macro.
36557 (CLEANFILES): Add grub-pe2elf.
36558
36559 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
36560 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
36561 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
36562 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
36563 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
36564 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
36565 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
36566 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
36567 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
36568 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
36569 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
36570 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
36571 (GRUB_PE32_DT_FUNCTION): Likewise.
36572 (GRUB_PE32_REL_I386_DIR32): Likewise.
36573 (GRUB_PE32_REL_I386_REL32): Likewise.
36574 (grub_pe32_symbol): New structure.
36575 (grub_pe32_reloc): Likewise.
36576
36577 * util/grub-pe2elf.c: New file.
36578
36579 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
36580 start symbol in non pc platform.
36581
36582 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
36583
36584 The following patches are from Christian Franke.
36585
36586 * include/grub/dl.h: Remove .previous, gas supports this only
36587 for ELF format.
36588
36589 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
36590 Remove .type, gas supports this only for ELF format.
36591
36592 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
36593 nullbytes in symbol table. This fixes an infinite loop if table is
36594 zero filled.
36595
36596 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
36597 TARGET_IMG_LDFLAGS and EXEEXT.
36598
36599 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
36600 TARGET_IMG_LDFLAGS_AC.
36601 (grub_CHECK_STACK_ARG_PROBE): New function.
36602
36603 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
36604
36605 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
36606
36607 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
36608 to set TARGET_IMG_LD* accordingly.
36609 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
36610 Add call to grub_CHECK_STACK_ARG_PROBE.
36611 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
36612
36613 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
36614
36615 * genmk.rb: Add EXEEXT to CLEANFILES.
36616
36617 2008-07-23 Robert Millan <rmh@aybabtu.com>
36618
36619 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
36620 define the codes for arrows and lines used for the menu).
36621 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
36622 as well.
36623
36624 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
36625 fonts, because the latter are too slow.
36626
36627 2008-07-21 Bean <bean123ch@gmail.com>
36628
36629 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
36630 a20. Run keyboard test last, as it will cause macbook to halt.
36631
36632 2008-07-18 Pavel Roskin <proski@gnu.org>
36633
36634 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
36635 load foreign architecture modules correctly anyway. Keep
36636 support for loading host architecture modules, whether we
36637 compile them or not.
36638
36639 2008-07-17 Pavel Roskin <proski@gnu.org>
36640
36641 * configure.ac: Use -m32 or -m64 regardless of whether we had to
36642 change target_cpu. The compiler default can mismatch target_cpu
36643 in any case.
36644
36645 * disk/efi/efidisk.c: Fix format warnings on x86_64.
36646 * kern/efi/efi.c: Likewise.
36647
36648 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
36649 target compiler is functional.
36650 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
36651 are set up.
36652
36653 * configure.ac: Default to efi platform for x86_64-apple. Allow
36654 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
36655 adjustments from the rest, only do them if target is not
36656 explicitly given. Merge other adjustments with the final sanity
36657 check. Remove an extraneous check for supported CPU. Be
36658 specific which CPU and which platform is not supported.
36659
36660 * configure.ac: Default to pc platform for x86_64.
36661
36662 2008-07-17 Robert Millan <rmh@aybabtu.com>
36663
36664 Partial LinuxBIOS -> Coreboot rename.
36665
36666 * conf/i386-linuxbios.rmk: Renamed to ...
36667 * conf/i386-coreboot.rmk: ... this.
36668 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
36669 * configure.ac: Accept "coreboot" as input platform (but maintain
36670 compatibility with "linuxbios").
36671 * include/grub/i386/linuxbios: Renamed to ...
36672 * include/grub/i386/coreboot: ... this.
36673
36674 2008-07-17 Bean <bean123ch@gmail.com>
36675
36676 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
36677 (appleldr_mod_SOURCE): New variable.
36678 (appleldr_mod_CFLAGS): Likewise.
36679 (appleldr_mod_LDFLAGS): Likewise.
36680 (pci_mod_SOURCES): Likewise.
36681 (pci_mod_CFLAGS): Likewise.
36682 (pci_mod_LDFLAGS): Likewise.
36683 (lspci_mod_SOURCES): Likewise.
36684 (lspci_mod_CFLAGS): Likewise.
36685 (lspci_mod_LDFLAGS): Likewise.
36686
36687 * conf/x86_64-efi.rmk: New file.
36688
36689 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
36690 macro.
36691 (grub_efidisk_write): Likewise.
36692
36693 * include/efi/api.h (efi_call_0): New macro.
36694 (efi_call_1): Likewise.
36695 (efi_call_2): Likewise.
36696 (efi_call_3): Likewise.
36697 (efi_call_4): Likewise.
36698 (efi_call_5): Likewise.
36699 (efi_call_6): Likewise.
36700
36701 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
36702 grub_rescue_cmd_chainloader.
36703
36704 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
36705 (grub_pe32_optional_header): Change some fields based on i386 or
36706 x86_64 platform.
36707 (GRUB_PE32_PE32_MAGIC): Likewise.
36708
36709 * include/grub/efi/uga_draw.h: New file.
36710
36711 * include/grub/elf.h (STN_ABS): New constant.
36712 (R_X86_64_NONE): Relocation constant for x86_64.
36713 (R_X86_64_64): Likewise.
36714 (R_X86_64_PC32): Likewise.
36715 (R_X86_64_GOT32): Likewise.
36716 (R_X86_64_PLT32): Likewise.
36717 (R_X86_64_COPY): Likewise.
36718 (R_X86_64_GLOB_DAT): Likewise.
36719 (R_X86_64_JUMP_SLOT): Likewise.
36720 (R_X86_64_RELATIVE): Likewise.
36721 (R_X86_64_GOTPCREL): Likewise.
36722 (R_X86_64_32): Likewise.
36723 (R_X86_64_32S): Likewise.
36724 (R_X86_64_16): Likewise.
36725 (R_X86_64_PC16): Likewise.
36726 (R_X86_64_8): Likewise.
36727 (R_X86_64_PC8): Likewise.
36728
36729 * include/grub/i386/efi/pci.h: New file.
36730
36731 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
36732 Change it value based on platform.
36733 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
36734 (GRUB_E820_RAM): Likewise.
36735 (GRUB_E820_RESERVED): Likewise.
36736 (GRUB_E820_ACPI): Likewise.
36737 (GRUB_E820_NVS): Likewise.
36738 (GRUB_E820_EXEC_CODE): Likewise.
36739 (GRUB_E820_MAX_ENTRY): Likewise.
36740 (grub_e820_mmap): New structure.
36741 (linux_kernel_header): Change the efi field according to different
36742 kernel version, also field from linux_kernel_header.
36743
36744 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
36745
36746 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
36747 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
36748 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
36749 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
36750 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
36751 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
36752 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
36753 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
36754 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
36755 (GRUB_PCI_ADDR_IO_MASK): Likewise.
36756
36757 * include/grub/x86_64/efi/kernel.h: New file.
36758
36759 * include/grub/x86_64/efi/loader.h: Likewise.
36760
36761 * include/grub/x86_64/efi/machine.h: Likewise.
36762
36763 * include/grub/x86_64/efi/pci.h: Likewise.
36764
36765 * include/grub/x86_64/efi/time.h: Likewise.
36766
36767 * include/grub/x86_64/linux.h: Likewise.
36768
36769 * include/grub/x86_64/setjmp.h: Likewise.
36770
36771 * include/grub/x86_64/time.h: Likewise.
36772
36773 * include/grub/x86_64/types.h: Likewise.
36774
36775 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
36776 GRUB_TARGET_SIZEOF_VOID_P.
36777
36778 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
36779 (grub_efi_locate_handle): Likewise.
36780 (grub_efi_open_protocol): Likewise.
36781 (grub_efi_set_text_mode): Likewise.
36782 (grub_efi_stall): Likewise.
36783 (grub_exit): Likewise.
36784 (grub_reboot): Likewise.
36785 (grub_halt): Likewise.
36786 (grub_efi_exit_boot_services): Likewise.
36787 (grub_get_rtc): Likewise.
36788
36789 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
36790 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
36791 (grub_efi_allocate_pages): Wrap efi calls.
36792 (grub_efi_free_pages): Wrap efi calls.
36793 (grub_efi_get_memory_map): Wrap efi calls.
36794
36795 * kern/x86_64/dl.c: New file.
36796
36797 * kern/x86_64/efi/callwrap.S: Likewise.
36798
36799 * kern/x86_64/efi/startup.S: Likewise.
36800
36801 * loader/efi/appleloader.c: Likewise.
36802
36803 * loader/efi/chainloader.c (cmdline): New variable.
36804 (grub_chainloader_unload): Wrap efi calls.
36805 (grub_chainloader_boot): Likewise.
36806 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
36807 command line.
36808
36809 * loader/efi/chainloader_normal.c (chainloader_command):
36810 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
36811 command line.
36812
36813 * loader/i386/efi/linux.c (allocate_pages): Change allocation
36814 method.
36815 (grub_e820_add_region): New function.
36816 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
36817 booting.
36818 (grub_find_video_card): New function.
36819 (grub_linux_setup_video): New function.
36820 (grub_rescue_cmd_linux): Probe for video information.
36821
36822 * normal/x86_64/setjmp.S: New file.
36823
36824 * term/efi/console.c (map_char): New function.
36825 (grub_console_putchar): Map unicode char.
36826 (grub_console_checkkey): Wrap efi calls.
36827 (grub_console_getkey): Likewise.
36828 (grub_console_getwh): Likewise.
36829 (grub_console_gotoxy): Likewise.
36830 (grub_console_cls): Likewise.
36831 (grub_console_setcolorstate): Likewise.
36832 (grub_console_setcursor): Likewise.
36833
36834 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
36835
36836 2008-07-16 Pavel Roskin <proski@gnu.org>
36837
36838 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
36839 format strings.
36840
36841 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
36842 pointer, not an integer. This fixes a warning and prevents
36843 precision loss on 64-bit systems.
36844 (relocate_addresses): Remove unneeded cast.
36845
36846 2008-07-15 Pavel Roskin <proski@gnu.org>
36847
36848 * kern/i386/ieee1275/init.c: Include grub/cache.h.
36849
36850 * term/ieee1275/ofconsole.c: Disable code unused on i386.
36851
36852 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
36853 Fix comparison between signed and unsigned.
36854
36855 * include/grub/i386/ieee1275/console.h: Declare
36856 grub_console_init() and grub_console_fini().
36857
36858 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
36859 It's empty and unused.
36860
36861 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
36862 beginning to avoid warnings with some compilers.
36863
36864 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
36865 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
36866
36867 2008-07-14 Pavel Roskin <proski@gnu.org>
36868
36869 * kern/env.c (grub_register_variable_hook): Don't copy empty
36870 string, it leaks memory. Pass "" to grub_env_set(), it should
36871 handle constant strings.
36872
36873 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
36874 * commands/cmp.c (grub_cmd_cmp): Likewise.
36875 * kern/dl.c (grub_dl_flush_cache): Likewise.
36876 (grub_dl_load_core): Likewise.
36877 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
36878 (grub_elf64_load_phdrs): Likewise.
36879
36880 2008-07-13 Pavel Roskin <proski@gnu.org>
36881
36882 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
36883 between signed and unsigned.
36884 (LzmaEnc_Finish): Fix warning about an unused parameter.
36885
36886 2008-07-13 Bean <bean123ch@gmail.com>
36887
36888 * Makefile.in (enable_lzo): New rule.
36889
36890 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
36891
36892 * configure.ac (ENABLE_LZO): New option --enable-lzo.
36893
36894 * boot/i386/pc/lnxboot.S: #include <config.h>.
36895
36896 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
36897 its value according to the compression algorithm used, lzo or lzma.
36898
36899 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
36900 compression algorithm according to configure macro.
36901
36902 * kern/i386/pc/startup.S (codestart): Likewise.
36903
36904 * kern/i386/pc/lzma_decode.S: New file.
36905
36906 * include/grub/lib/LzFind.h: Likewise.
36907
36908 * include/grub/lib/LzHash.h: Likewise.
36909
36910 * include/grub/lib/LzmaDec.h: Likewise.
36911
36912 * include/grub/lib/LzmaEnc.h: Likewise.
36913
36914 * include/grub/lib/LzmaTypes.h: Likewise.
36915
36916 * lib/LzFind.c: Likewise.
36917
36918 * lib/LzmaDec.c: Likewise.
36919
36920 * lib/LzmaEnc.c: Likewise.
36921
36922 2008-07-13 Bean <bean123ch@gmail.com>
36923
36924 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
36925 (grub_ext4_extent_header): New structure.
36926 (grub_ext4_extent): Likewise.
36927 (grub_ext4_extent_idx): Likewise.
36928 (grub_ext4_find_leaf): New function.
36929 (grub_ext2_read_block): Handle extents.
36930
36931 2008-07-12 Robert Millan <rmh@aybabtu.com>
36932
36933 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
36934
36935 2008-07-11 Robert Millan <rmh@aybabtu.com>
36936
36937 * util/grub.d/40_custom.in: New file. Example on how to add custom
36938 entries to /etc/grub.d.
36939 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
36940 40_custom (implicitly, by merging all the grub.d rules).
36941
36942 2008-07-11 Pavel Roskin <proski@gnu.org>
36943
36944 * commands/read.c (grub_getline): Fix invalid memory access.
36945 Don't add newline to the variable value.
36946
36947 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
36948 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
36949 (serial_hw_get_port): Check validity of the port number.
36950 (grub_cmd_serial): Check return value of serial_hw_get_port().
36951
36952 2008-07-07 Pavel Roskin <proski@gnu.org>
36953
36954 * boot/i386/pc/diskboot.S (notification_string): Replace
36955 "Loading kernel" with just "loading". This is shorter, less
36956 confusing and saves a few bytes for possible future changes.
36957
36958 2008-07-05 Pavel Roskin <proski@gnu.org>
36959
36960 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
36961 size for ATAPI devices, they are undefined. Output sector
36962 number in decimal form.
36963
36964 * disk/ata.c: Use named constants for status bits.
36965
36966 2008-07-04 Pavel Roskin <proski@gnu.org>
36967
36968 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
36969 grub_addr_t before casting it to the void pointer to fix a
36970 warning. Non-addressable regions are discarded earlier.
36971 (grub_arch_modules_addr): Cast _end to grub_addr_t.
36972 * kern/i386/linuxbios/table.c: Include grub/misc.h.
36973 (check_signature): Don't shadow table_header.
36974 (grub_linuxbios_table_iterate): Cast numeric constants to
36975 grub_linuxbios_table_header_t.
36976 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
36977 grub_stop().
36978
36979 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
36980 prevent warnings.
36981
36982 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
36983 pointer, which can cause warnings. Support 64-bit addresses.
36984
36985 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
36986 of sizeof(long). This fixes PowerPC image generation on x86_64.
36987
36988 2008-07-04 Robert Millan <rmh@aybabtu.com>
36989
36990 This fixes a performance issue when pc & gpt partmap iterators
36991 didn't abort iteration even after our hook found what it was
36992 looking for (often causing expensive probes of non-existent drives).
36993
36994 Some callers relied on previous buggy behaviour, since they would
36995 raise an error when their own hooks caused early abortion of its
36996 iteration.
36997
36998 * kern/device.c (grub_device_open): Improve error message.
36999 * disk/lvm.c (grub_lvm_open): Likewise.
37000 * disk/raid.c (grub_raid_open): Likewise.
37001
37002 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37003 when hook requests it, independently of grub_errno.
37004 (pc_partition_map_probe): Do not fail when find_func() caused
37005 early abortion of pc_partition_map_iterate().
37006
37007 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37008 when hook requests it, independently of grub_errno.
37009 (gpt_partition_map_probe): Do not fail when find_func() caused
37010 early abortion of gpt_partition_map_iterate().
37011
37012 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37013 when hook requests it, independently of grub_errno. Do not fail when
37014 part_map_iterate_hook() caused early abortion of p->iterate().
37015
37016 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37017 when grub_partition_iterate() returned with non-zero.
37018
37019 2008-07-03 Pavel Roskin <proski@gnu.org>
37020
37021 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37022 like we do in grub_ata_pio_read().
37023 (grub_ata_readwrite): Always write individual sectors. Fix the
37024 sector count for the remainder.
37025 (grub_ata_write): Enable writing to ATA devices. Correctly
37026 report error for ATAPI devices.
37027
37028 2008-07-02 Pavel Roskin <proski@gnu.org>
37029
37030 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37031 warning.
37032
37033 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37034 for every read sector, we already increment it for the whole
37035 batch. This fixes reading more than 256 sectors at once.
37036
37037 * util/grub-editenv.c (cmd_info): Cast argument to long
37038 explicitly. ptrdiff_t reduces to int on i386.
37039
37040 * util/grub-editenv.c (main): Be specific which parameter is
37041 missing.
37042
37043 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37044 (memdisk): Make memdisk_orig_addr a pointer.
37045
37046 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37047 for file offsets, use grub_off_t instead. Fix printf format
37048 warnings.
37049
37050 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37051 there. Real unexpected warnings should not drown in the noise
37052 about known problems.
37053
37054 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37055 grub_disk_addr_t for memory addresses.
37056
37057 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37058 explicitly to fix a warning.
37059
37060 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37061
37062 * Makefile.in (MODULE_LDFLAGS): New variable.
37063 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37064 the linker accepts --build-id=none.
37065 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37066 MODULE_LDFLAGS.
37067 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37068
37069 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37070 those in Linux XFS code. Provide a way to access 64-bit parent
37071 inode.
37072 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37073 the end of struct grub_xfs_dir_header.
37074
37075 2008-07-02 Bean <bean123ch@gmail.com>
37076
37077 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37078 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37079 and GRUB_IEEE1275_FLAG_NO_ANSI.
37080
37081 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37082 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37083 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37084
37085 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37086 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37087
37088 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37089 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37090
37091 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37092 esc sequence on non ANSI terminal.
37093 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37094
37095 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37096 beginning of file.
37097
37098 2008-07-02 Bean <bean123ch@gmail.com>
37099
37100 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37101 (grub_editenv_SOURCES): New variable.
37102 (pkglib_MODULES): Add loadenv.mod.
37103 (loadenv_mod_SOURCES): New variable.
37104 (loadenv_mod_CFLAGS): Likewise.
37105 (loadenv_mod_LDFLAGS): Likewise.
37106
37107 * include/grub/envblk.h: New file.
37108
37109 * util/envblk.c: New file.
37110
37111 * util/grub-editenv.c: New file.
37112
37113 * commands/loadenv.c: New file.
37114
37115 2008-07-01 Pavel Roskin <proski@gnu.org>
37116
37117 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37118 not unsigned char. This fixes warnings and is consistent with
37119 other tags.
37120
37121 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37122
37123 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37124
37125 * term/tparm.c (analyze): Always set *popcount.
37126
37127 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37128 cast to fix a warning.
37129
37130 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37131 cast to suppress a warning.
37132
37133 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37134 grub_fshelp_read_file() expects.
37135
37136 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37137 write uuid as a 32-bit value in CPU byte order, so declare and
37138 use it as such.
37139
37140 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37141 long if the format specifier expects it.
37142 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37143 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37144 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37145 long to fix a warning.
37146 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37147 grub_dprintf() arguments to fix warnings.
37148
37149 2008-06-30 Pavel Roskin <proski@gnu.org>
37150
37151 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37152 install_bsd_part immediately before core.img is embedded or
37153 modified on disk. This fixes core.img verification if core.img
37154 cannot be embedded.
37155
37156 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37157 core_path to calculate the blocklist.
37158 Patch from Javier Martín <lordhabbit@gmail.com>
37159
37160 2008-06-29 Robert Millan <rmh@aybabtu.com>
37161
37162 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37163 block to disk block.
37164 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37165 Patch from Niels Böhm <bitbucket@arcor.de>
37166
37167 2008-06-29 Robert Millan <rmh@aybabtu.com>
37168
37169 * util/update-grub_lib.in (font_path): Search for fonts in
37170 /boot/grub first, which is more likely to be readable (we aren't
37171 deciding where fonts live, just looking for them).
37172
37173 2008-06-26 Pavel Roskin <proski@gnu.org>
37174
37175 * util/biosdisk.c (read_device_map): Don't leave dead map
37176 entries for devices failing stat() check.
37177
37178 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37179 core_path_dev for the core.img path on the target device.
37180
37181 2008-06-26 Robert Millan <rmh@aybabtu.com>
37182
37183 * disk/fs_uuid.c: New file.
37184 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37185 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37186 (fs_uuid_mod_LDFLAGS): New variables.
37187 * include/grub/disk.h (grub_disk_dev_id): Add
37188 `GRUB_DISK_DEVICE_UUID_ID'.
37189 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37190 implement iterate().
37191
37192 2008-06-26 Robert Millan <rmh@aybabtu.com>
37193
37194 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37195 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37196 Linux image includes no initrd.
37197
37198 2008-06-21 Javier Martín <lordhabbit@gmail.com>
37199
37200 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37201 call to resolve the core image location that effectively appended the
37202 name twice.
37203
37204 2008-06-21 Robert Millan <rmh@aybabtu.com>
37205
37206 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37207 call from here ...
37208
37209 * util/grub.d/10_hurd.in: ... to here ...
37210 * util/grub.d/10_linux.in: ... and here.
37211
37212 2008-06-19 Robert Millan <rmh@aybabtu.com>
37213
37214 * kern/main.c (grub_main): Export `prefix' variable immediately
37215 after it has been set by grub_machine_set_prefix().
37216
37217 2008-06-19 Robert Millan <rmh@aybabtu.com>
37218
37219 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37220 search result when not saving to variable, not the other way around.
37221 When saving to variable, abort iteration as soon as a match is found.
37222
37223 2008-06-19 Robert Millan <rmh@aybabtu.com>
37224
37225 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37226 check for partition that provides /boot/grub. Its logic is flawed,
37227 as it prevents prepare_grub_to_access_device() from being called
37228 multiple times.
37229
37230 2008-06-19 Robert Millan <rmh@aybabtu.com>
37231
37232 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37233 "insmod" command directly when abstraction modules are needed,
37234 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
37235 since it had already been processed).
37236
37237 2008-06-19 Pavel Roskin <proski@gnu.org>
37238
37239 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37240 changed. This is needed in case GRUB_LIBDIR changes.
37241 * conf/i386-ieee1275.rmk: Likewise.
37242 * conf/i386-linuxbios.rmk: Likewise.
37243 * conf/i386-pc.rmk: Likewise.
37244 * conf/powerpc-ieee1275.rmk: Likewise.
37245
37246 2008-06-18 Pavel Roskin <proski@gnu.org>
37247
37248 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37249 kernel_elf_symlist.c to symlist.c for consistency with other
37250 architectures. Update all users.
37251 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37252
37253 2008-06-18 Robert Millan <rmh@aybabtu.com>
37254
37255 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37256 it in prefix.
37257
37258 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37259 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37260 a RAID device, run setup() for all members independently on whether
37261 LVM abstraction is being used.
37262 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37263 If grub-mkimage has set `*install_dos_part == -2', don't override this
37264 value.
37265 Perform *install_dos_part adjustments independently on whether
37266 we're embedding or not.
37267 Clarify error message when image is too big for embedding.
37268 Remove duplicate *install_dos_part stanza.
37269
37270 2008-06-17 Robert Millan <rmh@aybabtu.com>
37271
37272 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37273 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37274 variables.
37275 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37276 values in grub_ofconsole_normal_color and
37277 grub_ofconsole_highlight_color (they're not directly related to
37278 background and foreground).
37279 (grub_ofconsole_setcolorstate): Extract background and foreground
37280 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37281
37282 2008-06-17 Robert Millan <rmh@aybabtu.com>
37283
37284 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37285 /boot/grub for the check in last commit, not /boot (they could be
37286 different partitions).
37287
37288 2008-06-16 Robert Millan <rmh@aybabtu.com>
37289
37290 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37291 asked to setup access for the same partition that provides /boot,
37292 don't bother using UUIDs since our root already has the value we
37293 want.
37294
37295 2008-06-16 Robert Millan <rmh@aybabtu.com>
37296
37297 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37298 I2O devices.
37299 Patch from Sven Mueller <sven@debian.org>.
37300
37301 2008-06-16 Robert Millan <rmh@aybabtu.com>
37302
37303 * util/update-grub.in: Check for $EUID instead of $UID.
37304 Reported by Vincent Zweije.
37305
37306 2008-06-16 Bean <bean123ch@gmail.com>
37307
37308 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
37309 (grub_ext2_read_block): Likewise.
37310 (grub_ext2_read_inode): Likewise.
37311 (grub_ext2_mount): Likewise.
37312 (grub_ext2_close): Likewise.
37313 (grub_ext3_get_journal): Removed.
37314
37315 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
37316 (grub_reiserfs_read_symlink): Likewise.
37317 (grub_reiserfs_mount): Likewise.
37318 (grub_reiserfs_open): Likewise.
37319 (grub_reiserfs_read): Likewise.
37320 (grub_reiserfs_close): Likewise.
37321 (grub_reiserfs_get_journal): Removed.
37322
37323 * fs/fshelp.c (grub_fshelp_read): Removed.
37324 (grub_fshelp_map_block): Likewise.
37325
37326 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37327 (grub_fshelp_journal): Likewise.
37328 (grub_fshelp_read): Likewise.
37329 (grub_fshelp_map_block): Likewise.
37330
37331 2008-06-16 Pavel Roskin <proski@gnu.org>
37332
37333 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37334 floating point anymore.
37335 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37336
37337 2008-06-15 Pavel Roskin <proski@gnu.org>
37338
37339 * commands/ls.c (grub_ls_list_files): Use integer calculations
37340 for human readable format, avoid floating point use.
37341 * kern/misc.c (grub_ftoa): Remove.
37342 (grub_vsprintf): Remove floating point support.
37343
37344 2008-06-15 Robert Millan <rmh@aybabtu.com>
37345
37346 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
37347 devices.
37348 Reported by Max Vozeler.
37349
37350 2008-06-15 Robert Millan <rmh@aybabtu.com>
37351
37352 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37353 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37354 skipped later.
37355 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37356 the beginning of the prefix.
37357
37358 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37359 It is assumed that if we have a memdisk, grub-mkimage has set
37360 grub_prefix to include the "(memdisk)" drive in it.
37361
37362 2008-06-15 Robert Millan <rmh@aybabtu.com>
37363
37364 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37365 Initialize keyboard controller after registering the terminal, so that
37366 grub_printf() can be called from grub_keyboard_controller_init().
37367
37368 2008-06-15 Robert Millan <rmh@aybabtu.com>
37369
37370 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37371 extent-btree which is written as big endian on disk.
37372 Reported by Alain Greppin <al@chilibi.org>.
37373
37374 2008-06-14 Robert Millan <rmh@aybabtu.com>
37375
37376 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37377 * util/i386/pc/grub-install.in (modules): Likewise.
37378
37379 2008-06-13 Pavel Roskin <proski@gnu.org>
37380
37381 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37382
37383 2008-06-13 Bean <bean123ch@gmail.com>
37384
37385 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37386
37387 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37388
37389 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37390 to indicate sparse block.
37391
37392 2008-06-12 Pavel Roskin <proski@gnu.org>
37393
37394 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37395 number, grub_fshelp_read() does it for us.
37396
37397 * fs/fshelp.c (grub_fshelp_read): New function. Implement
37398 linear disk read with journal translation.
37399 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
37400 * include/grub/fshelp.h: Declare grub_fshelp_read().
37401
37402 2008-06-09 Pavel Roskin <proski@gnu.org>
37403
37404 * fs/minix.c (grub_minix_mount): Handle error reading
37405 superblock.
37406
37407 2008-06-08 Robert Millan <rmh@aybabtu.com>
37408
37409 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
37410 don't append the RAID prefix afterwards.
37411 Reported by Clint Adams.
37412
37413 2008-06-08 Robert Millan <rmh@aybabtu.com>
37414
37415 Based on description from Pavel:
37416 * kern/disk.c (grub_disk_check_range): Rename to ...
37417 (grub_disk_adjust_range): ... this. Add a comment explaining the
37418 tasks performed by this function.
37419
37420 2008-06-08 Robert Millan <rmh@aybabtu.com>
37421
37422 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
37423 `num_serial' (for consistency with other variables).
37424 (struct grub_ntfs_data): Add `uuid' member.
37425 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
37426 (grub_ntfs_uuid): New function.
37427 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
37428
37429 2008-06-07 Pavel Roskin <proski@gnu.org>
37430
37431 * util/biosdisk.c (open_device): Revert last change to the
37432 function, it broke installation. The sector needs to be
37433 different dependent on which device is opened.
37434
37435 2008-06-06 Robert Millan <rmh@aybabtu.com>
37436
37437 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
37438 rest of GRUB, and breakage doesn't happen if its value were modified.
37439
37440 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37441 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
37442 a constant (same value).
37443 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
37444 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
37445
37446 2008-06-06 Robert Millan <rmh@aybabtu.com>
37447
37448 * util/biosdisk.c (open_device): Do not modify sector offset when
37449 accessing a partition. kern/disk.c already handles this for us.
37450
37451 2008-06-06 Robert Millan <rmh@aybabtu.com>
37452
37453 * util/grub-emu.c (grub_machine_init): Move code in this function from
37454 here ...
37455 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
37456 segfault in case grub_printf() is called).
37457
37458 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
37459 grub_probe. Update all users not to explicitly add it again.
37460 (grub_device): New variable; contains corresponding device for grubdir.
37461 (fs_module, partmap_module, devabstraction_module): Pass
37462 `--device ${grub_device}' to grub_probe to avoid traversing /dev
37463 every time.
37464
37465 2008-06-05 Robert Millan <rmh@aybabtu.com>
37466
37467 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
37468 is found, print it (same layout as with labels).
37469
37470 2008-06-04 Robert Millan <rmh@aybabtu.com>
37471
37472 * util/biosdisk.c (get_drive): Rename to ...
37473 (find_grub_drive): ... this. Update all users.
37474
37475 (get_os_disk): Rename to ...
37476 (convert_system_partition_to_system_disk): ... this. Update all users.
37477
37478 (find_drive): Rename to ...
37479 (find_system_device): ... this. Update all users.
37480
37481 2008-06-04 Robert Millan <rmh@aybabtu.com>
37482
37483 * util/biosdisk.c (get_os_disk): Handle IDA devices.
37484 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37485 (make_device_map): Likewise.
37486
37487 2008-06-01 Robert Millan <rmh@aybabtu.com>
37488
37489 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
37490 before dereferencing it.
37491
37492 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
37493 union with fat12/fat16-specific ones. Add some new fields, including
37494 `num_serial' for both versions.
37495 (struct grub_fat_data): Add `uuid' member.
37496 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
37497 names. Initialize `data->uuid' using `num_serial'.
37498 (grub_fat_uuid): New function.
37499 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
37500
37501 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
37502 (grub_reiserfs_uuid): New function.
37503 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
37504 member.
37505
37506 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
37507 (grub_xfs_uuid): New function.
37508 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
37509
37510 2008-06-01 Robert Millan <rmh@aybabtu.com>
37511
37512 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
37513 code that is backward compatible with pre-uuid search command.
37514
37515 2008-05-31 Robert Millan <rmh@aybabtu.com>
37516
37517 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
37518 floppies after everything else, to ensure floppy drive isn't accessed
37519 unnecessarily (patch from Bean).
37520
37521 2008-05-31 Robert Millan <rmh@aybabtu.com>
37522
37523 * commands/search.c (search_label, search_fs_uuid, search_file): Do
37524 not print device names when we were asked to set a variable.
37525
37526 2008-05-31 Robert Millan <rmh@aybabtu.com>
37527
37528 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
37529 using "cursor-on" and "cursor-off" commands (understood at least by
37530 the Open Firmware flavour on OLPC).
37531
37532 2008-05-31 Michael Gorven <michael@gorven.za.net>
37533
37534 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
37535 on and off sequences.
37536
37537 2008-05-31 Robert Millan <rmh@aybabtu.com>
37538
37539 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
37540 * util/update-grub.in: Likewise.
37541
37542 2008-05-30 Pavel Roskin <proski@gnu.org>
37543
37544 * util/biosdisk.c (linux_find_partition): Simplify logic and
37545 make the code more universal. Keep special processing for
37546 devfs, but use a simple rule for all other devices. If the
37547 device ends with a number, append 'p' and the partition number.
37548 Otherwise, append only the partition number.
37549
37550 2008-05-30 Robert Millan <rmh@aybabtu.com>
37551
37552 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
37553 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
37554 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
37555 the `root' parameter to Linux.
37556
37557 2008-05-30 Robert Millan <rmh@aybabtu.com>
37558
37559 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
37560 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
37561 --fs_uuid with --fs-uuid.
37562 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
37563 all filesystems support them).
37564
37565 2008-05-30 Robert Millan <rmh@aybabtu.com>
37566
37567 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
37568 grub_printf() flags, since we're printing in units of 2 bytes.
37569
37570 2008-05-30 Robert Millan <rmh@aybabtu.com>
37571
37572 * util/grub.d/00_header.in: Remove obsolete comment referencing
37573 convert_system_path_to_grub_path().
37574 * util/update-grub.in: Likewise.
37575 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
37576 (convert_system_path_to_grub_path): Add a warning message explaining
37577 that this function is deprecated. Rely on is_path_readable_by_grub()
37578 for the readability checks.
37579 (font_path): Use is_path_readable_by_grub() for the readability
37580 check rather than convert_system_path_to_grub_path().
37581
37582 2008-05-30 Robert Millan <rmh@aybabtu.com>
37583
37584 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
37585 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
37586 converting it first.
37587 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
37588 grub.cfg for access to font file, and afterwards call it again to set
37589 the root device.
37590
37591 2008-05-30 Robert Millan <rmh@aybabtu.com>
37592
37593 * commands/search.c (options): Add --fs_uuid option.
37594 (search_fs_uuid): New function.
37595 (grub_cmd_search): Fix --set argument passing.
37596 Use search_fs_uuid() when requested via --fs_uuid.
37597 (grub_search_init): Update help message.
37598 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
37599 and redeclare it as an array of 16-bit words.
37600 (grub_ext2_uuid): New function.
37601 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
37602 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
37603 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
37604 (GRUB_DEVICE_BOOT_UUID): New variables.
37605 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
37606 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
37607 whenever possible.
37608 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
37609 just assume `root' variable has the right value.
37610 * util/grub.d/10_linux.in: Likewise.
37611 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
37612 via PRINT_FS_UUID.
37613 (main): Recognise `-t fs_uuid' argument.
37614
37615 2008-05-30 Robert Millan <rmh@aybabtu.com>
37616
37617 * util/biosdisk.c (map): Redefine structure to hold information
37618 about GRUB drive name.
37619 (get_drive): Reimplement without assuming (and verifying) BIOS-like
37620 drive names.
37621 (call_hook): Remove.
37622 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
37623 member. Assume drive has partitions.
37624 (grub_util_biosdisk_open): Access device names via `.device' struct
37625 member.
37626 (open_device): Likewise.
37627 (find_drive): Likewise.
37628 (read_device_map): Adjust map[] usage to match the new struct
37629 definition. Don't check for duplicates (still possible, but not cheap
37630 anymore).
37631 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
37632 (make_device_name): Remove assumption of BIOS-like drive names.
37633
37634 2008-05-30 Pavel Roskin <proski@gnu.org>
37635
37636 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
37637 compiling execute.c doesn't need grub_script.tab.h anymore.
37638 (normal/command.c_DEPENDENCIES): Likewise.
37639 (normal/function.c_DEPENDENCIES): Likewise.
37640 * conf/i386-ieee1275.rmk: Likewise.
37641 * conf/i386-linuxbios.rmk: Likewise.
37642 * conf/i386-pc.rmk: Likewise.
37643 * conf/powerpc-ieee1275.rmk: Likewise.
37644 * conf/sparc64-ieee1275.rmk: Likewise.
37645
37646 2008-05-29 Pavel Roskin <proski@gnu.org>
37647
37648 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
37649 when scanning metadata for volume group name.
37650
37651 * include/grub/script.h: Don't include grub_script.tab.h. It's
37652 a generated file, which may only be included from the files with
37653 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
37654 use union YYSTYPE, as the later allows forward declaration.
37655 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
37656
37657 2008-05-29 Robert Millan <rmh@aybabtu.com>
37658
37659 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
37660 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
37661 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
37662 (grub_console_checkkey): Add grub_dprintf() call to report unknown
37663 scan codes.
37664
37665 2008-05-29 Robert Millan <rmh@aybabtu.com>
37666
37667 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
37668 control key combinations.
37669
37670 2008-05-29 Robert Millan <rmh@aybabtu.com>
37671
37672 * util/powerpc/ieee1275/grub-install.in: Move from here ...
37673 * util/ieee1275/grub-install.in: ... to here.
37674 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
37675 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
37676 (grub_install_SOURCES): Likewise.
37677
37678 2008-05-29 Robert Millan <rmh@aybabtu.com>
37679
37680 * fs/affs.c: Update copyright year.
37681 * fs/ext2.c: Likewise.
37682 * fs/fshelp.c: Likewise.
37683 * fs/hfsplus.c: Likewise.
37684 * fs/ntfs.c: Likewise.
37685 * fs/xfs.c: Likewise.
37686 * include/grub/fshelp.h: Likewise.
37687 * util/grub-mkdevicemap.c: Likewise.
37688
37689 2008-05-28 Robert Millan <rmh@aybabtu.com>
37690
37691 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
37692 might need to be fatfs to support some firmware implementations
37693 (e.g. OFW or EFI).
37694
37695 2008-05-28 Robert Millan <rmh@aybabtu.com>
37696
37697 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
37698 devices.
37699 * util/grub-mkdevicemap.c (get_mmc_disk_name)
37700 (make_device_map): Likewise.
37701
37702 2008-05-20 Bean <bean123ch@gmail.com>
37703
37704 * fs/fshelp.c (grub_fshelp_map_block): New function.
37705 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
37706 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
37707
37708 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
37709 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
37710 (grub_fshelp_journal): New structure.
37711 (grub_fshelp_map_block): New function prototype.
37712 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
37713 (grub_fshelp_map_block): Likewise.
37714
37715 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
37716 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
37717 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
37718 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
37719 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
37720 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
37721 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
37722 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
37723 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
37724 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
37725 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
37726 (grub_ext2_sblock): New members for journal support.
37727 (grub_ext3_journal_header): New structure.
37728 (grub_ext3_journal_revoke_header): Likewise.
37729 (grub_ext3_journal_block_tag): Likewise.
37730 (grub_ext3_journal_sblock): Likewise.
37731 (grub_fshelp_node): New members logfile and journal.
37732 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
37733 grub_fshelp_map_block to get real block number.
37734 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
37735 number.
37736 (grub_ext2_read_inode): Likewise.
37737 (grub_ext3_get_journal): New function.
37738 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
37739 (grub_ext2_close): Release memory used by journal.
37740
37741 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
37742 (REISERFS_MAGIC_DESC_BLOCK): New macro.
37743 (grub_reiserfs_transaction_header): Renamed to
37744 grub_reiserfs_description_block, replace field data with real_blocks.
37745 (grub_reiserfs_commit_block): New structure.
37746 (grub_reiserfs_data): New member journal.
37747 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
37748 number.
37749 (grub_reiserfs_read_symlink): Likewise.
37750 (grub_reiserfs_iterate_dir): Likewise.
37751 (grub_reiserfs_open): Likewise.
37752 (grub_reiserfs_read): Likewise.
37753 (grub_reiserfs_get_journal): New function.
37754 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
37755 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
37756 using grub_reiserfs_get_journal.
37757 (grub_reiserfs_close): Release memory used by journal.
37758
37759 * fs/affs.c (grub_affs_read_block): Change block type to
37760 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
37761
37762 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
37763
37764 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
37765
37766 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
37767
37768 * fs/udf.c (grub_udf_read_block): Change block type to
37769 grub_disk_addr_t. Use type cast to avoid warning.
37770
37771 * fs/xfs.c (grub_xfs_read_block): Likewise.
37772
37773 2008-05-16 Christian Franke <franke@computer.org>
37774
37775 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
37776 to ensure that break with ESC will always work.
37777 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
37778 Remove ESC from keyboard queue.
37779
37780 2008-05-16 Christian Franke <franke@computer.org>
37781
37782 * util/biosdisk.c: [__CYGWIN__] Add includes.
37783 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
37784 (get_os_disk): Move variable declarations to OS specific
37785 parts to avoid warning.
37786 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
37787 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
37788 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
37789 Cygwin.
37790 * util/getroot.c: [__CYGWIN__] Add includes.
37791 (strip_extra_slashes): Fix "/" case.
37792 [__CYGWIN__] (get_win32_path): New function.
37793 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
37794 [__CYGWIN__] (find_root_device): Disable.
37795 [__CYGWIN__] (get_bootsec_serial): New function.
37796 [__CYGWIN__] (find_cygwin_root_device): Likewise.
37797 [__linux__] (grub_guess_root_device): Add early returns to simplify
37798 structure.
37799 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
37800 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
37801 check for Linux only.
37802
37803 2008-05-15 Bean <bean123ch@gmail.com>
37804
37805 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
37806 keyboard hang problem in apple's intel mac.
37807
37808 2008-05-09 Robert Millan <rmh@aybabtu.com>
37809
37810 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
37811 devices.
37812 * util/grub-mkdevicemap.c (get_virtio_disk_name)
37813 (make_device_map): Likewise.
37814 Reported by Aurelien Jarno <aurel32@debian.org>
37815
37816 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
37817
37818 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
37819 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
37820 (make_device_map): Output entries for xvd type disks.
37821
37822 2008-05-07 Robert Millan <rmh@aybabtu.com>
37823
37824 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
37825 devices.
37826 * util/grub-mkdevicemap.c (get_cciss_disk_name)
37827 (make_device_map): Likewise.
37828 Reported by Roland Dreier <rdreier@cisco.com>
37829
37830 2008-05-07 Robert Millan <rmh@aybabtu.com>
37831
37832 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
37833 grub_strstr() call. Correct a few mistakes in failure path handling.
37834
37835 2008-05-06 Robert Millan <rmh@aybabtu.com>
37836
37837 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37838 Do not print a trailing slash (therefore, the root directory is an
37839 empty string).
37840 (convert_system_path_to_grub_path): Do not remove trailing slash
37841 from make_system_path_relative_to_its_root() output.
37842
37843 * util/i386/pc/grub-install.in: Add trailing slash to output from
37844 make_system_path_relative_to_its_root().
37845
37846 2008-05-06 Robert Millan <rmh@aybabtu.com>
37847
37848 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
37849 ensures that output lines aren't intermangled with those sent to
37850 stderr (via grub_util_info()).
37851 * util/grub-probe.c (grub_refresh): Likewise.
37852 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
37853
37854 2008-05-05 Christian Franke <franke@computer.org>
37855
37856 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
37857 Add Cygwin device names.
37858 (get_ide_disk_name) [__CYGWIN__]: Likewise.
37859 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
37860 (check_device): Return error instead of success on empty name.
37861 (make_device_map): Move label inside linux specific code to
37862 prevent compiler warning.
37863
37864 2008-04-30 Robert Millan <rmh@aybabtu.com>
37865
37866 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
37867 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
37868 first boot option.
37869 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
37870
37871 2008-04-29 Robert Millan <rmh@aybabtu.com>
37872
37873 * docs/grub.cfg: New file (example GRUB configuration).
37874
37875 2008-04-26 Robert Millan <rmh@aybabtu.com>
37876
37877 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
37878 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
37879 and `disk/ieee1275/nand.c'.
37880
37881 2008-04-25 Bean <bean123ch@gmail.com>
37882
37883 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
37884 i386-linuxbios.
37885
37886 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
37887 change the buffer size to 4096 for cdrom device.
37888
37889 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
37890 and nand.mod.
37891 (_linux_mod_SOURCES): New variable.
37892 (_linux_mod_CFLAGS): Likewise.
37893 (_linux_mod_LDFLAGS): Likewise.
37894 (linux_mod_SOURCES): Likewise.
37895 (linux_mod_CFLAGS): Likewise.
37896 (linux_mod_LDFLAGS): Likewise.
37897 (nand_mod_SOURCES): Likewise.
37898 (nand_mod_CFLAGS): Likewise.
37899 (nand_mod_LDFLAGS): Likewise.
37900
37901 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
37902 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
37903 type property. (nand device in olpc don't have this property)
37904
37905 * include/grub/disk.h (grub_disk_dev_id): New macro
37906 GRUB_DISK_DEVICE_NAND_ID.
37907
37908 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
37909 function prototype.
37910 (grub_rescue_cmd_initrd): Likewise.
37911
37912 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
37913 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
37914 ofw_cif_handler and ofw_idt, adjust padding number.
37915
37916 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
37917 GRUB_MACHINE_IEEE1275 is defined.
37918
37919 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
37920 Use NESTED_FUNC_ATTR attribute on the hook parameter.
37921
37922 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
37923 on nested function heap_init.
37924 (grub_upper_mem): New variable for i386-ieee1275.
37925 (grub_get_extended_memory): New function for i386-ieee1275.
37926 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
37927
37928 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
37929 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
37930 property.
37931
37932 * loader/i386/ieee1275/linux.c: New file.
37933
37934 * loader/i386/ieee1275/linux_normal.c: New file.
37935
37936 * disk/ieee1275/nand.c: New file.
37937
37938 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
37939
37940 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
37941 value.
37942 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
37943
37944 2008-04-18 Robert Millan <rmh@aybabtu.com>
37945
37946 Restructures early code path on ieee1275 to unify grub_main() as
37947 the first C function that is executed in every platform.
37948
37949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
37950 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
37951 cmain().
37952 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
37953 * kern/ieee1275/cmain.c (cmain): Rename to ...
37954 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
37955 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
37956 at the beginning.
37957
37958 2008-04-18 Robert Millan <rmh@aybabtu.com>
37959
37960 * util/update-grub.in: Fix syntax error when setting
37961 `GRUB_PRELOAD_MODULES'.
37962 Reported by Stephane Chazelas <stephane@artesyncp.com>
37963
37964 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
37965
37966 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
37967 section into account, newer toolchains generate unique build ids
37968 * configure.ac: remove the test for --build-id=none acceptance,
37969 we want build ids to be preserved
37970 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
37971 far from other sections don't cause the raw binary images grow
37972 size
37973
37974 2008-04-15 Robert Millan <rmh@aybabtu.com>
37975
37976 * disk/lvm.c: Update copyright year.
37977 * kern/misc.c: Likewise.
37978
37979 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37980
37981 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
37982 there is no memory left for physical volume name.
37983
37984 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
37985
37986 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
37987 volume name mapping to support bigger than 9 character names properly.
37988
37989 2008-04-13 Robert Millan <rmh@aybabtu.com>
37990
37991 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
37992 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
37993
37994 2008-04-13 Christian Franke <franke@computer.org>
37995
37996 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
37997 to create a floppy emulation boot CD when non emulation mode
37998 does not work.
37999 Enable Joliet CD filesystem extension.
38000
38001 2008-04-13 Robert Millan <rmh@aybabtu.com>
38002
38003 * kern/misc.c (grub_strncat): Fix off-by-one error.
38004 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38005
38006 * kern/env.c (grub_env_context_close): Clear current context, not
38007 previous one.
38008 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38009
38010 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38011
38012 2008-04-13 Robert Millan <rmh@aybabtu.com>
38013
38014 Improve robustness when handling LVM.
38015
38016 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
38017 (and leave `*p' unmodified).
38018 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38019 through it.
38020 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38021 iterating through it.
38022 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38023 through it.
38024 (grub_lvm_scan_device): Check the return value (and fail gracefully
38025 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38026 Don't assume `vg->pvs != NULL' when iterating through it.
38027
38028 2008-04-13 Robert Millan <rmh@aybabtu.com>
38029
38030 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38031 * genmk.rb (partmap): New variable.
38032 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38033 (#{partmap}): New target rule.
38034 * genpartmaplist.sh: New file.
38035 * Makefile.in (pkglib_DATA): Add partmap.lst.
38036 (partmap.lst): New target rule.
38037 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38038 modules (including all partition maps), instead of preloading them.
38039
38040 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38041
38042 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38043 `linux-boot-prober' (if installed) to detect other operating
38044 systems which are installed on the computer and add them to
38045 the boot menu.
38046 * conf/common.rmk: Build and install 30_os-prober.
38047
38048 2008-04-12 Robert Millan <rmh@aybabtu.com>
38049
38050 * kern/powerpc/ieee1275/init.c: Move from here ...
38051 * kern/ieee1275/init.c: ... to here. Update all users.
38052
38053 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38054 * kern/ieee1275/cmain.c: ... to here. Update all users.
38055
38056 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38057 * kern/ieee1275/openfw.c: ... to here. Update all users.
38058
38059 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38060 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38061
38062 2008-04-10 Pavel Roskin <proski@gnu.org>
38063
38064 * configure.ac: Always use "_cv_" in cache variables for
38065 compatibility with Autoconf 2.62.
38066
38067 2008-04-07 Robert Millan <rmh@aybabtu.com>
38068
38069 Revert grub/machine/init.h addition by Pavel (since it breaks on
38070 i386-ieee1275 and others):
38071 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38072 * util/powerpc/ieee1275/misc.c: Likewise.
38073
38074 2008-04-07 Robert Millan <rmh@aybabtu.com>
38075
38076 * util/grub-probe.c (probe): Improve error message.
38077
38078 2008-04-07 Robert Millan <rmh@aybabtu.com>
38079
38080 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38081 (this prevents the presence of a bogus entry from ruining the whole
38082 thing).
38083
38084 2008-04-06 Pavel Roskin <proski@gnu.org>
38085
38086 * util/biosdisk.c: Include grub/util/biosdisk.h.
38087 * util/grub-fstest.c (execute_command): Make static.
38088 * util/grub-mkdevicemap.c (check_device): Likewise.
38089 * util/i386/pc/misc.c: Include grub/machine/init.h.
38090 * util/powerpc/ieee1275/misc.c: Likewise.
38091 * util/lvm.c: Include grub/util/lvm.h.
38092 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38093 grub/cache.h.
38094 * util/raid.c: Include grub/util/raid.h.
38095 (grub_util_getdiskname): Make static.
38096
38097 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38098 grub_hostfs_fini(), as they are called from grub_init_all() and
38099 grub_fini_all() respectively. This fixes an infinite loop in
38100 grub-fstest due to double registration of hostfs.
38101 Reported by Christian Franke <Christian.Franke@t-online.de>
38102
38103 2008-04-05 Pavel Roskin <proski@gnu.org>
38104
38105 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38106 all 8 functions. Otherwise, probe function 0 only.
38107
38108 2008-04-04 Pavel Roskin <proski@gnu.org>
38109
38110 * commands/lspci.c (grub_lspci_iter): Print the bus number
38111 correctly.
38112
38113 * commands/lspci.c (grub_pci_classes): Fix typos.
38114 (grub_lspci_iter): Don't print func twice. Print vendor ID
38115 before device ID, as it's normally done.
38116
38117 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38118 Fix signedness warnings.
38119 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38120 Likewise.
38121 * util/ieee1275/get_disk_name.c: Include config.h so that
38122 _GNU_SOURCE is defined and getline() is declared. Mark an
38123 unused argument as such. Fix a signedness warning.
38124
38125 2008-04-02 Pavel Roskin <proski@gnu.org>
38126
38127 * genkernsyms.sh.in: Use more robust assignments for CC and
38128 srcdir. Quote srcdir.
38129 * gensymlist.sh.in: Likewise. Assert at the compile time that
38130 the symbol table is not empty.
38131
38132 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38133 * fs/cpio.c (grub_cpio_read): Likewise.
38134
38135 2008-04-01 Pavel Roskin <proski@gnu.org>
38136
38137 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38138 * disk/host.c (grub_host_open): Likewise.
38139 * disk/loopback.c (grub_loopback_open): Likewise.
38140 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38141 disk->id as in disk/host.c, not a multi-character constant.
38142
38143 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38144 later is obsolete, potentially dangerous and sets a bad example.
38145 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38146 * util/misc.c (grub_util_get_image_size): Likewise.
38147
38148 * disk/loopback.c (options): Improve help for "--partitions".
38149
38150 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38151 options to align them with the short options, e.g. "echo -e".
38152
38153 2008-03-31 Bean <bean123ch@gmail.com>
38154
38155 * video/reader/png.c (grub_png_data): New member is_16bit and
38156 image_data.
38157 (grub_png_decode_image_header): Detect 16 bit png image.
38158 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38159 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38160 (grub_video_reader_png): Release memory occupied by image_data.
38161
38162 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38163 4096 bytes.
38164 (grub_nfs_mount): Skip the test for sector per cluster.
38165
38166 * include/grub/ntfs.h (MAX_SPC): Removed.
38167
38168 2008-03-31 Bean <bean123ch@gmail.com>
38169
38170 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38171 (grub_probe_SOURCES): Add fs/afs.c.
38172 (grub_fstest_SOURCES): Likewise.
38173 (afs_mod_SOURCES): New variable.
38174 (afs_mod_CFLAGS): Likewise.
38175 (afs_mod_LDFLAGS): Likewise.
38176
38177 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38178 (grub_emu_SOURCES): Likewise.
38179
38180 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38181
38182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38183
38184 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38185
38186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38187
38188 * fs/afs.c: New file.
38189
38190 2008-03-30 Pavel Roskin <proski@gnu.org>
38191
38192 * disk/host.c: Include grub/misc.h to fix a warning.
38193 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38194 warnings about implicit declarations.
38195
38196 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38197 variable.
38198 * include/grub/i386/loader.h: Change declaration of
38199 grub_linux_boot() to match what grub_loader_set() expects.
38200 * util/getroot.c (grub_guess_root_device): Return const char* to
38201 fix a warning.
38202 * util/grub-probe.c (probe): Fix a warning about uninitialized
38203 abstraction_name variable.
38204 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38205 second argument as unused to fix a warning.
38206
38207 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38208 missing grub_error() call.
38209
38210 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38211 2.60 and newer uses it to define datadir.
38212
38213 * commands/sleep.c: Fix warning about implicit declaration.
38214 * disk/memdisk.c: Likewise.
38215 * loader/aout.c: Likewise.
38216 * loader/i386/bsd_normal.c: Likewise.
38217 * util/grub-probe.c: Likewise.
38218
38219 * commands/i386/cpuid.c (has_longmode): Make static.
38220 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38221 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38222
38223 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38224 GDT. This is more robust, as %ds can change.
38225 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38226 calling real_to_prot().
38227 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38228
38229 2008-03-28 Pavel Roskin <proski@gnu.org>
38230
38231 * kern/i386/pc/startup.S: Assert that uncompressed functions
38232 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38233 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38234 code, as they push parts of the code (error handlers) beyond
38235 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38236 code as correctness and size.
38237
38238 2008-03-28 Pavel Roskin <proski@gnu.org>
38239
38240 * kern/i386/pc/startup.S
38241 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38242 data block address to the real mode, keep offset minimal. This
38243 works around a bug in AWARD BIOS on old Athlon systems, which
38244 makes CD detection hang.
38245
38246 2008-03-26 Pavel Roskin <proski@gnu.org>
38247
38248 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38249 const.
38250 * include/grub/normal.h: Add grub_parse_color_name_pair()
38251 declaration.
38252
38253 2008-03-24 Bean <bean123ch@gmail.com>
38254
38255 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38256 (cd_count): Removed.
38257 (cd_drive): New variable.
38258 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38259 (grub_biosdisk_call_hook): Likewise.
38260 (grub_biosdisk_iterate): Change cdrom detection method.
38261 (grub_biosdisk_open): Replace cd_start with cd_drive.
38262 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38263 detect cdrom device.
38264
38265 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38266 Removed.
38267 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38268 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38269 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38270 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38271 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38272 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38273 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38274 (grub_biosdisk_cdrp): New structure.
38275 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38276
38277 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38278
38279 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38280 device.
38281
38282 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38283 New function.
38284
38285 2008-03-20 Robert Millan <rmh@aybabtu.com>
38286
38287 Remove 2 TiB limit in ata.mod.
38288 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38289 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38290 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38291 grub_uint64_t instead of grub_uint32_t.
38292
38293 2008-03-05 Bean <bean123ch@gmail.com>
38294
38295 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38296 (grub_multiboot): Set boot device.
38297
38298 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38299
38300 2008-03-02 Bean <bean123ch@gmail.com>
38301
38302 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38303 symlink_buffer.
38304
38305 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38306
38307 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38308 texinfo.tex.
38309
38310 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38311 modified.
38312
38313 * docs/fdl.texi: New file.
38314
38315 * docs/mdate-sh: New file. Copied from gnulib.
38316 * docs/texinfo.tex: Likewise.
38317
38318 * config.guess: Updated from gnulib.
38319 * install-sh: Likewise.
38320
38321 2008-02-28 Robert Millan <rmh@aybabtu.com>
38322
38323 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38324 (aout_mod_SOURCES): New variable.
38325 (aout_mod_CFLAGS): Likewise.
38326 (aout_mod_LDFLAGS): Likewise.
38327
38328 * conf/i386-ieee1275.rmk: Likewise.
38329
38330 2008-02-28 Robert Millan <rmh@aybabtu.com>
38331
38332 * util/update-grub.in: Reorganise terminal validity check. Accept
38333 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38334 Based on suggestion by Franklin PIAT.
38335
38336 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38337
38338 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38339 function.
38340 * util/getroot.c (grub_util_check_block_device): New function that
38341 returns the given argument if it is a block device and returns NULL else.
38342 * util/grub-probe.c (argument_is_device): New variable.
38343 (probe): Promote device_name from a variable to an argument. Receive
38344 device_name from grub_util_check_block_device() if path is NULL and from
38345 grub_guess_root_device() else. Do not free() device_name anymore.
38346 (options): Introduce new parameter '-d, --device'.
38347 (main): Add description of the new parameter to the help screen.
38348 Rename path variable to argument. Set argument_is_device if the '-d'
38349 option is given. Pass argument to probe() depending on
38350 argument_is_device.
38351
38352 2008-02-24 Bean <bean123ch@gmail.com>
38353
38354 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38355 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38356 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38357 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38358 (GRUB_ISO9660_VOLDESC_END): Likewise.
38359 (grub_iso9660_primary_voldesc): New member escape.
38360 (grub_iso9660_data): New member joliet.
38361 (grub_iso9660_convert_string): New function.
38362 (grub_iso9660_mount): Detect joliet extension.
38363 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38364 (grub_iso9660_iso9660_label): Likewise.
38365
38366 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38367 (grub_setup_SOURCES): Add fs/udf.c.
38368 (grub_fstest_SOURCES): Likewise.
38369 (udf_mod_SOURCES): New variable.
38370 (udf_mod_CFLAGS): Likewise.
38371 (udf_mod_LDFLAGS): Likewise.
38372
38373 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38374 (grub_emu_SOURCES): Likewise.
38375
38376 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38377
38378 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38379
38380 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38381
38382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38383
38384 * fs/udf.c: New file.
38385
38386 2008-02-24 Robert Millan <rmh@aybabtu.com>
38387
38388 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38389 (normal/lexer.c_DEPENDENCIES): New variables.
38390 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38391 (normal/lexer.c_DEPENDENCIES): Likewise.
38392 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38393 (normal/lexer.c_DEPENDENCIES): Likewise.
38394 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38395 (normal/lexer.c_DEPENDENCIES): Likewise.
38396 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38397 (normal/lexer.c_DEPENDENCIES): Likewise.
38398 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38399 (normal/lexer.c_DEPENDENCIES): Likewise.
38400
38401 2008-02-23 Robert Millan <rmh@aybabtu.com>
38402
38403 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
38404 since they were intended to be in hex. This didn't break previously
38405 because of a bug in gpt_partition_map_iterate() (see below).
38406
38407 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
38408 when checking the validity of GPT header.
38409 Remove `partno', since it always provides the same information as `i'.
38410
38411 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
38412
38413 * include/grub/efi/time.h: Fix a wrong comment.
38414
38415 2008-02-19 Pavel Roskin <proski@gnu.org>
38416
38417 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
38418 message.
38419
38420 2008-02-19 Bean <bean123ch@gmail.com>
38421
38422 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
38423 (aout_mod_SOURCES): New variable.
38424 (aout_mod_CFLAGS): Likewise.
38425 (aout_mod_LDFLAGS): Likewise.
38426 (_bsd_mod_SOURCES): New variable.
38427 (_bsd_mod_CFLAGS): Likewise.
38428 (_bsd_mod_LDFLAGS): Likewise.
38429 (bsd_mod_SOURCES): New variable.
38430 (bsd_mod_CFLAGS): Likewise.
38431 (bsd_mod_LDFLAGS): Likewise.
38432
38433 * include/grub/aout.h: New file.
38434
38435 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
38436
38437 * include/grub/i386/bsd.h: New file.
38438
38439 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
38440 to make it public.
38441
38442 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
38443 function is called, so that it's possible to change it inside the hook.
38444 (grub_elf64_load): Likewise.
38445 (grub_elf_file): Don't close the file if elf header is not found.
38446 (grub_elf_close): Close the file if grub_elf_file fails (The new
38447 grub_elf_file won't close it).
38448 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
38449 (grub_elf64_size): Likewise.
38450
38451 * kern/i386/loader.S (grub_unix_real_boot): New function.
38452
38453 * loader/aout.c: New file.
38454
38455 * loader/i386/bsd.c: New file.
38456
38457 * loader/i386/bsd_normal.c: New file.
38458
38459 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
38460
38461 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
38462 can test other formats.
38463
38464 2008-02-19 Robert Millan <rmh@aybabtu.com>
38465
38466 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
38467 (grub_gpt_partition_type_empty): Redefine with macro from
38468 `<grub/gpt_partition.h>'.
38469 (gpt_partition_map_iterate): Adjust partition type comparison.
38470
38471 Export `entry' as partmap-specific `part.data' struct.
38472 (grub_gpt_header, grub_gpt_partentry): Move from here ...
38473
38474 * include/grub/gpt_partition.h (grub_gpt_header)
38475 (grub_gpt_partentry): ... to here (new file).
38476
38477 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
38478
38479 (grub_gpt_partition_type_bios_boot): New const variable, defined
38480 with macro from `<grub/gpt_partition.h>'.
38481
38482 (setup): Replace `first_start' with `embed_region', which keeps
38483 track of the embed region (and is partmap-agnostic).
38484
38485 Replace find_first_partition_start() with find_usable_region(),
38486 which finds a usable region for embedding using partmap-specific
38487 knowledge (supports PC/MSDOS and GPT).
38488
38489 Fix all assumptions that the embed region start at sector 1, using
38490 `embed_region.start' from now on. Similarly, use `embed_region.end'
38491 rather than `first_start' to calculate available size.
38492
38493 In grub_util_info() message, replace "into after the MBR" with an
38494 indication of the specific sector our embed region starts at.
38495
38496 2008-02-19 Robert Millan <rmh@aybabtu.com>
38497
38498 * DISTLIST: Replace `commands/ieee1275/halt.c' and
38499 `commands/ieee1275/reboot.c' with `commands/halt.c' and
38500 `commands/reboot.c'.
38501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38502 (halt_mod_SOURCES): Likewise.
38503 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
38504 (halt_mod_SOURCES): Likewise.
38505
38506 2008-02-17 Christian Franke <franke@computer.org>
38507
38508 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
38509
38510 2008-02-17 Robert Millan <rmh@aybabtu.com>
38511
38512 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38513 set `first_start' to 0 for non-PC/MSDOS partition maps.
38514
38515 2008-02-16 Robert Millan <rmh@aybabtu.com>
38516
38517 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
38518 do not assume partition map is PC/MSDOS before performing checks that
38519 are specific to that layout.
38520
38521 2008-02-13 Robert Millan <rmh@aybabtu.com>
38522
38523 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
38524 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
38525 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
38526
38527 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
38528
38529 * configure.ac: Only a cosmetic change on the handling of
38530 -fno-stack-protector.
38531
38532 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
38533
38534 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
38535 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
38536 reboot.c.
38537 (grub_install_SOURCES): Add halt.mod and reboot.mod.
38538 (halt_mod_SOURCES): New variable.
38539 (halt_mod_CFLAGS): Likewise.
38540 (halt_mod_LDFLAGS): Likewise.
38541 (reboot_mod_SOURCES): Likewise.
38542 (reboot_mod_CFLAGS): Likewise.
38543 (reboot_mod_LDFLAGS): Likewise.
38544
38545 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
38546 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
38547 reboot.c.
38548 (halt_mod_SOURCES): Likewise.
38549 (reboot_mod_SOURCES): Likewise.
38550
38551 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
38552 commands/i386/pc/reboot.c by commands/reboot.c.
38553 (reboot_mod_SOURCES): Likewise.
38554
38555 * commands/i386/pc/reboot.c: merge this file ...
38556
38557 * commands/ieee1275/reboot.c: ... and this file ...
38558
38559 * commands/reboot.c: ... to this file.
38560 Add some precompiler directive to include the correct header for
38561 each machine.
38562
38563 * commands/ieee1275/halt.c: move this file ...
38564
38565 * commands/halt.c: ... to here.
38566 Add some precompiler directive to include the correct header for
38567 each machine.
38568
38569 * include/grub/efi/efi.h (grub_reboot): New function declaration.
38570 (grub_halt): Likewise.
38571
38572 * kern/efi/efi.c (grub_reboot): New function.
38573 (grub_halt): Likewise.
38574
38575 2008-02-12 Robert Millan <rmh@aybabtu.com>
38576
38577 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
38578 /dev (like it is done for /dev/mapper). This doesn't provide support
38579 for EVMS, but at least it is now easy to identify the problem when it
38580 arises.
38581
38582 2008-02-11 Robert Millan <rmh@aybabtu.com>
38583
38584 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
38585 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
38586 comparing it with -1, not 0.
38587
38588 2008-02-10 Robert Millan <rmh@aybabtu.com>
38589
38590 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
38591 `disk/lvm.c'.
38592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38593 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
38594
38595 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
38596 `disk/lvm.c' to the end of the list.
38597 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38598 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38599
38600 2008-02-10 Robert Millan <rmh@aybabtu.com>
38601
38602 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
38603 grub_print_error() instead. This will let user know why we're entering
38604 rescue mode.
38605 Based on suggestions from Sam Morris.
38606
38607 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
38608
38609 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
38610 on remaining N args, instead of "--" arg N times.
38611
38612 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
38613
38614 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
38615 (fill_with_default_glyph): Changed to use unknown_glyph for fill
38616 pattern for unknown glyphs.
38617
38618 2008-02-09 Robert Millan <rmh@aybabtu.com>
38619
38620 * configure.ac: Probe for `help2man'.
38621 * Makefile.in (builddir): New variable.
38622 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
38623 or otherwise add a few flags/options to it.
38624 (install-local): For every executable utility or script that is
38625 installed, invoke $(HELP2MAN) to install a manpage based on --help
38626 output.
38627
38628 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
38629 that it doesn't prevent --help from working in build tree.
38630
38631 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
38632 with `bug-grub@gnu.org'.
38633 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
38634 * util/update-grub.in (usage): New function.
38635 Implement proper argument check, with support for --help and --version
38636 (as well as existing -y).
38637
38638 2008-02-09 Christian Franke <franke@computer.org>
38639
38640 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
38641 avoid overwriting previous output.
38642 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
38643
38644 2008-02-09 Robert Millan <rmh@aybabtu.com>
38645
38646 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
38647 drawing the menu.
38648
38649 2008-02-09 Robert Millan <rmh@aybabtu.com>
38650
38651 * commands/sleep.c: New file.
38652 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
38653 (sleep_mod_SOURCES): New variable.
38654 (sleep_mod_CFLAGS): Likewise.
38655 (sleep_mod_LDFLAGS): Likewise.
38656
38657 2008-02-09 Robert Millan <rmh@aybabtu.com>
38658
38659 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
38660 situations in which we can deduce the RAID size and the superblock
38661 doesn't match it.
38662
38663 2008-02-09 Robert Millan <rmh@aybabtu.com>
38664
38665 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
38666 and return a grub_diskmemberlist_t composed of LVM physical volumes.
38667 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
38668
38669 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
38670 and return a grub_diskmemberlist_t composed of physical array members.
38671 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
38672
38673 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
38674 prototype.
38675 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
38676 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
38677 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
38678
38679 * util/grub-probe.c (probe): Move partmap probing code from here ...
38680 (probe_partmap): ... to here.
38681 (probe): Use probe_partmap() once for the disk we're probing, and
38682 additionally, when such disk contains a memberlist() struct member,
38683 once for each disk that is contained in the structure returned by
38684 memberlist().
38685
38686 2008-02-09 Robert Millan <rmh@aybabtu.com>
38687
38688 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
38689 environment variable to 'all' in order to obtain debug output from
38690 non-util/ code.
38691 * util/i386/pc/grub-setup.c (main): Likewise.
38692
38693 2008-02-08 Robert Millan <rmh@aybabtu.com>
38694
38695 * disk/raid.c (grub_raid_scan_device): Check for
38696 `array->device[sb.this_disk.number]' rather than for
38697 `array->device[sb.this_disk.number]->name', since the latter is not
38698 guaranteed to be accessible.
38699
38700 2008-02-08 Robert Millan <rmh@aybabtu.com>
38701
38702 * disk/raid.c: Update copyright.
38703 * fs/cpio.c: Likewise.
38704 * include/grub/raid.h: Likewise.
38705 * loader/i386/pc/multiboot.c: Likewise.
38706 * util/hostfs.c: Likewise.
38707
38708 2008-02-08 Robert Millan <rmh@aybabtu.com>
38709
38710 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
38711 to a grub_disk_t array.
38712 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
38713 `device[x]'.
38714 (grub_raid_scan_device): Replace `device[x].name' accesses with
38715 `device[x]->name'. Simplify initialization of `array->device[x]'.
38716
38717 2008-02-08 Robert Millan <rmh@aybabtu.com>
38718
38719 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
38720 grub_dprintf() calls.
38721 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
38722 error message.
38723
38724 2008-02-07 Christian Franke <franke@computer.org>
38725
38726 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
38727 instead of fseek and ftell to support large files.
38728 (grub_hostfs_read): Likewise.
38729
38730 2008-02-07 Robert Millan <rmh@aybabtu.com>
38731
38732 Patch from Jeroen Dekkers.
38733 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
38734 failure, since successfully reading all array members might not be
38735 required.
38736
38737 2008-02-06 Robert Millan <rmh@aybabtu.com>
38738
38739 * util/grub-probe.c (probe): Simplify partmap probing (with the
38740 assumption that the first word up to the underscore equals to
38741 the module name).
38742
38743 2008-02-06 Christian Franke <franke@computer.org>
38744
38745 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
38746 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
38747 last block of a cpio or tar stream.
38748 Check for "TRAILER!!!" instead of any empty data
38749 block to detect last block of a cpio stream.
38750 (grub_cpio_dir): Fix constness of variable np.
38751 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
38752 cpio or tar trailer is detected. This fixes a crash
38753 on open of a non existing file.
38754
38755 2008-02-05 Bean <bean123ch@gmail.com>
38756
38757 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
38758 address of entry.
38759 (grub_multiboot_load_elf64): Likewise.
38760 (grub_multiboot): Initialize mbi structure.
38761
38762 * util/grub-fstest.c: Don't include unused header file script.h.
38763
38764 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
38765 of file.
38766 (grub_fstest_SOURCES): Likewise.
38767
38768 2008-02-05 Robert Millan <rmh@aybabtu.com>
38769
38770 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
38771 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
38772 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
38773 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
38774
38775 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
38776 (translation_table): Replace hardcoded values with macros
38777 provided by `<grub/term.h>'.
38778
38779 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
38780 (keyboard_map): Correct/add a few values, with macros provided
38781 by `<grub/term.h>'.
38782 (keyboard_map_shift): Zero values that don't differ from their
38783 `keyboard_map' equivalents.
38784 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
38785 Discard the second scan code that is always sent by Caps lock.
38786 Only use `keyboard_map_shift' when it provides a non-zero value,
38787 otherwise fallback to `keyboard_map'.
38788
38789 2008-02-04 Bean <bean123ch@gmail.com>
38790
38791 * Makefile.in (enable_grub_fstest): New variable.
38792
38793 * conf/common.rmk (grub_fstest_init.lst): New rule.
38794 (grub_fstest_init.h): Likewise.
38795 (grub_fstest_init.c): Likewise.
38796 (util/grub-fstest.c_DEPENDENCIES): New variable.
38797 (grub_fstest_SOURCES): Likewise.
38798
38799 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
38800
38801 * util/grub-fstest.c: New file.
38802
38803 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38804
38805 Make grub-setup handle a separate root device.
38806
38807 * util/i386/pc/grub-setup.c (setup): Always open the root device,
38808 so that the root device can be compared with the destination
38809 device.
38810 When embedding the core image, if the root and destination devices
38811 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
38812 0xFF.
38813 When not embedding, set ROOT_DRIVE to 0xFF.
38814
38815 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38816
38817 Add support for having a grub directory in a different drive. This
38818 is still only the data handling part.
38819
38820 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
38821 (codestart): Save %dh in GRUB_ROOT_DRIVE.
38822 (grub_root_drive): New variable.
38823
38824 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
38825 instead of GRUB_BOOT_DRIVE to construct a device name. Set
38826 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
38827 as it was.
38828
38829 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
38830
38831 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
38832 macro.
38833 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
38834
38835 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
38836 is bogus, because PXE booting does not specify any drive
38837 correctly.
38838
38839 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
38840 am not sure if this is really correct.
38841
38842 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
38843 is always identical to the boot drive when booting from a CD.
38844
38845 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
38846 longer.
38847 (root_drive): New variable.
38848 (real_start): Unconditionally set %dh to ROOT_DRIVE.
38849 (setup_sectors): Push %dx right after popping it, because %dh will
38850 be modified later.
38851 (copy_buffer): Restore %dx.
38852
38853 2008-02-03 Robert Millan <rmh@aybabtu.com>
38854
38855 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
38856 use `cdboot.img' for cdrom images.
38857
38858 2008-02-03 Robert Millan <rmh@aybabtu.com>
38859
38860 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
38861 only setup gfxterm when `font' command has succeeded.
38862
38863 2008-02-03 Robert Millan <rmh@aybabtu.com>
38864
38865 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
38866 (grub_rescue_cmd_multiboot_loader)
38867 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
38868
38869 2008-02-03 Pavel Roskin <proski@gnu.org>
38870
38871 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
38872 %edx and %esi from stack only after grub_gate_a20() is called.
38873 grub_gate_a20() clobbers %edx.
38874
38875 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
38876
38877 * configure.ac (AC_INIT): Bumped to 1.96.
38878
38879 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
38880 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
38881 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
38882 video/readers/png.c.
38883
38884 2008-02-03 Bean <bean123ch@gmail.com>
38885
38886 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
38887 (cdboot_img_SOURCES): New variable.
38888 (cdboot_img_ASFLAGS): New variable.
38889 (cdboot_img_LDFLAGS): New variable.
38890
38891 * boot/i386/pc/cdboot.S: New file.
38892
38893 * disk/i386/pc/biosdisk.c (cd_start): New variable.
38894 (cd_count): Likewise.
38895 (grub_biosdisk_get_drive): Add support for cd device.
38896 (grub_biosdisk_call_hook): Likewise.
38897 (grub_biosdisk_iterate): Likewise.
38898 (grub_biosdisk_open): Likewise.
38899 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
38900 (grub_biosdisk_rw): Support reading from cd device.
38901 (GRUB_MOD_INIT): Iterate cd devices.
38902
38903 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
38904 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
38905 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
38906
38907 * kern/i386/pc/init.c (make_install_device): Check for cd device.
38908
38909 2008-02-02 Robert Millan <rmh@aybabtu.com>
38910
38911 * commands/read.c: New file.
38912 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
38913 (read_mod_SOURCES): New variable.
38914 (read_mod_CFLAGS): Likewise.
38915 (read_mod_LDFLAGS): Likewise.
38916
38917 2008-02-02 Robert Millan <rmh@aybabtu.com>
38918
38919 * normal/main.c (grub_normal_execute): Check for `menu->size' when
38920 determining whether menu has to be displayed.
38921
38922 2008-02-02 Marco Gerards <marco@gnu.org>
38923
38924 * bus/pci.c: New file.
38925
38926 * include/grub/pci.h: Likewise.
38927
38928 * include/grub/i386/pc/pci.h: Likewise.
38929
38930 * commands/lspci.c: Likewise.
38931
38932 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
38933 `lspci.mod'.
38934 (pci_mod_SOURCES): New variable.
38935 (pci_mod_CFLAGS): Likewise.
38936 (pci_mod_LDFLAGS): Likewise.
38937 (lspci_mod_SOURCES): Likewise.
38938 (lspci_mod_CFLAGS): Likewise.
38939 (lspci_mod_LDFLAGS): Likewise.
38940
38941 2008-02-02 Bean <bean123ch@gmail.com>
38942
38943 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
38944 (grub_ufs_get_file_block): Fix indirect block calculation problem.
38945
38946 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
38947 (grub_xfs_btree_node): New structure.
38948 (grub_xfs_btree_root): New structure.
38949 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
38950 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
38951 (GRUB_XFS_EXTENT_BLOCK): Likewise.
38952 (GRUB_XFS_EXTENT_SIZE): Likewise.
38953 (grub_xfs_read_block): Support btree format type.
38954 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
38955 Use directory block as basic unit.
38956
38957 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
38958
38959 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
38960 __attribute__ ((__regparm__ (1))).
38961
38962 2008-02-01 Robert Millan <rmh@aybabtu.com>
38963
38964 Correct a mistake in previous commit.
38965
38966 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
38967 top.
38968 (normal/command.c_DEPENDENCIES): New variable.
38969
38970 2008-02-01 Robert Millan <rmh@aybabtu.com>
38971
38972 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
38973 top.
38974 (normal/command.c_DEPENDENCIES): New variable.
38975 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
38976 * conf/i386-ieee1275.rmk: Likewise.
38977 * conf/i386-linuxbios.rmk: Likewise.
38978 * conf/i386-pc.rmk: Likewise.
38979 * conf/sparc64-ieee1275.rmk: Likewise.
38980 * conf/powerpc-ieee1275.rmk: Likewise.
38981 (grub_emu_SOURCES): Add `fs/fshelp.c'.
38982
38983 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
38984
38985 2008-02-01 Robert Millan <rmh@aybabtu.com>
38986
38987 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
38988 call at beginning of function.
38989
38990 2008-01-31 Pavel Roskin <proski@gnu.org>
38991
38992 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
38993 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
38994 (grub_mkrescue_SOURCES): Likewise.
38995 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
38996
38997 2008-01-30 Robert Millan <rmh@aybabtu.com>
38998
38999 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39000 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39001 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39002 (grub_probe_SOURCES): ... to here.
39003
39004 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39005 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39006 * conf/i386-ieee1275.rmk: Likewise.
39007 * conf/i386-linuxbios.rmk: Likewise.
39008 * conf/powerpc-ieee1275.rmk: Likewise.
39009
39010 2008-01-30 Tristan Gingold <gingold@free.fr>
39011
39012 * kern/rescue.c: Silently accept empty lines.
39013
39014 2008-01-29 Bean <bean123ch@gmail.com>
39015
39016 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39017 (real_code_2): Code cleanup and change comment style.
39018 (move_memory): Avoid using 32-bit address mode.
39019
39020 2008-01-29 Bean <bean123ch@gmail.com>
39021
39022 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39023 (png_mod_SOURCES): New variable.
39024 (png_mod_CFLAGS): Likewise.
39025 (png_mod_LDFLAGS): Likewise.
39026
39027 * video/readers/png.c: New file.
39028
39029 2008-01-28 Robert Millan <rmh@aybabtu.com>
39030
39031 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39032 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39033 `ifndef GRUB_MOD_GAP' hack.
39034 * util/elf/grub-mkimage.c (add_segments): Likewise.
39035
39036 2008-01-27 Robert Millan <rmh@aybabtu.com>
39037
39038 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39039 `GRUB_MOD_GAP' for platforms in which it's not defined.
39040 * util/elf/grub-mkimage.c (add_segments): Likewise.
39041
39042 2008-01-27 Robert Millan <rmh@aybabtu.com>
39043
39044 Get grub-emu to build again (including parallel builds).
39045
39046 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39047 Split into ...
39048 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39049 (normal/execute.c_DEPENDENCIES): ... this, ...
39050 (grub-emu_DEPENDENCIES): ... and this.
39051
39052 * conf/i386-efi.rmk: Likewise.
39053 * conf/i386-linuxbios.rmk: Likewise.
39054 * conf/i386-ieee1275.rmk: Likewise.
39055 * conf/powerpc-ieee1275.rmk: Likewise.
39056 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39057
39058 2008-01-27 Robert Millan <rmh@aybabtu.com>
39059
39060 * NEWS: Add a few items.
39061
39062 2008-01-27 Robert Millan <rmh@aybabtu.com>
39063
39064 Fix parallel builds with grub-emu. Based on earlier commit for
39065 grub-probe and grub-setup.
39066
39067 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39068 (util/grub-emu.c_DEPENDENCIES): ... this.
39069 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39070 (util/grub-emu.c_DEPENDENCIES): ... this.
39071 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39072 (util/grub-emu.c_DEPENDENCIES): ... this.
39073 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39074 (util/grub-emu.c_DEPENDENCIES): ... this.
39075 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39076 (util/grub-emu.c_DEPENDENCIES): ... this.
39077
39078 2008-01-27 Pavel Roskin <proski@gnu.org>
39079
39080 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39081 to create a gap between _end and the modules added to the image
39082 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39083 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39084 * util/elf/grub-mkimage.c (add_segments): Likewise.
39085
39086 2008-01-26 Pavel Roskin <proski@gnu.org>
39087
39088 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39089 just return an error.
39090
39091 2008-01-26 Bean <bean123ch@gmail.com>
39092
39093 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39094 (grub_reiserfs_get_item): Save offset of the next item.
39095 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39096
39097 2008-01-25 Robert Millan <rmh@aybabtu.com>
39098
39099 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39100 make all filesystem sources appear together (possibly fixing omissions
39101 while at it).
39102 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39103 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39104 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39106
39107 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39108 add `kern/file.c'.
39109 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39110 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39111 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39112 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39113
39114 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39115 (probe): Add a sanity check to make sure of our ability to read
39116 requested files when probing for filesystem type.
39117
39118 * genmk.rb: Update copyright year (2007).
39119
39120 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39121 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39122 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39123 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39124 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39125 : Remove function prototypes.
39126
39127 2008-01-25 Robert Millan <rmh@aybabtu.com>
39128
39129 Revert my previous commits (based on wrong assumption of how grub_errno
39130 works).
39131
39132 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
39133 * kern/file.c (grub_file_open): Likewise.
39134
39135 2008-01-24 Pavel Roskin <proski@gnu.org>
39136
39137 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39138 that hang if GRUB tries to setup colors.
39139 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39140 colors for firmwares that don't support it.
39141 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39142 Recognize Open Hack'Ware, set flags to work around its
39143 limitations.
39144
39145 2008-01-24 Robert Millan <rmh@aybabtu.com>
39146
39147 * kern/file.c (grub_file_open): Do not account previous failures of
39148 unrelated functions when grub_errno is checked for.
39149 Reported by Oleg Strikov.
39150
39151 2008-01-24 Bean <bean123ch@gmail.com>
39152
39153 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39154 (grub_ufs_sblock): New member volume name.
39155 (grub_ufs_find_file): Fix string copy bug.
39156 (grub_ufs_label): Implement this function properly.
39157
39158 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39159 (grub_hfs_iterate_records): Use the correct file number for extents
39160 and catalog file. Fix problem in next index calculation.
39161 (grub_hfs_find_node): Replace recursive function call with loop.
39162 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39163
39164 2008-01-23 Robert Millan <rmh@aybabtu.com>
39165
39166 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39167 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39168 (grub_multiboot2_real_boot): New function prototype.
39169
39170 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39171 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39172
39173 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39174 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39175
39176 2008-01-23 Robert Millan <rmh@aybabtu.com>
39177
39178 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39179 #ifdef'ed out grub_printf().
39180
39181 2008-01-23 Robert Millan <rmh@aybabtu.com>
39182
39183 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39184 grub_dprintf calls, since they make "debug=all" mode unusable.
39185 (grub_console_checkkey): Likewise.
39186
39187 2008-01-23 Robert Millan <rmh@aybabtu.com>
39188
39189 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39190 `term/i386/pc/at_keyboard.c'.
39191 (pkglib_MODULES): Add `serial.mod'.
39192 (serial_mod_SOURCES): New variable.
39193 (serial_mod_CFLAGS): Likewise.
39194 (serial_mod_LDFLAGS): Likewise.
39195
39196 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39197 `<grub/powerpc/ieee1275/console.h>'.
39198 (grub_keyboard_controller_init): New function prototype.
39199 (grub_console_checkkey): Likewise.
39200 (grub_console_getkey): Likewise.
39201
39202 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39203 keyboard on i386.
39204
39205 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39206 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39207
39208 2008-01-23 Robert Millan <rmh@aybabtu.com>
39209
39210 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39211 present, "(memdisk)/boot/grub" becomes the default prefix.
39212
39213 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39214 a memdisk tarball with all the modules. Add --overlay=DIR option that
39215 allows users to overlay additional files into the image.
39216
39217 2008-01-23 Robert Millan <rmh@aybabtu.com>
39218
39219 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39220 and `machine/memory.h'.
39221 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39222 (_multiboot_mod_SOURCES): New variable.
39223 (_multiboot_mod_CFLAGS): Likewise.
39224 (_multiboot_mod_LDFLAGS): Likewise.
39225 (multiboot_mod_SOURCES): Likewise.
39226 (multiboot_mod_CFLAGS): Likewise.
39227 (multiboot_mod_LDFLAGS): Likewise.
39228
39229 * include/grub/i386/ieee1275/loader.h: New file.
39230
39231 * include/grub/i386/ieee1275/machine.h: Likewise.
39232
39233 * include/grub/i386/ieee1275/memory.h: Likewise.
39234
39235 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39236 variable declaration.
39237 (grub_os_area_size): Likewise.
39238
39239 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39240 (grub_lower_mem, grub_upper_mem): New variables.
39241 (grub_stop_floppy): New function (just to make
39242 grub_multiboot2_real_boot() happy).
39243
39244 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39245 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39246 (grub_stop): New function.
39247 Include `"../realmode.S"' and `"../loader.S"'.
39248
39249 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39250 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39251
39252 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39253 rely on grub_multiboot2_real_boot() for final boot.
39254
39255 2008-01-22 Robert Millan <rmh@aybabtu.com>
39256
39257 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39258 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39259 device that doesn't look like an SD card.
39260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39261 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39263 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39264 found.
39265
39266 2008-01-22 Robert Millan <rmh@aybabtu.com>
39267
39268 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39269 avoid claiming over our own code.
39270
39271 2008-01-22 Bean <bean123ch@gmail.com>
39272
39273 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39274 (jpeg_mod_SOURCES): New variable.
39275 (jpeg_mod_CFLAGS): Likewise.
39276 (jpeg_mod_LDFLAGS): Likewise.
39277
39278 * video/readers/jpeg.c : New file.
39279
39280 2008-01-22 Bean <bean123ch@gmail.com>
39281
39282 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39283 there are no more items.
39284
39285 2008-01-21 Robert Millan <rmh@aybabtu.com>
39286
39287 * kern/mm.c (grub_mm_init_region): Improve debug message.
39288
39289 2008-01-21 Robert Millan <rmh@aybabtu.com>
39290
39291 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39292 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39293 address.
39294 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39295 a C macro.
39296 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39297 Indicates start of upper memory.
39298 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39299 (generate_image): Abort when image size is big enough to corrupt
39300 upper memory.
39301
39302 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39303 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39304 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39305 instead of hardcoding 0xA0000.
39306 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39307 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39308 instead of hardcoding 0xA0000.
39309
39310 2008-01-21 Robert Millan <rmh@aybabtu.com>
39311
39312 * disk/memdisk.c (memdisk_size): New variable.
39313 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39314 `memdisk_size'.
39315 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39316 image to dynamic memory.
39317 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39318 `memdisk_size'. Free memdisk block.
39319
39320 2008-01-21 Robert Millan <rmh@aybabtu.com>
39321
39322 Fix detection of very small filesystems (like tar).
39323
39324 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39325 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39326 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39327 a problem with this disk).
39328
39329 2008-01-21 Robert Millan <rmh@aybabtu.com>
39330
39331 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39332 on grub_biosdisk_rw_standard() error.
39333
39334 2008-01-21 Robert Millan <rmh@aybabtu.com>
39335
39336 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39337 recent changes.
39338 * kern/elf.c: Likewise.
39339 * kern/ieee1275/ieee1275.c: Likewise.
39340 * kern/powerpc/ieee1275/openfw.c: Likewise.
39341 * term/ieee1275/ofconsole.c: Likewise.
39342
39343 2008-01-21 Robert Millan <rmh@aybabtu.com>
39344
39345 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39346
39347 * include/grub/kernel.h (grub_arch_memdisk_addr)
39348 (grub_arch_memdisk_size): Moved from here ...
39349
39350 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39351 (grub_arch_memdisk_size): ... to here.
39352
39353 2008-01-21 Robert Millan <rmh@aybabtu.com>
39354
39355 Mostly based on bugfix from Bean.
39356
39357 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39358 attribute with hook() parameter.
39359 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39360 declaration.
39361 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39362 attribute with hook() parameter.
39363 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39364 declaration.
39365
39366 2008-01-21 Robert Millan <rmh@aybabtu.com>
39367
39368 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39369 (pkglib_MODULES): Add `memdisk.mod'.
39370 (memdisk_mod_SOURCES): New variable.
39371 (memdisk_mod_CFLAGS): Likewise.
39372 (memdisk_mod_LDFLAGS): Likewise.
39373
39374 * disk/memdisk.c: New file.
39375
39376 * include/grub/disk.h (grub_disk_dev_id): Add
39377 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39378
39379 * include/grub/i386/pc/kernel.h
39380 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39381 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39382 (grub_kernel_image_size): New variable declaration.
39383 (grub_total_module_size): Likewise.
39384 (grub_memdisk_image_size): Likewise.
39385
39386 * include/grub/i386/pc/memory.h
39387 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39388
39389 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39390 (grub_arch_memdisk_addr): New variable declaration.
39391 (grub_arch_memdisk_size): Likewise.
39392
39393 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39394 (grub_arch_memdisk_size): Likewise.
39395
39396 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
39397 (codestart): Replace hardcoded `0x100000' with
39398 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
39399
39400 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
39401 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
39402 not NULL, append the contents of the file it refers to, at the end of
39403 the compressed kernel image. Initialize `grub_memdisk_image_size'
39404 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
39405 (options): Add "memdisk"|'m' option.
39406 (main): Parse --memdisk|-m option, and pass user-provided path as
39407 parameter to generate_image().
39408
39409 2008-01-20 Robert Millan <rmh@aybabtu.com>
39410
39411 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
39412 grub_dprintf() calls from here ...
39413 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
39414
39415 2008-01-20 Robert Millan <rmh@aybabtu.com>
39416
39417 Fix detection of "real mode" when /options/real-mode? doesn't exist.
39418
39419 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
39420 declaration.
39421 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
39422 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
39423 `GRUB_IEEE1275_FLAG_REAL_MODE'.
39424 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
39425 property).
39426 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
39427 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
39428
39429 2008-01-19 Robert Millan <rmh@aybabtu.com>
39430
39431 Get rid of confusing function (superseded by
39432 `grub_ieee1275_get_integer_property')
39433 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
39434 prototype.
39435 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
39436 function.
39437 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
39438 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
39439 in native endianness from grub_ieee1275_get_integer_property().
39440
39441 2008-01-19 Robert Millan <rmh@aybabtu.com>
39442
39443 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
39444 command after "shut-down", since implementations differ on which
39445 the command for halt is.
39446
39447 2008-01-19 Robert Millan <rmh@aybabtu.com>
39448
39449 * include/grub/i386/linuxbios/console.h: Add header protection.
39450 (grub_keyboard_controller_init): New function prototype.
39451 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
39452 (KEYBOARD_COMMAND_READ): Likewise.
39453 (KEYBOARD_COMMAND_WRITE): Likewise.
39454 (KEYBOARD_SCANCODE_SET1): Likewise.
39455 (grub_keyboard_controller_write): New function.
39456 (grub_keyboard_controller_read): Likewise.
39457 (grub_keyboard_controller_init): Likewise.
39458
39459 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
39460 (grub_console_init): On coreboot/LinuxBIOS, call
39461 grub_keyboard_controller_init().
39462
39463 2008-01-19 Robert Millan <rmh@aybabtu.com>
39464
39465 PowerPC changes provided by Pavel Roskin.
39466
39467 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
39468 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
39469 don't rely on cmain() doing it.
39470 * kern/i386/ieee1275/startup.S (_start): Store %eax in
39471 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
39472
39473 2008-01-16 Robert Millan <rmh@aybabtu.com>
39474
39475 * include/grub/i386/linuxbios/memory.h
39476 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
39477 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
39478 receive `table_header' as argument. Instead, probe for it in the
39479 known memory ranges where it can be present.
39480 (grub_available_iterate): Do not pass a fixed `table_header' address
39481 to grub_linuxbios_table_iterate().
39482
39483 2008-01-15 Robert Millan <rmh@aybabtu.com>
39484
39485 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
39486 * conf/i386-ieee1275.rmk: New file.
39487 * include/grub/i386/ieee1275/console.h: Likewise.
39488 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
39489 * include/grub/i386/ieee1275/kernel.h: Likewise.
39490 * include/grub/i386/ieee1275/time.h: Likewise.
39491 * kern/i386/ieee1275/init.c: Likewise.
39492 * kern/i386/ieee1275/startup.S: Likewise.
39493
39494 2008-01-15 Robert Millan <rmh@aybabtu.com>
39495
39496 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
39497 when pointers are 32-bit (but still do set it to one when they are
39498 64-bit).
39499
39500 2008-01-15 Robert Millan <rmh@aybabtu.com>
39501
39502 * include/grub/ieee1275/ieee1275.h
39503 (grub_ieee1275_get_integer_property): New function prototype.
39504
39505 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
39506 (grub_ieee1275_get_integer_property): New function. Wraps around
39507 grub_ieee1275_get_property() to handle endianness.
39508
39509 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
39510 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
39511 where appropriate.
39512 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
39513 (grub_map): Likewise.
39514 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
39515
39516 2008-01-15 Bean <bean123ch@gmail.com>
39517
39518 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
39519 (grub_script_execute_cmdline): Reset grub_errno.
39520
39521 * normal/main.c (read_config_file): Reset grub_errno.
39522
39523 * normal/parse.y (script_init): New.
39524 (script): Move function and menuentry here.
39525 (delimiter): New.
39526 (command): Add delimiter at the end of command.
39527 (commands): Adjust to match the new command.
39528 (commandblock): Remove grub_script_lexer_record_start.
39529 (menuentry): Add grub_script_lexer_record_start, use the new commands.
39530 (if): Use the new commands.
39531
39532 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
39533
39534 2008-01-15 Robert Millan <rmh@aybabtu.com>
39535
39536 * normal/menu.c (run_menu): Move timeout message from here ...
39537 (print_timeout): ... to here.
39538 (run_menu): Use print_timeout() once during initial draw to print
39539 the whole message, and again in every clock tick to update only
39540 the number of seconds.
39541
39542 2008-01-15 Robert Millan <rmh@aybabtu.com>
39543
39544 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
39545 actual size of `available' from grub_ieee1275_get_property(), and
39546 restrict parsing to that bound.
39547
39548 2008-01-15 Christian Franke <franke@computer.org>
39549
39550 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
39551 (argp_program_version): Remove variable.
39552 (argp_program_bug_address): Likewise.
39553 (options): Convert from struct argp_option to struct option.
39554 (struct arguments): Remove.
39555 (parse_opt): Remove.
39556 (usage): New function.
39557 (main): Replace struct args members by simple variables.
39558 Replace argp_parse() by getopt_long().
39559 Add switch to evaluate options.
39560 Add missing "(...)" around root_dev in prefix string.
39561
39562 2008-01-14 Robert Millan <rmh@aybabtu.com>
39563
39564 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
39565 for grub_ieee1275_exit(), in order to improve portability.
39566
39567 2008-01-14 Robert Millan <rmh@aybabtu.com>
39568
39569 * util/grub.d/10_linux.in (prefix): Define.
39570 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
39571
39572 2008-01-13 Pavel Roskin <proski@gnu.org>
39573
39574 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
39575 grub_errno if no errors have been detected.
39576
39577 2008-01-12 Robert Millan <rmh@aybabtu.com>
39578
39579 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
39580 (grub_util_get_dev_abstraction): New function prototype.
39581
39582 * util/getroot.c: Include `<grub/util/getroot.h>'
39583 (grub_util_get_grub_dev): Move detection of abstraction type to ...
39584 (grub_util_get_dev_abstraction): ... here (new function).
39585
39586 * util/grub-probe.c: Convert PRINT_* to an enum. Add
39587 `PRINT_ABSTRACTION'.
39588 (probe): Probe for abstraction type when requested.
39589 (main): Understand `--target=abstraction'.
39590
39591 * util/i386/efi/grub-install.in: Add abstraction module to core
39592 image when it is found to be necessary.
39593 * util/i386/pc/grub-install.in: Likewise.
39594 * util/powerpc/ieee1275/grub-install.in: Likewise.
39595
39596 * util/update-grub_lib.in (font_path): Return system path without
39597 converting to GRUB path.
39598 * util/update-grub.in: Convert system path returned by font_path()
39599 to a GRUB path. Use `grub-probe -t abstraction' to determine what
39600 abstraction module is needed for loading fonts (if any). Export
39601 that as `GRUB_PRELOAD_MODULES'.
39602 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
39603 insmod commands).
39604
39605 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
39606
39607 Remove some unused code from reiserfs.
39608
39609 * fs/reiserfs.c (struct grub_reiserfs_key)
39610 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
39611 (struct grub_reiserfs_node_body): Removed.
39612 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39613 Likewise.
39614 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39615 Likewise.
39616 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39617 Likewise.
39618 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
39619 Likewise.
39620 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
39621 Likewise.
39622 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
39623 Likewise.
39624 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39625 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39626 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
39627
39628 2008-01-10 Robert Millan <rmh@aybabtu.com>
39629
39630 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
39631 Determines if a file is garbage left by packaging systems, etc.
39632 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
39633 for processing /etc/grub.d scripts.
39634 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
39635 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
39636 as a condition for processing Linux images.
39637
39638 2008-01-10 Pavel Roskin <proski@gnu.org>
39639
39640 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
39641 to compile reiserfs.c on PowerPC.
39642
39643 2008-01-10 Robert Millan <rmh@aybabtu.com>
39644
39645 * kern/device.c (grub_device_iterate): Do not abort device iteration
39646 when one of the devices cannot be opened.
39647 * kern/disk.c (grub_disk_open): Do not account previous failures of
39648 unrelated functions when grub_errno is checked for.
39649
39650 2008-01-08 Robert Millan <rmh@aybabtu.com>
39651
39652 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
39653 `! grub_linux_is_bzimage', change order of address comparison to make
39654 it more intuitive, and improve "too big zImage" error message.
39655
39656 2008-01-08 Robert Millan <rmh@aybabtu.com>
39657
39658 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
39659 `$(update-grub_DATA)'.
39660 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
39661 targets.
39662
39663 2008-01-07 Robert Millan <rmh@aybabtu.com>
39664
39665 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
39666 which instruction is modified by grub-setup during installation
39667 (since it wasn't obvious by only looking at this file).
39668
39669 2008-01-07 Robert Millan <rmh@aybabtu.com>
39670
39671 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
39672 listing actual TODO items.
39673
39674 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39675
39676 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
39677 correctly.
39678 (grub_reiserfs_get_key_offset): Likewise.
39679 (grub_reiserfs_set_key_offset): Likewise.
39680 (grub_reiserfs_set_key_type): Likewise.
39681 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
39682
39683 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
39684 better to remove the bitfield version completely.
39685
39686 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39687
39688 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
39689 allocated from the heap, due to the fshelp implementation.
39690 (grub_reiserfs_dir): Free NODE, due to the same reason.
39691
39692 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39693
39694 Mostly from Vincent Pelletier:
39695
39696 * fs/reiserfs.c: New file.
39697
39698 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
39699 (reiserfs_mod_SOURCES): New variable.
39700 (reiserfs_mod_CFLAGS): Likewise.
39701 (reiserfs_mod_LDFLAGS): Likewise.
39702
39703 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
39704 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
39705 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
39706 normal/color.c.
39707
39708 2008-01-06 Robert Millan <rmh@aybabtu.com>
39709
39710 * normal/color.c: Remove `<grub/env.h>'.
39711
39712 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
39713
39714 * include/grub/normal.h: Include <grub/env.h>.
39715
39716 2008-01-05 Robert Millan <rmh@aybabtu.com>
39717
39718 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
39719 usage example with `(hd0,1)'.
39720 Reported by Samuel Thibault.
39721
39722 2008-01-05 Robert Millan <rmh@aybabtu.com>
39723
39724 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
39725 (grub_linux_boot_zimage): Rename to ...
39726 (grub_linux_boot): ... this.
39727 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
39728 (grub_linux_boot_zimage): Conditionalize zImage copy.
39729
39730 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
39731 (grub_linux_boot_bzimage): Remove prototype.
39732 (grub_linux_boot_zimage): Rename to ...
39733 (grub_linux_boot): ... this.
39734
39735 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
39736 (grub_linux_boot): Remove function.
39737
39738 2008-01-05 Robert Millan <rmh@aybabtu.com>
39739
39740 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
39741 (grub_env_write_color_highlight): Likewise.
39742 (grub_wait_after_message): Likewise.
39743
39744 * normal/color.c: New file.
39745
39746 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39747 (normal_mod_DEPENDENCIES): Likewise.
39748
39749 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39750 (normal_mod_DEPENDENCIES): Likewise.
39751
39752 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39753 (normal_mod_DEPENDENCIES): Likewise.
39754
39755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
39756 (normal_mod_DEPENDENCIES): Likewise.
39757
39758 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
39759 for waiting after a message is printed.
39760 * normal/main.c (read_config_file): Likewise.
39761 (grub_normal_init): Register grub_env_write_color_normal() and
39762 grub_env_write_color_highlight() hooks. Mark `color_normal' and
39763 `color_highlight' variables as global.
39764
39765 * normal/menu.c (grub_wait_after_message): New function.
39766 (grub_color_menu_normal): New variable. Replaces ...
39767 (GRUB_COLOR_MENU_NORMAL): ... this macro.
39768 (grub_color_menu_highlight): New variable. Replaces ...
39769 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
39770 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
39771 `GRUB_TERM_COLOR_STANDARD'.
39772 (print_message): Use `grub_setcolorstate' to reload colors. Rename
39773 `normal_code' and `highlight_code' to `old_color_normal' and
39774 `old_color_highlight', respectively.
39775 (grub_menu_init_page): Update colors when drawing the menu, based on
39776 `menu_color_normal' and `menu_color_highlight' variables.
39777 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
39778 a message is printed.
39779
39780 2008-01-05 Robert Millan <rmh@aybabtu.com>
39781
39782 * kern/env.c (grub_env_context_open): Propagate hooks for global
39783 variables to new context.
39784
39785 * kern/main.c (grub_set_root_dev): Export `root' variable.
39786
39787 2008-01-05 Robert Millan <rmh@aybabtu.com>
39788
39789 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
39790 discs unconditionally, since udev and others have options to provide
39791 them.
39792
39793 2008-01-05 Robert Millan <rmh@aybabtu.com>
39794
39795 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
39796
39797 2008-01-04 Christian Franke <franke@computer.org>
39798
39799 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
39800 of eisa_mmap.
39801
39802 2008-01-03 Pavel Roskin <proski@gnu.org>
39803
39804 * kern/i386/linuxbios/init.c: Put "void" to all function
39805 declarations with no arguments.
39806 * kern/powerpc/ieee1275/init.c: Likewise.
39807 * term/i386/pc/at_keyboard.c: Likewise.
39808 * term/i386/pc/vga_text.c: Likewise.
39809 * util/grub-mkdevicemap.c: Likewise.
39810
39811 2008-01-02 Robert Millan <rmh@aybabtu.com>
39812
39813 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
39814 message when loaded image is out of bounds.
39815 (grub_multiboot_load_elf64): Likewise.
39816
39817 2008-01-02 Pavel Roskin <proski@gnu.org>
39818
39819 * util/grub.d/10_linux.in: Try version without ".old" when
39820 looking for initrd. It's better to use initrd from the newer
39821 kernel of the same version than no initrd at all.
39822
39823 2008-01-01 Robert Millan <rmh@aybabtu.com>
39824
39825 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
39826
39827 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
39828
39829 * include/grub/video.h: Added grub_video_unmap_color and
39830 grub_video_get_active_render_target.
39831 (grub_video_adapter): Added unmap_color and get_active_render_target.
39832
39833 * video/video.c: Added grub_video_unmap_color and
39834 grub_video_get_active_render_target.
39835 (grub_video_get_info): Changed method to accept NULL pointer as an
39836 argument to allow detection of active video adapter.
39837
39838 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
39839 grub_video_vbe_unmap_color_int.
39840 Added grub_video_vbe_unmap_color and
39841 grub_video_vbe_get_active_render_target.
39842 (grub_video_vbe_adapter): Added unmap_color and
39843 get_active_render_target.
39844
39845 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
39846 with grub_video_vbe_unmap_color_int.
39847
39848 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
39849 (DEFAULT_NORMAL_COLOR): Likewise.
39850 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
39851 (DEFAULT_FG_COLOR): Removed.
39852 (DEFAULT_BG_COLOR): Likewise.
39853 (DEFAULT_CURSOR_COLOR): Changed value.
39854 (grub_virtual_screen): Added standard_color_setting,
39855 normal_color_setting, highlight_color_setting and term_color.
39856 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
39857 (bitmap_width): Added.
39858 (bitmap_height): Likewise.
39859 (bitmap): Likewise.
39860 (set_term_color): Likewise.
39861 (grub_virtual_screen_setup): Changed to use new terminal coloring
39862 settings.
39863 (grub_gfxterm_init): Added init for bitmap.
39864 (grub_gfxterm_fini): Added destroy for bitmap.
39865 (redraw_screen_rect): Updated to use background bitmap and new
39866 terminal coloring.
39867 (scroll_up): Added optimization for case when there is no bitmap.
39868 (grub_gfxterm_cls): Fixed to use correct background color.
39869 (grub_virtual_screen_setcolorstate): Changed to use new terminal
39870 coloring.
39871 (grub_virtual_screen_setcolor): Likewise.
39872 (grub_virtual_screen_getcolor): Added.
39873 (grub_gfxterm_background_image_cmd): Likewise.
39874 (grub_video_term): Added setcolor and getcolor.
39875 (MOD_INIT): Added registration of background_image command.
39876 (MOD_TERM): Added unregistration for background_image command.
39877
39878 2007-12-30 Pavel Roskin <proski@gnu.org>
39879
39880 * loader/multiboot_loader.c: Fix multiboot command
39881 unregistration. Fix all typos in the word "multiboot".
39882
39883 2007-12-29 Pavel Roskin <proski@gnu.org>
39884
39885 * util/grub.d/10_linux.in: Refactor search for initrd. Add
39886 support for initrd names used in Fedora.
39887
39888 2007-12-26 Bean <bean123ch@gmail.com>
39889
39890 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
39891 (cpio_mod_SOURCES): New variable.
39892 (cpio_mod_CFLAGS): Likewise.
39893 (cpio_mod_LDFLAGS): Likewise.
39894
39895 * fs/cpio.c: New file.
39896
39897 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
39898
39899 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39900
39901 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39902
39903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39904
39905 2007-12-25 Robert Millan <rmh@aybabtu.com>
39906
39907 * include/grub/term.h (struct grub_term): Add `getcolor' function.
39908 (grub_getcolor): New function.
39909
39910 * kern/term.c (grub_getcolor): New function.
39911 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
39912 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
39913 (print_entry): Set normal and highlight colors to
39914 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
39915 respectively, before printing and restore them to old
39916 values afterwards.
39917 (grub_menu_init_page): Likewise. Fill an additional colored space
39918 that would otherwise be left blank.
39919
39920 * term/efi/console.c (grub_console_getcolor): New function.
39921 (struct grub_console_term.getcolor): New variable.
39922 * term/i386/pc/console.c (grub_console_getcolor): New function.
39923 (struct grub_console_term.getcolor): New variable.
39924 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
39925 (struct grub_console_term.getcolor): New variable.
39926
39927 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
39928 (struct grub_console_term.setcolor): Remove variable.
39929 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
39930 (struct grub_console_term.setcolor): Remove variable.
39931 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
39932 (struct grub_console_term.setcolor): Remove variable.
39933 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
39934 (struct grub_console_term.setcolor): Remove variable.
39935
39936 2007-12-25 Robert Millan <rmh@aybabtu.com>
39937
39938 * configure.ac: Search for possible unifont.hex locations, and
39939 define UNIFONT_HEX if found.
39940
39941 * Makefile.in (UNIFONT_HEX): Define variable.
39942 (DATA): Rename to ...
39943 (PKGLIB): ... this. Update all users.
39944 (PKGDATA): New variable.
39945 (pkgdata_IMAGES): Rename to ...
39946 (pkglib_IMAGES): ... this. Update all users.
39947 (pkgdata_MODULES): Rename to ...
39948 (pkglib_MODULES): ... this. Update all users.
39949 (pkgdata_PROGRAMS): Rename to ...
39950 (pkglib_PROGRAMS): ... this. Update all users.
39951 (pkgdata_DATA): Rename to ...
39952 (pkglib_DATA): ... this. Update all users.
39953 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
39954 (unicode.pff, ascii.pff): New rules.
39955 (all-local): Add `$(PKGDATA)' dependency.
39956 (install-local): Process `$(PKGDATA)'.
39957
39958 * util/update-grub_lib.in (font_path): Search for *.pff files in
39959 a few more locations, including `${pkgdata}'.
39960
39961 2007-12-23 Robert Millan <rmh@aybabtu.com>
39962
39963 Patch from Bean <bean123ch@gmail.com>:
39964 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
39965 `size'.
39966
39967 2007-12-21 Bean <bean123ch@gmail.com>
39968
39969 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
39970 (ntfscomp_mod_SOURCES): New variable.
39971 (ntfscomp_mod_CFLAGS): Likewise.
39972 (ntfscomp_mod_LDFLAGS): Likewise.
39973
39974 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
39975 (grub_probe_SOURCES): Likewise.
39976 (grub_emu_SOURCES): Likewise.
39977
39978 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39979 (grub_emu_SOURCES): Likewise.
39980
39981 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39982 (grub_emu_SOURCES): Likewise.
39983
39984 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
39985 (grub_emu_SOURCES): Likewise.
39986
39987 * fs/ntfs.c (grub_ntfscomp_func): New variable.
39988 (read_run_list): Renamed to grub_ntfs_read_run_list.
39989 (decomp_nextvcn): Moved to ntfscomp.c.
39990 (decomp_getch): Likewise.
39991 (decomp_get16): Likewise.
39992 (decomp_block): Likewise.
39993 (read_block): Likewise.
39994 (read_data): Partially moved to ntfscomp.c.
39995 (fixup): Change unsigned to grub_uint16_t.
39996 (read_mft): Change unsigned long to grub_uint32_t.
39997 (read_attr): Likewise.
39998 (read_data): Likewise.
39999 (read_run_data): Likewise.
40000 (read_run_list): Likewise.
40001 (read_mft): Likewise.
40002
40003 * fs/ntfscomp.c: New file.
40004
40005 * include/grub/ntfs.h: New file.
40006
40007 2007-12-16 Robert Millan <rmh@aybabtu.com>
40008
40009 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40010 IDE disk check, since Linux is known to support 20 IDE disks.
40011 Reported by Colin Watson.
40012
40013 2007-12-15 Bean <bean123ch@gmail.com>
40014
40015 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40016 (lnxboot_img_SOURCES): New variable.
40017 (lnxboot_img_ASFLAGS): Likewise.
40018 (lnxboot_img_LDFLAGS): Likewise.
40019
40020 * boot/i386/pc/lnxboot.S: New file.
40021
40022 2007-11-24 Pavel Roskin <proski@gnu.org>
40023
40024 * configure.ac: Test if '--build-id=none' is supported by the
40025 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40026 objcopy to generate incorrect binary files (binutils
40027 2.17.50.0.18-1 as shipped by Fedora 8).
40028 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40029 linking, so that build ID doesn't break the test.
40030
40031 2007-11-24 Pavel Roskin <proski@gnu.org>
40032
40033 * include/grub/i386/time.h: use "void" in the argument list
40034 of grub_cpu_idle().
40035 * include/grub/powerpc/time.h: Likewise.
40036 * include/grub/sparc64/time.h: Likewise.
40037
40038 2007-11-18 Christian Franke <franke@computer.org>
40039
40040 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40041 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40042 This fixes the problem that function keys did not work in grub-emu.
40043
40044 2007-11-18 Christian Franke <franke@computer.org>
40045
40046 * disk/host.c (grub_host_open): Remove attribute unused from
40047 name parameter. Add check for "host". This fixes the problem
40048 that grub-emu does not find partitions.
40049
40050 2007-11-18 Christian Franke <franke@computer.org>
40051
40052 * util/hostfs.c (is_dir): New function.
40053 (grub_hostfs_dir): Handle missing dirent.d_type case.
40054 (grub_hostfs_read): Add missing fseek().
40055 (grub_hostfs_label): Clear label pointer. This fixes a crash
40056 of grub-emu on "ls (host)".
40057
40058 2007-11-18 Christian Franke <franke@computer.org>
40059
40060 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40061 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40062 to 64 bit boundary by default.
40063
40064 2007-11-18 Bean <bean123ch@gmail.com>
40065
40066 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40067 (hexdump_mod_SOURCES): New variable.
40068 (hexdump_mod_CFLAGS): Likewise.
40069 (hexdump_mod_LDFLAGS): Likewise.
40070
40071 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40072
40073 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40074
40075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40076
40077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40078
40079 * include/grub/hexdump.h: New file.
40080
40081 * commands/hexdump.c: New file.
40082
40083 2007-11-10 Robert Millan <rmh@aybabtu.com>
40084
40085 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40086 in grub_outb() calls.
40087 (beep_on): Likewise.
40088
40089 2007-11-10 Christian Franke <franke@computer.org>
40090
40091 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40092 (grub_menu_run): Likewise.
40093
40094 2007-11-10 Robert Millan <rmh@aybabtu.com>
40095
40096 * include/grub/i386/efi/machine.h: New file.
40097 * include/grub/i386/linuxbios/machine.h: Likewise.
40098 * include/grub/i386/pc/machine.h: Likewise.
40099 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40100 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40101
40102 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40103 (serial_hw_io_addr): New variable.
40104 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40105 instead of `(unsigned short *) 0x400'.
40106
40107 2007-11-10 Bean <bean123ch@gmail.com>
40108
40109 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40110
40111 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40112
40113 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40114 (vga_mod_SOURCES): Added.
40115 (vga_mod_CFLAGS): Likewise.
40116 (vga_mod_LDFLAGS): Likewise.
40117
40118 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40119 grub_outb() calls.
40120 (set_map_mask): Likewise.
40121 (set_read_map): Likewise.
40122 (set_read_address): Likewise.
40123 (vga_font): Removed variable.
40124 (get_vga_glyph): Removed function.
40125 (invalidate_char): Likewise.
40126 (write_char): Changed to use grub_font_get_glyph() for font
40127 information.
40128 (grub_vga_putchar): Likewise.
40129 (grub_vga_getcharwidth): Likewise.
40130
40131 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40132
40133 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40134 flags.
40135 (pxeboot_img_LDFLAGS): Likewise.
40136 (diskboot_img_LDFLAGS): Likewise.
40137 (kernel_img_LDFLAGS): Likewise.
40138
40139 2007-11-06 Robert Millan <rmh@aybabtu.com>
40140
40141 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40142 in grub_outb() calls.
40143 (serial_hw_init): Likewise.
40144
40145 2007-11-05 Robert Millan <rmh@aybabtu.com>
40146
40147 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40148 spaces. Skip non-regular files.
40149
40150 2007-11-05 Robert Millan <rmh@aybabtu.com>
40151
40152 * kern/disk.c (grub_disk_firmware_fini)
40153 (grub_disk_firmware_is_tainted): New variables.
40154
40155 * include/grub/disk.h (grub_disk_firmware_fini)
40156 (grub_disk_firmware_is_tainted): Likewise.
40157
40158 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40159 (grub_disk_biosdisk_fini): ... to here.
40160 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40161 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40162 is set. Register grub_disk_biosdisk_fini() in
40163 `grub_disk_firmware_fini'.
40164
40165 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40166 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40167 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40168 to finish existing firmware disk interface.
40169
40170 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40171 (ata_mod_SOURCES): New variable.
40172 (ata_mod_CFLAGS): Likewise.
40173 (ata_mod_LDFLAGS): Likewise.
40174
40175 2007-11-05 Robert Millan <rmh@aybabtu.com>
40176
40177 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40178 (grub_ata_wait): Reimplement using grub_millisleep().
40179
40180 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40181 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40182
40183 2007-11-03 Marco Gerards <marco@gnu.org>
40184
40185 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40186 (CRTC_ADDR_PORT): New macro.
40187 (CRTC_DATA_PORT): Likewise.
40188 (CRTC_CURSOR): Likewise.
40189 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40190 (CRTC_CURSOR_ADDR_LOW): Likewise.
40191 (update_cursor): New function.
40192 (grub_console_real_putchar): Call `update_cursor'.
40193 (grub_console_gotoxy): Likewise.
40194 (grub_console_cls): Set the default color when clearing the
40195 screen.
40196 (grub_console_setcursor): Implemented.
40197
40198 2007-11-03 Marco Gerards <marco@gnu.org>
40199
40200 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40201 become activate.
40202 (grub_ata_pio_write): Likewise.
40203
40204 (grub_atapi_identify): Wait after issuing an ATA command.
40205 (grub_atapi_packet): Likewise.
40206 (grub_ata_identify): Likewise.
40207 (grub_ata_readwrite): Likewise.
40208
40209 2007-11-03 Marco Gerards <marco@gnu.org>
40210
40211 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40212 (grub_ata_pio_write): Likewise.
40213 (grub_ata_readwrite): Use `grub_error', instead of
40214 returning `grub_errno'.
40215
40216 2007-11-03 Marco Gerards <marco@gnu.org>
40217
40218 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40219 grub_ata_pio_write once for every single sector, instead of for
40220 multiple sectors.
40221
40222 2007-10-31 Robert Millan <rmh@aybabtu.com>
40223
40224 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40225
40226 * conf/i386-linuxbios.rmk: New file.
40227
40228 * kern/i386/pc/hardware.c: Likewise.
40229 * term/i386/pc/at_keyboard.c: Likewise.
40230 * term/i386/pc/vga_text.c: Likewise.
40231
40232 * include/grub/i386/linuxbios/boot.h: Likewise.
40233 * include/grub/i386/linuxbios/console.h: Likewise.
40234 * include/grub/i386/linuxbios/init.h: Likewise.
40235 * include/grub/i386/linuxbios/kernel.h: Likewise.
40236 * include/grub/i386/linuxbios/loader.h: Likewise.
40237 * include/grub/i386/linuxbios/memory.h: Likewise.
40238 * include/grub/i386/linuxbios/serial.h: Likewise.
40239 * include/grub/i386/linuxbios/time.h: Likewise.
40240
40241 * kern/i386/linuxbios/init.c: Likewise.
40242 * kern/i386/linuxbios/startup.S: Likewise.
40243 * kern/i386/linuxbios/table.c: Likewise.
40244
40245 2007-10-31 Marco Gerards <marco@gnu.org>
40246
40247 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40248 (ata_mod_SOURCES): New variable.
40249 (ata_mod_CFLAGS): Likewise.
40250 (ata_mod_LDFLAGS): Likewise.
40251
40252 * disk/ata.c: New file.
40253
40254 * include/grub/disk.h (grub_disk_dev_id): Add
40255 `GRUB_DISK_DEV_ATA_ID'.
40256
40257 2007-10-31 Robert Millan <rmh@aybabtu.com>
40258
40259 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40260 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40261
40262 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40263 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40264
40265 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40266 `<grub/types.h>'.
40267
40268 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40269
40270 2007-10-27 Robert Millan <rmh@aybabtu.com>
40271
40272 * include/grub/types.h (ULONG_MAX): Define macro.
40273
40274 2007-10-22 Robert Millan <rmh@aybabtu.com>
40275
40276 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40277 `"../realmode.S"'.
40278 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40279
40280 2007-10-22 Robert Millan <rmh@aybabtu.com>
40281
40282 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40283 (pkgdata_MODULES): Add `biosdisk.mod'.
40284 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40285 variables.
40286
40287 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40288 (grub_biosdisk_init): Replace with ...
40289 (GRUB_MOD_INIT(biosdisk)): ... this.
40290 (grub_biosdisk_fini): Replace with ...
40291 (GRUB_MOD_FINI(biosdisk)): ... this.
40292
40293 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40294 (grub_machine_init): Remove call to grub_biosdisk_init().
40295 (grub_machine_fini): Remove call to grub_machine_fini().
40296
40297 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40298
40299 2007-10-22 Robert Millan <rmh@aybabtu.com>
40300
40301 * include/grub/time.h: New file.
40302 * include/grub/i386/time.h: Likewise.
40303 * include/grub/powerpc/time.h: Likewise.
40304 * include/grub/sparc64/time.h: Likewise.
40305
40306 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40307 instances to ...
40308 (KERNEL_MACHINE_TIME_HEADER): ... this.
40309 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40310 instances to ...
40311 (KERNEL_MACHINE_TIME_HEADER): ... this.
40312 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40313 instances to ...
40314 (KERNEL_MACHINE_TIME_HEADER): ... this.
40315
40316 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40317 (grub_millisleep): New function.
40318 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40319 (grub_millisleep): New function.
40320 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40321 Remove `grub/machine/time.h' include.
40322 (grub_millisleep): New function.
40323 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40324 Remove `grub/machine/time.h' include.
40325 (grub_millisleep): New function.
40326
40327 * include/grub/misc.h (grub_div_roundup): New function.
40328
40329 * kern/misc.c: Include `<grub/time.h>'.
40330 (grub_millisleep_generic): New function.
40331
40332 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40333 Add `time.h'.
40334 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40335 Add `time.h'.
40336 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40337 `machine/time.h'. Add `time.h'.
40338 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40339
40340 2007-10-21 Robert Millan <rmh@aybabtu.com>
40341
40342 * include/grub/misc.h (grub_max): New function.
40343
40344 2007-10-21 Robert Millan <rmh@aybabtu.com>
40345
40346 * util/misc.c (grub_util_info): Call fflush() before returning.
40347
40348 2007-10-20 Robert Millan <rmh@aybabtu.com>
40349
40350 * genmk.rb (Image): Copy `extra_flags' from here ...
40351 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40352
40353 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40354 to `argc' and `args' arguments.
40355
40356 2007-10-17 Robert Millan <rmh@aybabtu.com>
40357
40358 * kern/i386/loader.S: New file.
40359
40360 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40361 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40362 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40363 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40364 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40365 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40366 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40367 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40368 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40369 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40370 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40371 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40372 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40373 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40374
40375 * kern/i386/realmode.S: New file.
40376
40377 * kern/i386/pc/startup.S (protstack): Moved from here ...
40378 * kern/i386/realmode.S (protstack)... to here.
40379 * kern/i386/pc/startup.S (gdt): Moved from here ...
40380 * kern/i386/realmode.S (gdt)... to here.
40381 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40382 * kern/i386/realmode.S (prot_to_real)... to here.
40383
40384 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40385 `kern/i386/realmode.S'.
40386
40387 2007-10-17 Robert Millan <rmh@aybabtu.com>
40388
40389 * include/grub/i386/loader.h: New file.
40390
40391 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40392 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40393 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40394 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40395 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
40396 * include/grub/i386/loader.h (grub_linux_prot_size)
40397 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40398 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40399 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40400 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
40401
40402 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
40403
40404 2007-10-15 Robert Millan <rmh@aybabtu.com>
40405
40406 * normal/misc.c (grub_normal_print_device_info): Do not probe for
40407 filesystem when dev->disk is unset.
40408 Do probe for filesystem even when dev->disk->has_partitions is set.
40409 In case a filesystem is found, always report it.
40410 In case it isn't, if dev->disk->has_partitions is set, report that
40411 a partition table was found instead of reporting that no filesystem
40412 could be identified.
40413
40414 2007-10-12 Robert Millan <rmh@aybabtu.com>
40415
40416 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
40417 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
40418
40419 * include/grub/types.h (grub_host_to_target16): New macro.
40420 (grub_host_to_target32): Likewise.
40421 (grub_host_to_target64): Likewise.
40422 (grub_target_to_host16): Likewise.
40423 (grub_target_to_host32): Likewise.
40424 (grub_target_to_host64): Likewise.
40425
40426 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40427 Renamed from to ...
40428 (GRUB_MOD_ALIGN): ...this. Update all users.
40429
40430 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
40431 grub_host_to_target32.
40432 Replace grub_be_to_cpu32 with grub_target_to_host32.
40433 (load_modules): Likewise.
40434 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
40435 Replace grub_be_to_cpu32 with grub_target_to_host32.
40436 Replace grub_cpu_to_be16 with grub_host_to_target16.
40437 Replace grub_cpu_to_be32 grub_host_to_target32.
40438
40439 2007-10-12 Robert Millan <rmh@aybabtu.com>
40440
40441 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
40442 * util/elf/grub-mkimage.c: ... here.
40443
40444 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
40445 `util/powerpc/ieee1275/grub-mkimage.c'.
40446
40447 2007-10-07 Robert Millan <rmh@aybabtu.com>
40448
40449 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
40450 and make it easier to figure out.
40451 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
40452 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
40453 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
40454 leave us with less than HEAP_MIN_SIZE total heap.
40455 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
40456
40457 2007-10-03 Robert Millan <rmh@aybabtu.com>
40458
40459 * include/grub/i386/io.h: New file.
40460 * commands/i386/pc/play.c (inb): Removed.
40461 (outb): Removed.
40462 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40463 with grub_outb().
40464 * term/i386/pc/serial.c (inb): Removed.
40465 (outb): Removed.
40466 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40467 with grub_outb().
40468 * term/i386/pc/vga.c (inb): Removed.
40469 (outb): Removed.
40470 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
40471 with grub_outb().
40472
40473 2007-10-02 Robert Millan <rmh@aybabtu.com>
40474
40475 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
40476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40477 Reported by Marcin Kurek.
40478
40479 2007-09-07 Robert Millan <rmh@aybabtu.com>
40480
40481 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
40482 SmartFirmware version updates (as released by Sven Luther), and avoid
40483 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
40484 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
40485 known broken.
40486
40487 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40488
40489 From Hitoshi Ozeki:
40490 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
40491 when merging two regions.
40492
40493 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40494
40495 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
40496 * normal/completion.c (grub_normal_do_completion): Likewise.
40497 Reported by Hitoshi Ozeki.
40498
40499 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40500
40501 Do not use devices at boot in chainloading.
40502
40503 * loader/i386/pc/chainloader.c (boot_drive): New variable.
40504 (boot_part_addr): Likewise.
40505 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
40506 with BOOT_DRIVE and BOOT_PART_ADDR.
40507 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
40508 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
40509
40510 2007-08-29 Robert Millan <rmh@aybabtu.com>
40511
40512 Patch from Simon Peter <dn.tlp@gmx.net>:
40513 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
40514 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
40515 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
40516 util/i386/pc/grub-setup.c_DEPENDENCIES.
40517 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
40518 util/grub-probe.c_DEPENDENCIES.
40519 * conf/powerpc-ieee1275.rmk: Likewise.
40520
40521 2007-08-28 Robert Millan <rmh@aybabtu.com>
40522
40523 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
40524 to tell grub-mkdevicemap how to name devices.
40525 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
40526 feature).
40527
40528 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
40529 util/i386/get_disk_name.c.
40530 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
40531 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
40532 util/ieee1275/get_disk_name.c.
40533
40534 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
40535
40536 * DISTLIST: Add util/i386/get_disk_name.c and
40537 util/ieee1275/get_disk_name.c.
40538
40539 * util/grub-mkdevicemap.c: Replace device naming logic with
40540 grub_util_get_disk_name() calls.
40541
40542 2007-08-20 Robert Millan <rmh@aybabtu.com>
40543
40544 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
40545 (so that it works for both plural and singular quantities).
40546
40547 2007-08-05 Robert Millan <rmh@aybabtu.com>
40548
40549 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
40550 so that [xz] isn't taken into account when determining order.
40551
40552 2007-08-02 Marco Gerards <marco@gnu.org>
40553
40554 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
40555 `include/multiboot2.h', `include/grub/elfload.h',
40556 `include/multiboot.h', `include/grub/multiboot.h',
40557 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
40558 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
40559 `kern/elf.c', `loader/multiboot_loader.c',
40560 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
40561 `loader/i386/pc/multiboot2.c',
40562 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
40563 `util/i386/pc/grub-mkrescue.in'. Remove
40564 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
40565 `include/grub/i386/pc/util/biosdisk.h' and
40566 `include/grub/powerpc/ieee1275/multiboot.h'.
40567
40568 2007-08-02 Bean <bean123ch@gmail.com>
40569
40570 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
40571 (ntfs_mod_SOURCES): New variable.
40572 (ntfs_mod_CFLAGS): Likewise.
40573 (ntfs_mod_LDFLAGS): Likewise.
40574
40575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
40576 (grub_probe_SOURCES): Likewise.
40577 (grub_emu_SOURCES): Likewise.
40578
40579 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40580 (grub_emu_SOURCES): Likewise.
40581
40582 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
40583 (grub_emu_SOURCES): Likewise.
40584
40585 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
40586
40587 * fs/ntfs.c: New file.
40588
40589 2007-08-02 Bean <bean123ch@gmail.com>
40590
40591 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
40592
40593 * file.h (grub_file): Likewise.
40594
40595 * fshelp.h (grub_fshelp_read_file): Likewise.
40596
40597 * util/i386/pc/grub-setup.c (setup): Likewise.
40598 (save_first_sector): Likewise.
40599 (save_blocklists): Likewise.
40600
40601 * fs/affs.c (grub_affs_read_file): Likewise.
40602
40603 * fs/ext2.c (grub_ext2_read_file): Likewise.
40604
40605 * fs/fat.c (grub_fat_read_data): Likewise.
40606
40607 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
40608
40609 * fs/hfs.c (grub_hfs_read_file): Likewise.
40610
40611 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40612
40613 * fs/jfs.c (grub_jfs_read_file): Likewise.
40614
40615 * fs/minix.c (grub_minix_read_file): Likewise.
40616
40617 * fs/sfs.c (grub_sfs_read_file): Likewise.
40618
40619 * fs/ufs.c (grub_ufs_read_file): Likewise.
40620
40621 * fs/xfs.c (grub_xfs_read_file): Likewise.
40622
40623 * command/blocklist.c (read_blocklist): Likewise.
40624 (print_blocklist): Likewise.
40625
40626 2007-08-02 Marco Gerards <marco@gnu.org>
40627
40628 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
40629 `util/hostfs.c'.
40630
40631 * disk/host.c: New file.
40632
40633 * util/hostfs.c: Likewise.
40634
40635 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
40636 return `GRUB_ERR_BAD_FS'.
40637 * fs/sfs.c (grub_sfs_mount): Likewise.
40638 * fs/xfs.c (grub_xfs_mount): Likewise.
40639
40640 * include/grub/disk.h (enum grub_disk_dev_id): Add
40641 `GRUB_DISK_DEVICE_HOST_ID'.
40642
40643 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
40644
40645 2007-07-24 Jerone Young <jerone@gmail.com>
40646
40647 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
40648 modules for compilation.
40649 * conf/powerpc-ieee1275.rmk: Likewise.
40650
40651 * include/multiboot.h: Move multiboot definitions to one file. Rename
40652 many definitions to not get grub specific.
40653 * include/multiboot2.h: Create header with multiboot 2 definitions.
40654 * include/grub/multiboot.h: Header for grub specific function
40655 prototypes and definitions.
40656 * include/grub/multiboot2.h: Likewise.
40657 * include/grub/multiboot_loader.h: Likewise.
40658 * include/grub/i386/pc/multiboot.h: Removed.
40659 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
40660
40661 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
40662 and 2 to allow for one multiboot and module commands.
40663 * loader/multiboot2.c: Add multiboot2 functionality.
40664 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
40665 and definition names.
40666 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
40667 2 functions.
40668 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
40669 ieee1275 specific multiboot2 code.
40670
40671 * kern/i386/pc/startup.S: Change headers and definition names for
40672 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
40673
40674 2007-07-22 Robert Millan <rmh@aybabtu.com>
40675
40676 * geninitheader.sh: Process file specified in first parameter rather
40677 than hardcoding grub_modules_init.lst.
40678 * geninit.sh: Likewise. Also, construct header name dynamically rather
40679 than hardcoding grub_modules_init.h.
40680
40681 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
40682 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
40683 grub_probe_init.[ch] and grub_setup_init.[ch].
40684
40685 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
40686 grub_modules_init.h with grub_emu_init.h.
40687 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
40688 grub_probe_init.[ch] files.
40689 * conf/i386-efi.rmk: Likewise.
40690 * conf/i386-pc.rmk: Likewise.
40691 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
40692 grub_setup_init.[ch] files.
40693
40694 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
40695 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
40696 to initialize modules rather than a list of hardcoded functions.
40697 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
40698 grub_init_all() to initialize modules rather than a list of hardcoded
40699 functions.
40700
40701 2007-07-22 Robert Millan <rmh@aybabtu.com>
40702
40703 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
40704 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
40705
40706 2007-07-22 Robert Millan <rmh@aybabtu.com>
40707
40708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40709 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
40710 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
40711 flag when running on SmartFirmware.
40712 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
40713 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
40714 was set.
40715
40716 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40717 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
40718 rather than decreasing it.
40719
40720 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
40721 there's not enough space to do it, fail in the same way as when it
40722 can't be done because there are no partitions.
40723
40724 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
40725 when nvsetenv failed.
40726
40727 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40728
40729 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
40730 because this rule is automatically generated.
40731 (grub-mkrescue): Removed for the same reason as above.
40732
40733 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
40734
40735 Migrate to GNU General Public License Version 3.
40736
40737 * COPYING: Replaced with the plain text version of GPLv3.
40738
40739 * config.guess: Updated from gnulib.
40740 * config.sub: Likewise.
40741
40742 * geninit.sh: Output a GPLv3 copyright notice.
40743 * geninitheader.sh: Likewise.
40744 * genmodsrc.sh: Likewise.
40745 * gensymlist.sh.in: Likewise.
40746
40747 * boot/i386/pc/boot.S: Upgraded to GPLv3.
40748 * boot/i386/pc/diskboot.S: Likewise.
40749 * boot/i386/pc/pxeboot.S: Likewise.
40750 * commands/blocklist.c: Likewise.
40751 * commands/boot.c: Likewise.
40752 * commands/cat.c: Likewise.
40753 * commands/cmp.c: Likewise.
40754 * commands/configfile.c: Likewise.
40755 * commands/echo.c: Likewise.
40756 * commands/help.c: Likewise.
40757 * commands/ls.c: Likewise.
40758 * commands/search.c: Likewise.
40759 * commands/terminal.c: Likewise.
40760 * commands/test.c: Likewise.
40761 * commands/videotest.c: Likewise.
40762 * commands/i386/cpuid.c: Likewise.
40763 * commands/i386/pc/halt.c: Likewise.
40764 * commands/i386/pc/play.c: Likewise.
40765 * commands/i386/pc/reboot.c: Likewise.
40766 * commands/i386/pc/vbeinfo.c: Likewise.
40767 * commands/i386/pc/vbetest.c: Likewise.
40768 * commands/ieee1275/halt.c: Likewise.
40769 * commands/ieee1275/reboot.c: Likewise.
40770 * commands/ieee1275/suspend.c: Likewise.
40771 * disk/loopback.c: Likewise.
40772 * disk/lvm.c: Likewise.
40773 * disk/raid.c: Likewise.
40774 * disk/efi/efidisk.c: Likewise.
40775 * disk/i386/pc/biosdisk.c: Likewise.
40776 * disk/ieee1275/ofdisk.c: Likewise.
40777 * font/manager.c: Likewise.
40778 * fs/affs.c: Likewise.
40779 * fs/ext2.c: Likewise.
40780 * fs/fat.c: Likewise.
40781 * fs/fshelp.c: Likewise.
40782 * fs/hfs.c: Likewise.
40783 * fs/hfsplus.c: Likewise.
40784 * fs/iso9660.c: Likewise.
40785 * fs/jfs.c: Likewise.
40786 * fs/minix.c: Likewise.
40787 * fs/sfs.c: Likewise.
40788 * fs/ufs.c: Likewise.
40789 * fs/xfs.c: Likewise.
40790 * hello/hello.c: Likewise.
40791 * include/grub/acorn_filecore.h: Likewise.
40792 * include/grub/arg.h: Likewise.
40793 * include/grub/bitmap.h: Likewise.
40794 * include/grub/boot.h: Likewise.
40795 * include/grub/cache.h: Likewise.
40796 * include/grub/device.h: Likewise.
40797 * include/grub/disk.h: Likewise.
40798 * include/grub/dl.h: Likewise.
40799 * include/grub/elfload.h: Likewise.
40800 * include/grub/env.h: Likewise.
40801 * include/grub/err.h: Likewise.
40802 * include/grub/file.h: Likewise.
40803 * include/grub/font.h: Likewise.
40804 * include/grub/fs.h: Likewise.
40805 * include/grub/fshelp.h: Likewise.
40806 * include/grub/gzio.h: Likewise.
40807 * include/grub/hfs.h: Likewise.
40808 * include/grub/kernel.h: Likewise.
40809 * include/grub/loader.h: Likewise.
40810 * include/grub/lvm.h: Likewise.
40811 * include/grub/misc.h: Likewise.
40812 * include/grub/mm.h: Likewise.
40813 * include/grub/net.h: Likewise.
40814 * include/grub/normal.h: Likewise.
40815 * include/grub/parser.h: Likewise.
40816 * include/grub/partition.h: Likewise.
40817 * include/grub/pc_partition.h: Likewise.
40818 * include/grub/raid.h: Likewise.
40819 * include/grub/rescue.h: Likewise.
40820 * include/grub/script.h: Likewise.
40821 * include/grub/setjmp.h: Likewise.
40822 * include/grub/symbol.h: Likewise.
40823 * include/grub/term.h: Likewise.
40824 * include/grub/terminfo.h: Likewise.
40825 * include/grub/tparm.h: Likewise.
40826 * include/grub/types.h: Likewise.
40827 * include/grub/video.h: Likewise.
40828 * include/grub/efi/api.h: Likewise.
40829 * include/grub/efi/chainloader.h: Likewise.
40830 * include/grub/efi/console.h: Likewise.
40831 * include/grub/efi/console_control.h: Likewise.
40832 * include/grub/efi/disk.h: Likewise.
40833 * include/grub/efi/efi.h: Likewise.
40834 * include/grub/efi/pe32.h: Likewise.
40835 * include/grub/efi/time.h: Likewise.
40836 * include/grub/i386/linux.h: Likewise.
40837 * include/grub/i386/setjmp.h: Likewise.
40838 * include/grub/i386/types.h: Likewise.
40839 * include/grub/i386/efi/kernel.h: Likewise.
40840 * include/grub/i386/efi/loader.h: Likewise.
40841 * include/grub/i386/efi/time.h: Likewise.
40842 * include/grub/i386/pc/biosdisk.h: Likewise.
40843 * include/grub/i386/pc/boot.h: Likewise.
40844 * include/grub/i386/pc/chainloader.h: Likewise.
40845 * include/grub/i386/pc/console.h: Likewise.
40846 * include/grub/i386/pc/init.h: Likewise.
40847 * include/grub/i386/pc/kernel.h: Likewise.
40848 * include/grub/i386/pc/loader.h: Likewise.
40849 * include/grub/i386/pc/memory.h: Likewise.
40850 * include/grub/i386/pc/multiboot.h: Likewise.
40851 * include/grub/i386/pc/serial.h: Likewise.
40852 * include/grub/i386/pc/time.h: Likewise.
40853 * include/grub/i386/pc/vbe.h: Likewise.
40854 * include/grub/i386/pc/vbeblit.h: Likewise.
40855 * include/grub/i386/pc/vbefill.h: Likewise.
40856 * include/grub/i386/pc/vbeutil.h: Likewise.
40857 * include/grub/i386/pc/vga.h: Likewise.
40858 * include/grub/ieee1275/ieee1275.h: Likewise.
40859 * include/grub/ieee1275/ofdisk.h: Likewise.
40860 * include/grub/powerpc/libgcc.h: Likewise.
40861 * include/grub/powerpc/setjmp.h: Likewise.
40862 * include/grub/powerpc/types.h: Likewise.
40863 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
40864 * include/grub/powerpc/ieee1275/console.h: Likewise.
40865 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
40866 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
40867 * include/grub/powerpc/ieee1275/loader.h: Likewise.
40868 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
40869 * include/grub/powerpc/ieee1275/time.h: Likewise.
40870 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
40871 * include/grub/sparc64/libgcc.h: Likewise.
40872 * include/grub/sparc64/setjmp.h: Likewise.
40873 * include/grub/sparc64/types.h: Likewise.
40874 * include/grub/sparc64/ieee1275/console.h: Likewise.
40875 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40876 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40877 * include/grub/sparc64/ieee1275/time.h: Likewise.
40878 * include/grub/util/biosdisk.h: Likewise.
40879 * include/grub/util/getroot.h: Likewise.
40880 * include/grub/util/lvm.h: Likewise.
40881 * include/grub/util/misc.h: Likewise.
40882 * include/grub/util/raid.h: Likewise.
40883 * include/grub/util/resolve.h: Likewise.
40884 * io/gzio.c: Likewise.
40885 * kern/device.c: Likewise.
40886 * kern/disk.c: Likewise.
40887 * kern/dl.c: Likewise.
40888 * kern/elf.c: Likewise.
40889 * kern/env.c: Likewise.
40890 * kern/err.c: Likewise.
40891 * kern/file.c: Likewise.
40892 * kern/fs.c: Likewise.
40893 * kern/loader.c: Likewise.
40894 * kern/main.c: Likewise.
40895 * kern/misc.c: Likewise.
40896 * kern/mm.c: Likewise.
40897 * kern/parser.c: Likewise.
40898 * kern/partition.c: Likewise.
40899 * kern/rescue.c: Likewise.
40900 * kern/term.c: Likewise.
40901 * kern/efi/efi.c: Likewise.
40902 * kern/efi/init.c: Likewise.
40903 * kern/efi/mm.c: Likewise.
40904 * kern/i386/dl.c: Likewise.
40905 * kern/i386/efi/init.c: Likewise.
40906 * kern/i386/efi/startup.S: Likewise.
40907 * kern/i386/pc/init.c: Likewise.
40908 * kern/i386/pc/lzo1x.S: Likewise.
40909 * kern/i386/pc/startup.S: Likewise.
40910 * kern/ieee1275/ieee1275.c: Likewise.
40911 * kern/powerpc/cache.S: Likewise.
40912 * kern/powerpc/dl.c: Likewise.
40913 * kern/powerpc/ieee1275/cmain.c: Likewise.
40914 * kern/powerpc/ieee1275/crt0.S: Likewise.
40915 * kern/powerpc/ieee1275/init.c: Likewise.
40916 * kern/powerpc/ieee1275/openfw.c: Likewise.
40917 * kern/sparc64/cache.S: Likewise.
40918 * kern/sparc64/dl.c: Likewise.
40919 * kern/sparc64/ieee1275/init.c: Likewise.
40920 * kern/sparc64/ieee1275/openfw.c: Likewise.
40921 * loader/efi/chainloader.c: Likewise.
40922 * loader/efi/chainloader_normal.c: Likewise.
40923 * loader/i386/efi/linux.c: Likewise.
40924 * loader/i386/efi/linux_normal.c: Likewise.
40925 * loader/i386/pc/chainloader.c: Likewise.
40926 * loader/i386/pc/chainloader_normal.c: Likewise.
40927 * loader/i386/pc/linux.c: Likewise.
40928 * loader/i386/pc/linux_normal.c: Likewise.
40929 * loader/i386/pc/multiboot.c: Likewise.
40930 * loader/i386/pc/multiboot_normal.c: Likewise.
40931 * loader/powerpc/ieee1275/linux.c: Likewise.
40932 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40933 * normal/arg.c: Likewise.
40934 * normal/cmdline.c: Likewise.
40935 * normal/command.c: Likewise.
40936 * normal/completion.c: Likewise.
40937 * normal/execute.c: Likewise.
40938 * normal/function.c: Likewise.
40939 * normal/lexer.c: Likewise.
40940 * normal/main.c: Likewise.
40941 * normal/menu.c: Likewise.
40942 * normal/menu_entry.c: Likewise.
40943 * normal/misc.c: Likewise.
40944 * normal/parser.y: Likewise.
40945 * normal/script.c: Likewise.
40946 * normal/i386/setjmp.S: Likewise.
40947 * normal/powerpc/setjmp.S: Likewise.
40948 * normal/sparc64/setjmp.S: Likewise.
40949 * partmap/acorn.c: Likewise.
40950 * partmap/amiga.c: Likewise.
40951 * partmap/apple.c: Likewise.
40952 * partmap/gpt.c: Likewise.
40953 * partmap/pc.c: Likewise.
40954 * partmap/sun.c: Likewise.
40955 * term/gfxterm.c: Likewise.
40956 * term/terminfo.c: Likewise.
40957 * term/efi/console.c: Likewise.
40958 * term/i386/pc/console.c: Likewise.
40959 * term/i386/pc/serial.c: Likewise.
40960 * term/i386/pc/vesafb.c: Likewise.
40961 * term/i386/pc/vga.c: Likewise.
40962 * term/ieee1275/ofconsole.c: Likewise.
40963 * util/biosdisk.c: Likewise.
40964 * util/console.c: Likewise.
40965 * util/genmoddep.c: Likewise.
40966 * util/getroot.c: Likewise.
40967 * util/grub-emu.c: Likewise.
40968 * util/grub-mkdevicemap.c: Likewise.
40969 * util/grub-probe.c: Likewise.
40970 * util/lvm.c: Likewise.
40971 * util/misc.c: Likewise.
40972 * util/raid.c: Likewise.
40973 * util/resolve.c: Likewise.
40974 * util/update-grub.in: Likewise.
40975 * util/update-grub_lib.in: Likewise.
40976 * util/grub.d/00_header.in: Likewise.
40977 * util/grub.d/10_hurd.in: Likewise.
40978 * util/grub.d/10_linux.in: Likewise.
40979 * util/i386/efi/grub-install.in: Likewise.
40980 * util/i386/efi/grub-mkimage.c: Likewise.
40981 * util/i386/pc/grub-install.in: Likewise.
40982 * util/i386/pc/grub-mkimage.c: Likewise.
40983 * util/i386/pc/grub-mkrescue.in: Likewise.
40984 * util/i386/pc/grub-setup.c: Likewise.
40985 * util/i386/pc/misc.c: Likewise.
40986 * util/powerpc/ieee1275/grub-install.in: Likewise.
40987 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
40988 * util/powerpc/ieee1275/misc.c: Likewise.
40989 * video/bitmap.c: Likewise.
40990 * video/video.c: Likewise.
40991 * video/i386/pc/vbe.c: Likewise.
40992 * video/i386/pc/vbeblit.c: Likewise.
40993 * video/i386/pc/vbefill.c: Likewise.
40994 * video/i386/pc/vbeutil.c: Likewise.
40995 * video/readers/tga.c: Likewise.
40996
40997 2007-07-02 Robert Millan <rmh@aybabtu.com>
40998
40999 * conf/i386-efi.rmk: Replace obsolete reference to
41000 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41001 with util/getroot.c.
41002 * conf/powerpc-ieee1275.rmk: Likewise.
41003 * conf/sparc64-ieee1275.rmk: Likewise.
41004
41005 * util/grub-emu.c (main): Fix unchecked pointer handling.
41006
41007 2007-07-02 Robert Millan <rmh@aybabtu.com>
41008
41009 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41010 invocation to fail, in order to support partition-less media.
41011
41012 * util/i386/pc/grub-install.in: Likewise.
41013
41014 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41015 which fs or partmap modules are needed (akin to its sister scripts).
41016
41017 Also use grub-probe to get rid of unportable /proc/mounts check.
41018
41019 Print the same informational message that the other scripts do, before
41020 exiting.
41021
41022 2007-06-23 Robert Millan <rmh@aybabtu.com>
41023
41024 * util/update-grub_lib.in (font_path): New function. Determine whether
41025 a font file can be found and, if so, echo the GRUB path to it.
41026
41027 * util/update-grub.in: Handle multiple terminals depending on user
41028 input, platform availability and font file presence. Propagate
41029 variables of our findings to /etc/grub.d/ children.
41030
41031 * util/grub.d/00_header.in: Handle multiple terminals, based on
41032 environment setup by update-grub.
41033
41034 2007-06-23 Robert Millan <rmh@aybabtu.com>
41035
41036 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
41037
41038 2007-06-21 Robert Millan <rmh@aybabtu.com>
41039
41040 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41041 indicate end of data section in kernel image.
41042 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41043 GRUB_KERNEL_MACHINE_DATA_END.
41044
41045 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41046 space for it.
41047 * kern/i386/efi/startup.S: Likewise.
41048
41049 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41050 during image generation. Implement --prefix option to override this
41051 patch.
41052 * util/i386/efi/grub-mkimage.c: Likewise.
41053
41054 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41055 code to make path relative to its root into a separate function.
41056
41057 * util/i386/pc/grub-install.in: Use newly provided
41058 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41059 pass the result to grub-install --prefix.
41060
41061 2007-06-13 Robert Millan <rmh@aybabtu.com>
41062
41063 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41064 DEFAULT_DEVICE_MAP.
41065 * util/grub-emu.c: Use above definitions from misc.h instead of
41066 defining them.
41067 * util/grub-mkdevicemap.c: Likewise.
41068 * util/i386/pc/grub-setup.c: Likewise.
41069 * util/grub-probe.c: Likewise.
41070 (probe): Abort with grub_util_error() when either
41071 grub_guess_root_device or grub_util_get_grub_dev fails.
41072
41073 2007-06-12 Robert Millan <rmh@aybabtu.com>
41074
41075 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41076 "pager" assignment.
41077 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41078 "pcdata".
41079 * util/grub-probe.c (probe): Likewise for "drive_name".
41080
41081 2007-06-11 Robert Millan <rmh@aybabtu.com>
41082
41083 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41084 not just the cdrom one.
41085
41086 2007-06-11 Robert Millan <rmh@aybabtu.com>
41087
41088 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41089 Add --pkglibdir=DIR option to override pkglibdir.
41090 Mention --image-type=TYPE in help output.
41091 Fix --grub-mkimage (it was a no-op).
41092 Abort gracefully when no parameter is given.
41093
41094 2007-06-11 Robert Millan <rmh@aybabtu.com>
41095
41096 * util/i386/pc/grub-mkrescue.in: New file.
41097 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41098 * Makefile.in: Handle bin_SCRIPTS.
41099
41100 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41101
41102 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41103 list of video modes.
41104
41105 2007-06-06 Robert Millan <rmh@aybabtu.com>
41106
41107 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41108 file doesn't exist, or if it is in a filesystem grub can't read.
41109
41110 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41111 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41112 header comment to fit in 80 columns when the variables are resolved.
41113
41114 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41115 could be identified by update-grub. Remove redundant check for
41116 unifont.pff existence (since convert_system_path_to_grub_path now
41117 handles that).
41118
41119 2007-06-04 Robert Millan <rmh@aybabtu.com>
41120
41121 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41122
41123 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41124
41125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41126
41127 2007-06-04 Robert Millan <rmh@aybabtu.com>
41128
41129 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41130
41131 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41132 grub_apple_partition_map_fini.
41133
41134 * util/biosdisk.c
41135 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41136 to access >2 TiB disks).
41137
41138 Print disk->total_sectors with %llu instead of %lu, since this
41139 variable is always 64-bit (prevents wrong disk size from being displayed
41140 on either >2 TiB disk or big-endian CPU).
41141
41142 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41143 into a generic case that supports all (sane) partition maps.
41144
41145 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41146 breaks big-endian.
41147
41148 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41149 and grub_apple_partition_map_fini() after that.
41150
41151 2007-06-01 Robert Millan <rmh@aybabtu.com>
41152
41153 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41154
41155 * util/grub.d/00_header.in: Only enable gfxterm when
41156 convert_system_path_to_grub_path() succeeds.
41157
41158 2007-05-20 Robert Millan <rmh@aybabtu.com>
41159
41160 * util/update-grub_lib.in: New file.
41161 * DISTLIST: Add update-grub_lib.in.
41162 * conf/common.rmk: Generate update-grub_lib and install it in
41163 $(lib_DATA).
41164 * Makefile.in: Add install routine for $(lib_DATA).
41165
41166 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41167 function provided by update-grub_lib to support arbitrary paths of
41168 unifont.pff.
41169 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41170 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41171
41172 2007-05-19 Robert Millan <rmh@aybabtu.com>
41173
41174 * commands/i386/cpuid.c: New module.
41175 * DISTLIST: Add it.
41176 * conf/i386-efi.rmk: Enable cpuid.mod.
41177 * conf/i386-pc.rmk: Likewise.
41178
41179 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41180
41181 * kern/disk.c (grub_disk_read): Check return value of
41182 grub_realloc().
41183
41184 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41185
41186 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41187 arrays.
41188 * disk/raid.c (grub_raid_open): Likewise.
41189
41190 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41191
41192 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41193 stack instead of on the heap.
41194
41195 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41196 before doing a read on it.
41197
41198 * configure.ac: Only use -fno-stack-protector for the target
41199 environment.
41200
41201 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41202
41203 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41204 __attribute_ ((unused)) to mode_type argument.
41205
41206 * util/getroot.c (grub_guess_root_device): Fix #endif.
41207
41208 * kern/misc.c (memcmp): Fix prototype.
41209
41210 * include/grub/partition.h [GRUB_UTIL]
41211 (grub_gpt_partition_map_init): Add prototype.
41212 (grub_gpt_partition_map_fini): Likewise.
41213
41214 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41215 at the right place.
41216
41217 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41218 (grub_fat_read_data): Likewise.
41219 (grub_fat_find_dir): Likewise.
41220
41221 * font/manager.c (find_glyph): Make table a const.
41222 (grub_font_get_glyph): Remove bitmap from if statement.
41223
41224 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41225
41226 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41227 code, first search for device in /dev/mapper, then in /dev.
41228 (grub_util_get_grub_dev): New function.
41229 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41230 prototype.
41231 * util/grub-probe.c (probe): Remove check for RAID, call
41232 grub_util_get_grub_dev() instead of
41233 grub_util_biosdisk_get_grub_dev().
41234 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41235 grub_util_biosdisk_get_grub_dev().
41236 * util/i386/pc/grub-setup.c (main): Likewise.
41237
41238 2007-05-16 Robert Millan <rmh@aybabtu.com>
41239
41240 * DISTLIST: Update for the latest changes.
41241 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41242 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41243 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41244 grub/util/biosdisk.h.
41245 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41246 grub/util/biosdisk.h.
41247
41248 2007-05-16 Robert Millan <rmh@aybabtu.com>
41249
41250 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41251
41252 2007-05-16 Robert Millan <rmh@aybabtu.com>
41253
41254 * util/i386/efi/grub-install.in: New.
41255 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41256 newly added grub-install.
41257 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41258 include.
41259 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41260 grub/util/biosdisk.h.
41261 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41262 grub/util/biosdisk.h.
41263
41264 2007-05-16 Robert Millan <rmh@aybabtu.com>
41265
41266 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41267 * include/grub/util/biosdisk.h: ... here.
41268 * util/i386/pc/biosdisk.c: Moved to ...
41269 * util/biosdisk.c: ... here.
41270 * util/i386/pc/getroot.c: Moved to ...
41271 * util/getroot.c: ... here.
41272 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41273 * util/grub-mkdevicemap.c: ... here.
41274 * util/i386/pc/grub-probe.c: Moved to ...
41275 * util/grub-probe.c: ... here.
41276
41277 2007-05-15 Robert Millan <rmh@aybabtu.com>
41278
41279 * util/update-grub.in: Remove duplicated line in grub.cfg header
41280 message.
41281
41282 2007-05-13 Robert Millan <rmh@aybabtu.com>
41283
41284 * util/update-grub.in: Fix a few assumptions about the devices holding
41285 /, /boot and /boot/grub being the same.
41286 * util/grub.d/00_header.in: Likewise.
41287 * util/grub.d/10_hurd.in: Likewise.
41288 * util/grub.d/10_linux.in: Likewise.
41289
41290 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41291 patterns. Use that to define the `.old' suffix as older than `'.
41292
41293 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41294
41295 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41296 the grub.cfg header message.
41297
41298 2007-05-11 Robert Millan <rmh@aybabtu.com>
41299
41300 * util/update-grub.in: Create device.map if it doesn't already exist,
41301 before attempting to run grub-probe.
41302 Check for grub-probe and grub-mkdevicemap with the same code
41303 grub-install is using.
41304 Remove test mode.
41305
41306 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41307
41308 * Makefile.in: Add the datarootdir autoconf variable.
41309
41310 2007-05-09 Robert Millan <rmh@aybabtu.com>
41311
41312 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
41313 fail gracefully if dev->disk->partition == NULL.
41314
41315 2007-05-07 Robert Millan <rmh@aybabtu.com>
41316
41317 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41318 determine partition map module.
41319 * util/i386/pc/grub-install.in: Use this feature to decide which
41320 partition module to load, instead of hardcoding pc and gpt.
41321
41322 2007-05-07 Robert Millan <rmh@aybabtu.com>
41323
41324 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41325 source directory differs from build directory.
41326
41327 2007-05-05 Robert Millan <rmh@aybabtu.com>
41328
41329 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41330 initialisation.
41331
41332 2007-05-05 Robert Millan <rmh@aybabtu.com>
41333
41334 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41335
41336 2007-05-05 Robert Millan <rmh@aybabtu.com>
41337
41338 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41339 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41340
41341 2007-05-05 Robert Millan <rmh@aybabtu.com>
41342
41343 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41344 (grub_probe_SOURCES): Likewise.
41345 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41346 GPT and initialize dos_part and bsd_part accordingly.
41347 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41348 install_bsd_part.
41349 (main): Activate gpt module for use during partition identification,
41350 and deactivate it afterwards.
41351 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41352 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41353 partition identification, and deactivate it afterwards.
41354
41355 2007-05-05 Robert Millan <rmh@aybabtu.com>
41356
41357 * term/i386/pc/console.c (grub_console_fini): Call
41358 grub_term_set_current() before grub_term_unregister().
41359
41360 2007-05-04 Robert Millan <rmh@aybabtu.com>
41361
41362 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41363 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41364 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41365 and update-grub_DATA.
41366 * conf/common.rmk: Build and install update-grub components.
41367 * conf/common.mk: Regenerate.
41368 * util/update-grub.in: New. Core of update-grub.
41369 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41370 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41371 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41372 * util/grub.d/README: New. Document grub.d directory layout.
41373
41374 2007-05-01 Robert Millan <rmh@aybabtu.com>
41375
41376 * util/grub-emu.c: Move initialization functions
41377 grub_util_biosdisk_init() and grub_init_all() before
41378 grub_util_biosdisk_get_grub_dev(), which relies on them.
41379
41380 2007-04-19 Robert Millan <rmh@aybabtu.com>
41381
41382 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41383 it is used later.
41384
41385 2007-04-18 Jerone Young <jerone@gmail.com>
41386
41387 * kernel/elf.c: Add missing parenthesis for conditional statement
41388 stanza.
41389
41390 2007-04-10 Jerone Young <jerone@gmail.com>
41391
41392 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41393 continue on and look for device node with real device name.
41394
41395 2007-04-10 Jerone Young <jerone@gmail.com>
41396
41397 * configure.ac: Add argument for autoconf to use transformation
41398 ability.
41399 * Makefile.in: Add autoconf package transformation code.
41400 * util/i386/pc/grub-install.in: Likewise.
41401 * util/powerpc/ieee1275/grub-install.in: Likewise.
41402
41403 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41404
41405 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
41406 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
41407 (EXT2_REVISION): Likewise.
41408 (EXT2_INODE_SIZE): Likewise.
41409 (struct grub_ext2_block_group): Added a missing member
41410 "used_dirs".
41411 (grub_ext2_read_inode): Divide by the inode size in a superblock
41412 instead of 128 to obtain INODES_PER_BLOCK.
41413 Use the macro EXT2_INODE_SIZE instead of directly using
41414 SBLOCK->INODE_SIZE.
41415
41416 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41417
41418 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
41419 superblock instead of the structure size to compute an
41420 offset. This fixes the problem that GRUB could not read a
41421 filesystem when inode size is different from 128-byte.
41422
41423 2007-03-05 Marco Gerards <marco@gnu.org>
41424
41425 * normal/main.c (read_config_file): When "menu" is not set, create
41426 an initial context.
41427
41428 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41429
41430 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
41431 (HEAP_LIMIT): New macro.
41432 (grub_claim_heap): Claim memory up to `heaplimit'.
41433
41434 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
41435
41436 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
41437 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
41438 (_start): Likewise.
41439 (grub_arch_modules_addr): Return address after `_end'.
41440 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
41441 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
41442 (add_segments): Calculate `_end' from phdr size and location.
41443 (ALIGN_UP): Moved to ...
41444 * include/grub/misc.h: here.
41445 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41446 New macro.
41447 (GRUB_IEEE1275_MODULE_BASE): Removed.
41448
41449 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41450
41451 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
41452 loop boundary.
41453
41454 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41455
41456 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
41457 All users updated.
41458 (grub_elf64_load_hook_t): Likewise.
41459 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
41460 debug output.
41461
41462 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
41463
41464 * kern/mm.c: Update copyright.
41465 (grub_mm_debug): Correct syntax error.
41466 (grub_mm_dump_free): New function.
41467 (grub_debug_free): Call `grub_free'.
41468 * include/grub/mm.h: Update copyright.
41469 (grub_mm_dump_free): Add declaration.
41470
41471 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41472
41473 * include/grub/ieee1275/ieee1275.h: Update copyright.
41474 * kern/powerpc/ieee1275/init.c: Likewise.
41475 * kern/powerpc/ieee1275/openfw.c: Likewise.
41476
41477 * loader/powerpc/ieee1275/linux.c: Likewise.
41478 * include/grub/elfload.h: Likewise.
41479 * kern/elf.c: Likewise.
41480 (grub_elf32_load): Pass `base' and `size' parameters. Update all
41481 callers.
41482 (grub_elf64_load): Likewise.
41483 (grub_elf32_load_segment): Move to a nested function.
41484 (grub_elf64_load_segment): Likewise.
41485
41486 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
41487
41488 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
41489 prototype.
41490 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
41491 (grub_heap_len): Likewise.
41492 (HEAP_SIZE): New macro.
41493 (grub_claim_heap): New function.
41494 (grub_machine_init): Don't claim heap directly. Call
41495 `grub_claim_heap'.
41496 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
41497 (grub_available_iterate): New function.
41498
41499 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
41500
41501 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
41502 * configure.ac: Use it for testing the HOST and TARGET compilers.
41503
41504 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
41505
41506 * Makefile.in (enable_grub_emu): New variable.
41507 * configure.ac (--enable-grub-emu): New option.
41508 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
41509 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
41510 * conf/i386-pc.rmk: Likewise.
41511 * conf/powerpc-ieee1275.rmk: Likewise.
41512 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
41513
41514 2006-12-12 Marco Gerards <marco@gnu.org>
41515
41516 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
41517
41518 * kern/env.c (grub_env_unset): Don't free the member `value' when
41519 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
41520 pointer.
41521
41522 * normal/main.c (current_menu): Removed.
41523 (free_menu): Unset the `menu' environment variable.
41524 (grub_normal_menu_addentry): Make use of the environment variable
41525 `menu', instead of using the global `current_menu'. Allocate
41526 memory for the sourcecode of this entry.
41527 (read_config_file): New argument `nested', changed all callers.
41528 Only in the case of a new context, initialize a new menu. Set the
41529 `menu' environment variable.
41530 (grub_normal_execute): Don't set and unset the environment
41531 variable `menu' here anymore. Only free the menu when leaving the
41532 context.
41533
41534 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
41535 leak.
41536
41537 2006-12-11 Marco Gerards <marco@gnu.org>
41538
41539 * normal/menu_entry.c (run): Fix off by one bug so the last line
41540 is executed. Move the loader check to outside the loop.
41541
41542 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
41543
41544 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
41545
41546 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
41547
41548 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
41549 the number of sectors. Reported by Andrey Shuvikov
41550 <mr_hyro@yahoo.com>.
41551
41552 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
41553
41554 * kern/disk.c (grub_disk_read): When there is a read error, always
41555 try to read only the necessary data.
41556
41557 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
41558 disk/raid.c.
41559 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
41560 prototype.
41561 [GRUB_UTIL] (grub_raid_fini): Likewise.
41562 [GRUB_UTIL] (grub_lvm_init): Likewise.
41563 [GRUB_UTIL] (grub_lvm_fini): Likewise.
41564 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
41565 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
41566 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
41567 and grub_raid_fini().
41568
41569 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41570
41571 * include/grub/types.h (__unused): Rename to UNUSED.
41572 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
41573 (grub_elf64_size): Likewise.
41574
41575 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41576
41577 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
41578 grub_error_push and grub_error_pop in the error-handling path.
41579 (grub_elf32_load_segment): Only call grub_file_read with non-zero
41580 length.
41581
41582 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
41583
41584 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
41585 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41587 (kernel_elf_SOURCES): Likewise.
41588 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
41589 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
41590 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41591 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41592 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
41593 (elf_mod_SOURCES): New variable.
41594 (elf_mod_CFLAGS): Likewise.
41595 (elf_mod_LDFLAGS): Likewise.
41596 * include/grub/types.h (__unused): New macro.
41597 * include/grub/elfload.h: New file.
41598 * kern/elf.c: Likewise.
41599 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
41600 (ELF32_LOADMASK): New macro.
41601 (ELF64_LOADMASK): Likewise.
41602 (vmlinux): Removed.
41603 (grub_linux_load32): New function.
41604 (grub_linux_load64): Likewise.
41605 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
41606 Use grub_elf_t instead of grub_file_t.
41607
41608 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
41609
41610 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
41611 `catch_result' to struct set_color_args.
41612
41613 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41614
41615 * normal/menu.c: Include grub/script.h.
41616 * normal/menu_entry.c: Likewise.
41617 * include/grub/normal.h: Do not include grub/script.h.
41618
41619 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41620
41621 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
41622
41623 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41624
41625 * kern/disk.c (grub_disk_open): Print debug messages when opening a
41626 disk.
41627 (grub_disk_close): Print debug messages when closing a disk.
41628 (grub_disk_read): Print debug messages when disk read fails.
41629 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
41630 filesystem type.
41631 * kern/partition.c: Include misc.h.
41632 (grub_partition_iterate): Print debug messages when detecting
41633 partition type.
41634
41635 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
41636
41637 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
41638 is negative.
41639 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
41640
41641 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
41642
41643 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41644 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
41645
41646 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
41647
41648 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
41649 instead of sizeof(lv). Patch by Michael Guntsche.
41650
41651 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
41652
41653 * disk/lvm.c: Rename VGS to VG_LIST.
41654 (grub_lvm_iterate): Change VGS->LV to VG-LV.
41655 (grub_lvm_open): Likewise.
41656 Thanks to Michael Guntsche for finding this bug.
41657
41658 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41659
41660 * configure.ac (AC_INIT): Bumped to 1.95.
41661
41662 2006-10-14 Robert Millan <rmh@aybabtu.com>
41663
41664 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
41665 with "/dev/.static/dev/md".
41666
41667 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41668
41669 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
41670 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
41671 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
41672 DRIVE_NAME are always freed.
41673
41674 * util/i386/pc/biosdisk.c (make_device_name): Add one into
41675 DOS_PART, as a DOS partition is counted from one instead of zero
41676 now. Reported by Robert Millan.
41677
41678 2006-10-14 Robert Millan <rmh@aybabtu.com>
41679
41680 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
41681 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
41682 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
41683 string returned by grub_guess_root_device.
41684 * util/i386/pc/grub-setup.c: Likewise.
41685 * util/i386/pc/grub-probefs.c: Likewise.
41686
41687 * util/i386/pc/grub-probefs.c: Rename to ...
41688 * util/i386/pc/grub-probe.c: ... this.
41689 * DISTLIST: Remove grub-probefs, add grub-probe.
41690 * conf/i386-efi.rmk: Likewise.
41691 * conf/i386-pc.rmk: Likewise.
41692 * util/i386/pc/grub-install.in: Likewise.
41693
41694 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
41695 choose which information we want to print.
41696
41697 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
41698
41699 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
41700 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
41701 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
41702 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
41703 video/readers/tga.c and video/i386/pc/vbeutil.c.
41704
41705 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
41706
41707 Added support for RAID and LVM.
41708
41709 * disk/lvm.c: New file.
41710 * disk/raid.c: Likewise.
41711 * include/grub/lvm.h: Likewise.
41712 * include/grub/raid.h: Likewise.
41713 * include/grub/util/lvm.h: Likewise.
41714 * include/grub/util/raid.h: Likewise.
41715 * util/lvm.c: Likewise.
41716 * util/raid.c: Likewise.
41717
41718 * include/grub/disk.h (grub_disk_dev_id): Add
41719 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
41720 (grub_disk_get_size): New prototype.
41721 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
41722 returns a partition.
41723 (grub_disk_get_size): New function.
41724
41725 * kern/i386/pc/init.c (make_install_device): Copy the prefix
41726 verbatim if grub_install_dos_part is -2.
41727
41728 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
41729 and LVM devices.
41730
41731 * util/i386/pc/grub-setup.c (setup): New argument
41732 MUST_EMBED. Force embedding of GRUB when the argument is
41733 true. Close FILE before returning.
41734 (main): Add support for RAID and LVM.
41735
41736 * conf/common.rmk: Add RAID and LVM modules.
41737 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
41738 util/lvm.c.
41739 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
41740
41741 * kern/misc.c (grub_strstr): New function.
41742 * include/grub/misc.h (grub_strstr): New prototype.
41743
41744 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
41745
41746 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
41747
41748 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
41749
41750 * kern/misc.c (grub_strtoull): Guess the base only if not
41751 specified.
41752
41753 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41754
41755 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
41756 PowerMac support.
41757
41758 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41759
41760 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
41761
41762 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
41763 Remove `flags' argument. All callers changed.
41764 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
41765 (IEEE1275_IHANDLE_INVALID): New variable.
41766 (IEEE1275_CELL_INVALID): New variable.
41767 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
41768 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
41769 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
41770 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
41771 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
41772 codes from Open Firmware. All callers updated.
41773 (grub_ieee1275_next_property): Directly return Open Firmware return
41774 code.
41775 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41776 Standardize error checking from `grub_ieee1275_get_property'.
41777 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
41778 `devalias' to `aliases'. Correct comments. Consolidate error paths.
41779
41780 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
41781
41782 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
41783 `instance_to_package_args' to `instance_to_path_args'.
41784
41785 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
41786 `grub_ieee1275_chosen'.
41787
41788 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
41789 `grub_ieee1275_interpret'.
41790
41791 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41792
41793 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
41794
41795 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
41796
41797 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
41798 (__cmpdi): Likewise.
41799
41800 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
41801 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
41802 `grub_ssize_t'.
41803
41804 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
41805
41806 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
41807 to type `grub_ssize_t'.
41808 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
41809
41810 2006-09-22 Marco Gerards <marco@gnu.org>
41811
41812 * normal/script.c (grub_script_create_cmdmenu): Skip leading
41813 newlines.
41814
41815 2006-09-22 Marco Gerards <marco@gnu.org>
41816
41817 * commands/echo.c: New file.
41818
41819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
41820
41821 * conf/common.rmk (echo_mod_SOURCES): New variable.
41822 (echo_mod_CFLAGS): Likewise.
41823 (echo_mod_LDFLAGS): Likewise.
41824
41825 2006-09-22 Marco Gerards <marco@gnu.org>
41826
41827 * normal/main.c (get_line): Malloc memory instead of using
41828 preallocated memory. Removed the arguments `cmdline' and
41829 `max_len'. Updated all callers.
41830
41831 2006-09-22 Marco Gerards <marco@gnu.org>
41832
41833 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
41834 (normal_mod_DEPENDENCIES): Likewise.
41835
41836 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
41837 (normal_mod_DEPENDENCIES): Likewise.
41838
41839 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
41840
41841 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
41842
41843 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
41844 programs.
41845 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
41846 (normal_mod_DEPENDENCIES): Likewise.
41847 * conf/i386-pc.mk: Regenerate.
41848 * conf/i386-efi.mk: Likewise
41849 * conf/common.mk: Likewise.
41850 * conf/powerpc-ieee1275.mk: Likewise.
41851 * conf/sparc64-ieee1275.mk: Likewise.
41852
41853 2006-09-22 Robert Millan <rmh@aybabtu.com>
41854
41855 Sync with i386 version.
41856 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
41857 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
41858
41859 2006-09-21 Robert Millan <rmh@aybabtu.com>
41860
41861 Import from GRUB Legacy (lib/device.c):
41862 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
41863 (init_device_map) [__linux__]: Add support for I2O devices.
41864
41865 2006-09-14 Marco Gerards <marco@gnu.org>
41866
41867 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
41868 `-melf_i386'.
41869
41870 2006-09-14 Robert Millan <rmh@aybabtu.com>
41871
41872 * util/i386/pc/grub-install.in: Skip menu.lst when removing
41873 /boot/grub/*.lst.
41874
41875 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
41876
41877 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
41878 before adding it to device.map.
41879
41880 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
41881
41882 * genmk.rb: Let GCC generate dependencies the first time it
41883 compiles a file; using the -MD option.
41884 * conf/common.mk: Regenerate.
41885 * conf/i386-pc.mk: Likewise.
41886 * conf/i386-efi.mk: Likewise.
41887 * conf/powerpc-ieee1275.mk: Likewise.
41888 * conf/sparc64-ieee1275.mk: Likewise.
41889
41890 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
41891
41892 Move the prototypes of grub_setjmp and grub_longjmp to
41893 cpu/setjmp.h, so that each architecture may specify different
41894 attributes.
41895
41896 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
41897 (grub_longjmp): Likewise.
41898 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
41899 (grub_longjmp): Likewise.
41900 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
41901 (grub_longjmp): Likewise.
41902
41903 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
41904 [!GRUB_UTIL] (grub_longjmp): Removed.
41905
41906 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
41907
41908 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
41909 "color!" method does not return any value.
41910
41911 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
41912
41913 * include/grub/bitmap.h: New file.
41914
41915 * include/grub/i386/pc/vbeutil.h: Likewise.
41916
41917 * video/bitmap.c: Likewise.
41918
41919 * video/readers/tga.c: Likewise.
41920
41921 * video/i386/pc/vbeutil.c: Likewise.
41922
41923 * commands/videotest.c: Code cleanup and updated to reflect to new
41924 video API.
41925
41926 * term/gfxterm.c: Likewise.
41927
41928 * video/video.c: Likewise.
41929
41930 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
41931 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
41932 (bitmap_mod_SOURCES): New entry.
41933 (bitmap_mod_CFLAGS): Likewise.
41934 (bitmap_mod_LDFLAGS): Likewise.
41935 (tga_mod_SOURCES): Likewise.
41936 (tga_mod_CFLAGS): Likewise.
41937 (tga_mod_LDFLAGS): Likewise.
41938
41939 * include/grub/video.h (grub_video_blit_operators): New enum type.
41940 (grub_video_render_target): Changed as forward declaration and moved
41941 actual definition to be video driver specific.
41942 (grub_video_adapter.blit_bitmap): Added blitting operator.
41943 (grub_video_adapter.blit_render_target): Likewise.
41944 (grub_video_blit_bitmap): Likewise.
41945 (grub_video_blit_render_target): Likewise.
41946
41947 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
41948 driver specific render target definition.
41949 (grub_video_vbe_map_rgba): Added driver internal helper.
41950 (grub_video_vbe_unmap_color): Updated to use
41951 grub_video_i386_vbeblit_info.
41952 (grub_video_vbe_get_video_ptr): Likewise.
41953
41954 * include/grub/i386/pc/vbeblit.h
41955 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
41956 grub_video_i386_vbeblit_info.
41957 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
41958 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
41959 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
41960 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
41961 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
41962 (grub_video_i386_vbeblit_index_index): Likewise.
41963 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
41964 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
41965 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
41966 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
41967 operator.
41968 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
41969 operator.
41970
41971 * video/i386/pc/vbeblit.c: Updated to reflect changes on
41972 include/grub/i386/pc/vbeblit.h.
41973
41974 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
41975 Updated to use grub_video_i386_vbeblit_info.
41976 (grub_video_i386_vbefill_R8G8B8): Likewise.
41977 (grub_video_i386_vbefill_index): Likewise.
41978 (grub_video_i386_vbefill): Added generic filler.
41979
41980 * video/i386/pc/vbefill.c: Updated to reflect changes on
41981 include/grub/i386/pc/vbefill.h.
41982
41983 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
41984 grub_video_i386_vbeblit_info.
41985 (grub_video_vbe_unmap_color): Likewise.
41986 (grub_video_vbe_blit_glyph): Likewise.
41987 (grub_video_vbe_scroll): Likewise.
41988 (grub_video_vbe_draw_pixel): Removed function.
41989 (grub_video_vbe_get_pixel): Likewise.
41990 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
41991 updated code to use it.
41992 (common_blitter): Added common blitter for render target and bitmap.
41993 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
41994 (grub_video_vbe_blit_render_target): Likewise.
41995
41996 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
41997
41998 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
41999 is in text mode if there is no console control protocol instance
42000 available.
42001
42002 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42003
42004 * include/grub/video.h: Code cleanup.
42005
42006 * include/grub/i386/pc/vbe.h: Likewise.
42007
42008 * video/i386/pc/vbe.c: Likewise.
42009
42010 * video/i386/pc/vbeblit.c: Likewise.
42011
42012 * video/i386/pc/vbefill.c: Likewise.
42013
42014 * video/video.c: Likewise. Also added more comments.
42015
42016 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42017
42018 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42019 (struct grub_biosdisk_dap): Likewise.
42020
42021 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42022 linkage settings for all functions.
42023
42024 2006-07-12 Marco Gerards <marco@gnu.org>
42025
42026 * configure.ac (--enable-mm-debug): Fix typo.
42027
42028 * genkernsyms.sh.in: Use proper quoting for `CC'.
42029
42030 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42031
42032 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42033 (normal_mod_ASFLAGS): Remove "-m32".
42034
42035 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42036
42037 * util/misc.c: Include config.h.
42038 [!HAVE_MEMALIGN]: Do not include malloc.h.
42039 (grub_memalign): Use posix_memalign, if present. Then, use
42040 memalign, if present. Otherwise, emit an error.
42041
42042 * util/grub-emu.c: Do not include malloc.h.
42043
42044 * include/grub/util/misc.h: Include unistd.h. This is required for
42045 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42046 D. Eades III <hde@foobar-qux.org>.
42047
42048 * configure.ac (AC_GNU_SOURCE): Added.
42049 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42050 type.
42051
42052 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42053
42054 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42055 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42056
42057 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42058
42059 * include/grub/types.h (grub_host_addr_t): Rename to
42060 grub_target_addr_t.
42061 (grub_host_off_t): Rename to grub_target_off_t.
42062 (grub_host_size_t): Rename to grub_target_size_t.
42063 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42064 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42065
42066 * include/grub/kernel.h (struct grub_module_header): Change type
42067 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42068 (grub_module_info): Likewise.
42069
42070 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42071
42072 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42073 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42074 Velazquez <jesus.velazquez@gmail.com>.
42075
42076 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42077
42078 Count partitions from 1 instead of 0 in the string representation
42079 of partitions. Still use 0-based internally.
42080
42081 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42082 (sun_partition_map_iterate): Use grub_partition_t instead of
42083 struct grub_partition *. Cast DESC->START_CYLINDER to
42084 grub_uint64_t after converting the endian.
42085 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42086 (sun_partition_map_get_name): Add 1 to P->INDEX.
42087
42088 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42089 PCDATA->DOS_PART.
42090 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42091
42092 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42093 zero instead of one.
42094 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42095 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42096
42097 * partmap/apple.c (apple_partition_map_iterate): Change the type
42098 of POS to unsigned.
42099 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42100 (apple_partition_map_get_name): Add 1 into P->INDEX.
42101
42102 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42103 of POS to unsigned.
42104 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42105 calculate the offset of a partition.
42106 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42107 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42108
42109 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42110 SECTOR to grub_disk_addr_t.
42111 (acorn_partition_map_iterate): Likewise.
42112 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42113 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42114 top.
42115 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42116
42117 * kern/i386/pc/init.c (make_install_device): Add 1 into
42118 GRUB_INSTALL_DOS_PART.
42119
42120 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42121 conditional.
42122
42123 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42124
42125 Clean up the code to support 64-bit addressing in disks and
42126 files. This change is not enough for filesystems yet.
42127
42128 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42129 type of "start" to grub_uint64_t.
42130 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42131 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42132 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42133 convert addresses.
42134
42135 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42136 to grub_disk_addr_t.
42137
42138 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42139 string.
42140
42141 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42142
42143 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42144 to char *.
42145
42146 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42147
42148 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42149
42150 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42151
42152 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42153 to grub_off_t, to detect an error from grub_file_seek.
42154 (grub_multiboot_load_elf32): Likewise.
42155
42156 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42157 maximum unsigned long value when an overflow is detected.
42158 (grub_strtoull): New function.
42159 (grub_divmod64): Likewise.
42160 (grub_lltoa): use grub_divmod64.
42161
42162 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42163 grub_disk_addr_t.
42164 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42165 the pointer to next character. Use grub_strtoull instead of
42166 grub_strtoul.
42167 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42168 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42169 respectively.
42170
42171 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
42172 return value is signed.
42173 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42174 test if OFFSET is less than zero, as OFFSET is unsigned now.
42175
42176 * kern/disk.c (struct grub_disk_cache): Change the type of
42177 "sector" to grub_disk_addr_t.
42178 (grub_disk_cache_get_index): Change the type of SECTOR to
42179 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42180 unsigned after shifting.
42181 (grub_disk_cache_invalidate): Change the type of SECTOR to
42182 grub_disk_addr_t.
42183 (grub_disk_cache_unlock): Likewise.
42184 (grub_disk_cache_store): Likewise.
42185 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42186 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42187 grub_disk_addr_t and grub_uint64_t, respectively.
42188 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42189 body, as the value of OFFSET is tweaked by
42190 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42191 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42192 respectively.
42193 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42194 body, as the value of OFFSET is tweaked by
42195 grub_disk_check_range. Change the types of LEN and N to
42196 grub_size_t.
42197
42198 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42199 and "saved_offset" to grub_off_t.
42200 (test_header): Cast BUF to char *.
42201 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42202 to char *.
42203 (grub_gzio_read): Change the types of OFFSET and SIZE to
42204 grub_off_t and grub_size_t, respectively.
42205
42206 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42207 Removed.
42208 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42209 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42210 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42211 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42212 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42213
42214 * include/grub/types.h (grub_off_t): Unconditionally set to
42215 grub_uint64_t.
42216 (grub_disk_addr_t): Changed to grub_uint64_t.
42217
42218 * include/grub/partition.h (struct grub_partition): Change the
42219 types of "start", "len" and "offset" to grub_disk_addr_t,
42220 grub_uint64_t and grub_disk_addr_t, respectively.
42221 (grub_partition_get_start): Return grub_disk_addr_t.
42222 (grub_partition_get_len): Return grub_uint64_t.
42223
42224 * include/grub/misc.h (grub_strtoull): New prototype.
42225 (grub_divmod64): Likewise.
42226
42227 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42228 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42229 grub_off_t, respectively.
42230 All callers and references changed.
42231
42232 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42233 grub_size_t in "read".
42234 All callers and references changed.
42235
42236 * include/grub/file.h (struct grub_file): Change the types of
42237 "offset" and "size" to grub_off_t and grub_off_t,
42238 respectively. Change the type of SECTOR to grub_disk_addr_t in
42239 "read_hook".
42240 (grub_file_read): Change the type of LEN to grub_size_t.
42241 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42242 grub_off_t.
42243 (grub_file_size): Return grub_off_t.
42244 (grub_file_tell): Likewise.
42245 All callers and references changed.
42246
42247 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42248 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42249 "write".
42250 (struct grub_disk): Change the type of "total_sectors" to
42251 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
42252 "read_hook".
42253 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42254 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42255 (grub_disk_write): Likewise.
42256 All callers and references changed.
42257
42258 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42259 char * for grub_strncmp to silence gcc.
42260 (grub_iso9660_mount): Likewise.
42261 (grub_iso9660_mount): Likewise.
42262 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42263 return statement.
42264 (grub_iso9660_iterate_dir): Likewise.
42265 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42266
42267 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42268 LEN to grub_disk_addr_t and grub_size_t, respectively.
42269
42270 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42271
42272 * fs/jfs.c (grub_jfs_read_file): Likewise.
42273
42274 * fs/minix.c (grub_jfs_read_file): Likewise.
42275
42276 * fs/sfs.c (grub_jfs_read_file): Likewise.
42277
42278 * fs/ufs.c (grub_jfs_read_file): Likewise.
42279
42280 * fs/xfs.c (grub_jfs_read_file): Likewise.
42281
42282 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42283 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42284 respectively.
42285
42286 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42287 BLKNR to -1 instead of returning GRUB_ERRNO.
42288 (grub_ext2_read_file): Change the types of SECTOR and
42289 LEN to grub_disk_addr_t and grub_size_t, respectively.
42290
42291 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42292 LEN to grub_disk_addr_t and grub_size_t, respectively.
42293
42294 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42295 grub_file_read.
42296
42297 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42298 string. Do not cast SECTOR explicitly.
42299
42300 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42301 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42302 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42303 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42304 over 2TB and LBA mode is not supported, raise an error.
42305 (get_safe_sectors): New function.
42306 (grub_biosdisk_read): Use get_safe_sectors.
42307 (grub_biosdisk_write): Likewise.
42308
42309 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42310 (grub_efidisk_write): Likewise.
42311
42312 * disk/loopback.c (delete_loopback): Cosmetic changes.
42313 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42314 correctly.
42315 (grub_loopback_open): Likewise.
42316 (grub_loopback_read): Likewise. Also, change the type of POS to
42317 grub_off_t, and fix the usage of grub_memset.
42318
42319 * commands/i386/pc/play.c: Include grub/machine/time.h.
42320
42321 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42322 print FILE->SIZE.
42323
42324 * commands/configfile.c: Include grub/env.h.
42325
42326 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42327 GRUB_ERRNO directly instead. Change the type of POS to
42328 grub_off_t. Follow the coding standard.
42329
42330 * commands/blocklist.c: Include grub/partition.h.
42331 (grub_cmd_blocklist): Return an error if the underlying device is
42332 not a disk. Take the starting sector of a partition into account,
42333 if a partition is used.
42334
42335 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42336 a length field.
42337 (lba_mode): Support 64-bit addresses.
42338 (chs_mode): Likewise.
42339 (copy_buffer): Adapted to the new offsets of a length field and a
42340 segment field.
42341 (blocklist_default_start): Allocate 64-bit space.
42342
42343 * boot/i386/pc/boot.S (force_lba): Removed.
42344 (boot_drive): Moved to under KERNEL_SECTOR.
42345 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
42346 space.
42347 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42348 is useless.
42349 (lba_mode): Refactored to support a 64-bit address. More size
42350 optimization.
42351 (setup_sectors): Likewise.
42352
42353 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42354
42355 * DISTLIST: Added include/grub/i386/linux.h. Removed
42356 include/grub/i386/pc/linux.h
42357
42358 * configure.ac (AC_INIT): Bumped to 1.94.
42359
42360 * config.guess: Updated from gnulib.
42361 * config.sub: Likewise.
42362 * install-sh: Likewise.
42363 * mkinstalldirs: Likewise.
42364
42365 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42366
42367 * conf/common.rmk (grub_modules_init.lst): Depended on
42368 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42369 MODSRCFILES.
42370
42371 * genmk.rb (PModule::rule): Reverted the previous change.
42372
42373 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42374
42375 * conf/common.rmk (grub_modules_init.lst): Depends on
42376 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42377 that the target does not exist before producing.
42378 (grub_modules_init.h): Remove the target before generating.
42379 (grub_emu_init.c): Likewise.
42380
42381 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42382
42383 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42384
42385 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42386 for the target-specific tests. Make sure that we also have the
42387 up-to-date target variables for those tests.
42388
42389 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42390
42391 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42392 (PModule::rule): Likewise.
42393
42394 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42395
42396 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
42397 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
42398 target-specific flags should be prefixed.
42399 (PModule::rule): Likewise.
42400
42401 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
42402
42403 * configure.ac (CMP): Check if cmp is available explicitly.
42404
42405 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
42406
42407 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
42408 (target_cpu): New variable.
42409 (pkglibdir): Use target_cpu instead of host_cpu.
42410
42411 * util/i386/pc/grub-install.in (host_cpu): Removed.
42412 (target_cpu): New variable.
42413 (pkglibdir): Use target_cpu instead of host_cpu.
42414
42415 * util/genmoddep.c: Removed.
42416
42417 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
42418 instead of GRUB_HOST_SIZEOF_VOID_P.
42419 * kern/dl.c: Likewise.
42420
42421 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
42422 ...
42423 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42424 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42425 (GRUB_TARGET_SIZEOF_LONG): ... this.
42426 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42427 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42428 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42429 to ...
42430 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42431 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42432 (GRUB_TARGET_SIZEOF_LONG): ... this.
42433 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42434 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42435 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
42436 to ...
42437 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
42438 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
42439 (GRUB_TARGET_SIZEOF_LONG): ... this.
42440 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
42441 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
42442
42443 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
42444 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
42445 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
42446 instead of GRUB_HOST_SIZEOF_LONG.
42447 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
42448 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
42449 GRUB_CPU_WORDS_BIGENDIAN.
42450 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
42451 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
42452 grub_host_ssize_t.
42453
42454 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
42455 (genmoddep_SOURCES): Likewise.
42456 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
42457 (genmoddep_SOURCES): Likewise.
42458 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
42459 (genmoddep_SOURCES): Likewise.
42460 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
42461 Likewise.
42462 (genmoddep_SOURCES): Likewise.
42463
42464 * genmoddep.awk: New file.
42465
42466 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
42467 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
42468 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
42469 (PModule::rule): Likewise.
42470 (Program::rule): Likewise.
42471 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
42472 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
42473 respectively.
42474
42475 * configure.ac: Rewritten intensively to use host and target
42476 instead of build and host, respectively.
42477
42478 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
42479 (host_cpu): Removed.
42480 (target_cpu): New variable.
42481 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
42482 (BUILD_CC): Removed.
42483 (BUILD_CFLAGS): Likewise.
42484 (BUILD_CPPFLAGS): Likewise.
42485 (TARGET_CC): New variable.
42486 (TARGET_CFLAGS): Likewise.
42487 (TARGET_CPPFLAGS): Likewise.
42488 (TARGET_LDFLAGS): Likewise.
42489 (AWK): Likewise.
42490 (include): Use target_cpu instead of host_cpu.
42491 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
42492
42493 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
42494
42495 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
42496
42497 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
42498 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
42499 field 'false' to 'exec_on_false'.
42500 (grub_script_create_cmdif): Renamed argument names to reflect above
42501 changes.
42502
42503 * normal/execute.c (grub_script_execute_cmdif): Likewise.
42504
42505 * normal/script.c (grub_script_create_cmdif): Likewise.
42506
42507 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
42508
42509 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
42510 top.
42511 (grub_hfsplus_btree_recptr): Likewise.
42512 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
42513 FILEBLOCK both to pass a block number and store next block
42514 number.
42515 (grub_hfsplus_read_block): Rewritten heavily to support an extent
42516 overflow file correctly. Specify errors appropriately, because
42517 fshelp expects that GRUB_ERRNO is set when fails. Reuse
42518 grub_hfsplus_btree_recptr to get the pointer to a found key.
42519 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
42520 is found.
42521
42522 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
42523 linux.mod.
42524 (_linux_mod_SOURCES): New variable.
42525 (_linux_mod_CFLAGS): Likewise.
42526 (_linux_mod_LDFLAGS): Likewise.
42527 (linux_mod_SOURCES): Likewise.
42528 (linux_mod_CFLAGS): Likewise.
42529 (linux_mod_LDFLAGS): Likewise.
42530
42531 * DISTLIST: Added loader/i386/efi/linux.c,
42532 loader/i386/efi/linux_normal.c and
42533 include/grub/i386/efi/loader.h.
42534
42535 * loader/i386/efi/linux.c: New file.
42536 * loader/i386/efi/linux_normal.c: Likewise.
42537 * include/grub/i386/efi/loader.h: Likewise.
42538
42539 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
42540
42541 * commands/blocklist.c: New file.
42542
42543 * DISTLIST: Added commands/blocklist.c.
42544
42545 * term/efi/console.c (grub_console_highlight_color): Use a lighter
42546 color for the background, and a darker color for the foreground.
42547 (grub_console_checkkey): Return READ_KEY.
42548 (grub_console_cls): Set the background to
42549 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
42550
42551 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
42552
42553 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
42554 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
42555
42556 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
42557 prototype.
42558
42559 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
42560 BG. The spec is wrong again.
42561
42562 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
42563 prototype.
42564 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
42565
42566 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42567 commands/blocklist.c.
42568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42569
42570 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
42571 (blocklist_mod_SOURCES): New variable.
42572 (blocklist_mod_CFLAGS): Likewise.
42573 (blocklist_mod_LDFLAGS): Likewise.
42574
42575 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
42576
42577 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
42578 duplication.
42579 (lba_mode): Use %eax more intensively to reduce the code size.
42580
42581 2006-05-20 Marco Gerards <marco@gnu.org>
42582
42583 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
42584
42585 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
42586 for `menuentry'.
42587 (script): Accept leading newlines.
42588 (newlines): New rule to describe 0 or more newlines.
42589 (commands): Accept `command' with trailing newline. Fixed the
42590 order in which arguments were passed to `grub_script_add_cmd'.
42591 Accept commands separated by newlines.
42592 (function): Changed to accept newlines.
42593 (menuentry) Rewritten.
42594
42595 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
42596 front of the list, instead of to the end.
42597
42598 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
42599
42600 * util/i386/pc/grub-install.in (bindir): New variable.
42601 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
42602 Shaver <lbgwjl@gmail.com>.
42603
42604 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
42605
42606 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
42607 grub/machine/linux.h
42608 * loader/i386/pc/linux.c: Likewise.
42609
42610 * include/grub/i386/pc/linux.h: Moved to ...
42611 * include/grub/i386/linux.h: ... here.
42612
42613 * include/grub/i386/linux.h (struct linux_kernel_params): New
42614 struct.
42615
42616 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
42617
42618 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
42619 checking.
42620 (grub_video_vbe_blit_glyph): Likewise.
42621 (grub_video_vbe_blit_bitmap): Likewise.
42622 (grub_video_vbe_blit_render_target): Likewise.
42623
42624 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
42625
42626 * configure.ac (--with-platform): Properly quote the square
42627 brackets.
42628
42629 2006-05-08 Marco Gerards <marco@gnu.org>
42630
42631 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
42632 this...
42633 (kernel_elf_HEADERS): ...to this. Updated all users.
42634 (grubof_symlist.c): Renamed from this...
42635 (kernel_elf_symlist.c): ...to this. Updated all users.
42636 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42637 (grubof_SOURCES): Renamed from this...
42638 (kernel_elf_SOURCES): ...to this.
42639 (grubof_HEADERS): Renamed from this...
42640 (kernel_elf_HEADERS): ...to this.
42641 (grubof_CFLAGS): Renamed from this...
42642 (kernel_elf_CFLAGS): ...to this.
42643 (grubof_ASFLAGS): Renamed from this...
42644 (kernel_elf_ASFLAGS): ...to this.
42645 (grubof_LDFLAGS): Renamed from this...
42646 (kernel_elf_LDFLAGS): ...to this.
42647
42648 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
42649 this...
42650 (kernel_elf_HEADERS): ...to this. Updated all users.
42651 (grubof_symlist.c): Renamed from this...
42652 (kernel_elf_symlist.c): ...to this. Updated all users.
42653 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
42654 (grubof_SOURCES): Renamed from this...
42655 (kernel_elf_SOURCES): ...to this.
42656 (grubof_HEADERS): Renamed from this...
42657 (kernel_elf_HEADERS): ...to this.
42658 (grubof_CFLAGS): Renamed from this...
42659 (kernel_elf_CFLAGS): ...to this.
42660 (grubof_ASFLAGS): Renamed from this...
42661 (kernel_elf_ASFLAGS): ...to this.
42662 (grubof_LDFLAGS): Renamed from this...
42663 (kernel_elf_LDFLAGS): ...to this.
42664
42665 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
42666 `kernel.elf' instead of `grubof'.
42667
42668 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
42669
42670 Add --with-platform to configure. Use pkglibdir instead of
42671 pkgdatadir. This is reported by Roger Leigh.
42672
42673 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
42674 (host_vendor): Likewise.
42675 (host_os): Likewise.
42676 (pkgdatadir): Likewise.
42677 (platform): New variable.
42678 (pkglibdir): Likewise.
42679 Use PKGLIBDIR instead of PKGDATADIR.
42680
42681 * util/i386/pc/grub-install.in (datadir): Removed.
42682 (host_vendor): Likewise.
42683 (host_os): Likewise.
42684 (pkgdatadir): Likewise.
42685 (platform): New variable.
42686 (pkglibdir): Likewise.
42687 Use PKGLIBDIR instead of PKGDATADIR.
42688
42689 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
42690 instead of GRUB_DATADIR.
42691 (main): Likewise.
42692 * util/i386/pc/grub-mkimage.c (usage): Likewise.
42693 (main): Likewise.
42694 * util/i386/efi/grub-mkimage.c (usage): Likewise.
42695 (main): Likewise.
42696
42697 * configure.ac (--with-platform): New option.
42698 Use PLATFORM instead of HOST_VENDOR to specify a platform.
42699
42700 * Makefile.in: Include a makefile based on PLATFORM instead of
42701 HOST_VENDOR.
42702 (pkgdatadir): Not appended by the machine type.
42703 (pkglibdir): Appended by the machine type.
42704 (host_vendor): Removed.
42705 (platform): New variable.
42706 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
42707 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
42708 (uninstall): Likewise.
42709
42710 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
42711
42712 Use the environment context in the menu. Remove the commands
42713 "default" and "timeout", and use variables instead.
42714
42715 * normal/menu.c: Include grub/env.h.
42716 (print_entry): Cast TITLE to silence gcc.
42717 (get_timeout): New function.
42718 (set_timeout): Likewise.
42719 (get_entry_number): Likewise.
42720 (run_menu): Use a default entry, a fallback entry and a timeout
42721 in the environment variables "default", "fallback" and
42722 "timeout". Also, tweak the default entry if it is not within the
42723 current menu entries.
42724 (grub_menu_run): Use a fallback entry in the environment variable
42725 "fallback".
42726
42727 * normal/main.c (read_config_file): Do not initialize
42728 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
42729 NEWMENU->TIMEOUT.
42730 (grub_normal_execute): Use a data slot to store the menu.
42731
42732 * include/grub/normal.h (struct grub_menu): Removed default_entry,
42733 fallback_entry and timeout.
42734 (struct grub_menu_list): Removed.
42735 (grub_menu_list_t): Likewise.
42736 (struct grub_context): Likewise.
42737 (grub_context_t): Likewise.
42738 (grub_context_get): Likewise.
42739 (grub_context_get_current_menu): Likewise.
42740 (grub_context_push_menu): Likewise.
42741 (grub_context_pop_menu): Likewise.
42742 (grub_default_init): Likewise.
42743 (grub_default_fini): Likewise.
42744 (grub_timeout_init): Likewise.
42745 (grub_timeout_fini): Likewise.
42746
42747 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
42748 and timeout.mod.
42749 (normal_mod_SOURCES): Removed normal/context.c.
42750
42751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
42752 commands/default.c, commands/timeout.c and normal/context.c.
42753 (normal_mod_SOURCES): Removed normal/context.c.
42754
42755 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
42756 commands/timeout.c and normal/context.c.
42757 (normal_mod_SOURCES): Removed normal/context.c.
42758
42759 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
42760 commands/default.c, commands/timeout.c and normal/context.c.
42761 (normal_mod_SOURCES): Removed normal/context.c.
42762
42763 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
42764 timeout.mod.
42765 (default_mod_SOURCES): Removed.
42766 (default_mod_CFLAGS): Likewise.
42767 (default_mod_LDFLAGS): Likewise.
42768 (timeout_mod_SOURCES): Removed.
42769 (timeout_mod_CFLAGS): Likewise.
42770 (timeout_mod_LDFLAGS): Likewise.
42771
42772 * DISTLIST: Removed commands/default.c, commands/timeout.c and
42773 normal/context.c.
42774
42775 * commands/default.c: Removed.
42776 * commands/timeout.c: Likewise.
42777 * normal/context.c: Likewise.
42778
42779 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
42780
42781 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
42782
42783 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
42784
42785 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
42786 "next" to "prev" for readability.
42787 (struct grub_env_sorted_var): New struct.
42788 (grub_env_context): Renamed to ...
42789 (initial_context): ... this.
42790 (grub_env_var_context): Renamed to ...
42791 (current_context): ... this.
42792 (grub_env_find): Look only at CURRENT_CONTEXT.
42793 (grub_env_context_open): Rewritten to copy exported variables from
42794 previous context.
42795 (grub_env_context_close): Rewritten according to the new
42796 scheme. Also, add an assertion to prevent the initial context from
42797 removed.
42798 (grub_env_insert): Removed the code for the sorted list.
42799 (grub_env_remove): Likewise.
42800 (grub_env_export): Simply mark the variable with
42801 GRUB_ENV_VAR_GLOBAL.
42802 (grub_env_set): A cosmetic change for naming consistency.
42803 (grub_env_get): Likewise.
42804 (grub_env_unset): Likewise.
42805 (grub_env_iterate): Rewritten to sort variables within this
42806 function.
42807 (grub_register_variable_hook): Fixed for naming consistency. Call
42808 grub_env_find again, only if NAME is not found at the first time.
42809 (mangle_data_slot_name): New function.
42810 (grub_env_set_data_slot): Likewise.
42811 (grub_env_get_data_slot): Likewise.
42812 (grub_env_unset_data_slot): Likewise.
42813
42814 * include/grub/env.h (grub_env_var_type): New enum.
42815 (GRUB_ENV_VAR_LOCAL): New constant.
42816 (GRUB_ENV_VAR_GLOBAL): Likewise.
42817 (GRUB_ENV_VAR_DATA): Likewise.
42818 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
42819 "type".
42820 (grub_env_set): Replace VAR with NAME for consistency.
42821 (grub_register_variable_hook): Likewise.
42822 (grub_env_export): Specify the name of the argument.
42823 (grub_env_set_data_slot): New prototype.
42824 (grub_env_get_data_slot): Likewise.
42825 (grub_env_unset_data_slot): Likewise.
42826
42827 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42828
42829 Extend the loader so that GRUB can accept a loader which comes
42830 back to GRUB when a loaded image exits. Also, this change adds
42831 support for a chainloader on EFI.
42832
42833 * term/efi/console.c: Include grub/misc.h.
42834 (grub_console_checkkey): Display a scan code on the top for
42835 debugging. This will be removed once the EFI port gets stable.
42836 Correct the scan code mapping.
42837
42838 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
42839 allocate memory from larger regions, in order to reduce the number
42840 of allocated regions. Otherwise, the MacOSX loader panics.
42841 (filter_memory_map): Avoid less than 1MB for compatibility with
42842 other loaders.
42843 (add_memory_regions): Allocate from the tail of a region, if
42844 possible, to avoid allocating a region near to 1MB, for the MacOSX
42845 loader.
42846
42847 * kern/efi/init.c (grub_efi_set_prefix): Specify
42848 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
42849
42850 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
42851 argument IMAGE_HANDLE and specify it to get a loaded image.
42852 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
42853 grub_efi_get_loaded_image.
42854 (grub_efi_get_filename): Divide the length by the size of
42855 grub_efi_char16_t.
42856 (grub_efi_get_device_path): New function.
42857 (grub_efi_print_device_path): Print End Device Path nodes. Divide
42858 the length by the size of grub_efi_char16_t for a file path device
42859 path node.
42860
42861 * kern/loader.c (grub_loader_noreturn): New variable.
42862 (grub_loader_set): Accept a new argument NORETURN. Set
42863 GRUB_LOADER_NORETURN to NORETURN.
42864 All callers changed.
42865 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
42866 grub_machine_fini.
42867
42868 * include/grub/efi/efi.h (grub_efi_get_device_path): New
42869 prototype.
42870 (grub_efi_get_loaded_image): Take an argument to specify an image
42871 handle.
42872
42873 * include/grub/loader.h (grub_loader_set): Added one more argument
42874 NORETURN.
42875
42876 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
42877 instead of grub_efi_open_protocol.
42878 (grub_efidisk_get_device_name): Likewise.
42879 (grub_efidisk_close): Print a newline.
42880 (grub_efidisk_get_device_handle): Fixed to use
42881 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
42882 GRUB_EFI_DEVICE_PATH_TYPE.
42883
42884 * disk/efi/efidisk.c (device_path_guid): Moved to ...
42885 * kern/efi/efi.c (device_path_guid): ... here.
42886
42887 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
42888 chain.mod.
42889 (kernel_mod_HEADERS): Added efi/disk.h.
42890 (_chain_mod_SOURCES): New variable.
42891 (_chain_mod_CFLAGS): Likewise.
42892 (_chain_mod_LDFLAGS): Likewise.
42893 (chain_mod_SOURCES): Likewise.
42894 (chain_mod_CFLAGS): Likewise.
42895 (chain_mod_LDFLAGS): Likewise.
42896
42897 * DISTLIST: Added include/grub/efi/chainloader.h,
42898 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
42899
42900 * include/grub/efi/chainloader.h: New file.
42901 * loader/efi/chainloader.c: Likewise.
42902 * loader/efi/chainloader_normal.c: Likewise.
42903
42904 2006-04-30 Marco Gerards <marco@gnu.org>
42905
42906 * commands/configfile.c (grub_cmd_source): New function.
42907 (GRUB_MOD_INIT): Register the commands `source' and `.'.
42908 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
42909
42910 2006-04-30 Marco Gerards <marco@gnu.org>
42911
42912 * normal/execute.c (grub_script_execute_cmd): Change the return
42913 type to `grub_err_t'. Correctly return the error.
42914 (grub_script_execute_cmdline): In case a command line is not a
42915 command or a function, try to interpret it as an assignment.
42916
42917 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
42918
42919 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
42920 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
42921 skip a node whose name is obviously invalid as UTF-16,
42922 i.e. contains a NUL character. Stop the iteration when the last
42923 directory entry is found. Instead of using the return value of
42924 grub_hfsplus_btree_iterate_node, store the value in RET and use
42925 it, because the iterator can be stopped by the last directory
42926 entry.
42927
42928 2006-04-30 Marco Gerards <marco@gnu.org>
42929
42930 * include/grub/env.h (grub_env_export): New prototype. Reported
42931 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
42932
42933 2006-04-30 Marco Gerards <marco@gnu.org>
42934
42935 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
42936 size of the extents in a catalog file record.
42937
42938 2006-04-29 Marco Gerards <marco@gnu.org>
42939
42940 * commands/configfile.c (grub_cmd_configfile): Execute the
42941 configfile within its own context.
42942
42943 * include/grub/env.h (grub_env_context_open): New prototype.
42944 (grub_env_context_close): Likewise.
42945
42946 * kern/env.c (grub_env): Removed.
42947 (grub_env_sorted): Likewise.
42948 (grub_env_context): New variable.
42949 (grub_env_var_context): Likewise.
42950 (grub_env_find): Search both the active context and the global
42951 context.
42952 (grub_env_context_open): New function.
42953 (grub_env_context_close): Likewise.
42954 (grub_env_insert): Likewise.
42955 (grub_env_remove): Likewise.
42956 (grub_env_export): Likewise.
42957 (grub_env_set): Changed to use helper functions to avoid code
42958 duplication.
42959 (grub_env_iterate): Rewritten so both the current context and the
42960 global context are being used.
42961
42962 * normal/command.c (export_command): New function.
42963 (grub_command_init): Register the `export' function.
42964
42965 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
42966
42967 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
42968 explicitly to suppress gcc's warnings.
42969 * fs/fat.c (grub_fat_find_dir): Likewise.
42970 (grub_fat_label): Likewise.
42971 * fs/xfs.c (grub_xfs_read_inode): Likewise.
42972 (grub_xfs_mount): Likewise.
42973 (grub_xfs_label): Likewise.
42974 * fs/affs.c (grub_affs_mount): Likewise.
42975 (grub_affs_label): Likewise.
42976 (grub_affs_iterate_dir): Likewise.
42977 * fs/sfs.c (grub_sfs_mount): Likewise.
42978 (grub_sfs_iterate_dir): Likewise.
42979 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
42980 * fs/hfs.c (grub_hfs_mount): Likewise.
42981 (grub_hfs_cmp_catkeys): Likewise.
42982 (grub_hfs_find_dir): Likewise.
42983 (grub_hfs_dir): Likewise.
42984 (grub_hfs_label): Likewise.
42985 * fs/jfs.c (grub_jfs_mount): Likewise.
42986 (grub_jfs_opendir): Likewise.
42987 (grub_jfs_getent): Likewise.
42988 (grub_jfs_lookup_symlink): Likewise.
42989 (grub_jfs_label): Likewise.
42990 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
42991 (grub_hfsplus_iterate_dir): Likewise.
42992 (grub_hfsplus_btree_iterate_node): Made static.
42993
42994 * util/grub-emu.c (prefix): New variable.
42995 (grub_machine_set_prefix): New function.
42996 (main): Do not set the environment variable "prefix" here. Only
42997 set PREFIX, which is used later by grub_machine_set_prefix.
42998
42999 * include/grub/video.h: Do not include grub/symbol.h.
43000 (grub_video_register): Not exported. This symbol is not defined in
43001 the kernel.
43002 (grub_video_unregister): Likewise.
43003 (grub_video_iterate): Likewise.
43004 (grub_video_setup): Likewise.
43005 (grub_video_restore): Likewise.
43006 (grub_video_get_info): Likewise.
43007 (grub_video_get_blit_format): Likewise.
43008 (grub_video_set_palette): Likewise.
43009 (grub_video_get_palette): Likewise.
43010 (grub_video_set_viewport): Likewise.
43011 (grub_video_get_viewport): Likewise.
43012 (grub_video_map_color): Likewise.
43013 (grub_video_map_rgb): Likewise.
43014 (grub_video_map_rgba): Likewise.
43015 (grub_video_fill_rect): Likewise.
43016 (grub_video_blit_glyph): Likewise.
43017 (grub_video_blit_bitmap): Likewise.
43018 (grub_video_blit_render_target): Likewise.
43019 (grub_video_scroll): Likewise.
43020 (grub_video_swap_buffers): Likewise.
43021 (grub_video_create_render_target): Likewise.
43022 (grub_video_delete_render_target): Likewise.
43023 (grub_video_set_active_render_target): Likewise.
43024
43025 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43026 Undefined.
43027 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43028
43029 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43030 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43031 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43032 instead of $(srcdir)/genkernsyms.sh.
43033
43034 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43035 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43036 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43037 instead of $(srcdir)/genkernsyms.sh.
43038
43039 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43040 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43041 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43042 instead of $(srcdir)/genkernsyms.sh.
43043
43044 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43045 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43046 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43047 instead of $(srcdir)/genkernsyms.sh.
43048
43049 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43050 genkernsyms.sh.
43051
43052 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43053 genkernsyms.sh.
43054 (gensymlist.sh): New target.
43055 (genkernsyms.sh): Likewise.
43056
43057 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43058 genkernsyms.sh.in and gensymlist.sh.in.
43059
43060 * genkernsyms.sh: Removed.
43061 * gensymlist.sh: Likewise.
43062
43063 * genkernsyms.sh.in: New file.
43064 * gensymlist.sh.in: Likewise.
43065
43066 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43067
43068 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43069 clobber "prefix", since we may have already set it manually.
43070
43071 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43072
43073 * kern/misc.c (abort): New alias for grub_abort.
43074
43075 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43076
43077 A new machine-specific function "grub_machine_set_prefix" is
43078 defined. This is called after loading modules, so that a prefix
43079 initialization can use modules. Also, this change adds an
43080 intensive debugging feature for the memory manager via the
43081 configure option "--enable-mm-debug".
43082
43083 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43084 PART.LEN.
43085
43086 * kern/sparc64/ieee1275/init.c (abort): Removed.
43087 (grub_stop): Likewise.
43088 (grub_exit): New function.
43089 (grub_set_prefix): Renamed to ...
43090 (grub_machine_set_prefix): ... this.
43091 (grub_machine_init): Do not call grub_set_prefix.
43092
43093 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43094 (grub_machine_set_prefix): ... this.
43095 (grub_machine_init): Do not call grub_set_prefix.
43096
43097 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43098 (grub_machine_init): Do not set the prefix here.
43099
43100 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43101
43102 * kern/efi/init.c: Include grub/mm.h.
43103 (grub_efi_set_prefix): New function.
43104
43105 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43106 (grub_efi_get_filename): New function.
43107 (grub_print_device_path): Renamed to ...
43108 (grub_efi_print_device_path): ... this.
43109
43110 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43111 [MM_DEBUG] (grub_realloc): Likewise.
43112 [MM_DEBUG] (grub_free): Likewise.
43113 [MM_DEBUG] (grub_memalign): Likewise.
43114 [MM_DEBUG] (grub_mm_debug): New variable.
43115 [MM_DEBUG] (grub_debug_malloc): New function.
43116 [MM_DEBUG] (grub_debug_free): New function.
43117 [MM_DEBUG] (grub_debug_realloc): New function.
43118 [MM_DEBUG] (grub_debug_memalign): New function.
43119
43120 * kern/misc.c (grub_abort): Print a newline to distinguish
43121 the message.
43122
43123 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43124 grub_set_root_dev after loading modules. This is necessary when
43125 setting a prefix depends on modules.
43126
43127 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43128 (grub_efi_print_device_path): ... this.
43129 (grub_efi_get_filename): New prototype.
43130 (grub_efi_set_prefix): Likewise.
43131
43132 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43133 and grub/disk.h.
43134 (grub_efidisk_get_device_handle): New prototype.
43135 (grub_efidisk_get_device_name): Likewise.
43136
43137 * include/grub/mm.h: Include config.h.
43138 (MM_DEBUG): Removed.
43139 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43140 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43141 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43142 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43143 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43144 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43145 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43146 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43147 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43148
43149 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43150
43151 * disk/efi/efidisk.c: Include grub/partition.h.
43152 (iterate_child_devices): New function.
43153 (add_device): First, compare only last device path nodes, so that
43154 devices are sorted by the types.
43155 (grub_efidisk_get_device_handle): New function.
43156 (grub_efidisk_get_device_name): Likewise.
43157
43158 * configure.ac (--enable-mm-debug): New option to enable the
43159 memory manager debugging feature. This makes the binary much
43160 bigger, so is disabled by default.
43161
43162 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43163
43164 Use grub_abort instead of grub_stop, and grub_exit must be
43165 define in each architecture now. Also, this change adds support
43166 for EFI disks.
43167
43168 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43169 (grub_getkey): New function.
43170 (grub_term_get_current): Likewise.
43171
43172 * util/i386/pc/grub-setup.c: Include grub/term.h.
43173 (grub_getkey): New function.
43174 (grub_term_get_current): Likewise.
43175
43176 * util/misc.c (grub_stop): Renamed to ...
43177 (grub_exit): ... this.
43178
43179 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43180 (grub_exit): ... this.
43181 (grub_machine_init): Use grub_abort instead of abort.
43182 (grub_stop): Removed.
43183
43184 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43185 abort.
43186
43187 * kern/i386/pc/startup.S (grub_exit): New function.
43188 (cold_reboot): New label.
43189
43190 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43191 (grub_efi_init): Call grub_efidisk_init.
43192 (grub_efi_fini): Call grub_efidisk_fini.
43193
43194 * kern/efi/efi.c: Include grub/mm.h.
43195 (grub_efi_console_control_guid): Renamed to ...
43196 (console_control_guid): ... this.
43197 (grub_efi_loaded_image_guid): Renamed to ...
43198 (loaded_image_guid): ... this.
43199 (grub_efi_locate_handle): New function.
43200 (grub_efi_open_protocol): Likewise.
43201 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43202 GRUB_EFI_CONSOLE_CONTROL_GUID.
43203 (grub_efi_exit): Removed.
43204 (grub_stop): Likewise.
43205 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43206 (grub_exit): New function.
43207 (grub_print_device_path): Likewise.
43208
43209 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43210 (grub_enter_rescue_mode): Register "exit".
43211
43212 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43213 (grub_abort): New function.
43214
43215 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43216
43217 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43218
43219 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43220
43221 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43222 (grub_print_device_path): New prototype.
43223 (grub_efi_locate_handle): Likewise.
43224 (grub_efi_open_protocol): Likewise.
43225
43226 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43227 * disk/efi/efidisk.c: Likewise.
43228
43229 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43230
43231 * include/grub/efi/console_control.h
43232 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43233
43234 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43235 last 8 bytes as an array.
43236 (GRUB_EFI_DISK_IO_GUID): New macro.
43237 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43238 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43239 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43240 grub_uint8_t.
43241 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43242 (struct grub_efi_device_path): Rename the member "sub_type" to
43243 "subtype".
43244 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43245 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43246 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43247 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43248 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43249 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43250 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43251 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43252 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43253 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43254 (struct grub_efi_pci_device_path): New structure.
43255 (grub_efi_pci_device_path_t): New type.
43256 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43257 (struct grub_efi_pccard_device_path): New structure.
43258 (grub_efi_pccard_device_path_t): New type.
43259 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43260 (struct grub_efi_memory_mapped_device_path): New structure.
43261 (grub_efi_memory_mapped_device_path_t): New type.
43262 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43263 (struct grub_efi_vendor_device_path): New structure.
43264 (grub_efi_vendor_device_path_t): New type.
43265 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43266 (struct grub_efi_controller_device_path): New structure.
43267 (grub_efi_controller_device_path_t): New type.
43268 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43269 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43270 (struct grub_efi_acpi_device_path): New structure.
43271 (grub_efi_acpi_device_path_t): New type.
43272 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43273 (struct grub_efi_expanded_acpi_device_path): New structure.
43274 (grub_efi_expanded_acpi_device_path_t): New type.
43275 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43276 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43277 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43278 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43279 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43280 (struct grub_efi_atapi_device_path): New structure.
43281 (grub_efi_atapi_device_path_t): New type.
43282 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43283 (struct grub_efi_fibre_channel_device_path): New structure.
43284 (grub_efi_fibre_channel_device_path_t): New type.
43285 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43286 (struct grub_efi_1394_device_path): New structure.
43287 (grub_efi_1394_device_path_t): New type.
43288 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43289 (struct grub_efi_usb_device_path): New structure.
43290 (grub_efi_usb_device_path_t): New type.
43291 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43292 (struct grub_efi_usb_class_device_path): New structure.
43293 (grub_efi_usb_class_device_path_t): New type.
43294 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43295 (struct grub_efi_i2o_device_path): New structure.
43296 (grub_efi_i2o_device_path_t): New type.
43297 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43298 (struct grub_efi_mac_address_device_path): New structure.
43299 (grub_efi_mac_address_device_path_t): New type.
43300 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43301 (struct grub_efi_ipv4_device_path): New structure.
43302 (grub_efi_ipv4_device_path_t): New type.
43303 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43304 (struct grub_efi_ipv6_device_path): New structure.
43305 (grub_efi_ipv6_device_path_t): New type.
43306 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43307 (struct grub_efi_infiniband_device_path): New structure.
43308 (grub_efi_infiniband_device_path_t): New type.
43309 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43310 (struct grub_efi_uart_device_path): New structure.
43311 (grub_efi_uart_device_path_t): New type.
43312 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43313 (struct grub_efi_vendor_messaging_device_path): New structure.
43314 (grub_efi_vendor_messaging_device_path_t): New type.
43315 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43316 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43317 (struct grub_efi_hard_drive_device_path): New structure.
43318 (grub_efi_hard_drive_device_path_t): New type.
43319 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43320 (struct grub_efi_cdrom_device_path): New structure.
43321 (grub_efi_cdrom_device_path_t): New type.
43322 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43323 (struct grub_efi_vendor_media_device_path): New structure.
43324 (grub_efi_vendor_media_device_path_t): New type.
43325 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43326 (struct grub_efi_file_path_device_path): New structure.
43327 (grub_efi_file_path_device_path_t): New type.
43328 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43329 (struct grub_efi_protocol_device_path): New structure.
43330 (grub_efi_protocol_device_path_t): New type.
43331 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43332 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43333 (struct grub_efi_bios_device_path): New structure.
43334 (grub_efi_bios_device_path_t): New type.
43335 (struct grub_efi_disk_io): New structure.
43336 (grub_efi_disk_io_t): New type.
43337 (struct grub_efi_block_io_media): New structure.
43338 (grub_efi_block_io_media_t): New type.
43339 (struct grub_efi_block_io): New structure.
43340 (grub_efi_block_io_t): New type.
43341
43342 * include/grub/misc.h (grub_stop): Removed.
43343 (grub_exit): New prototype.
43344 (grub_abort): Likewise.
43345
43346 * include/grub/disk.h (enum grub_disk_dev_id): Added
43347 GRUB_DISK_DEVICE_EFIDISK_ID.
43348
43349 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43350 disk/efi/efidisk.c.
43351 (kernel_syms.lst): Remove the target if an error occurs.
43352
43353 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43354
43355 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43356 as it was simply too buggy.
43357
43358 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43359
43360 * kern/misc.c (grub_lltoa): New function.
43361 (grub_vsprintf): Added support for the long long suffix,
43362 i.e. "ll".
43363
43364 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43365
43366 * Makefile.in (LDFLAGS): Add variable.
43367 (LD): Remove variable.
43368 * configure.ac: Add -m32 to LDFLAGS.
43369 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43370 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43371 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43372 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43373 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43374 variables.
43375 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43376 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43377 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43378
43379 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43380
43381 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43382 length for unknown glyph.
43383
43384 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43385
43386 Add support for pre-loaded modules into the EFI port.
43387
43388 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43389 completely. Accept one more argument DIR. The caller has changed.
43390
43391 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43392
43393 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43394 (grub_efi_loaded_image_guid): New variable.
43395 (grub_efi_get_loaded_image): New function.
43396 (grub_arch_modules_addr): Likewise.
43397
43398 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
43399 prototype.
43400
43401 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
43402 (struct grub_efi_loaded_image): New structure.
43403 (grub_efi_loaded_image_t): New type.
43404
43405 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43406
43407 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
43408 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
43409 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
43410
43411 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
43412
43413 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
43414
43415 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
43416
43417 * DISTLIST: Added include/grub/efi/console.h,
43418 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
43419 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43420
43421 * include/grub/efi/console.h: New file.
43422 * include/grub/efi/time.h: Likewise.
43423 * include/grub/i386/efi/kernel.h: Likewise.
43424 * kern/efi/init.c: Likewise.
43425 * kern/efi/mm.c: Likewise.
43426 * term/efi/console.c: Likewise.
43427
43428 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
43429 (grub_stop): Removed.
43430 (grub_get_rtc): Likewise.
43431 (grub_machine_init): Simply call grub_efi_init.
43432 (grub_machine_fini): Call grub_efi_fini.
43433
43434 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
43435 (grub_efi_output_string): Removed.
43436 (grub_efi_stall): New function.
43437 (grub_stop): Likewise.
43438 (grub_get_rtc): Likewise.
43439
43440 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
43441 (grub_efi_stall): New prototype.
43442 (grub_efi_allocate_pages): Likewise.
43443 (grub_efi_free_pages): Likewise.
43444 (grub_efi_get_memory_map): Likewise.
43445 (grub_efi_mm_init): Likewise.
43446 (grub_efi_mm_fini): Likewise.
43447 (grub_efi_init): Likewise.
43448 (grub_efi_fini): Likewise.
43449
43450 * include/grub/i386/efi/time.h: Do not include
43451 grub/symbol.h. Include grub/efi/time.h.
43452 (GRUB_TICKS_PER_SECOND): Removed.
43453 (grub_get_rtc): Likewise.
43454
43455 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
43456 Added padding. The EFI spec is buggy.
43457 (GRUB_EFI_BLACK): New macro.
43458 (GRUB_EFI_BLUE): Likewise.
43459 (GRUB_EFI_GREEN): Likewise.
43460 (GRUB_EFI_CYAN): Likewise.
43461 (GRUB_EFI_RED): Likewise.
43462 (GRUB_EFI_MAGENTA): Likewise.
43463 (GRUB_EFI_BROWN): Likewise.
43464 (GRUB_EFI_LIGHTGRAY): Likewise.
43465 (GRUB_EFI_BRIGHT): Likewise.
43466 (GRUB_EFI_DARKGRAY): Likewise.
43467 (GRUB_EFI_LIGHTBLUE): Likewise.
43468 (GRUB_EFI_LIGHTGREEN): Likewise.
43469 (GRUB_EFI_LIGHTCYAN): Likewise.
43470 (GRUB_EFI_LIGHTRED): Likewise.
43471 (GRUB_EFI_LIGHTMAGENTA): Likewise.
43472 (GRUB_EFI_YELLOW): Likewise.
43473 (GRUB_EFI_WHITE): Likewise.
43474 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
43475 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
43476 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
43477 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
43478 (GRUB_EFI_BACKGROUND_RED): Likewise.
43479 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
43480 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
43481 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
43482 (GRUB_EFI_TEXT_ATTR): Likewise.
43483
43484 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
43485 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
43486 (kernel_mod_HEADERS): Added efi/time.h.
43487
43488 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
43489
43490 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
43491 include/grub/efi/api.h, include/grub/efi/console_control.h,
43492 include/grub/efi/efi.h, include/grub/efi/pe32.h,
43493 include/grub/i386/efi/time.h, kern/efi/efi.c,
43494 kern/i386/efi/init.c, kern/i386/efi/startup.S,
43495 and util/i386/efi/grub-mkimage.c.
43496
43497 * Makefile.in (RMKFILES): Added i386-efi.rmk.
43498
43499 * genmk.rb (PModule#rule): Do not export symbols if
43500 #{prefix}_EXPORTS is set to "no".
43501
43502 * conf/i386-efi.mk: New file.
43503 * conf/i386-efi.rmk: Likewise.
43504 * include/grub/efi/api.h: Likewise.
43505 * include/grub/efi/console_control.h: Likewise.
43506 * include/grub/efi/efi.h: Likewise.
43507 * include/grub/efi/pe32.h: Likewise.
43508 * include/grub/i386/efi/time.h: Likewise.
43509 * kern/efi/efi.c: Likewise.
43510 * kern/i386/efi/init.c: Likewise.
43511 * kern/i386/efi/startup.S: Likewise.
43512 * util/i386/efi/grub-mkimage.c: Likewise.
43513
43514 2006-04-17 Marco Gerards <marco@gnu.org>
43515
43516 * include/grub/script.h: Include <grub/parser.h> and
43517 "grub_script.tab.h".
43518 (struct grub_lexer_param): New struct.
43519 (struct grub_parser_param): Likewise.
43520 (grub_script_create_arglist): Pass the state in an argument.
43521 (grub_script_add_arglist): Likewise.
43522 (grub_script_create_cmdline): Likewise.
43523 (grub_script_create_cmdblock): Likewise.
43524 (grub_script_create_cmdif): Likewise.
43525 (grub_script_create_cmdmenu): Likewise.
43526 (grub_script_add_cmd): Likewise.
43527 (grub_script_arg_add): Likewise.
43528 (grub_script_lexer_ref): Likewise.
43529 (grub_script_lexer_deref): Likewise.
43530 (grub_script_lexer_record_start): Likewise.
43531 (grub_script_lexer_record_stop): Likewise.
43532 (grub_script_mem_record): Likewise.
43533 (grub_script_mem_record_stop): Likewise.
43534 (grub_script_malloc): Likewise.
43535 (grub_script_yylex): Likewise.
43536 (grub_script_yyparse): Likewise.
43537 (grub_script_yyerror): Likewise.
43538 (grub_script_yylex): Likewise.
43539 (grub_script_lexer_init): Return the state.
43540
43541 * normal/lexer.c (grub_script_lexer_state): Removed variable.
43542 (grub_script_lexer_done): Likewise.
43543 (grub_script_lexer_getline): Likewise.
43544 (grub_script_lexer_refs): Likewise.
43545 (script): Likewise.
43546 (newscript): Likewise.
43547 (record): Likewise.
43548 (recording): Likewise.
43549 (recordpos): Likewise.
43550 (recordlen): Likewise.
43551 (grub_script_lexer_init): Return the state instead of setting
43552 global variables.
43553 (grub_script_lexer_ref): Use the newly added argument for state
43554 instead of globals.
43555 (grub_script_lexer_deref): Likewise.
43556 (grub_script_lexer_record_start): Likewise.
43557 (grub_script_lexer_record_stop): Likewise.
43558 (recordchar): Likewise.
43559 (nextchar): Likewise.
43560 (grub_script_yylex2): Likewise.
43561 (grub_script_yylex): Likewise.
43562 (grub_script_yyerror): Likewise.
43563
43564 * normal/parser.y (func_mem): Removed variable.
43565 (menu_entry): Likewise.
43566 (err): Likewise.
43567 (%lex-param): New parser option.
43568 (%parse-param): Likewise.
43569 (script): Always return the AST.
43570 (argument): Pass the state around.
43571 (arguments): Likewise.
43572 (grubcmd): Likewise.
43573 (commands): Likewise.
43574 (function): Likewise.
43575 (menuentry): Likewise.
43576 (if_statement): Likewise.
43577 (if): Likewise.
43578
43579 * normal/script.c (grub_script_memused): Removed variable.
43580 (grub_script_parsed): Likewise.
43581 (grub_script_malloc): Added a state argument. Use that instead of
43582 global variables.
43583 (grub_script_mem_record): Likewise.
43584 (grub_script_mem_record_stop): Likewise.
43585 (grub_script_arg_add): Likewise.
43586 (grub_script_add_arglist): Likewise.
43587 (grub_script_create_cmdline): Likewise.
43588 (grub_script_create_cmdif): Likewise.
43589 (grub_script_create_cmdmenu): Likewise.
43590 (grub_script_add_cmd): Likewise.
43591 (grub_script_parse): Setup the state before calling the parser.
43592
43593 2006-04-16 Marco Gerards <marco@gnu.org>
43594
43595 * normal/command.c (grub_command_init): Remove the title command.
43596
43597 * normal/lexer.c (grub_script_yylex): Renamed from this...
43598 (grub_script_yylex2): ... to this.
43599 (grub_script_yylex): New function. Temporary
43600 introduced to filter some tokens.
43601 (grub_script_yyerror): Print a newline.
43602
43603 * normal/main.c (read_config_file): Output information about the
43604 lines that contain errors. Wait for a key after all lines have
43605 been processed. Don't return an empty menu.
43606
43607 * normal/parser.y (func_mem): Don't initialize.
43608 (menu_entry): Likewise.
43609 (err): New variable.
43610 (script): Don't return anything when an error was encountered.
43611 (ws, returns): Removed rules.
43612 (argument): Disabled concatenated variable support.
43613 (arguments): Remove explicit separators.
43614 (grubcmd): Likewise.
43615 (function): Likewise.
43616 (menuentry): Likewise.
43617 (if): Likewise.
43618 (commands): Likewise. Add error handling.
43619
43620 * normal/script.c (grub_script_create_cmdline): If
43621 `grub_script_parsed' is 0, assume the parser encountered an error.
43622
43623 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
43624
43625 * configure.ac: Add support for EFI. Fix the typo
43626 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
43627
43628 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43629
43630 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
43631 foreign multibyte characters should be shown correctly.
43632
43633 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
43634
43635 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
43636 calculation.
43637 (read_config_file): Made it to close file before returning.
43638
43639 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
43640
43641 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
43642 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
43643 video/i386/pc/vbefill.c.
43644
43645 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
43646 video/i386/pc/vbefill.c.
43647
43648 * include/grub/video.h (grub_video_blit_format): New enum.
43649 (grub_video_mode_info): Added new member blit_format.
43650 (grub_video_get_blit_format): New function prototype.
43651
43652 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
43653 function prototype.
43654 (grub_video_vbe_map_rgb): Likewise.
43655 (grub_video_vbe_unmap_color): Likewise.
43656
43657 * include/grub/i386/pc/vbeblit.h: New file.
43658
43659 * include/grub/i386/pc/vbefill.h: New file.
43660
43661 * video/video.c (grub_video_get_blit_format): New function.
43662 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
43663 (grub_video_vbe_map_rgb): Likewise.
43664 (grub_video_vbe_unmap_color): Likewise.
43665
43666 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
43667 optimized fills.
43668 (grub_video_vbe_blit_render_target): Changed to use more optimized
43669 blits.
43670 (grub_video_vbe_setup): Added detection for optimized settings.
43671 (grub_video_vbe_create_render_target): Likewise.
43672
43673 * video/i386/pc/vbeblit.c: New file.
43674
43675 * video/i386/pc/vbefill.c: New file.
43676
43677 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
43678
43679 * font/manager.c (grub_font_get_glyph): Removed font fixup from
43680 here...
43681
43682 * util/unifont2pff.rb: ... and moved it to here. Improved argument
43683 parsing to support both hex and dec ranges. If filename was missing
43684 show usage information.
43685
43686 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
43687
43688 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
43689 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
43690
43691 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
43692 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
43693 (video_mod_SOURCES): Added.
43694 (video_mod_CFLAGS): Likewise.
43695 (video_mod_LDFLAGS): Likewise.
43696 (gfxterm_mod_SOURCES): Likewise.
43697 (gfxterm_mod_CFLAGS): Likewise.
43698 (gfxterm_mod_LDFLAGS): Likewise.
43699 (videotest_mod_SOURCES): Likewise.
43700 (videotest_mod_CFLAGS): Likewise.
43701 (videotest_mod_LDFLAGS): Likewise.
43702 (vesafb_mod_SOURCES): Removed.
43703 (vesafb_mod_CFLAGS): Likewise.
43704 (vesafb_mod_LDFLAGS): Likewise.
43705 (vga_mod_SOURCES): Likewise.
43706 (vga_mod_CFLAGS): Likewise.
43707 (vga_mod_LDFLAGS): Likewise.
43708
43709 * commands/videotest.c: New file.
43710
43711 * font/manager.c (fill_with_default_glyph): Modified to use
43712 grub_font_glyph.
43713 (grub_font_get_glyph): Likewise.
43714 (fontmanager): Renamed from this...
43715 (font_manager): ... to this.
43716
43717 * include/grub/font.h (grub_font_glyph): Added new structure.
43718 (grub_font_get_glyph): Modified to use grub_font_glyph.
43719
43720 * include/grub/misc.h (grub_abs): Added as inline function.
43721
43722 * include/grub/video.h: New file.
43723
43724 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
43725 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
43726 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
43727 (grub_vbe_get_controller_info): Renamed from this...
43728 (grub_vbe_bios_get_controller_info): ... to this.
43729 (grub_vbe_get_mode_info): Renamed from this...
43730 (grub_vbe_bios_get_mode_info): ... to this.
43731 (grub_vbe_set_mode): Renamed from this...
43732 (grub_vbe_bios_set_mode): ... to this.
43733 (grub_vbe_get_mode): Renamed from this...
43734 (grub_vbe_bios_get_mode): ... to this.
43735 (grub_vbe_set_memory_window): Renamed from this...
43736 (grub_vbe_bios_set_memory_window): ... to this.
43737 (grub_vbe_get_memory_window): Renamed from this...
43738 (grub_vbe_bios_get_memory_window): ... to this.
43739 (grub_vbe_set_scanline_length): Renamed from this...
43740 (grub_vbe_set_scanline_length): ... to this.
43741 (grub_vbe_get_scanline_length): Renamed from this...
43742 (grub_vbe_bios_get_scanline_length): ... to this.
43743 (grub_vbe_set_display_start): Renamed from this...
43744 (grub_vbe_bios_set_display_start): ... to this.
43745 (grub_vbe_get_display_start): Renamed from this...
43746 (grub_vbe_bios_get_display_start): ... to this.
43747 (grub_vbe_set_palette_data): Renamed from this...
43748 (grub_vbe_bios_set_palette_data): ... to this.
43749 (grub_vbe_set_pixel_rgb): Removed.
43750 (grub_vbe_set_pixel_index): Likewise.
43751
43752 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
43753 from this...
43754 (grub_vbe_bios_get_controller_info): ... to this.
43755 (grub_vbe_get_mode_info): Renamed from this...
43756 (grub_vbe_bios_get_mode_info): ... to this.
43757 (grub_vbe_set_mode): Renamed from this...
43758 (grub_vbe_bios_set_mode): ... to this.
43759 (grub_vbe_get_mode): Renamed from this...
43760 (grub_vbe_bios_get_mode): ... to this.
43761 (grub_vbe_set_memory_window): Renamed from this...
43762 (grub_vbe_bios_set_memory_window): ... to this.
43763 (grub_vbe_get_memory_window): Renamed from this...
43764 (grub_vbe_bios_get_memory_window): ... to this.
43765 (grub_vbe_set_scanline_length): Renamed from this...
43766 (grub_vbe_set_scanline_length): ... to this.
43767 (grub_vbe_get_scanline_length): Renamed from this...
43768 (grub_vbe_bios_get_scanline_length): ... to this.
43769 (grub_vbe_set_display_start): Renamed from this...
43770 (grub_vbe_bios_set_display_start): ... to this.
43771 (grub_vbe_get_display_start): Renamed from this...
43772 (grub_vbe_bios_get_display_start): ... to this.
43773 (grub_vbe_set_palette_data): Renamed from this...
43774 (grub_vbe_bios_set_palette_data): ... to this.
43775 (grub_vbe_bios_get_controller_info): Fixed problem with registers
43776 getting corrupted after calling it. Added more pushes and pops.
43777 (grub_vbe_bios_set_mode): Likewise.
43778 (grub_vbe_bios_get_mode): Likewise.
43779 (grub_vbe_bios_get_memory_window): Likewise.
43780 (grub_vbe_bios_set_scanline_length): Likewise.
43781 (grub_vbe_bios_get_scanline_length): Likewise.
43782 (grub_vbe_bios_get_display_start): Likewise.
43783 (grub_vbe_bios_set_palette_data): Likewise.
43784
43785 * normal/cmdline.c (cl_set_pos): Refresh the screen.
43786 (cl_insert): Likewise.
43787 (cl_delete): Likewise.
43788
43789 * term/gfxterm.c: New file.
43790
43791 * term/i386/pc/vesafb.c: Removed file.
43792
43793 * video/video.c: New file.
43794
43795 * video/i386/pc/vbe.c (real2pm): Added new function.
43796 (grub_video_vbe_draw_pixel): Likewise.
43797 (grub_video_vbe_get_video_ptr): Likewise.
43798 (grub_video_vbe_get_pixel): Likewise
43799 (grub_video_vbe_init): Likewise.
43800 (grub_video_vbe_fini): Likewise.
43801 (grub_video_vbe_setup): Likewise.
43802 (grub_video_vbe_get_info): Likewise.
43803 (grub_video_vbe_set_palette): Likewise.
43804 (grub_video_vbe_get_palette): Likewise.
43805 (grub_video_vbe_set_viewport): Likewise.
43806 (grub_video_vbe_get_viewport): Likewise.
43807 (grub_video_vbe_map_color): Likewise.
43808 (grub_video_vbe_map_rgb): Likewise.
43809 (grub_video_vbe_map_rgba): Likewise.
43810 (grub_video_vbe_unmap_color): Likewise.
43811 (grub_video_vbe_fill_rect): Likewise.
43812 (grub_video_vbe_blit_glyph): Likewise.
43813 (grub_video_vbe_blit_bitmap): Likewise.
43814 (grub_video_vbe_blit_render_target): Likewise.
43815 (grub_video_vbe_scroll): Likewise.
43816 (grub_video_vbe_swap_buffers): Likewise.
43817 (grub_video_vbe_create_render_target): Likewise.
43818 (grub_video_vbe_delete_render_target): Likewise.
43819 (grub_video_vbe_set_active_render_target): Likewise.
43820 (grub_vbe_set_pixel_rgb): Remove function.
43821 (grub_vbe_set_pixel_index): Likewise.
43822 (index_color_mode): Remove static variable.
43823 (active_mode): Likewise.
43824 (framebuffer): Likewise.
43825 (bytes_per_scan_line): Likewise.
43826 (grub_video_vbe_adapter): Added new static variable.
43827 (framebuffer): Likewise.
43828 (render_target): Likewise.
43829 (initial_mode): Likewise.
43830 (mode_in_use): Likewise.
43831 (mode_list): Likewise.
43832
43833 2006-03-10 Marco Gerards <marco@gnu.org>
43834
43835 * configure.ac (AC_INIT): Bumped to 1.93.
43836
43837 * DISTLIST: Added `include/grub/hfs.h'.
43838
43839 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
43840
43841 * boot/i386/pc/boot.S (general_error): Before looping, try INT
43842 18H, which might help the BIOS falling back to next boot media.
43843
43844 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
43845
43846 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
43847 Poe Chen <poe.poechen@gmail.com>.
43848
43849 2006-01-17 Marco Gerards <marco@gnu.org>
43850
43851 * include/grub/normal.h: Include <grub/script.h>.
43852 (grub_command_list): Removed struct.
43853 (grub_command_list_t): Removed type.
43854 (grub_menu_entry): Remove members `num' and `command_list'. Add
43855 members `commands' and `sourcecode'.
43856 * include/grub/script.h: Add inclusion guards.
43857 (grub_script_cmd_menuentry): New struct.
43858 (grub_script_execute_menuentry): New prototype.
43859 (grub_script_lexer_record_start): Likewise.
43860 (grub_script_lexer_record_stop): Likewise.
43861 * normal/execute.c (grub_script_execute_menuentry): New function.
43862 * normal/lexer.c (record, recording, recordpos, recordlen): New
43863 variables.
43864 (grub_script_lexer_record_start): New function.
43865 (grub_script_lexer_record_stop): Likewise.
43866 (recordchar): Likewise.
43867 (nextchar): Likewise.
43868 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
43869 2048 as the buffer size. Add the tokens `menuentry' and `@'.
43870 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
43871 (current_menu): New variable.
43872 (free_menu): Mainly rewritten.
43873 (grub_normal_menu_addentry): New function.
43874 (read_config_file): Rewritten.
43875 * normal/menu.c (run_menu_entry): Mainly rewritten.
43876 * normal/menu_entry.c (make_screen): Rewritten the code to insert
43877 the menu entry.
43878 (run): Mainly rewritten.
43879 * normal/parser.y (menu_entry): New variable.
43880 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
43881 (menuentry): New rule.
43882 (command): Add `menuentry'.
43883 (if_statement): Allow additional returns before `fi'.
43884 * normal/script.c (grub_script_create_cmdmenu): New function.
43885
43886 2006-01-03 Marco Gerards <marco@gnu.org>
43887
43888 * INSTALL: GNU Bison is required.
43889 * configure.ac: Rewritten the test to detect Bison.
43890 * Makefile.in (YACC): New variable. Reported by Xun Sun
43891 <xun.sun.cn@gmail.com>.
43892
43893 2006-01-03 Marco Gerards <marco@gnu.org>
43894
43895 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
43896 the HFS+ filesystem to filesystem blocks.
43897 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
43898 GCC warning is silenced.
43899
43900 2006-01-03 Marco Gerards <marco@gnu.org>
43901
43902 * partmap/apple.c (apple_partition_map_iterate): Convert the data
43903 read from disk from big endian to host byte order.
43904
43905 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
43906
43907 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
43908 documentation.
43909 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
43910 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
43911 embedded HFS+ filesystem.
43912 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
43913 (grub_hfs_sblock): Move from here...
43914 * include/grub/hfs.h: To here... New file.
43915 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
43916 documentation.
43917 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
43918 New macros.
43919 (grub_hfsplus_volheader): Change type of member `magic' to
43920 `grub_uint16_t'.
43921 (grub_hfsplus_data): Add new member `embedded_offset'.
43922 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
43923 returned block.
43924 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
43925 Calculate the offset.
43926
43927 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43928
43929 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
43930 Removed.
43931 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
43932
43933 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43934
43935 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
43936 ENV->NAME is NULL after allocating ENV->VALUE.
43937
43938 2005-12-25 Marco Gerards <marco@gnu.org>
43939
43940 * kern/env.c (grub_env_set): Rewritten the error handling code.
43941
43942 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43943
43944 * geninit.sh: Made more robust, and more portable.
43945
43946 2005-12-25 Marco Gerards <marco@gnu.org>
43947
43948 Add support for Apple HFS+ filesystems.
43949
43950 * fs/hfsplus.c: New file.
43951
43952 * DISTLIST: Added `fs/hfsplus.c'.
43953
43954 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
43955 (hfsplus_mod_SOURCES): New variable.
43956 (hfsplus_mod_CFLAGS): Likewise.
43957 (hfsplus_mod_LDFLAGS): Likewise.
43958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
43959 (grub_setup_SOURCES): Likewise.
43960 (grub_mkdevicemap_SOURCES): Likewise.
43961 (grub_emu_SOURCES): Likewise.
43962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43963
43964 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
43965
43966 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
43967
43968 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
43969
43970 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
43971 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
43972 include/grub/parser.h, include/grub/script.h, kern/parser.c,
43973 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
43974 normal/lexer.c, normal/parser.y, normal/script.c, and
43975 partmap/gpt.c.
43976 Removed kern/sparc64/cache.c.
43977
43978 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
43979 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
43980 grub_emu_init.c.
43981
43982 * configure.ac (AC_INIT): Bumped to 1.92.
43983
43984 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
43985
43986 * kern/err.c (grub_error_push): Added new function to support error
43987 stacks.
43988 (grub_error_pop): Likewise.
43989 (grub_error_stack_items): New local variable to support error stacks.
43990 (grub_error_stack_pos): Likewise.
43991 (grub_error_stack_assert): Likewise.
43992 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
43993 stack depth.
43994 (grub_print_error): Added support to print errors from error stack.
43995
43996 * include/grub/err.h (grub_error_push): Added function prototype.
43997 (grub_error_pop): Likewise.
43998
43999 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44000
44001 * configure.ac: Accept `powerpc64' as host_cpu.
44002 (amd64): Rename to `biarch32'.
44003
44004 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44005 non-cacheline-aligned addresses.
44006
44007 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44008 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44009 if `size' is non-zero.
44010
44011 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
44012
44013 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44014 and `cd' to make sure the filename is not prefixed with a
44015 directory name.
44016 (pkgdata_MODULES): Add `gpt.mod'.
44017 (gpt_mod_SOURCES): New variable.
44018 (gpt_mod_CFLAGS): Likewise.
44019 (gpt_mod_LDFLAGS): Likewise.
44020
44021 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44022
44023 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44024 New macro.
44025
44026 * partmap/gpt.c: New file.
44027
44028 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44029 GPT partition map is detected.
44030
44031 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44032
44033 * commands/i386/pc/play.c: New file.
44034 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44035 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44036 macros.
44037
44038 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
44039
44040 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44041 ((unused))' to silence gcc warning.
44042
44043 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44044
44045 * configure.ac: Correct `AC_PROG_YACC' test.
44046
44047 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44048
44049 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44050 check before installing files.
44051
44052 2005-11-22 Mike Small <smallm@panix.com>
44053
44054 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44055 number regex so multidigit numbers are recognized correctly.
44056
44057 2005-11-22 Mike Small <smallm@panix.com>
44058
44059 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44060 debugging message before attempting to claim memory.
44061 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44062 multiple addresses in case of failure.
44063
44064 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44065
44066 * term/tparm.c (get_space): Remove empty `if' statement.
44067
44068 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44069
44070 * kern/parser.c (check_varstate): Rename `state' to 's'.
44071
44072 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44073
44074 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44075 variable definitions to the beginning of each function. Sort stack
44076 variables by size.
44077 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44078 `buf' argument to `char *'.
44079
44080 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44081
44082 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44083 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
44084 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
44085 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44086 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44087 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44088 configfile.mod, search.mod, gzio.mod and test.mod.
44089 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44090 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44091 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44092 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44093 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44094 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44095 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44096 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44097 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44098 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44099 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44100 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44101 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44102 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44103 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44104 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44105 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44106 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44107 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44108 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44109 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44110 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44111 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44112
44113 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44114 `grep --include'.
44115 (pkgdata_MODULES): Add test.mod.
44116
44117 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44118
44119 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44120 appending to variables with "+=".
44121 (PModule): Use full pathname to generate *.lst filenames.
44122
44123 * Makefile.in: Fixed list rules moved from genmk.rb.
44124 (.DELETE_ON_ERROR): New special target.
44125 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44126
44127 * conf/i386-pc.rmk: Include conf/common.mk.
44128 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
44129 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
44130 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44131 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44132 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44133 configfile.mod, search.mod, gzio.mod and test.mod.
44134 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44135 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44136 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44137 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44138 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44139 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44140 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44141 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44142 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44143 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44144 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44145 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44146 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44147 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44148 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44149 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44150 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44151 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44152 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44153 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44154 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44155 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44156 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44157 here...
44158 * conf/common.rmk: ... to here. New file.
44159
44160 * conf/common.mk: New file.
44161
44162 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44163
44164 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44165 (grub_script.tab.c): ... here.
44166
44167 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44168 (grub_script.tab.c): ... here.
44169
44170 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44171 (grub_script.tab.c): ... here.
44172
44173 * normal/command.c (grub_command_find): Fixed a memory leak of
44174 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44175
44176 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44177
44178 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44179 "@" which marks the start of a comment on ARM.
44180 (VARIABLE): Likewise.
44181
44182 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44183
44184 Add support for Linux/ADFS partition tables.
44185
44186 * partmap/acorn.c: New file.
44187
44188 * include/grub/acorn_filecore.h: Likewise.
44189
44190 * DISTLIST: Added `partmap/acorn.c' and
44191 `include/grub/acorn_filecore.h'.
44192
44193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44194 `partmap/acorn.c'.
44195 (pkgdata_MODULES): Add `acorn.mod'.
44196 (acorn_mod_SOURCES): New variable.
44197 (acorn_mod_CFLAGS): Likewise.
44198
44199 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44200 `partmap/acorn.c'.
44201 (pkgdata_MODULES): Add `acorn.mod'.
44202 (acorn_mod_SOURCES): New variable.
44203 (acorn_mod_CFLAGS): Likewise.
44204
44205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44206 (pkgdata_MODULES): Add `acorn.mod'.
44207 (acorn_mod_SOURCES): New variable.
44208 (acorn_mod_CFLAGS): Likewise.
44209 (acorn_mod_LDFLAGS): Likewise.
44210
44211 * include/types.h (grub_disk_addr_t): New typedef.
44212
44213 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
44214
44215 * geninit.sh: New file.
44216
44217 * geninitheader.sh: Likewise.
44218
44219 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44220 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44221 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44222 * commands/configfile.c (grub_configfile_init)
44223 (grub_configfile_fini): Likewise.
44224 * commands/default.c (grub_default_init, grub_default_fini):
44225 Likewise.
44226 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44227 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44228 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44229 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44230 Likewise.
44231 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44232 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44233 Likewise.
44234 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
44235 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
44236 Likewise.
44237 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44238 Likewise.
44239 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
44240 Likewise.
44241 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44242 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44243 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44244 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44245 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44246 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44247 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44248 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44249 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44250 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44251 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44252 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44253 * partmap/amiga.c (grub_amiga_partition_map_init)
44254 (grub_amiga_partition_map_fini): Likewise.
44255 * partmap/apple.c (grub_apple_partition_map_init)
44256 (grub_apple_partition_map_fini): Likewise.
44257 * partmap/pc.c (grub_pc_partition_map_init)
44258 (grub_pc_partition_map_fini): Likewise.
44259 * partmap/sun.c (grub_sun_partition_map_init,
44260 grub_sun_partition_map_fini): Likewise.
44261 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44262 Likewise.
44263
44264 * util/grub-emu.c: Include <grub_modules_init.h>.
44265 (main): Don't initialize and de-initialize any modules directly,
44266 use `grub_init_all' and `grub_fini_all' instead.
44267
44268 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44269 `grub_vesafb_mod_init'.
44270 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44271 all users.
44272 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44273 `grub_vga_mod_init'. Updated all users.
44274 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
44275
44276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44277 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44278 rules.
44279
44280 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44281 Generate a function to initialize the module in utilities.
44282 Updated all callers.
44283 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44284 initialize the module in utilities. Updated all callers.
44285
44286 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44287
44288 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44289 escape sequence and a literal ^L to clear the screen.
44290
44291 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44292 when returning from Open Firmware.
44293
44294 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44295
44296 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44297 (grub_ofconsole_height): Likewise.
44298 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44299 manually insert a '\n'.
44300 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44301 `grub_ofconsole_height'. Return early if these are already set.
44302
44303 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44304
44305 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44306 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44307 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44308 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44309 and `normal/script.c'.
44310 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44311 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44312 (test_mod_SOURCES): New variable.
44313 (test_mod_CFLAGS): Likewise.
44314 (test_mod_LDFLAGS): Likewise.
44315 (pkgdata_MODULES): Add `test.mod'.
44316 (grub_script.tab.c): New rule.
44317 (grub_script.tab.h): Likewise.
44318
44319 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
44320
44321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44322 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44323 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44324 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44325 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44326 (test_mod_SOURCES): New variable.
44327 (test_mod_CFLAGS): Likewise.
44328 (pkgdata_MODULES): Add `test.mod'.
44329 (grub_script.tab.c): New rule.
44330 (grub_script.tab.h): Likewise.
44331
44332 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
44333
44334 Add initial scripting support.
44335
44336 * commands/test.c: New file.
44337 * include/grub/script.h: Likewise.
44338 * normal/execute.c: Likewise.
44339 * normal/function.c: Likewise.
44340 * normal/lexer.c: Likewise.
44341 * normal/parser.y: Likewise.
44342 * normal/script.c: Likewise.
44343
44344 * configure.ac: Add `AC_PROG_YACC' test.
44345
44346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44347 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44348 `normal/function.c' and `normal/script.c'.
44349 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44350 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44351 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44352 variables.
44353 (pkgdata_MODULES): Add `test.mod'.
44354 (grub_script.tab.c): New rule.
44355 (grub_script.tab.h): Likewise.
44356
44357 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44358
44359 * include/grub/normal.h (grub_test_init): New prototype.
44360 (grub_test_fini): Likewise.
44361
44362 * normal/command.c: Include <grub/script.h>.
44363 (grub_command_execute): Rewritten.
44364
44365 * util/grub-emu.c (main): Call `grub_test_init' and
44366 `grub_test_fini'.
44367
44368 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44369
44370 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44371 to 0.
44372 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44373 there are no pending characters.
44374
44375 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44376
44377 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44378 `grub_strndup' to drop device arguments. Replace unnecessary
44379 `grub_strndup' with `grub_strdup'.
44380
44381 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44382
44383 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44384 `debug' environment variable has been set.
44385
44386 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
44387
44388 * Makefile.in (install-local): Use $(DATA).
44389 (uninstall): Likewise.
44390 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44391 (sbin_UTILITIES): ... to here.
44392 (sbin_SCRIPTS): New variable.
44393 (grub_install_SOURCES): New variable.
44394 * util/powerpc/ieee1275/grub-install.in: New file.
44395 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
44396 variable.
44397 (add_segments): Call `grub_util_get_path'.
44398
44399 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44400
44401 From Timothy Baldwin:
44402 * commands/ls.c (grub_ls_list_files): Close FILE with
44403 grub_file_close.
44404 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
44405
44406 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
44407
44408 * include/grub/parser.h: New file.
44409
44410 * kern/parser.c: Likewise.
44411
44412 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
44413 (grub_setup_SOURCES): Likewise.
44414 (grub_probefs_SOURCES): Likewise.
44415 (grub_emu_SOURCES): Likewise.
44416 (kernel_img_HEADERS): Add `parser.h'.
44417
44418 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44419 (grub_emu_SOURCES): Add `kern/parser.c'.
44420 (grubof_SOURCES): Likewise.
44421
44422 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
44423 (grubof_SOURCES): Add `kern/parser.c'.
44424
44425 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
44426
44427 * kern/misc.c (grub_split_cmdline): Removed function.
44428
44429 * kern/rescue.c: Include <grub/parser.h>.
44430 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
44431 of `grub_split_cmdline'.
44432
44433 * normal/command.c: Include <grub/parser.h>.
44434 (grub_command_execute): Use `grub_parser_split_cmdline' instead
44435 of `grub_split_cmdline'.
44436
44437 * normal/completion.c: Include <grub/parser.h>.
44438 (cmdline_state): New variable.
44439 (iterate_dir): End the filename with a quote depending on the
44440 command line state.
44441 (get_state): new function.
44442 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
44443 split the arguments and determine the current argument. When the
44444 argument string is not quoted, escape all spaces.
44445
44446 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44447
44448 * normal/sparc64/setjmp.S: New file.
44449
44450 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44451
44452 * include/grub/sparc64/libgcc.h: New file.
44453 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
44454 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
44455 normal/sparc64/setjmp.c.
44456
44457 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
44458
44459 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
44460 * kern/sparc64/cache.S: New file.
44461 * kern/sparc64/cache.c: Removed.
44462 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
44463 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
44464 -mtune=ultrasparc.
44465 (COMMON_LDFLAGS): Add -melf64_sparc.
44466 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
44467 (grubof_SOURCES): Use cache.S instead of cache.c.
44468 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
44469 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
44470 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
44471 commented though.
44472 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
44473 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
44474 (linux_mod_CFLAGS): Commented out.
44475 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
44476 out because module isn't built.
44477 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
44478 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
44479 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
44480 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
44481 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
44482 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44483 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44484 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
44485 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
44486 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
44487 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44488 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44489 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
44490 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
44491
44492 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
44493
44494 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
44495 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
44496 longer, because HFS should not be used on PC.
44497
44498 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44499
44500 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
44501 consistently within the loop.
44502
44503 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
44504
44505 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
44506 directory can not be read.
44507
44508 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44509
44510 * configure.ac (AC_INIT): Increase the version number to 1.91.
44511
44512 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
44513 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
44514 term/i386/pc/serial.c.
44515
44516 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44517
44518 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
44519 file size must be permitted.
44520
44521 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
44522 between %ah and %al.
44523
44524 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44525
44526 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
44527 grub_uint64_t.
44528 Call the hook with a NUL-terminated filename.
44529 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
44530 grub_cpu_to_be32.
44531
44532 * kern/term.c (cursor_state): New variable.
44533 (grub_term_set_current): Reset the cursor state on a new
44534 terminal.
44535 (grub_setcursor): Rewritten to use CURSOR_STATE.
44536 (grub_getcursor): New function.
44537
44538 * include/grub/term.h (grub_getcursor): New prototype.
44539
44540 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
44541 integers on ARM. Reported by Timothy Baldwin
44542 <T.E.Baldwin99@members.leeds.ac.uk>.
44543
44544 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
44545
44546 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
44547 allocated.
44548 (grub_sfs_dir): Likewise.
44549
44550 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
44551
44552 Add support for the SFS filesystem.
44553
44554 * fs/sfs.c: New file.
44555
44556 * DISTLIST: Added `fs/sfs.c'.
44557
44558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
44559 (grub_probefs_SOURCES): Likewise.
44560 (grub_emu_SOURCES): Likewise.
44561 (pkgdata_MODULES): Add `sfs.mod'.
44562 (sfs_mod_SOURCES): New variable.
44563 (sfs_mod_CFLAGS): Likewise.
44564 (sfs_mod_LDFLAGS): Likewise.
44565
44566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
44567 (pkgdata_MODULES): Add `sfs.mod'.
44568 (sfs_mod_SOURCES): New variable.
44569 (sfs_mod_CFLAGS): Likewise.
44570
44571 * util/grub-emu.c (main): Call `grub_sfs_init' and
44572 `grub_sfs_fini'.
44573
44574 * include/grub/fs.h (grub_sfs_init): New prototype.
44575 (grub_sfs_fini): Likewise.
44576
44577 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
44578
44579 Add support for the AFFS filesystem.
44580
44581 * fs/affs.c: New file.
44582
44583 * DISTLIST: Added `fs/affs.c'.
44584
44585 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
44586 (grub_probefs_SOURCES): Likewise.
44587 (grub_emu_SOURCES): Likewise.
44588 (pkgdata_MODULES): Add `affs.mod'.
44589 (affs_mod_SOURCES): New variable.
44590 (affs_mod_CFLAGS): Likewise.
44591 (affs_mod_LDFLAGS): Likewise.
44592
44593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
44594 (pkgdata_MODULES): Add `affs.mod'.
44595 (affs_mod_SOURCES): New variable.
44596 (affs_mod_CFLAGS): Likewise.
44597
44598 * util/grub-emu.c (main): Call `grub_affs_init' and
44599 `grub_affs_fini'.
44600
44601 * include/grub/fs.h (grub_affs_init): New prototype.
44602 (grub_affs_fini): Likewise.
44603
44604 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44605
44606 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
44607
44608 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
44609
44610 * configure.ac: Accept `x86_64' as host_cpu. In that case add
44611 `-m32' to CFLAGS.
44612
44613 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
44614 linking.
44615
44616 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
44617 (COMMON_LDFLAGS): New variable.
44618 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
44619 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
44620 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
44621 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
44622 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
44623 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
44624 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
44625 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
44626 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
44627 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
44628 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
44629 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
44630 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
44631 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
44632 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
44633 variables.
44634 (normal_mod_ASFLAGS): Add `-m32'.
44635
44636 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
44637 (grub_host_size_t, grub_host_ssize_t): New types.
44638 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
44639 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
44640 `GRUB_HOST_SIZEOF_VOID_P'.
44641
44642 * include/grub/kernel.h (struct grub_module_header): Type of
44643 member offset changed to `grub_host_off_t'. Type of member size
44644 changed to `grub_host_size_t'.
44645 (struct grub_module_info): Type of member offset changed to
44646 `grub_host_off_t'. Type of member size changed to
44647 `grub_host_size_t'.
44648
44649 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
44650
44651 Make GRUB's kernel compliant to Multiboot Specification.
44652
44653 * kern/i386/pc/startup.S (multiboot_header): New label.
44654 (multiboot_entry): Likewise.
44655 (multiboot_trampoline): Likewise.
44656
44657 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44658 Increased to 0x4A0.
44659
44660 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
44661 put parentheses after a question mark.
44662 [!GRUB_UTIL] (my_mod): New variable.
44663
44664 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
44665
44666 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
44667
44668 Adds support for the XFS filesystem. Btrees are not supported
44669 yet.
44670
44671 * fs/xfs.c: New file.
44672
44673 * DISTLIST: Added `fs/xfs.c'.
44674
44675 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
44676 (grub_probefs_SOURCES): Likewise.
44677 (grub_emu_SOURCES): Likewise.
44678 (pkgdata_MODULES): Add `xfs.mod'.
44679 (xfs_mod_SOURCES): New variable.
44680 (xfs_mod_CFLAGS): Likewise.
44681
44682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
44683 (pkgdata_MODULES): Add `xfs.mod'.
44684 (xfs_mod_SOURCES): New variable.
44685 (xfs_mod_CFLAGS): Likewise.
44686
44687 * util/grub-emu.c (main): Call `grub_xfs_init' and
44688 `grub_xfs_fini'.
44689
44690 * include/grub/fs.h (grub_xfs_init): New prototype.
44691 (grub_xfs_fini): Likewise.
44692
44693
44694 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
44695
44696 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
44697 color modes, allow greater than 16 colors to be configured as
44698 a default palette.
44699
44700 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
44701
44702 * normal/completion.c (complete_arguments): Add the qualifier
44703 const into OPTIONS.
44704
44705 From Omniflux <omniflux+lists@omniflux.com>:
44706 * include/grub/terminfo.h: New file.
44707 * include/grub/tparm.h: Likewise.
44708 * include/grub/i386/pc/serial.h: Likewise.
44709 * term/terminfo.c: Likewise.
44710 * term/tparm.c: Likewise.
44711 * term/i386/pc/serial.c: Likewise.
44712 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
44713 serial.mod.
44714 (terminfo_mod_SOURCES): New variable.
44715 (terminfo_mod_CFLAGS): Likewise.
44716 (serial_mod_SOURCES): Likewise.
44717 (serial_mod_CFLAGS): Likewise.
44718
44719 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
44720
44721 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
44722 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
44723 and kern/powerpc/ieee1275/cmain.c, respectively.
44724
44725 * boot/powerpc/ieee1275/crt0.S: Moved to ...
44726 * kern/powerpc/ieee1275/crt0.S: ... here.
44727
44728 * boot/powerpc/ieee1275/cmain.c: Moved to ...
44729 * kern/powerpc/ieee1275/cmain.c: ... here.
44730
44731 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
44732 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
44733 instead of boot/powerpc/ieee1275/crt0.S and
44734 boot/powerpc/ieee1275/cmain.c, respectively.
44735
44736 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
44737 sectors. It was not used anyway.
44738
44739 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44740
44741 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
44742 `unused parameter' warning.
44743
44744 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
44745
44746 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
44747 function.
44748 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
44749 getcharwidth.
44750
44751 2005-08-28 Marco Gerards <metgerards@student.han.nl>
44752
44753 * include/grub/normal.h (enum grub_completion_type): Added
44754 `GRUB_COMPLETION_TYPE_ARGUMENT'.
44755
44756 * normal/cmdline.c (print_completion): Handle
44757 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
44758 * normal/menu_entry.c (store_completion): Likewise.
44759
44760 * normal/completion.c (complete_arguments): New function.
44761 (grub_normal_do_completion): Call `complete_arguments' when the
44762 current words start with a dash.
44763
44764 2005-08-27 Marco Gerards <metgerards@student.han.nl>
44765
44766 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
44767 `gzio.mod' instead of `io.mod').
44768
44769 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
44770
44771 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
44772 (DISTDIRS): Added io and video.
44773 Rewrite the search routine to make an output consistently.
44774
44775 * DISTLIST: Added conf/sparc64-ieee1275.mk,
44776 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
44777 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
44778 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
44779 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
44780 util/powerpc/ieee1275/misc.c.
44781
44782 * include/grub/gzio.h: New file.
44783 * io/gzio.c: Likewise.
44784
44785 * kern/file.c (grub_file_close): Call grub_device_close only if
44786 FILE->DEVICE is not NULL.
44787
44788 * include/grub/mm.h [!NULL] (NULL): New macro.
44789
44790 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
44791
44792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
44793 (pkgdata_MODULES): Added gzio.mod.
44794 (gzio_mod_SOURCES): New variable.
44795 (gzio_mod_CFLAGS): Likewise.
44796
44797 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
44798 (pkgdata_MODULES): Added gzio.mod.
44799 (gzio_mod_SOURCES): New variable.
44800 (gzio_mod_CFLAGS): Likewise.
44801
44802 * commands/cat.c: Include grub/gzio.h.
44803 (grub_cmd_cat): Use grub_gzfile_open instead of
44804 grub_file_open.
44805
44806 * commands/cmp.c: Include grub/gzio.h.
44807 (grub_cmd_cmp): Use grub_gzfile_open instead of
44808 grub_file_open.
44809
44810 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
44811 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
44812 grub_file_open.
44813 (grub_rescue_cmd_module): Likewise.
44814
44815 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44816
44817 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
44818 kern/sparc64/ieee1275/init.c because it contains _start.
44819 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
44820
44821 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
44822
44823 * configure.ac: Add support for sparc64 host with ieee1275
44824 firmware.
44825 * configure: Generated from configure.ac.
44826 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
44827 instead of int.
44828 (grub_ofdisk_read): Likewise.
44829 (grub_ofdisk_open): Use %p to print pointer values, and cast the
44830 pointers as (void *) to remove a warning.
44831 (grub_ofdisk_close): Likewise.
44832 (grub_ofdisk_read): Likewise.
44833 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
44834 returns, so make it return void to remove a warning.
44835 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
44836 Corresponding prototype change.
44837 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
44838 values, and cast the pointers as (void *) to remove a warning.
44839 (grub_mm_dump): Likewise.
44840 * conf/sparc64-ieee1275.mk: New file.
44841 * conf/sparc64-ieee1275.rmk: Likewise.
44842 * include/grub/sparc64/setjmp.h: Likewise.
44843 * include/grub/sparc64/types.h: Likewise.
44844 * include/grub/sparc64/ieee1275/console.h: Likewise.
44845 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
44846 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
44847 * include/grub/sparc64/ieee1275/time.h: Likewise.
44848 * kern/sparc64/cache.c: Likewise.
44849 * kern/sparc64/dl.c: Likewise.
44850 * kern/sparc64/ieee1275/init.c: Likewise.
44851 * kern/sparc64/ieee1275/openfw.c: Likewise.
44852
44853 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44854
44855 * util/console.c (grub_ncurses_putchar): If C is greater than
44856 0x7f, set C to a question mark.
44857 (grub_ncurses_getcharwidth): New function.
44858 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
44859 getcharwidth.
44860
44861 * normal/menu.c (print_entry): Made aware of Unicode. First,
44862 convert TITLE to UCS-4, and predict the cursor position by
44863 grub_getcharwidth.
44864
44865 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
44866 const to SRC.
44867 * kern/misc.c (grub_utf16_to_utf8): Likewise.
44868
44869 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44870
44871 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
44872 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44873 grub_strcat.
44874
44875 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
44876 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
44877 grub_strcpy and grub_strlen. Take it into account that a space
44878 character is inserted as a delimiter.
44879
44880 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44881
44882 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
44883 invalid magic in the error.
44884
44885 * commands/search.c: New file.
44886
44887 * util/grub-emu.c (main): Call grub_search_init and
44888 grub_search_fini.
44889
44890 * kern/rescue.c (grub_rescue_print_disks): Removed.
44891 (grub_rescue_print_devices): New function.
44892 (grub_rescue_cmd_ls): Use grub_device_iterate with
44893 grub_rescue_print_devices instead of grub_disk_dev_iterate with
44894 grub_rescue_print_disks.
44895
44896 * kern/partition.c (grub_partition_iterate): Return the result of
44897 PARTMAP->ITERATE instead of GRUB_ERRNO.
44898
44899 * kern/device.c: Include grub/partition.h.
44900 (grub_device_iterate): New function.
44901
44902 * include/grub/partition.h (grub_partition_iterate): Return int
44903 instead of grub_err_t.
44904
44905 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
44906 prototype.
44907 [GRUB_UTIL] (grub_search_fini): Likewise.
44908
44909 * include/grub/device.h (grub_device_iterate): New prototype.
44910
44911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44912 commands/search.c.
44913 (pkgdata_MODULES): Added search.mod.
44914 (search_mod_SOURCES): New variable.
44915 (search_mod_CFLAGS): Likewise.
44916
44917 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
44918 (pkgdata_MODULES): Added search.mod.
44919 (search_mod_SOURCES): New variable.
44920 (search_mod_CFLAGS): Likewise.
44921
44922 * commands/ls.c (grub_ls_list_disks): Renamed to ...
44923 (grub_ls_list_devices): ... this, and use grub_device_iterate.
44924 All callers changed.
44925
44926 * DISTLIST: Added commands/search.c.
44927
44928 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
44929
44930 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
44931 conversion.
44932 (grub_getcharwidth): New function.
44933
44934 * kern/misc.c (grub_utf8_to_ucs4): New function.
44935
44936 * include/grub/term.h (struct grub_term): Added a new member
44937 "getcharwidth".
44938 (grub_getcharwidth): New prototype.
44939
44940 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
44941
44942 * term/i386/pc/console.c (map_char): New function. Segregated from
44943 grub_console_putchar.
44944 (grub_console_putchar): Use map_char.
44945 (grub_console_getcharwidth): New function.
44946 (grub_console_term): Specified grub_console_getcharwidth as
44947 getcharwidth.
44948
44949 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
44950 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
44951
44952 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
44953 GRUB_ERRNO.
44954 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
44955 on grub_strtoul completely.
44956 (write_char): Declare local variables in the beginning of the
44957 function.
44958 (grub_vesafb_getcharwidth): New function.
44959 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
44960 getcharwidth.
44961
44962 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
44963
44964 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
44965 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
44966 commands/i386/pc/vbetest.c.
44967
44968 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
44969 call grub_vbe_get_controller_info again, because the returned
44970 information is volatile.
44971 (grub_vbe_set_video_mode): Mostly rewritten.
44972 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
44973 grub_vbe_status_t correctly.
44974 (grub_vbe_get_video_mode_info): Likewise.
44975 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
44976 several if statements.
44977
44978 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
44979 * commands/i386/pc/vbeinfo.c: ... this.
44980
44981 * commands/i386/pc/vbe_test.c: Renamed to ...
44982 * commands/i386/pc/vbetest.c: ... this.
44983
44984 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
44985 ...
44986 (grub_cmd_vbeinfo): ... this. Save video modes before
44987 iterating. Skip a video mode, if it is not available, not enough
44988 information is given or it is monochrome. Show the memory
44989 model. Leave the interpretation of MODEVAR to grub_strtoul
44990 completely.
44991 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
44992 (GRUB_MOD_FINI): Likewise.
44993
44994 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
44995 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
44996 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
44997 duplicated grub_env_get. Leave the interpretation of MODEVAR to
44998 grub_strtoul completely.
44999 (real2pm): Removed.
45000 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45001 (GRUB_MOD_FINI): Likewise.
45002
45003 * normal/misc.c: Include grub/mm.h.
45004
45005 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45006 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45007 (vbe_list_modes_mod_SOURCES): Removed.
45008 (vbe_list_modes_mod_CFLAGS): Likewise.
45009 (vbe_test_mod_SOURCES): Likewise.
45010 (vbe_test_mod_CFLAGS): Likewise.
45011 (vbeinfo_mod_SOURCES): New variable.
45012 (vbeinfo_mod_CFLAGS): Likewise.
45013 (vbetest_mod_SOURCES): Likewise.
45014 (vbetest_mod_CFLAGS): Likewise.
45015
45016 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45017
45018 * normal/misc.c: New file.
45019
45020 * DISTLIST: Added normal/misc.c.
45021
45022 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45023 DISK to HOOK. Call HOOK with DISK.
45024 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45025 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45026 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45027
45028 * normal/menu_entry.c (struct screen): Added a new member
45029 "completion_shown".
45030 (completion_buffer): New global variable.
45031 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45032 (store_completion): New function.
45033 (complete): Likewise.
45034 (clear_completions): Likewise.
45035 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45036 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45037 a tab, call complete.
45038
45039 * normal/completion.c (disk_dev): Removed.
45040 (print_simple_completion): Likewise.
45041 (print_partition_completion): Likewise.
45042 (print_func): New global variable.
45043 (add_completion): Do not take the arguments WHAT or PRINT any
45044 longer. Added a new argument TYPE. Instead of printing directly,
45045 call PRINT_FUNC if not NULL.
45046 All callers changed.
45047 (complete_device): Use a local variable DEV instead of
45048 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45049 (grub_normal_do_completion): Take a new argument HOOK. Do not
45050 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45051 empty string, return NULL instead.
45052 All callers changed.
45053
45054 * normal/cmdline.c (print_completion): New function.
45055
45056 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45057 to HOOK.
45058 All callers changed.
45059
45060 * kern/disk.c (grub_print_partinfo): Removed.
45061
45062 * include/grub/partition.h (struct grub_partition_map): Add a new
45063 argument DISK into HOOK of ITERATE.
45064 (grub_partition_iterate): Add a new argument DISK to HOOK.
45065
45066 * include/grub/normal.h (enum grub_completion_type): New enum.
45067 (grub_completion_type_t): New type.
45068 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45069 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45070 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45071 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45072 (grub_normal_do_completion): Added a new argument HOOK.
45073 (grub_normal_print_device_info): New prototype.
45074
45075 * include/grub/disk.h (grub_print_partinfo): Removed.
45076
45077 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45078 (normal_mod_SOURCES): Likewise.
45079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45080 (normal_mod_SOURCES): Likewise.
45081
45082 * commands/ls.c (grub_ls_list_disks): Use
45083 grub_normal_print_device_info instead of grub_print_partinfo. Free
45084 PNAME.
45085 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45086 duplicating the code.
45087
45088 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45089
45090 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
45091 follow GCS more precisely.
45092 * commands/i386/pc/vbe_test.c: Likewise.
45093 * include/grub/i386/pc/vbe.h: Likewise.
45094 * term/i386/pc/vesafb.c: Likewise.
45095 * video/i386/pc/vbe.c: Likewise.
45096
45097 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45098
45099 * DISTLIST: Added term/i386/pc/vesafb.c
45100 DISTLIST: Added video/i386/pc/vbe.c
45101 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45102 DISTLIST: Added commands/i386/pc/vbe_test.c.
45103 * commands/i386/pc/vbe_list_modes.c: New file.
45104 * commands/i386/pc/vbe_test.c: Likewise.
45105 * term/i386/pc/vesafb.c: Likewise.
45106 * video/i386/pc/vbe.c: Likewise.
45107 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45108 (grub_vbe_probe) Added prototype.
45109 (grub_vbe_set_video_mode) Likewise.
45110 (grub_vbe_get_video_mode) Likewise.
45111 (grub_vbe_get_video_mode_info) Likewise.
45112 (grub_vbe_set_pixel_rgb) Likewise.
45113 (grub_vbe_set_pixel_index) Likewise.
45114 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45115 (pkgdata_MODULES): Added vesafb.mod.
45116 (pkgdata_MODULES): Added vbe_list_modes.mod.
45117 (pkgdata_MODULES): Added vbe_test.mod.
45118 (vbe_mod_SOURCES): Added.
45119 (vbe_mod_CFLAGS): Likewise.
45120 (vesafb_mod_SOURCES): Likewise.
45121 (vesafb_mod_CFLAGS): Likewise.
45122 (vbe_list_modes_mod_SOURCES): Likewise.
45123 (vbe_list_modes_mod_CFLAGS): Likewise.
45124 (vbe_test_mod_SOURCES): Likewise.
45125 (vbe_test_mod_CFLAGS): Likewise.
45126
45127 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45128
45129 * normal/command.c (grub_command_execute): If INTERACTIVE is
45130 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45131 CMDLINE. Disable the pager if INTERACTIVE is true.
45132 All callers are changed.
45133
45134 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45135 before reading a config file.
45136 * normal/main.c (read_config_file): Even if a command is not
45137 found, register it if it is within an entry.
45138
45139 * util/grub-emu.c: Include sys/types.h and unistd.h.
45140 (options): Added --hold.
45141 (struct arguments): Added a new member "hold".
45142 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45143 missing.
45144 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45145 cleared by a debugger, if it is not zero.
45146
45147 * include/grub/normal.h (grub_command_execute): Add an argument
45148 INTERACTIVE.
45149
45150 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45151
45152 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45153
45154 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45155
45156 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45157 program with another one, because the old one didn't detect a bug
45158 in gcc-3.4. Always use regparm 2, because the new test is still
45159 not enough for gcc-4.0. Someone must investigate a simple test
45160 case which detects a bug in gcc-4.0.
45161
45162 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45163
45164 * DISTLIST: Added normal/completion.c.
45165
45166 * normal/completion.c: New file.
45167
45168 * term/i386/pc/console.c (grub_console_getwh): New function.
45169 (grub_console_term): Assign grub_console_getwh to getwh.
45170
45171 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45172 function is defined in normal/completion.c as
45173 grub_normal_do_completion.
45174 (grub_cmdline_get): Use grub_normal_do_completion instead of
45175 grub_tab_complete.
45176
45177 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45178 returns non-zero, otherwise return 0.
45179 (grub_partition_iterate): First, probe the partition map. Then,
45180 call ITERATE only for this partition map.
45181
45182 * kern/misc.c (grub_strncmp): Rewritten.
45183
45184 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45185 returns non-zero. Otherwise return 0.
45186
45187 * include/grub/partition.h (grub_partition_map_iterate): Return
45188 int instead of void.
45189
45190 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45191
45192 * include/grub/misc.h (grub_strncmp): Change the type of N to
45193 grub_size_t.
45194
45195 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45196 of void.
45197
45198 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
45199 unsigned explicitly before comparing it with I.
45200
45201 * kern/main.c (grub_env_write_root): Add the attribute unused into
45202 VAR.
45203
45204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45205 normal/completion.c.
45206 (normal_mod_SOURCES): Likewise.
45207 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45208 (normal_mod_SOURCES): Likewise.
45209
45210 * normal/command.c (grub_iterate_commands): If ITERATE returns
45211 non-zero, return one immediately.
45212
45213 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45214
45215 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45216 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45217 descriptions.
45218 (grub_vbe_get_controller_info): New function.
45219 (grub_vbe_get_mode_info): Likewise.
45220 (grub_vbe_set_mode): Likewise.
45221 (grub_vbe_get_mode): Likewise.
45222 (grub_vbe_set_memory_window): Likewise.
45223 (grub_vbe_get_memory_window): Likewise.
45224 (grub_vbe_set_scanline_length): Likewise.
45225 (grub_vbe_get_scanline_length): Likewise.
45226 (grub_vbe_set_display_start): Likewise.
45227 (grub_vbe_get_display_start): Likewise.
45228 (grub_vbe_set_palette_data): Likewise.
45229 * include/grub/i386/pc/vbe.h: New file.
45230
45231 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45232
45233 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45234 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45235 * DISTLIST: Likewise.
45236 * kern/ieee1275/of.c: Moved to ...
45237 * kern/ieee1275/ieee1275.c: ... here.
45238
45239 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45240
45241 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45242 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45243 Pass 0 as `end' parameter to grub_strtoul().
45244
45245 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45246
45247 * include/grub/powerpc/ieee1275/console.h: Do not include
45248 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45249 ifdef.
45250 (grub_console_cur_color): Remove i386-specific prototype.
45251 (grub_console_real_putchar): Likewise.
45252 (grub_console_checkkey): Likewise.
45253 (grub_console_getkey): Likewise.
45254 (grub_console_getxy): Likewise.
45255 (grub_console_gotoxy): Likewise.
45256 (grub_console_cls): Likewise.
45257 (grub_console_setcursor): Likewise.
45258 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45259 Include <grub/machine/console.h>.
45260 * term/ieee1275/ofconsole.c: Likewise.
45261
45262 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45263
45264 * Makefile.in (LIBLZO): New variable.
45265
45266 * configure.ac: Check for LZO version 2.
45267
45268 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45269 lzo/lzo1x.h instead of lzo1x.h.
45270
45271 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45272 of -llzo.
45273
45274 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45275 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45276
45277 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45278 copying the data from PARTITION to P.
45279
45280 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45281
45282 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45283 negative, unload the module.
45284
45285 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45286 map is "pc_partition_map" but not "pc".
45287 (usage): Fix the description. The options are --boot-image and
45288 --core-image but not --boot-file or --core-file.
45289 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45290 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45291 DEFAULT_DIRECTORY.
45292
45293 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45294 --core-file. Specify INSTALL_DEVICE as an argument.
45295
45296 * util/console.c: Include config.h.
45297 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45298 [HAVE_NCURSES_H]: Include ncurses.h.
45299 [HAVE_CURSES_H]: Include curses.h.
45300 [!A_NORMAL] (A_NORMAL): Defined as zero.
45301 [!A_STANDOUT] (A_STANDOUT): Likewise.
45302
45303 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45304 -lncurses.
45305 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45306
45307 * configure.ac: Check for curses libraries and headers.
45308
45309 * Makefile.in (LIBCURSES): New variable.
45310
45311 * genmk.rb (Script::rule): Set the executable bits.
45312
45313 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45314 name of the PC partition map is "pc_partition_map" but not "pc".
45315
45316 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45317
45318 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45319 (modules): Likewise.
45320 (usage): Added descriptions for --modules and --grub-probefs.
45321 Handle --modules and --grub-probefs. Save the arguments in MODULES
45322 and GRUB_PROBEFS, respectively.
45323 Auto-detect a filesystem module against GRUBDIR. If the result is
45324 empty and modules are not specified explicitly, abort the
45325 installation. Add the result to MODULES.
45326
45327 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45328 disk/powerpc/ieee1275/ofdisk.c,
45329 include/grub/powerpc/ieee1275/init.h and
45330 term/powerpc/ieee1275/ofconsole.c.
45331 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45332 term/ieee1275/ofconsole.c.
45333
45334 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45335
45336 * COPYING: Upgraded to the latest version. Only the address of the
45337 FSF office has changed.
45338
45339 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45340
45341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45342 kern/ieee1275.c with kern/ieee1275/of.c.
45343
45344 * kern/ieee1275.c: Moved to ...
45345 * kern/ieee1275/of.c: ... here.
45346
45347 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45348
45349 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
45350 readability.
45351
45352 * config.guess: Updated to the latest version from gnulib.
45353 * config.sub: Likewise.
45354 * install.sh: Likewise.
45355 * mkinstalldirs: Likewise.
45356
45357 * include/grub/console.h: Removed. This file is arch-specific. Do
45358 not put this in include/grub.
45359
45360 * include/grub/i386/pc/console.h: Resurrected.
45361
45362 * util/console.c: Include grub/machine/console.h instead of
45363 grub/console.h.
45364 * util/grub-emu.c: Likewise.
45365
45366 2005-08-04 Marco Gerards <metgerards@student.han.nl>
45367
45368 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45369 hardcoded value.
45370
45371 From Vincent Pelletier <subdino2004@yahoo.fr>
45372 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45373 Redefined to use grub_getwh.
45374 (grub_term): New member named getwh.
45375 (grub_getwh): New prototype.
45376 * kern/term.c (grub_getwh): New function.
45377 * term/i386/pc/console.c (grub_console_getwh): New function.
45378 (grub_console_term): New member `getwh'.
45379 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45380 (grub_vga_term): New member `getwh'.
45381 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
45382 grub_ssize_t.
45383 (grub_ofconsole_getw): New function.
45384 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45385 (grub_ofconsole_term): New field named getwh and new initial
45386 value.
45387
45388 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45389
45390 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45391 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45392 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45393 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45394 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45395 of <grub/machine/ieee1275.h>.
45396 * commands/ieee1275/reboot.c: Likewise.
45397 * boot/powerpc/ieee1275/ieee1275.c: Move ...
45398 * kern/ieee1275.c: ... to here. All users updated. Change all
45399 parameter structs to use new type `grub_ieee1275_cell_t'.
45400 * term/powerpc/ieee1275/ofconsole.c: Move ...
45401 * term/ieee1275/ofconsole.c: ... to here. All users updated.
45402 * disk/powerpc/ieee1275/ofdisk.c: Move ...
45403 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
45404 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
45405 to return int.
45406 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
45407 Remove unused prototypes. All users updated.
45408 * include/grub/powerpc/ieee1275/console.h: Removed.
45409 * include/grub/powerpc/ieee1275/ieee1275.h: Define
45410 `grub_ieee1275_cell_t'.
45411 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
45412 Cast comparisons with -1 to the correct type.
45413 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
45414 type to match `grub_ieee1275_entry_fn'.
45415
45416 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
45417
45418 * DISTLIST: Added util/i386/pc/grub-probefs.c.
45419
45420 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
45421 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
45422 partmap/sun.c.
45423 (grub_probefs_SOURCES): New variable.
45424
45425 * util/i386/pc/grub-probefs.c: New file.
45426
45427 * util/i386/pc/grub-setup.c (main): Call
45428 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
45429 grub_hfs_init and grub_jfs_init to initialize the system. Call
45430 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
45431 grub_pc_partition_map_fini to finish the system.
45432
45433 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
45434
45435 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
45436 function.
45437 (grub_multiboot_load_elf32): Likewise.
45438 (grub_multiboot_is_elf64): Likewise.
45439 (grub_multiboot_load_elf64): Likewise.
45440 (grub_multiboot_load_elf): Likewise.
45441 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
45442 an ELF32 or ELF64 file.
45443 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
45444
45445 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
45446 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
45447 NULL before calling FS->LABEL.
45448 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
45449 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
45450 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
45451 before calling FS->LABEL.
45452
45453 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
45454
45455 * util/i386/pc/grub-install.in (datadir): New variable.
45456 (libdir): Removed.
45457 (pkgdatadir): New variable.
45458 (pkglibdir): Removed.
45459
45460 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
45461
45462 * DISTLIST: Added util/i386/pc/grub-install.in.
45463
45464 * util/i386/pc/grub-install.in: New file.
45465
45466 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
45467 (grub_install_SOURCES): Likewise.
45468
45469 * genmk.rb: Added support for scripts.
45470 (Script): New class.
45471 (scripts): New variable.
45472
45473 * Makefile.in (install-local): Install sbin_SCRIPTS by
45474 INSTALL_SCRIPT.
45475 (uninstall): Remove sbin_SCRIPTS.
45476
45477 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
45478 device, try to get a GRUB device by
45479 grub_util_biosdisk_get_grub_dev.
45480 Free DEST_DEV.
45481
45482 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
45483 description for --device-map.
45484
45485 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45486
45487 Change the semantics of variable hooks. They now return strings
45488 instead of error values.
45489
45490 * util/i386/pc/grub-setup.c: Include grub/env.h.
45491 (setup): Use grub_device_set_root instead of grub_env_set.
45492
45493 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
45494 grub_env_get instead of grub_device_set_root and
45495 grub_device_get_root, respectively.
45496
45497 * kern/main.c (grub_env_write_root): New function.
45498 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
45499 grub_env_set instead of grub_device_set_root.
45500
45501 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
45502 many variables.
45503 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
45504 rather than calling ENV->WRITE_HOOK afterwards.
45505 (grub_env_get): Return the result of ENV->READ_HOOK rather than
45506 passing a pointer of a pointer.
45507 (grub_register_variable_hook): Change the types of "read_hook" and
45508 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
45509 respectively.
45510 Allocate the default empty string on the heap, because this string
45511 may be freed later.
45512
45513 * kern/device.c: Include grub/env.h.
45514 (grub_device_set_root): Removed.
45515 (grub_device_get_root): Likewise.
45516 (grub_device_open): Use grub_env_get instead of
45517 grub_device_get_root.
45518
45519 * include/grub/env.h (grub_env_read_hook_t): New type.
45520 (grub_env_write_hook_t): Likewise.
45521 (grub_env_var): Change the types of "read_hook" and "write_hook"
45522 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
45523 (grub_register_variable_hook): Likewise.
45524
45525 * include/grub/device.h (grub_device_set_root): Removed.
45526 (grub_device_set_root): Likewise.
45527
45528 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
45529 make sure that DIRNAME terminates with '/', so that
45530 grub_fat_find_dir will fail if PATH is not a directory.
45531
45532 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
45533 from DIRNAME.
45534 Use the qualifier auto for print_files and print_files_long.
45535 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
45536 as a regular file.
45537 Put a newline only if there is no error.
45538 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
45539 used.
45540
45541 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
45542
45543 * kern/partition.c (grub_partition_probe): Initialize PART to
45544 NULL. Otherwise, when no partition map is registered, this returns
45545 a garbage.
45546
45547 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
45548
45549 * partmap/apple.c (apple_partition_map_iterate): Check if POS
45550 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
45551 valid.
45552
45553 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
45554
45555 * commands/ls.c (grub_ls_list_disks): Print the filesystem
45556 information on each device, if it does not have partitions. Print
45557 "Device" instead of "Disk", because this function is not specific
45558 to disk devices.
45559
45560 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
45561 static to ensure that it is put on the memory rather than a
45562 register.
45563
45564 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45565
45566 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
45567 (grub_cat_init): Likewise.
45568 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
45569 (options): Likewise.
45570 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
45571 (grub_configfile_init): Likewise.
45572 * font/manager.c (GRUB_MOD_INIT): Likewise.
45573 * commands/help.c (GRUB_MOD_INIT): Likewise.
45574 (grub_help_init): Likewise.
45575 * normal/command.c (grub_command_init): Likewise.
45576 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
45577 * disk/loopback.c (grub_loop_init): Likewise.
45578 (GRUB_MOD_INIT): Likewise.
45579 * commands/ls.c (grub_ls_init): Likewise.
45580 (GRUB_MOD_INIT): Likewise.
45581 (options): Likewise.
45582 * commands/boot.c (grub_boot_init): Likewise.
45583 (GRUB_MOD_INIT): Likewise.
45584 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
45585 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
45586 (GRUB_MOD_INIT): Likewise.
45587 * commands/cmp.c (grub_cmp_init): Likewise.
45588 (GRUB_MOD_INIT): Likewise.
45589
45590 * normal/arg.c: Use <> instead of "" to include header files.
45591 (SHORT_ARG_HELP): New macro.
45592 (SHORT_ARG_USAGE): Likewise.
45593 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
45594 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
45595 descriptions.
45596 (find_short): Check if C is 'h' or 'u' explicitly.
45597 (grub_arg_show_help): Use space characters instead of tabs. Treat
45598 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
45599 are shown with --help and --usage only if they are not used for
45600 the command itself.
45601 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
45602 'h' and 'u'.
45603
45604 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
45605 const into "longarg". Change the type of "shortarg" to int.
45606
45607 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45608
45609 * boot/i386/pc/boot.S (boot_drive_check): New label.
45610
45611 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
45612 macro.
45613
45614 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
45615 which do not pass a boot drive correctly. Copied from GRUB Legacy.
45616
45617 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45618
45619 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
45620 When turning off Gate A20, skip the check and return immediately,
45621 because this is not fatal usually.
45622
45623 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
45624
45625 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
45626 be 0x7C00 instead of 0x8000.
45627
45628 * boot/i386/pc/pxeboot.S: Rewritten.
45629
45630 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
45631 EXT_C.
45632 (gate_a20_check_state): Read a byte from 0x108000. Invert the
45633 result.
45634
45635 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
45636
45637 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
45638 robustness. This routine now supports a BIOS call and System
45639 Control Port A to modify the gate A20.
45640
45641 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45642 Increased to 0x440.
45643
45644 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
45645
45646 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
45647 device path and resulting ihandle.
45648 (grub_ofdisk_close): dprintf the ihandle being closed.
45649 (grub_ofdisk_read): dprintf function parameters.
45650 * kern/mm.c (grub_mm_init_region): Likewise.
45651 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
45652 (grub_linux_boot): dprintf the Linux entry point, initrd address and
45653 size, and boot arguments.
45654 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
45655 before loading into memory.
45656 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
45657 before loading into memory.
45658
45659 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
45660
45661 * kern/mm.c: Added much documentation.
45662 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
45663 8, set to 5 instead of 8.
45664
45665 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45666
45667 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
45668
45669 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
45670 (grub_mkdevicemap_SOURCES): New variable.
45671
45672 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
45673 lib/device.c of GRUB Legacy.
45674
45675 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
45676
45677 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
45678 instead of PATH is NULL.
45679
45680 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
45681
45682 * commands/cmp.c (BUFFER_SIZE): New macro.
45683 (grub_cmd_cmp): Close the right file at the right time. Compare
45684 only data just read. Don't report files of different size as
45685 identical. Dynamically allocate buffers. Move variable
45686 declarations at the beginning of function.
45687
45688 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
45689
45690 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
45691 reverse.
45692
45693 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
45694
45695 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
45696 when backspace is pressed at beginning of line.
45697
45698 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
45699
45700 * DISTLIST: Added genfslist.sh.
45701
45702 * normal/main.c (fs_module_list): New variable.
45703 (autoload_fs_module): New function.
45704 (read_fs_list): Likewise.
45705 (grub_normal_execute): Call read_fs_list.
45706
45707 * kern/fs.c (grub_fs_autoload_hook): New variable.
45708 (grub_fs_probe): Added support for auto-loading.
45709
45710 * include/grub/normal.h (struct grub_fs_module_list): New struct.
45711 (grub_fs_module_list_t): New type.
45712
45713 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
45714 (grub_fs_autoload_hook): New prototype.
45715
45716 * genfslist.sh: New file.
45717
45718 * genmk.rb: Added a rule to generate a filesystem list.
45719
45720 2005-06-30 Marco Gerards <metgerards@student.han.nl>
45721
45722 * configure.ac: Fix the test for cross-compiling.
45723
45724 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
45725 define GRUB_UTIL anymore.
45726
45727 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
45728 so this function works on other systems than just big endian.
45729 (load_modules): Likewise.
45730 (add_segments): Likewise.
45731
45732 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
45733
45734 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
45735 contains `l' modifier, get a long from va_arg().
45736
45737 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
45738
45739 * kern/mm.c (grub_free): If the next free block which is being
45740 merged is the first free block, set the first block to the block
45741 being freed.
45742 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
45743
45744 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45745
45746 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
45747 `grub_ieee1275_chosen'.
45748
45749 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
45750
45751 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
45752 (grub_ieee1275_chosen): New variable.
45753 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
45754 `chosen'.
45755 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
45756 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45757 Rename first argument to `phandle' for consistency.
45758 (grub_ieee1275_get_property_length): Likewise.
45759 (grub_ieee1275_next_property): Likewise. Change type of first argument
45760 to grub_ieee1275_phandle_t.
45761 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
45762 Move export next to declaration.
45763 (grub_ieee1275_chosen): New variable.
45764 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
45765 Correct cosmetic typo.
45766 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
45767 `grub_ieee1275_chosen'.
45768 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
45769 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
45770 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
45771 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
45772 `grub_ieee1275_chosen'.
45773
45774 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
45775
45776 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
45777 /chosen/bootargs.
45778 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
45779 /chosen/bootargs as "variable=value" pairs.
45780
45781 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
45782
45783 * include/grub/misc.h (grub_dprintf): New macro.
45784 (grub_real_dprintf): New prototype.
45785 (grub_strword): Likewise.
45786 (grub_iswordseparator): Likewise.
45787 * kern/misc.c (grub_real_dprintf): New function.
45788 (grub_strword): Likewise.
45789 (grub_iswordseparator): Likewise.
45790
45791 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
45792
45793 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
45794 (roundup): Remove macro.
45795 (grub_ieee1275_flags): Make static.
45796 (grub_ieee1275_realmode): Remove.
45797 (grub_ieee1275_test_flag): New function.
45798 (grub_ieee1275_set_flag): Likewise.
45799 (find_options): Rename to `grub_ieee1275_find_options'; update
45800 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
45801 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
45802 (cmain): New prototype.
45803 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
45804 `grub_ieee1275_flags' directly.
45805 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
45806 machine/biosdisk.h.
45807 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
45808 Don't include grub/machine/init.h.
45809 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
45810 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45811 Remove prototype.
45812 (grub_ieee1275_realmode): Likewise.
45813 (grub_ieee1275_flag): New enum.
45814 (grub_ieee1275_test_flag): New prototype.
45815 (grub_ieee1275_set_flag): New prototype.
45816 * include/grub/powerpc/ieee1275/init.h: Remove file.
45817 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
45818 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
45819 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
45820 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
45821 comment.
45822 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
45823 `grub_ieee1275_test_flag'.
45824 (grub_ieee1275_encode_devname): Likewise.
45825
45826 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
45827
45828 * include/grub/powerpc/ieee1275/ieee1275.h
45829 (grub_ieee1275_encode_devname): New prototype.
45830 (grub_ieee1275_get_filename): Likewise.
45831 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
45832 function.
45833 (grub_set_prefix): Likewise.
45834 (grub_machine_init): Call grub_set_prefix.
45835 * kern/powerpc/ieee1275/openfw.c: Fix typos.
45836 (grub_parse_type): New enum.
45837 (grub_ieee1275_get_devargs): New function.
45838 (grub_ieee1275_get_devname): Likewise.
45839 (grub_ieee1275_parse_args): Likewise.
45840 (grub_ieee1275_get_filename): Likewise.
45841 (grub_ieee1275_encode_devname): Likewise.
45842
45843 2005-03-30 Marco Gerards <metgerards@student.han.nl>
45844
45845 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
45846 `grub_loader_unset'.
45847
45848 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
45849
45850 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
45851 instead of grub_ieee1275_interpret.
45852 (grub_halt_init): New function.
45853 (grub_halt_fini): Likewise.
45854 (GRUB_MOD_INIT): Correct message grammar.
45855 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
45856 instead of grub_ieee1275_interpret.
45857 (grub_reboot_init): New function.
45858 (grub_reboot_fini): Likewise.
45859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
45860 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
45861 util/i386/pc/misc.c with commands/ieee1275/halt.c,
45862 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
45863 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
45864 function.
45865 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
45866 Add prototype.
45867 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
45868 prototype.
45869 (grub_halt): Likewise.
45870 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
45871 (cmain): Remove __attribute__((unused)).
45872 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
45873 (grub_heap_len): Likewise.
45874 (grub_machine_fini): New function.
45875 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
45876 (grub_halt): Likewise.
45877 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
45878 function.
45879 * util/powerpc/ieee1275/misc.c: New file.
45880
45881 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
45882
45883 * DISTLIST: New file.
45884 * gendistlist.sh: Likewise.
45885
45886 * Makefile.in (COMMON_DISTFILES): Removed.
45887 (BOOT_DISTFILES): Likewise.
45888 (CONF_DISTFILES): Likewise.
45889 (DISK_DISTFILES): Likewise.
45890 (FS_DISTFILES): Likewise.
45891 (INCLUDE_DISTFILES): Likewise.
45892 (KERN_DISTFILES): Likewise.
45893 (LOADER_DISTFILES): Likewise.
45894 (TERM_DISTFILES): Likewise.
45895 (UTIL_DISTFILES): Likewise.
45896 (DISTFILES): Likewise.
45897 (uninstall): Uninstall files in $(pkgdata_DATA).
45898 (DISTLIST): New target.
45899 (distdir): Use the contents of the file DISTLIST to get a list of
45900 distributed files.
45901
45902 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
45903
45904 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
45905 descriptor. This is ported from GRUB Legacy.
45906
45907 * gencmdlist.sh: Added an extra semicolon to make it work with
45908 old sed versions. Reported by Robert Bihlmeyer
45909 <robbe@orcus.priv.at>.
45910
45911 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
45912
45913 Automatic loading of commands is supported.
45914
45915 * normal/main.c (read_command_list): New function.
45916 (grub_normal_execute): Call read_command_list.
45917
45918 * normal/command.c (grub_register_command): Return zero or CMD.
45919 Allocate CMD->NAME from the heap.
45920 Initialize CMD->MODULE_NAME to zero.
45921 Find the same name as well. If the same command is found and it is
45922 a dummy command, overwrite members. If it is not a dummy command,
45923 return zero.
45924 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
45925 (grub_command_find): If a dummy command is found, load a module
45926 and retry to find a command only once.
45927
45928 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
45929 make sure that each command is loaded.
45930
45931 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
45932 macro.
45933 (struct grub_command): Remove const from the member `name'.
45934 Add a new member `module_name'.
45935 (grub_register_command): Return grub_command_t.
45936
45937 * commands/help.c (grub_cmd_help): Call grub_command_find to make
45938 sure that each command is loaded.
45939
45940 * genmk.rb (PModule::rule): Specify a module name without the
45941 suffix ".mod" to gencmdlist.sh.
45942
45943 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45944
45945 * gencmdlist.sh: New file.
45946
45947 * genmk.rb (PModule::rule): Generate a rule for a command list.
45948 Clean command.lst.
45949 Generate command.lst from $(COMMANDFILES).
45950
45951 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
45952 (DATA): Added $(pkgdata_DATA).
45953 (install-local): Install files in $(pkgdata_DATA).
45954
45955 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
45956
45957 * term/i386/pc/vga.c (debug_command): Removed.
45958 (GRUB_MOD_INIT): Do not register the command "debug".
45959
45960 From Hollis Blanchard:
45961 * commands/configfile.c: New file.
45962 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45963 commands/configfile.c.
45964 (pkgdata_MODULES): Added configfile.mod.
45965 (configfile_mod_SOURCES): New variable.
45966 (configfile_mod_CFLAGS): Likewise.
45967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45968 commands/configfile.c.
45969 (pkgdata_MODULES): Added configfile.mod.
45970 (configfile_mod_SOURCES): New variable.
45971 (configfile_mod_CFLAGS): Likewise.
45972 * util/grub-emu.c (main): Call grub_configfile_init and
45973 grub_configfile_fini.
45974 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
45975 prototype.
45976 [GRUB_UTIL] (grub_configfile_fini): Likewise.
45977
45978 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45979
45980 * normal/arg.c (grub_arg_show_help): Do not show the bug report
45981 address.
45982
45983 * commands/help.c (grub_cmd_help): Do not print newlines after
45984 the last command in print_command_help.
45985
45986 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
45987
45988 * commands/default.h: New file.
45989 * commands/timeout.h: Likewise.
45990 * normal/context.c: Likewise.
45991
45992 * util/misc.c: Do not include sys/times.h.
45993 Include sys/time.h and grub/machine/time.h.
45994 (grub_get_rtc): Rewritten with gettimeofday.
45995
45996 * util/grub-emu.c (main): Call grub_default_init and
45997 grub_timeout_init before grub_normal_init, and call
45998 grub_timeout_fini and grub_default_fini after grub_main.
45999
46000 * util/console.c (grub_ncurses_checkkey): Return the read
46001 character or -1.
46002
46003 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46004 timeouts.
46005
46006 * normal/main.c (read_config_file): Push MENU. If this fails,
46007 print an error and wait for a user input.
46008 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46009 If a menu is empty or an error occurs, pop MENU.
46010 (grub_normal_execute): Pop and free MENU after grub_menu_run
46011 returns.
46012
46013 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46014
46015 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46016 include time.h.
46017 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46018 without GRUB_UTIL.
46019 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46020 time.h.
46021 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46022 without GRUB_UTIL.
46023
46024 * include/grub/normal.h (struct grub_menu_list): New struct.
46025 (grub_menu_list_t): New type.
46026 (struct grub_context): New struct.
46027 (grub_context_t): New type.
46028 (grub_register_command): Got rid of EXPORT_FUNC.
46029 (grub_unregister_command): Likewise.
46030 (grub_context_get): New prototype.
46031 (grub_context_get_current_menu): Likewise.
46032 (grub_context_push_menu): Likewise.
46033 (grub_context_pop_menu): Likewise.
46034 [GRUB_UTIL] (grub_default_init): Likewise.
46035 [GRUB_UTIL] (grub_default_fini): Likewise.
46036 [GRUB_UTIL] (grub_timeout_init): Likewise.
46037 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46038
46039 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46040 commands/timeout.c and normal/context.c.
46041 (pkgdata_MODULES): Added default.mod and timeout.mod.
46042 (normal_mod_SOURCES): Added normal/context.c.
46043 (default_mod_SOURCES): New variable.
46044 (default_mod_CFLAGS): Likewise.
46045 (timeout_mod_SOURCES): Likewise.
46046 (timeout_mod_CFLAGS): Likewise.
46047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46048 conf/i386-pc.rmk.
46049 (pkgdata_MODULES): Added default.mod and timeout.mod.
46050 (normal_mod_SOURCES): Added normal/context.c.
46051 (default_mod_SOURCES): New variable.
46052 (default_mod_CFLAGS): Likewise.
46053 (timeout_mod_SOURCES): Likewise.
46054 (timeout_mod_CFLAGS): Likewise.
46055
46056 * Makefile.in (all-local): Added $(MKFILES).
46057
46058 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46059
46060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46061 (grub_emu_SOURCES): Likewise.
46062 (pkgdata_MODULES): Add `sun.mod'.
46063 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46065 `partmap/sun.c'.
46066 (pkgdata_MODULES): Add `sun.mod'.
46067 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46068 * include/grub/partition.h (grub_sun_partition_map_init): New
46069 prototype.
46070 (grub_sun_partition_map_fini): Likewise.
46071 * partmap/sun.c: New file.
46072 * util/grub-emu.c (main): Initialize and de-initialize the sun
46073 partitionmap support.
46074
46075 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46076
46077 This implements an Emacs-like menu entry editor.
46078
46079 * normal/menu_entry.c: New file.
46080
46081 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46082 characters to ASCII.
46083 (saved_char): New variable.
46084 (grub_ncurses_checkkey): Rewritten completely.
46085 (grub_ncurses_getkey): Likewise.
46086 (grub_ncurses_init): Call raw instead of cbreak.
46087
46088 * normal/menu.c (print_entry): Do not put a space.
46089 (init_page): Renamed to ...
46090 (grub_menu_init_page): ... this. All callers changed.
46091 (edit_menu_entry): Removed.
46092 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46093
46094 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46095
46096 * kern/misc.c (grub_vprintf): Call grub_refresh.
46097
46098 * normal/menu.c (DISP_LEFT): Renamed to ...
46099 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46100 * normal/menu.c (DISP_UP): Renamed to ...
46101 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46102 * normal/menu.c (DISP_RIGHT): Renamed to ...
46103 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46104 * normal/menu.c (DISP_DOWN): Renamed to ...
46105 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46106 * normal/menu.c (DISP_HLINE): Renamed to ...
46107 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46108 * normal/menu.c (DISP_VLINE): Renamed to ...
46109 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46110 * normal/menu.c (DISP_UL): Renamed to ...
46111 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46112 * normal/menu.c (DISP_UR): Renamed to ...
46113 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46114 * normal/menu.c (DISP_LL): Renamed to ...
46115 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46116 * normal/menu.c (DISP_LR): Renamed to ...
46117 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46118 * normal/menu.c (TERM_WIDTH): Renamed to ...
46119 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46120 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46121 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46122 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46123 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46124 * normal/menu.c (TERM_MARGIN): Renamed to ...
46125 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46126 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46127 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46128 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46129 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46130 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46131 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46132 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46133 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46134 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46135 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46136 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46137 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46138 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46139 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46140 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46141 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46142 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46143 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46144 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46145 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46146 All callers changed.
46147
46148 * include/grub/normal.h: New prototype.
46149
46150 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46151 normal/menu_entry.c.
46152 (normal_mod_SOURCES): Likewise.
46153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46154 (normal_mod_SOURCES): Likewise.
46155
46156 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46157
46158 * include/grub/normal.h (grub_halt_init): New prototype.
46159 (grub_halt_fini): Likewise.
46160 (grub_reboot_init): Likewise.
46161 (grub_reboot_fini): Likewise.
46162
46163 * util/grub-emu.c: Include signal.h.
46164 (main_env): New global variable.
46165 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46166 catch C-c.
46167 (grub_machine_fini): New function.
46168 (main): Call grub_halt_init and grub_reboot_init before
46169 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46170 Call setjmp with MAIN_ENV to go back afterwards.
46171 Call grub_machine_fini right before return.
46172
46173 * include/grub/util/misc.h: Include setjmp.h.
46174 (main_env): New prototype.
46175
46176 * include/grub/kernel.h (grub_machine_fini): New prototype.
46177 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46178 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46179
46180 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46181 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46182 * term/i386/pc/console.c (grub_console_fini): Likewise.
46183
46184 * util/i386/pc/misc.c: New file.
46185
46186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46187 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46188 commands/i386/pc/reboot.c.
46189
46190 2005-02-14 Guillem Jover <guillem@hadrons.org>
46191
46192 * include/grub/dl.h (grub_dl_check_header): New prototype.
46193 (grub_arch_dl_check_header): Change return type to grub_err_t,
46194 remove size parameter and export function. Update all callers.
46195 * kern/dl.c (grub_dl_check_header): New function.
46196 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46197 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46198 are inside the core.
46199 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46200 independent ELF header checks.
46201 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46202 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46203 `grub_dl_check_header' instead of explicit checks. Check for the
46204 ELF type.
46205 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46206 `grub_dl_check_header' instead of explicit checks. Remove arch
46207 specific ELF header checks.
46208
46209 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46210 argument SIZE.
46211
46212 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46213
46214 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46215 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46216
46217 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46218
46219 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
46220 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
46221 (part_map_iterate): Clear `grub_errno' and return 0 if
46222 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
46223 * partmap/amiga.c (amiga_partition_map_iterate): Return
46224 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46225 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46226
46227 2005-02-01 Guillem Jover <guillem@hadrons.org>
46228
46229 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46230 help info.
46231
46232 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46233
46234 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46235 Removed prototype.
46236 (grub_rescue_cmd_linux): New prototype.
46237 (grub_rescue_cmd_initrd): Likewise.
46238 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46239 `bi_rec'.
46240 (grub_linux_release_mem): Release the memory for the initrd.
46241 (grub_load_linux): Renamed from this...
46242 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46243 Changed `entry' not to be static. Loop over memory regions to
46244 find another one when the default fails.
46245 (grub_rescue_cmd_initrd): New function.
46246 (grub_linux_init): Remove function.
46247 (grub_linux_fini): Likewise.
46248 (GRUB_MOD_INIT): Register `initrd'.
46249 (GRUB_MOD_FINI): Unregister `initrd'.
46250 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46251 Function removed.
46252 (grub_linux_normal_fini): Likewise.
46253 (GRUB_MOD_INIT): Register `initrd'.
46254 (GRUB_MOD_FINI): Unregister `initrd'.
46255
46256 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46257
46258 * commands/help.c: New file.
46259 * normal/arg.c (show_help): Renamed to...
46260 (grub_arg_show_help): ... this.
46261 * commands/i386/pc/halt.c: New file.
46262 * commands/i386/pc/reboot.c: Likewise.
46263 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46264 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46265 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46266 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46267 variables.
46268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46269 `commands/help.c'.
46270 (pkgdata_MODULES): Add `help.mod'.
46271 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46272 * grub/i386/pc/init.h (grub_reboot): New prototype.
46273 (grub_halt): Likewise.
46274 * include/grub/normal.h (grub_arg_show_help): New prototype.
46275 (grub_help_init): Likewise.
46276 (grub_help_fini): Likewise.
46277 * util/grub-emu.c (main): Initialize and deinitialize the help
46278 command.
46279
46280 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46281
46282 * normal/command.c (grub_command_init): Fixed the description of
46283 the `set' and `unset' commands.
46284
46285 2005-01-31 Marco Gerards <metgerards@student.han.nl>
46286
46287 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46288 function.
46289 * commands/ieee1275/halt.c: New file.
46290 * commands/ieee1275/reboot.c: Likewise.
46291 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46292 `__attribute__ ((unused))'. Some GCS related fixed.
46293 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46294 (grub_suspend_fini): Likewise.
46295 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46296 and `halt.mod'.
46297 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46298 (halt_mod_CFLAGS): New variables.
46299 * include/grub/powerpc/ieee1275/ieee1275.h
46300 (grub_ieee1275_interpret): New prototype.
46301
46302 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46303
46304 * include/grub/misc.h (memmove): New prototype.
46305 (memcpy): Likewise.
46306
46307 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46308
46309 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46310 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46311
46312 2005-01-22 Marco Gerards <metgerards@student.han.nl>
46313
46314 * kern/misc.c (grub_strndup): Function rewritten.
46315
46316 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46317
46318 * normal/menu.c (TERM_WIDTH): Macro redefined.
46319 (TERM_TOP_BORDER_Y): Likewise.
46320 (draw_border): Replaced while-loop by a for-loop. Make the number
46321 of lines consistent with the number of lines displayed in
46322 print_entries. Added a margin below the rectangle.
46323 (print_entry): Make the entry fit in the rectangle.
46324 (print_entries): Display the scroll arrows next to the right
46325 border.
46326
46327 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46328
46329 * fs/minix.c (grub_minix_find_file): Reserve more space for
46330 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46331 `grub_strncpy' to copy `path' into it.
46332
46333 2005-01-21 Marco Gerards <metgerards@student.han.nl>
46334
46335 Add the loopback device, a device via which files can be accessed
46336 as devices.
46337
46338 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46339 (pkgdata_MODULES): Add loopback.mod.
46340 (loopback_mod_SOURCES): New variable.
46341 (loopback_mod_CFLAGS): Likewise.
46342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46343 `disk/loopback.c'.
46344 (pkgdata_MODULES): Add loopback.mod.
46345 (loopback_mod_SOURCES): New variable.
46346 (loopback_mod_CFLAGS): Likewise.
46347 * disk/loopback.c: new file.
46348 * include/grub/normal.h (grub_loop_init): New prototype.
46349 (grub_loop_fini): New prototype.
46350 * util/grub-emu.c (main): Initialize and de-initialize loopback
46351 support.
46352 * include/grub/disk.h (grub_disk_dev_id): Add
46353 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46354
46355 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46356
46357 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46358 function.
46359 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46360 (suspend_mod_SOURCES): New variable.
46361 (suspend_mod_CFLAGS): Likewise.
46362 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46363 New prototype.
46364 * commands/ieee1275/suspend.c: New file.
46365
46366 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46367
46368 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
46369 ((unused))' to `__attribute__ ((used))'.
46370 (GRUB_MOD_FINI): Likewise.
46371 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46372 * genmk.rb (PModule): Assign space to common symbols when linking
46373 modules.
46374
46375 2005-01-20 Marco Gerards <metgerards@student.han.nl>
46376
46377 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46378 `unsigned' arguments to `grub_size_t'.
46379 (grub_malloc): Likewise.
46380 (grub_realloc): Likewise.
46381 (grub_memalign): Likewise.
46382 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46383 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46384 * util/misc.c (grub_malloc): Likewise.
46385 (grub_realloc): Likewise.
46386 * kern/mm.c (get_header_from_pointer): Change the casts to
46387 `unsigned' into a cast to `grub_size_t'.
46388
46389 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46390 point to `currnode' when `currnode' is changed.
46391
46392 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46393 Schottelius <nico-linux@schottelius.org>.
46394
46395 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
46396
46397 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
46398 (note_path): Remove variable.
46399 (GRUB_IEEE1275_NOTE_NAME): New macro.
46400 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
46401 (grub_ieee1275_note_hdr): New structure.
46402 (grub_ieee1275_note_desc): Likewise.
46403 (grub_ieee1275_note): Likewise.
46404 (load_note): Remove `dir' argument. All callers updated. Remove
46405 `note_img' and `path'. Do not load a file from `note_path'.
46406 Initialize a struct grub_ieee1275_note and write that to `out'.
46407 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
46408
46409 2005-01-05 Marco Gerards <metgerards@student.han.nl>
46410
46411 * util/misc.c (grub_util_read_image): Revert last change. It
46412 called `grub_util_read_at', which seeks from the beginning of the
46413 file.
46414
46415 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
46416
46417 * TODO: Add note about endianness in grub-mkimage.
46418 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
46419 section.
46420 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
46421 (grub_mkimage_SOURCES): New target.
46422 * include/grub/kernel.h (grub_start_addr): Remove variable.
46423 (grub_end_addr): Likewise.
46424 (grub_total_module_size): Likewise.
46425 (grub_kernel_image_size): Likewise.
46426 (GRUB_MODULE_MAGIC): New constant.
46427 (grub_module_info): New structure.
46428 (grub_arch_modules_addr): New prototype.
46429 (grub_get_end_addr): Remove prototype.
46430 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
46431 * include/grub/powerpc/ieee1275/kernel.h: New file.
46432 * include/grub/util/misc.h (grub_util_get_fp_size): New
46433 prototype.
46434 (grub_util_read_at): Likewise.
46435 (grub_util_write_image_at): Likewise.
46436 * kern/main.c (grub_get_end_addr): Remove function.
46437 (grub_load_modules): Call grub_arch_modules_addr instead of using
46438 grub_end_addr. Look for a grub_module_info struct in memory. Use
46439 the grub_module_info fields instead of calling grub_get_end_addr
46440 as loop conditions. Move grub_add_unused_region code here.
46441 (grub_add_unused_region): Remove function.
46442 * kern/i386/pc/init.c: Include grub/cache.h.
46443 (grub_machine_init): Remove call to grub_get_end_addr. Remove
46444 one call to add_mem_region.
46445 (grub_arch_modules_addr): New function.
46446 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
46447 (grub_total_module_size): Likewise.
46448 Include grub/machine/kernel.h.
46449 (grub_arch_modules_addr): New function.
46450 * util/grub-emu.c (grub_end_addr): Remove variable.
46451 (grub_total_module_size): Likewise.
46452 (grub_arch_modules_addr): New function.
46453 * util/misc.c: Include unistd.h.
46454 (grub_util_get_fp_size): New function.
46455 (grub_util_read_at): Likewise.
46456 (grub_util_write_image_at): Likewise.
46457 (grub_util_read_image): Call grub_util_read_at.
46458 (grub_util_write_image): Call grub_util_write_image_at.
46459 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
46460 additional memory in kernel_img for a struct grub_module_info.
46461 Fill in that grub_module_info.
46462 * util/powerpc/ieee1275/grub-mkimage.c: New file.
46463
46464 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46465
46466 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
46467 New function.
46468 * include/grub/powerpc/ieee1275/ieee1275.h
46469 (grub_ieee1275_milliseconds): New prototype.
46470 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
46471 Change to 1000.
46472 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
46473 grub_ieee1275_milliseconds.
46474
46475 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
46476
46477 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
46478 variable.
46479 (find_options): New function.
46480 (cmain): Call find_options.
46481 * include/grub/powerpc/ieee1275/ieee1275.h
46482 (grub_ieee1275_realmode): New extern variable.
46483 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
46484 grub_map if grub_ieee1275_realmode is false.
46485
46486 2004-12-29 Marco Gerards <metgerards@student.han.nl>
46487
46488 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
46489 lines are inserted and make it work like readline. Reported by
46490 Vincent Pelletier <subdino2004@yahoo.fr>.
46491
46492 2004-12-28 Marco Gerards <metgerards@student.han.nl>
46493
46494 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
46495
46496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
46497 `kern/powerpc/cache.S'.
46498
46499 2004-12-27 Marco Gerards <metgerards@student.han.nl>
46500
46501 * genmk.rb: Handle the `Program' class in the main loop. Written
46502 by Johan Rydberg <jrydberg@gnu.org>.
46503 (Program): New class.
46504 (programs): New variable.
46505 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
46506 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
46507 instead of "grub/kernel.h". Include <grub/machine/init.h>.
46508 (help_arch): Function removed.
46509 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
46510 `powerpc/libgcc.h' and `loader.h'.
46511 (pkgdata_PROGRAMS): New variable.
46512 (sbin_UTILITIES): Variable removed.
46513 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
46514 (grubof_SOURCES): Variable re-defined so it only includes the
46515 core functionality.
46516 (grubof_CFLAGS): Remove `-DGRUBOF'.
46517 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
46518 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
46519 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
46520 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
46521 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
46522 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
46523 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
46524 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
46525 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
46526 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
46527 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46528 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
46529 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
46530 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
46531 (pc_mod_CFLAGS): New variables.
46532 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
46533 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
46534 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
46535 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
46536 Moved from here...
46537 * include/grub/i386/pc/init.h (grub_os_area_addr)
46538 (rub_os_area_size): ... to here.
46539 * include/grub/powerpc/ieee1275/ieee1275.h
46540 (grub_ieee1275_entry_fn): Export symbol.
46541 * include/grub/powerpc/ieee1275/init.h: New file.
46542 * include/grub/powerpc/libgcc.h: Likewise.
46543 * include/grub/cache.h: Likewise.
46544 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
46545 <hollis@penguinppc.org>.
46546 * kern/dl.c: Include <grub/cache.h>.
46547 (grub_dl_flush_cache): New function.
46548 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
46549 for this module.
46550 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
46551 (grub_console_init): Removed prototypes.
46552 (grub_machine_init): Don't initialize the modules anymore.
46553 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
46554 static.
46555 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
46556 Macro undef removed.
46557 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
46558 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
46559 relocation `R_PPC_REL32'. Return an error when the relocation is
46560 unknown.
46561 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
46562 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
46563 * util/misc.c (grub_arch_sync_caches): Likewise.
46564
46565 2004-12-19 Marco Gerards <metgerards@student.han.nl>
46566
46567 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
46568 `symlist.c', add `grubof_symlist.c'.
46569 (symlist.c): Variable removed.
46570 (grubof_HEADERS): Variable added.
46571 (grubof_symlist.c): New target.
46572 (kernel_syms.lst): Use `grubof_HEADERS' instead of
46573 `kernel_img_HEADERS'.
46574 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
46575 * kern/powerpc/dl.c: New file.
46576 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
46577 Function removed.
46578 (grub_arch_dl_relocate_symbols): Likewise.
46579 (grub_register_exported_symbols): Likewise.
46580
46581 2004-12-13 Marco Gerards <metgerards@student.han.nl>
46582
46583 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
46584 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
46585 to fail instead. Reported by Vincent Pelletier
46586 <subdino2004@yahoo.fr>.
46587
46588 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
46589 it is not allocated. Reported by Vincent Pelletier
46590 <subdino2004@yahoo.fr>.
46591
46592 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
46593 output so the output looks better.
46594
46595 2004-12-04 Marco Gerards <metgerards@student.han.nl>
46596
46597 Modulize the partition map support and add support for the amiga
46598 partition map.
46599
46600 * commands/ls.c: Include <grub/partition.h> instead of
46601 <grub/machine/partition.h>.
46602 * kern/disk.c: Likewise.
46603 * kern/rescue.c: Likewise.
46604 * loader/i386/pc/chainloader.c: Likewise.
46605 * normal/cmdline.c: Likewise.
46606 * kern/powerpc/ieee1275/init.c: Likewise.
46607 (grub_machine_init): Call `grub_pc_partition_map_init',
46608 `grub_amiga_partition_map_init' and
46609 `grub_apple_partition_map_init'.
46610 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
46611 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
46612 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
46613 `partition.h' and `pc_partition.h'.
46614 (grub_setup_SOURCES): Remove
46615 `disk/i386/pc/partition.c'. Add `kern/partition.c',
46616 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46617 (grub_emu_SOURCES): Likewise.
46618 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
46619 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
46620 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
46621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46622 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
46623 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
46624 (grubof_SOURCES): Likewise.
46625 * disk/i386/pc/partition.c: File removed.
46626 * disk/powerpc/ieee1275/partition.c: Likewise.
46627 * include/grub/powerpc/ieee1275/partition.h: Likewise.
46628 * include/grub/i386/pc/partition.h: Likewise.
46629 * kern/partition.c: New file.
46630 * partmap/amiga.c: Likewise.
46631 * partmap/apple.c: Likewise.
46632 * partmap/pc.c: Likewise.
46633 * include/grub/partition.h: Likewise..
46634 * include/grub/pc_partition.h: Likewise.
46635 * util/grub-emu.c: Include <grub/partition.h> instead of
46636 <grub/machine/partition.h>.
46637 (main): Call `grub_pc_partition_map_init',
46638 `grub_amiga_partition_map_init' and
46639 `grub_apple_partition_map_init' and deinitialize afterwards.
46640 * util/i386/pc/biosdisk.c: Include `#include
46641 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46642 `<grub/machine/partition.h>'.
46643 * util/i386/pc/grub-setup.c: Likewise.
46644 * util/i386/pc/biosdisk.c: Likewise.
46645 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
46646 partition information in case of a PC partition.
46647 * util/i386/pc/grub-setup.c: Include `#include
46648 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
46649 `<grub/machine/partition.h>'.
46650 (setup): Only access the PC specific partition information in case
46651 of a PC partition.
46652
46653 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
46654
46655 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
46656 (grub_longjmp): Likewise.
46657 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
46658 20.
46659 * normal/powerpc/setjmp.S: New file.
46660 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46661 `normal/powerpc/setjmp.S'.
46662 (grubof_CFLAGS): Add `-DGRUBOF'.
46663 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
46664 [GRUB_UTIL && !GRUBOF].
46665
46666 2004-11-16 Marco Gerards <metgerards@student.han.nl>
46667
46668 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
46669 property named `name'. Correctly handle the error returned by
46670 `grub_ieee1275_finddevice' if a device can not be opened.
46671
46672 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
46673
46674 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
46675 `actual' for negativity.
46676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
46677 kern/fshelp.c.
46678
46679 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46680
46681 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
46682 (PAGE_OFFSET): New macro.
46683 (CRTC_ADDR_PORT): Likewise.
46684 (CRTC_DATA_PORT): Likewise.
46685 (START_ADDR_HIGH_REGISTER): Likewise.
46686 (START_ADDR_LOW_REGISTER): Likewise.
46687 (GRAPHICS_ADDR_PORT): Likewise.
46688 (GRAPHICS_DATA_PORT): Likewise.
46689 (READ_MAP_REGISTER): Likewise.
46690 (INPUT_STATUS1_REGISTER): Likewise.
46691 (INPUT_STATUS1_VERTR_BIT): Likewise.
46692 (page): New variable.
46693 (wait_vretrace): New function.
46694 (set_read_map): Likewise.
46695 (set_start_address): Likewise.
46696 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
46697 the right page.
46698 (check_vga_mem): Take the page into account.
46699 (write_char): Likewise.
46700 (write_cursor): Likewise.
46701 (scroll_up): Likewise. Copy the page to the page that is not
46702 shown and switch between both pages.
46703 (grub_vga_putchar): Fix off by one error.
46704 (grub_vga_cls): Wait for the vertical retrace. Take the page into
46705 account.
46706
46707 2004-11-01 Marco Gerards <metgerards@student.han.nl>
46708
46709 Add support for iso9660 (including rockridge).
46710
46711 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46712 (iso9660_mod_SOURCES): New variable.
46713 (iso9660_mod_CFLAGS): Likewise.
46714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
46715 * include/grub/fs.h (grub_iso9660_init): New prototype.
46716 * util/grub-emu.c (main): Call `grub_iso9660_init'.
46717 * fs/iso9660.c: New file.
46718
46719 * include/grub/misc.h (grub_strncat): New prototype.
46720 * kern/misc.c (grub_strncat): New function.
46721
46722 * fs/hfs.c (grub_hfs_mount): Translate the error
46723 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
46724 * fs/jfs.c (grub_jfs_mount): Likewise.
46725 * fs/ufs.c (grub_ufs_mount): Likewise.
46726
46727 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
46728
46729 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
46730 which initialized BAT registers.
46731 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
46732 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46733 Move from here...
46734 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
46735 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
46736 ... to here.
46737 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
46738 (grub_mapclaim): Likewise.
46739 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
46740 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
46741 hand.
46742
46743 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
46744
46745 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
46746 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
46747 -ffreestanding and -msoft-float.
46748
46749 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
46750
46751 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
46752 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
46753 set in grub_ieee1275_flags.
46754
46755 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
46756
46757 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
46758 prototype.
46759 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
46760 grub_console_init first.
46761 Change the memory range used for grub_ieee1275_claim and
46762 grub_mm_init_region.
46763 Print an error message if the claim fails.
46764 Include <grub/misc.h>.
46765
46766 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
46767
46768 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
46769 Call grub_children_iterate for device nodes of type `scsi',
46770 `ide', or `ata'.
46771 (grub_ofdisk_open): Remove manual device alias resolution.
46772 Fix memory leak when device cannot be opened.
46773 * include/grub/powerpc/ieee1275/ieee1275.h
46774 (grub_children_iterate): New prototype.
46775 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
46776 New function.
46777 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46778 Return -1 if args.size was -1.
46779
46780 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46781
46782 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
46783 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
46784 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
46785 Open Firmware's memory for it; claim memory from _start to _end.
46786 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
46787 (_end): New extern.
46788 (_start): Zero BSS from __bss_start to _end.
46789 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46790 New extern.
46791 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
46792
46793 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
46794
46795 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
46796 -1 if args.base was -1.
46797
46798 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
46799
46800 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
46801 escape sequence instead of a literal ^L. Also call
46802 grub_ofconsole_gotoxy.
46803
46804 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
46805
46806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
46807 void * arguments to grub_addr_t. All callers updated. Also make
46808 the `result' argument optional.
46809 (grub_ieee1275_release): change void * arguments to grub_addr_t.
46810 All callers updated.
46811
46812 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
46813
46814 * commands/ls.c (grub_ls_list_files): Use the string following the
46815 initial ')', if present, as the filesystem path.
46816 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
46817
46818 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
46819
46820 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
46821
46822 Make the source code of the menu interface more readable.
46823
46824 * normal/menu.c: Include grub/mm.h.
46825 (TERM_WIDTH): New macro.
46826 (TERM_HEIGHT): Likewise.
46827 (TERM_INFO_HEIGHT): Likewise.
46828 (TERM_MARGIN): Likewise.
46829 (TERM_SCROLL_WIDTH): Likewise.
46830 (TERM_TOP_BORDER_Y): Likewise.
46831 (TERM_LEFT_BORDER_X): Likewise.
46832 (TERM_BORDER_WIDTH): Likewise.
46833 (TERM_MESSAGE_HEIGHT): Likewise.
46834 (TERM_BORDER_HEIGHT): Likewise.
46835 (TERM_NUM_ENTRIES): Likewise.
46836 (TERM_FIRST_ENTRY_Y): Likewise.
46837 (TERM_ENTRY_WIDTH): Likewise.
46838 (TERM_CURSOR_X): Likewise.
46839 (draw_border): Use macros instead of magic numbers.
46840 (print_entry): Likewise.
46841 (print_entries): Likewise.
46842 (run_menu): Likewise. Also, handle the key 'e'.
46843 (run_menu_entry): Ignore empty command lines.
46844 (print_message): Added a new argument EDIT. If EDIT is true,
46845 print a different message.
46846 (init_page): Likewise.
46847 (edit_menu_entry): New function. Not implemented yet.
46848
46849 2004-09-17 Marco Gerards <metgerards@student.han.nl>
46850
46851 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
46852 can be loaded from normal mode.
46853
46854 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
46855 `multiboot.mod'.
46856 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
46857 (multiboot_mod_CFLAGS): New variables.
46858 * loader/i386/pc/linux_normal.c: New file.
46859 * loader/i386/pc/multiboot_normal.c: Likewise.
46860
46861 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
46862 attribute `unused'.
46863
46864 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
46865 `fdiro' to read the mode information from instead of `diro'.
46866
46867 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
46868 looking up a symlink.
46869
46870 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
46871 macro.
46872 * normal/command.c (grub_command_execute): Don't parse the
46873 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
46874 flags of the command.
46875
46876 * normal/menu.c (grub_menu_run): Fix typo.
46877
46878 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
46879
46880 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
46881
46882 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
46883 `y + 1' instead of `y - 1'.
46884
46885 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
46886
46887 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
46888
46889 From Hollis Blanchard <hollis@penguinppc.org>:
46890 * kern/misc.c (memmove): New alias for grub_memmove.
46891 (memcmp): New alias for grub_memcmp.
46892 (memset): New alias for grub_memset.
46893 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46894 Change "int handle" to "grub_ieee1275_phandle_t handle".
46895 * include/grub/powerpc/ieee1275/ieee1275.h
46896 (grub_ieee1275_get_property): Likewise.
46897
46898 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
46899
46900 Added normal mode command `chainloader' as module chain.mod, which
46901 depends on normal.mod and _chain.mod.
46902
46903 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
46904 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
46905 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
46906 Deleted prototype.
46907 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
46908 but arguments parsing moved to ...
46909 (grub_chainloader_cmd): ... here. New function.
46910 * include/grub/i386/pc/chainloader.h: New file.
46911 * loader/i386/pc/chainloader_normal.c: Likewise.
46912
46913 2004-09-11 Marco Gerards <metgerards@student.han.nl>
46914
46915 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
46916 (grub_mkimage_LDFLAGS): Likewise.
46917 (grub_emu_SOURCES): Likewise.
46918 (kernel_img_HEADERS): Added fshelp.h.
46919 * fs/ext2.c: Include <grub/fshelp.h>.
46920 (FILETYPE_REG): New macro.
46921 (FILETYPE_INO_REG): Likewise.
46922 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
46923 Changed all users.
46924 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
46925 all users.
46926 (grub_fshelp_node): New struct.
46927 (grub_ext2_data): Added member `diropen'. Changed member `inode'
46928 to a pointer.
46929 (grub_ext2_get_file_block): Removed function.
46930 (grub_ext2_read_block): New function.
46931 (grub_ext2_read_file): Replaced parameter `data' by `node'.
46932 This function was written.
46933 (grub_ext2_mount): Read the root inode. Create a diropen struct.
46934 (grub_ext2_find_file): Removed function.
46935 (grub_ext2_read_symlink): New function.
46936 (grub_ext2_iterate_dir): Likewise.
46937 (grub_ext2_open): Rewritten.
46938 (grub_ext2_dir): Rewritten.
46939 * include/grub/fshelp.h: New file.
46940 * fs/fshelp.c: Likewise.
46941
46942 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
46943
46944 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
46945 (print_message): Add a missing newline.
46946 (run_menu): Added timeout support.
46947 (run_menu_entry): New local function.
46948 (grub_menu_run): Added support for booting.
46949
46950 * kern/loader.c (grub_loader_is_loaded): New function.
46951
46952 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
46953 (grub_get_rtc): Exported.
46954
46955 * include/grub/i386/pc/time.h: Include grub/symbol.h.
46956 (grub_get_rtc): Exported.
46957
46958 * include/grub/normal.h (struct grub_command_list): Remove
46959 constant from the member `command'.
46960
46961 * include/grub/loader.h (grub_loader_is_loaded): Declared.
46962
46963 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
46964
46965 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
46966
46967 2004-08-28 Marco Gerards <metgerards@student.han.nl>
46968
46969 Add support for the JFS filesystem.
46970
46971 * fs/jfs.c: New file.
46972 * include/grub/fs.h (grub_jfs_init): New prototype.
46973 (grub_jfs_fini): New prototype.
46974 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
46975 (grub_emu_SOURCES): Likewise.
46976 (pkgdata_MODULES): Add jfs.mod.
46977 (jfs_mod_SOURCES): New variable.
46978 (jfs_mod_CFLAGS): Likewise.
46979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
46980 (grubof_SOURCES): Likewise.
46981 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
46982
46983 * fs/fat.c (grub_fat_find_dir): Convert the filename little
46984 endian to the host endian.
46985 (grub_fat_utf16_to_utf8): Move function from there...
46986 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
46987 the endianness of the source string anymore.
46988 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
46989
46990 2004-08-24 Marco Gerards <metgerards@student.han.nl>
46991
46992 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
46993 (grub_boot_fini) [GRUB_UTIL]: Likewise.
46994 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
46995 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
46996
46997 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
46998 (grub_hfs_iterate_dir): Make the function static. Add prototypes
46999 for `node_found' and `it_dir'.
47000 (grub_hfs_dir): Add prototype for `dir_hook'.
47001
47002 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47003 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47004 and `indir32' to silence a gcc warning.
47005
47006 * include/grub/fs.h (grub_hfs_init): New prototype.
47007 (grub_hfs_fini): Likewise.
47008
47009
47010 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47011
47012 Each disk device has its own id now. This is useful to make use
47013 of multiple disk devices.
47014
47015 * include/grub/disk.h (grub_disk_dev_id): New enum.
47016 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47017 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47018
47019 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47020 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47021
47022 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47023 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47024
47025 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47026 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47027
47028 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47029 "id" which is used by the cache manager.
47030
47031 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47032 of just "GRUB".
47033
47034 2004-08-18 Marco Gerards <metgerards@student.han.nl>
47035
47036 * fs/hfs.c: New file.
47037 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47038 (grub_emu_SOURCES): Likewise.
47039 (pkgdata_MODULES): Add hfs.mod.
47040 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47041 (grubof_SOURCES): Likewise.
47042 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47043
47044 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47045 * kern/misc.c (grub_strncasecmp): Add function.
47046
47047 2004-08-14 Marco Gerards <metgerards@student.han.nl>
47048
47049 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47050 with parentheses.
47051
47052 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47053 (grub_ext2_dir): In case the directory entry type is unknown, read
47054 it from the inode.
47055
47056 2004-08-02 Peter Bruin <pjbruin@dds.nl>
47057
47058 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47059 grub_load_linux instead of grub_rescue_cmd_linux as second
47060 argument of grub_rescue_register_command.
47061
47062 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47063
47064 2004-07-27 Marco Gerards <metgerards@student.han.nl>
47065
47066 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47067 function.
47068 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47069 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47070 `loader/powerpc/ieee1275/linux.c',
47071 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47072 * include/grub/powerpc/ieee1275/ieee1275.h
47073 (grub_ieee1275_release): New prototype.
47074 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47075 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47076 normal, boot, linux and linux_normal.
47077 * loader/powerpc/ieee1275/linux.c: New file.
47078 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47079
47080 2004-07-12 Marco Gerards <metgerards@student.han.nl>
47081
47082 * normal/arg.c (grub_arg_parse): Correct error handling after
47083 reallocating the argumentlist (check if `argl' is not null instead
47084 of checking if `args' is not null).
47085 * kern/mm.c (grub_realloc): Return the same pointer when using the
47086 same region, instead of returning the header address.
47087
47088 2004-07-11 Marco Gerards <metgerards@student.han.nl>
47089
47090 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47091 one block instead of two when looking for the initial partition.
47092 (grub_partition_probe): Initialize the local variable `p' with 0.
47093 Use base 10 for the grub_strtoul call.
47094 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47095 need for one local variable.
47096 (grub_strtoul): Don't add the new value to `num', instead of that
47097 just assign it.
47098
47099 2004-07-11 Marco Gerards <metgerards@student.han.nl>
47100
47101 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47102 (pxeboot_img_SOURCES): New variable.
47103 (pxeboot_img_ASFLAGS): Likewise.
47104 (pxeboot_img_LDFLAGS): Likewise.
47105 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47106 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47107 <lode_leroy@hotmail.com>.
47108
47109 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47110
47111 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47112 there was no input.
47113
47114 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47115
47116 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47117 the history buffer logic.
47118
47119 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47120
47121 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47122 (FILETYPE_INO_SYMLINK): New macros.
47123 (grub_ext2_find_file): Check if the node is a directory using the
47124 inode stat information instead of using the filetype in the
47125 dirent. Exclude the first character of an absolute symlink.
47126 (grub_ext2_dir): Mask out the filetype part of the mode member of
47127 the inode.
47128
47129 2004-05-24 Marco Gerards <metgerards@student.han.nl>
47130
47131 Add support for UFS version 1 and 2. Add support for the minix
47132 filesystem version 1 and 2, both the variants with 14 and 30 long
47133 filenames.
47134
47135 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47136 fs/minix.c.
47137 (grub_emu_SOURCES): Likewise.
47138 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47139 (ufs_mod_SOURCES): New variable.
47140 (ufs_mod_CFLAGS): Likewise.
47141 (minix_mod_SOURCES): Likewise.
47142 (minix_mod_CFLAGS): Likewise.
47143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47144 fs/minix.c.
47145 (grubof_SOURCES): Likewise.
47146 * fs/ufs.c: New file.
47147 * fs/minix.c: New file.
47148 * include/grub/fs.h (grub_ufs_init): New prototype.
47149 (grub_ufs_fini): Likewise.
47150 (grub_minix_init): Likewise.
47151 (grub_minix_fini): Likewise.
47152 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47153 minix fs.
47154
47155 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47156
47157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47158 commands/ls.c, commands/terminal.c, commands/boot.c,
47159 commands/cmp.c and commands/cat.c.
47160 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47161
47162 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47163 "env.h"
47164
47165 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47166
47167 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47168 and grub_, respectively. Because the conversion is trivial and
47169 mechanical, I omit the details here. Please refer to the CVS
47170 if you need more information.
47171
47172 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47173
47174 * include/pupa: Renamed to ...
47175 * include/grub: ... this.
47176 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47177 * util/i386/pc/grub-mkimage.c: ... this.
47178 * util/i386/pc/pupa-setup.c: Renamed to ...
47179 * util/i386/pc/grub-setup.c: ... this.
47180 * util/pupa-emu.c: Renamed to ...
47181 * util/grub-emu.c: ... this.
47182
47183 2004-03-29 Marco Gerards <metgerards@student.han.nl>
47184
47185 Add support for the newworld apple macintosh (PPC). This has been
47186 tested on the powerbook 2000 only. It only adds support for
47187 generic ieee1275 functions, console and disk support. This should
47188 be easy to port to other architectures with support for Open
47189 Firmware.
47190
47191 * configure.ac: Accept the powerpc as host_cpu. In the case of
47192 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47193 specific tests are only executed while building for the i386.
47194 Inverse test for crosscompile.
47195 * genmk.rb (Utility): Allow assembler files.
47196 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47197 * conf/powerpc-ieee1275.rmk: New file.
47198 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47199 * disk/powerpc/ieee1275/partition.c: Likewise.
47200 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47201 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47202 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47203 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47204 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47205 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47206 * include/pupa/powerpc/ieee1275/loader.h
47207 * include/pupa/powerpc/setjmp.h: Likewise.
47208 * include/pupa/powerpc/types.h: Likewise.
47209 * kern/powerpc/ieee1275/init.c: Likewise.
47210 * kern/powerpc/ieee1275/openfw.c: Likewise.
47211 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47212
47213 These files were written by Johan Rydberg
47214 (jrydberg@night.trouble.net) and I only modified them slightly.
47215
47216 * boot/powerpc/ieee1275/cmain.c: New file.
47217 * boot/powerpc/ieee1275/crt0.S: Likewise.
47218 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47219 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47220
47221 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47222
47223 * Makefile.in: Update copyright.
47224 * genmodsrc.sh: Likewise.
47225 * gensymlist.sh: Likewise.
47226 * term/i386/pc/vga.c: Indent correctly.
47227
47228 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47229 bugreporting address.
47230 * util/i386/pc/pupa-setup.c (usage): Likewise,
47231 (main): Call pupa_ext2_init and pupa_ext2_fini.
47232
47233 * fs/fat.c (log2): Renamed to ...
47234 (fat_log2): ... this.
47235 All callers changed.
47236 * kern/misc.c (memcpy): Alias to pupa_memmove.
47237 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47238 lvalue cast.
47239 * util/console.c (pupa_ncurses_fini): Return 0.
47240
47241 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47242 Move fail label here.
47243 [__GNU__]: Don't warn when using stat.
47244 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47245 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47246 long int. Use strtol instead of strtoul.
47247
47248 2004-03-14 Marco Gerards <metgerards@student.han.nl>
47249
47250 * commands/boot.c: New file.
47251 * commands/cat.c: Likewise.
47252 * commands/cmp.c: Likewise.
47253 * commands/ls.c: Likewise.
47254 * commands/terminal.c: Likewise.
47255 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47256 (pupa_register_command): Changed interface to match the new
47257 argument parser.
47258 (pupa_command_execute): Changed (almost rewritten) so it uses
47259 pupa_split_command. Added support for setting variables using the
47260 syntax `foo=bar'.
47261 (rescue_command): Changed to work with the new argument parser.
47262 (terminal_command): Moved from here to commands/terminal.c.
47263 (set_command): New function.
47264 (unset_command): New function.
47265 (insmod_command): New function.
47266 (rmmod_command): New function.
47267 (lsmod_command): New function.
47268 (pupa_command_init): Don't initialize the command terminal
47269 anymore. Initialize the commands set, unset, insmod, rmmod and
47270 lsmod.
47271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47272 (kernel_img_HEADERS): Add arg.h and env.h.
47273 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47274 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47275 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47276 normal/arg.c.
47277 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47278 terminal.mod.
47279 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47280 (boot_mod_SOURCES): New variable.
47281 (terminal_mod_SOURCES): Likewise.
47282 (ls_mod_SOURCES): Likewise.
47283 (cmp_mod_SOURCES): Likewise.
47284 (cat_mod_SOURCES): Likewise.
47285
47286 * normal/arg.c: New file.
47287 * kern/env.c: Likewise.
47288 * include/pupa/arg.h: Likewise.
47289 * include/pupa/env.h: Likewise.
47290 * font/manager.c (font_command): Changed to match argument parsing
47291 interface changes.
47292 (PUPA_MOD_INIT): Likewise.
47293 * hello/hello.c (pupa_cmd_hello): Likewise.
47294 (PUPA_MOD_INIT): Likewise.
47295 * include/pupa/disk.h: Include <pupa/device.h>.
47296 (pupa_print_partinfo): New prototype.
47297 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47298 (pupa_dl_get_prefix): Likewise.
47299 * include/pupa/misc.h: Include <pupa/err.h>.
47300 (pupa_isgraph): New prototype.
47301 (pupa_isdigit): Likewise.
47302 (pupa_split_cmdline): Likewise.
47303 * include/pupa/normal.h: Include <pupa/arg.h>.
47304 (pupa_command): Changed the prototype of the member `func' to
47305 match the argument parsing interface. Added member `options'.
47306 (pupa_register_command): Updated to match function.
47307 (pupa_arg_parse): New prototype.
47308 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47309 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47310 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47311 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47312 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47313 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47314 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47315 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47316 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47317 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47318 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47319 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47320 * kern/disk.c: Include <pupa/file.h>.
47321 (pupa_print_partinfo): New function.
47322 * kern/dl.c: Include <pupa/env.h>.
47323 (pupa_dl_dir): Variable removed.
47324 (pupa_dl_load): Use the environment variable `prefix' instead of
47325 the variable pupa_dl_dir.
47326 (pupa_dl_set_prefix): Function removed.
47327 (pupa_dl_get_prefix): Likewise.
47328 * kern/i386/pc/init.c: Include <pupa/env.h>.
47329 (pupa_machine_init): Use the environment variable `prefix' instead of
47330 using pupa_dl_set_prefix to set the prefix.
47331 * kern/main.c: Include <pupa/env.h>.
47332 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47333 using pupa_dl_get_prefix to get the prefix.
47334 * kern/misc.c: Include <pupa/env.h>.
47335 (pupa_isdigit): New function.
47336 (pupa_isgraph): Likewise.
47337 (pupa_ftoa): Likewise.
47338 (pupa_vsprintf): Added support for printing values of the type
47339 `double'. Make it possible to format variable output when using
47340 formatting like `%1.2%f'.
47341 (pupa_split_cmdline): New function.
47342 * kern/rescue.c: Include <pupa/env.h>.
47343 (next_word): Removed function.
47344 (pupa_rescue_cmd_prefix): Likewise.
47345 (pupa_rescue_cmd_set): New function.
47346 (pupa_rescue_cmd_unset): New function.
47347 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47348 split the command line instead of splitting it here. Added
47349 support for setting variables using the syntax `foo=bar'. Don't
47350 initialize the prefix command anymore. Initialized the set and
47351 unset commands.
47352 * normal/cmdline.c: Include <pupa/env.h>.
47353 (pupa_tab_complete): Added prototypes for print_simple_completion,
47354 print_partition_completion, add_completion, iterate_commands,
47355 iterate_dev, iterate_part and iterate_dir. Moved code to print
47356 partition information from here to kern/disk.c.
47357 (pupa_cmdline_run): Don't check if the function exists anymore.
47358 * normal/main.c: Include <pupa/env.h>.
47359 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47360 instead of using pupa_dl_get_prefix to get the prefix.
47361 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47362 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47363 warning.
47364 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47365 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47366 ((unused))' to silence a gcc warning.
47367 (pupa_vga_setcolor): Likewise.
47368 (debug_command): Changed to match argument parsing
47369 interface changes.
47370 * util/pupa-emu.c: Include <pupa/env.h>.
47371 (options): Added 0's for unused fields to silence a gcc warning.
47372 (argp): Likewise.
47373 (main): Use the environment variable `prefix' instead of using
47374 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47375 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47376 and terminal.
47377
47378 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47379 * util/misc.c: Include <malloc.h>.
47380 (pupa_malloc): Rewritten so errors are correctly reported.
47381 (pupa_realloc): Likewise.
47382 (pupa_memalign): Likewise.
47383 (pupa_mm_init_region): Declare unused variables with
47384 `__attribute__ ((unused))' to silence a gcc warning.
47385 * normal/i386/setjmp.S: Remove tab at the end of the file to
47386 silence a gcc warning.
47387 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47388 variables with `__attribute__ ((unused))' to silence a gcc
47389 warning.
47390 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47391 local variable i unsigned to silence a gcc warning.
47392
47393 * kern/term.c: Include <pupa/misc.h>.
47394 (pupa_more_lines): New variable.
47395 (pupa_more): Likewise.
47396 (pupa_putcode): When the pager is active pause at the end of every
47397 screen.
47398 (pupa_set_more): New function.
47399 * include/pupa/term.h (pupa_set_more): New prototype.
47400
47401
47402 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
47403
47404 Now this project is GRUB 2 rather than PUPA. The location of
47405 the CVS repository was moved to GRUB's.
47406
47407 * configure.ac: Use bug-grub as the reporting address.
47408 Use GRUB instead of PUPA.
47409 Change the version number to 1.90.
47410
47411 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
47412
47413 * genkernsyms.sh: Updated copyright information.
47414 * genmk.rb: Likewise.
47415 * genmodsrc.sh: Likewise.
47416 * gensymlist.sh: Likewise.
47417 * boot/i386/pc/boot.S: Likewise.
47418 * boot/i386/pc/diskboot.S: Likewise.
47419 * disk/i386/pc/biosdisk.c: Likewise.
47420 * disk/i386/pc/partition.c: Likewise.
47421 * font/manager.c: Likewise.
47422 * fs/ext2.c: Likewise.
47423 * fs/fat.c: Likewise.
47424 * include/pupa/boot.h: Likewise.
47425 * include/pupa/device.h: Likewise.
47426 * include/pupa/disk.h: Likewise.
47427 * include/pupa/dl.h: Likewise.
47428 * include/pupa/elf.h: Likewise.
47429 * include/pupa/err.h: Likewise.
47430 * include/pupa/file.h: Likewise.
47431 * include/pupa/font.h: Likewise.
47432 * include/pupa/fs.h: Likewise.
47433 * include/pupa/kernel.h: Likewise.
47434 * include/pupa/loader.h: Likewise.
47435 * include/pupa/misc.h: Likewise.
47436 * include/pupa/mm.h: Likewise.
47437 * include/pupa/net.h: Likewise.
47438 * include/pupa/normal.h: Likewise.
47439 * include/pupa/rescue.h: Likewise.
47440 * include/pupa/setjmp.h: Likewise.
47441 * include/pupa/symbol.h: Likewise.
47442 * include/pupa/term.h: Likewise.
47443 * include/pupa/types.h: Likewise.
47444 * include/pupa/i386/setjmp.h: Likewise.
47445 * include/pupa/i386/types.h: Likewise.
47446 * include/pupa/i386/pc/biosdisk.h: Likewise.
47447 * include/pupa/i386/pc/boot.h: Likewise.
47448 * include/pupa/i386/pc/console.h: Likewise.
47449 * include/pupa/i386/pc/init.h: Likewise.
47450 * include/pupa/i386/pc/kernel.h: Likewise.
47451 * include/pupa/i386/pc/linux.h: Likewise.
47452 * include/pupa/i386/pc/loader.h: Likewise.
47453 * include/pupa/i386/pc/memory.h: Likewise.
47454 * include/pupa/i386/pc/multiboot.h: Likewise.
47455 * include/pupa/i386/pc/partition.h: Likewise.
47456 * include/pupa/i386/pc/time.h: Likewise.
47457 * include/pupa/i386/pc/vga.h: Likewise.
47458 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
47459 * include/pupa/util/getroot.h: Likewise.
47460 * include/pupa/util/misc.h: Likewise.
47461 * include/pupa/util/resolve.h: Likewise.
47462 * kern/device.c: Likewise.
47463 * kern/disk.c: Likewise.
47464 * kern/dl.c: Likewise.
47465 * kern/err.c: Likewise.
47466 * kern/file.c: Likewise.
47467 * kern/fs.c: Likewise.
47468 * kern/loader.c: Likewise.
47469 * kern/main.c: Likewise.
47470 * kern/misc.c: Likewise.
47471 * kern/mm.c: Likewise.
47472 * kern/rescue.c: Likewise.
47473 * kern/term.c: Likewise.
47474 * kern/i386/dl.c: Likewise.
47475 * kern/i386/pc/init.c: Likewise.
47476 * kern/i386/pc/lzo1x.S: Likewise.
47477 * kern/i386/pc/startup.S: Likewise.
47478 * loader/i386/pc/chainloader.c: Likewise.
47479 * loader/i386/pc/linux.c: Likewise.
47480 * loader/i386/pc/multiboot.c: Likewise.
47481 * normal/cmdline.c: Likewise.
47482 * normal/command.c: Likewise.
47483 * normal/main.c: Likewise.
47484 * normal/menu.c: Likewise.
47485 * normal/i386/setjmp.S: Likewise.
47486 * term/i386/pc/console.c: Likewise.
47487 * term/i386/pc/vga.c: Likewise.
47488 * util/console.c: Likewise.
47489 * util/genmoddep.c: Likewise.
47490 * util/misc.c: Likewise.
47491 * util/pupa-emu.c: Likewise.
47492 * util/resolve.c: Likewise.
47493 * util/unifont2pff.rb: Likewise.
47494 * util/i386/pc/biosdisk.c: Likewise.
47495 * util/i386/pc/getroot.c: Likewise.
47496 * util/i386/pc/pupa-mkimage.c: Likewise.
47497 * util/i386/pc/pupa-setup.c: Likewise.
47498
47499 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
47500
47501 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
47502 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
47503 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
47504 reading and reset it after reading.
47505 (pupa_ext2_close): Return PUPA_ERR_NONE.
47506
47507 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
47508 Correct value.
47509 (struct linux_kernel_header): Add kernel_version and
47510 initrd_addr_max.
47511 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
47512 pupa_file_read succeeds.
47513 (pupa_rescue_cmd_initrd): Implement.
47514
47515 2003-12-03 Marco Gerards <metgerards@student.han.nl>
47516
47517 * fs/ext2.c (pupa_ext2_label): New function.
47518 (pupa_ext2_fs): Added label.
47519 * fs/fat.c (pupa_fat_label): New function.
47520 (pupa_fat_fs): Added label.
47521 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
47522
47523 * kern/misc.c (pupa_strndup): New function.
47524 * include/pupa/misc.h (pupa_strndup): New prototype.
47525
47526 * include/pupa/normal.h: Include <pupa/err.h>.
47527 (pupa_set_history): New prototype.
47528 (pupa_iterate_commands): New prototype.
47529 * normal/cmdline.c: Include <pupa/machine/partition.h>,
47530 <pupa/disk.h>, <pupa/file.h>.
47531 (hist_size): New variable.
47532 (hist_lines): Likewise.
47533 (hist_end): Likewise.
47534 (hist_used): Likewise.
47535 (pupa_set_history): New function.
47536 (pupa_history_get): Likewise.
47537 (pupa_history_add): Likewise.
47538 (pupa_history_replace): Likewise.
47539 (pupa_tab_complete): Likewise.
47540 (pupa_cmdline_run): Added tab completion and history buffer. Tab
47541 completion shows partitionnames while completing partitions, this
47542 feature was suggested by Jeff Bailey.
47543 * normal/command.c (pupa_iterate_commands): New function.
47544 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
47545 (pupa_normal_init): Initialize history buffer.
47546 (PUPA_MOD_INIT): Likewise.
47547 (pupa_normal_fini): Free the history buffer.
47548 (PUPA_MOD_FINI): Likewise.
47549
47550 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
47551 key.
47552
47553 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
47554 * configure.ac [i386]: Check for regparam bug.
47555 (NESTED_FUNC_ATTR) [! i386]: Defined.
47556
47557 2003-11-17 Marco Gerards <metgerards@student.han.nl>
47558
47559 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
47560 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
47561 (pupa_emu_SOURCES): New variable.
47562 (pupa_emu_LDFLAGS): Likewise.
47563 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
47564 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
47565 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
47566 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47567 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
47568 (pupa_jmp_buf): New typedef.
47569 (pupa_setjmp) [PUPA_UTIL]: New macro.
47570 (pupa_longjmp) [PUPA_UTIL]: Likewise.
47571 * include/pupa/term.h (struct pupa_term): New member `refresh'.
47572 (pupa_refresh): New prototype.
47573 * include/pupa/util/getroot.h: New file.
47574 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
47575 it.
47576 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
47577 (pupa_rescue_cmd_cat): Likewise.
47578 (pupa_rescue_cmd_ls): Likewise.
47579 (pupa_rescue_cmd_testload): Likewise.
47580 (pupa_rescue_cmd_lsmod): Likewise.
47581 * normal/cmdline.c (pupa_cmdline_get): Likewise.
47582 * normal/menu.c (run_menu): Likewise.
47583 * kern/term.c (pupa_cls): Likewise.
47584 (pupa_refresh): New function.
47585 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
47586 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
47587 * util/console.c: New file.
47588
47589 * util/i386/pc/getroot.c: New file.
47590 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
47591 (pupa_putchar): New function.
47592 (pupa_refresh): Likewise.
47593 (xgetcwd): Function moved to ...
47594 (strip_extra_slashes): Likewise.
47595 (get_prefix): Likewise.
47596 * util/i386/pc/getroot.c: ... here.
47597 (find_root_device): Function moved and renamed to...
47598 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
47599 Changed all callers.
47600 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
47601 and renamed to...
47602 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
47603 Changed all callers.
47604 * util/misc.c (pupa_memalign): New function.
47605 (pupa_mm_init_region): Likewise.
47606 (pupa_register_exported_symbols): Likewise.
47607 (pupa_putchar): Function removed.
47608 * util/pupa-emu.c: New file.
47609
47610 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
47611
47612 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
47613 (_multiboot_mod_SOURCES): New variable.
47614 (_multiboot_mod_CFLAGS): Likewise.
47615 * loader/i386/pc/multiboot.c: New file.
47616 * include/pupa/i386/pc/multiboot.h: Likewise.
47617 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
47618 (pupa_multiboot_real_boot): New function.
47619 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
47620 (pupa_multiboot_real_boot): New prototype.
47621 (pupa_rescue_cmd_multiboot): Likewise
47622 (pupa_rescue_cmd_module): Likewise.
47623
47624 * kern/loader.c (pupa_loader_set): Continue when
47625 pupa_loader_unload_func() fails.
47626 (pupa_loader_unset): New function.
47627 * include/pupa/loader.h (pupa_loader_unset): New prototype.
47628
47629 * kern/misc.c (pupa_stpcpy): New function.
47630 * include/pupa/misc.h (pupa_stpcpy): New prototype.
47631
47632 2003-11-12 Marco Gerards <metgerards@student.han.nl>
47633
47634 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
47635 for available extensions.
47636
47637 * include/pupa/i386/pc/time.h: New file.
47638 * kern/disk.c: Include <pupa/machine/time.h>.
47639 (PUPA_CACHE_TIMEOUT): New macro.
47640 (pupa_last_time): New variable.
47641 (pupa_disk_open): Flush the cache when there was a timeout.
47642 (pupa_disk_close): Reset the timer.
47643 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
47644 pupa_currticks.
47645 * util/misc.c: Include <sys/times.h>
47646 (pupa_get_rtc): New function.
47647
47648 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
47649
47650 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
47651 as blocks.
47652 (pupa_ext2_get_file_block): Use blocks member.
47653
47654 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
47655 first block. Return -1 instead of pupa_errno on error.
47656
47657 2003-10-27 Marco Gerards <metgerards@student.han.nl>
47658
47659 * README: In the pupa-mkimage example use _chain instead of chain
47660 and ext2 instead of fat.
47661 * TODO: Replace ext2fs with jfs as an example. Add an item for
47662 adding journal playback for ext2fs.
47663 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
47664 (pkgdata_MODULES): Added ext2.mod.
47665 (ext2_mod_SOURCES): New variable.
47666 (ext2_mod_CFLAGS): Likewise.
47667 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
47668 * include/pupa/misc.h (pupa_strncpy): New prototype.
47669 (pupa_strcat): Likewise.
47670 (pupa_strncmp): Likewise.
47671 * kern/misc.c (pupa_strcat): Enable function.
47672 (pupa_strncpy): New function.
47673 (pupa_strncmp): Likewise.
47674 * fs/ext2.c: New file.
47675
47676 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
47677 when the read failed before retrying.
47678 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
47679 (_FILE_OFFSET_BITS): Likewise.
47680 * configure.ac: Added AC_SYS_LARGEFILE.
47681
47682 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47683
47684 * genmk.rb (PModule#rule): Make sure to get only symbol names
47685 from the output of nm.
47686 Reported by Robert Millan <rmh.grub@aybabtu.com>.
47687
47688 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
47689
47690 I forgot to check in these changes for a long time. This adds
47691 incomplete support for VGA console, and this is still very
47692 buggy. Also, a lot of consideration is required for I18N,
47693 UNICODE, and VGA font issues. Therefore, assume that this is
47694 such that "better than nothing".
47695
47696 * font/manager.c: New file.
47697 * include/pupa/font.h: Likewise.
47698 * include/pupa/i386/pc/vga.h: Likewise.
47699 * term/i386/pc/vga.c: Likewise.
47700 * util/unifont2pff.rb: Likewise.
47701
47702 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
47703 (pkgdata_MODULES): Added vga.mod and font.mod.
47704 (vga_mod_SOURCES): New variables.
47705 (vga_mod_CFLAGS): Likewise.
47706 (font_mod_SOURCES): Likewise.
47707 (font_mod_CFLAGS): Likewise.
47708
47709 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
47710
47711 * include/pupa/term.h: Include pupa/err.h.
47712 (struct pupa_term): Added init and fini.
47713 Changed the argument of putchar to pupa_uint32_t.
47714
47715 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
47716 (pupa_console_real_putchar): New prototype.
47717 (pupa_console_putchar): Removed.
47718 (pupa_console_checkkey): Exported.
47719 (pupa_console_getkey): Likewise.
47720
47721 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
47722 characters.
47723
47724 * kern/term.c (pupa_term_set_current): Rewritten.
47725 (pupa_putchar): Likewise.
47726 (pupa_putcode): New function.
47727
47728 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
47729 (pupa_console_real_putchar): ... this.
47730 (pupa_vga_set_mode): New function.
47731 (pupa_vga_get_font): Likewise.
47732
47733 * normal/command.c: Include pupa/term.h.
47734 (terminal_command): New function.
47735 (pupa_command_init): Register the command "terminal".
47736
47737 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
47738 (DISP_UP): Likewise.
47739 (DISP_RIGHT): Likewise.
47740 (DISP_DOWN): Likewise.
47741 (DISP_HLINE): Likewise.
47742 (DISP_VLINE): Likewise.
47743 (DISP_UL): Likewise.
47744 (DISP_UR): Likewise.
47745 (DISP_LL): Likewise.
47746 (DISP_LR): Likewise.
47747
47748 * term/i386/pc/console.c (pupa_console_putchar): New function.
47749
47750 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
47751
47752 * util/resolve.c (pupa_util_resolve_dependencies): BUG
47753 FIX. Reverse the path_list.
47754
47755 * include/pupa/normal.h: Export pupa_register_command and
47756 pupa_unregister_command.
47757
47758 * hello/hello.c (pupa_cmd_hello): New module.
47759 * conf/i386-pc.rmk: Added hello.mod.
47760
47761 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
47762
47763 * kern/i386/pc/lzo1x.S: New file.
47764
47765 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
47766 (compress_kernel): New variable.
47767 (generate_image): Heavily modified to support compressing a
47768 large part of the core image.
47769
47770 * util/misc.c (pupa_util_read_image): Fix a file descriptor
47771 leak.
47772 (pupa_util_load_image): New function.
47773
47774 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
47775 (pupa_compressed_size): New variable.
47776 (codestart): Enable Gate A20 here.
47777 Decompress the compressed part of the core image.
47778 Rearrange the code to put functions and variables which are
47779 required for initialization in the non-compressed part.
47780 Include lzo1x.S.
47781
47782 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
47783 here.
47784
47785 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
47786
47787 * include/pupa/i386/pc/kernel.h
47788 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
47789 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
47790 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
47791 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
47792 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
47793
47794 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
47795
47796 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
47797 (Utility#rule): Likewise.
47798
47799 * configure.ac: Check if LZO is available.
47800
47801 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
47802
47803 * include/pupa/normal.h: New file.
47804 * include/pupa/setjmp.h: Likewise.
47805 * include/pupa/i386/setjmp.h: Likewise.
47806 * normal/cmdline.c: Likewise.
47807 * normal/command.c: Likewise.
47808 * normal/main.c: Likewise.
47809 * normal/menu.c: Likewise.
47810 * normal/i386/setjmp.S: Likewise.
47811
47812 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
47813 (pupa_rescue_cmd_initrd): Likewise.
47814
47815 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
47816 Likewise.
47817
47818 * kern/i386/pc/startup.S (translation_table): New variable.
47819 (translate_keycode): New function.
47820 (pupa_console_getkey): Call translate_keycode.
47821
47822 * kern/rescue.c (attempt_normal_mode): New function.
47823 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
47824 it failed, print a message.
47825
47826 * kern/mm.c (pupa_real_malloc): Print more information when a
47827 free magic is broken.
47828 (pupa_free): If the first free header is not free actually, set
47829 it to P.
47830
47831 * kern/main.c (pupa_load_normal_mode): Just load the module
47832 "normal".
47833 (pupa_main): Don't print the message
47834 "Entering into rescue mode..." here.
47835
47836 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
47837 Declared.
47838 (pupa_rescue_cmd_initrd): Likewise.
47839 (pupa_rescue_cmd_initrd): Likewise.
47840
47841 * include/pupa/symbol.h (FUNCTION): Specify the type.
47842 (VARIABLE): Likewise.
47843
47844 * include/pupa/err.h (pupa_err_t): Added
47845 PUPA_ERR_UNKNOWN_COMMAND.
47846
47847 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
47848 (pupa_dl_get_prefix): Likewise.
47849
47850 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
47851 Added _chain.mod and _linux.mod instead of chain.mod and
47852 linux.mod.
47853 (chain_mod_SOURCES): Renamed to ...
47854 (_chain_mod_SOURCES): ... this.
47855 (chain_mod_CFLAGS): Renamed to ...
47856 (_chain_mod_CFLAGS): ... this.
47857 (linux_mod_SOURCES): Renamed to ...
47858 (_linux_mod_SOURCES): ... this.
47859 (linux_mod_CFLAGS): Renamed to ...
47860 (_linux_mod_CFLAGS): ... this.
47861 (normal_mod_SOURCES): New variable.
47862 (normal_mod_CFLAGS): Likewise.
47863 (normal_mod_ASFLAGS): Likewise.
47864
47865 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
47866
47867 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
47868 possible.
47869
47870 * kern/dl.c (pupa_dl_ref): Refer depending modules
47871 recursively.
47872 (pupa_dl_unref): Unrefer depending modules recursively.
47873 Don't call pupa_dl_unload implicitly, because PUPA can crash if
47874 a module is unloaded before one depending on that module is
47875 unloaded.
47876 (pupa_dl_unload): Unload depending modules explicitly,
47877 if possible.
47878
47879 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
47880
47881 * include/pupa/i386/pc/linux.h: New file.
47882 * loader/i386/pc/linux.c: Likewise.
47883
47884 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
47885 Removed.
47886 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
47887 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
47888 of PUPA_CHAINLOADER_BOOT_SECTOR.
47889
47890 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
47891 (pupa_linux_prot_size): New variable.
47892 (pupa_linux_tmp_addr): Likewise.
47893 (pupa_linux_real_addr): Likewise.
47894 (pupa_linux_boot_zimage): New function.
47895 (pupa_linux_boot_bzimage): Likewise.
47896
47897 * kern/i386/pc/init.c (struct mem_region): New structure.
47898 (MAX_REGIONS): New macro.
47899 (mem_regions): New variable.
47900 (num_regions): Likewise.
47901 (pupa_os_area_addr): Likewise.
47902 (pupa_os_area_size): Likewise.
47903 (pupa_lower_mem): Likewise.
47904 (pupa_upper_mem): Likewise.
47905 (add_mem_region): New function.
47906 (compact_mem_regions): Likewise.
47907 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
47908 the size of the conventional memory and that of so-called upper
47909 memory (before the first memory hole).
47910 Instead of adding each found region to free memory, use
47911 add_mem_region and add them after removing overlaps.
47912 Also, add only 1/4 of the upper memory to free memory. The rest
47913 is used for loading OS images. Maybe this is ad hoc, but this
47914 makes it much easier to relocate OS images when booting.
47915
47916 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
47917 (pupa_enter_rescue_mode): Don't register initrd and module.
47918
47919 * kern/mm.c: Include pupa/dl.h.
47920
47921 * kern/main.c: Include pupa/file.h and pupa/device.h.
47922
47923 * kern/loader.c (pupa_loader_load_module_func): Removed.
47924 (pupa_loader_load_module): Likewise.
47925
47926 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
47927 ``.o''.
47928
47929 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
47930 (pupa_linux_tmp_addr): Likewise.
47931 (pupa_linux_real_addr): Likewise.
47932 (pupa_linux_boot_zimage): Likewise.
47933 (pupa_linux_boot_bzimage): Likewise.
47934
47935 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
47936 (pupa_upper_mem): Likewise.
47937 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
47938 module is too dangerous.
47939
47940 * include/pupa/loader.h (pupa_os_area_addr): Declared.
47941 (pupa_os_area_size): Likewise.
47942 (pupa_loader_set): Remove the first argument. Loader doesn't
47943 manage modules or initrd any longer.
47944 (pupa_loader_load_module): Removed.
47945
47946 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
47947 (linux_mod_SOURCES): New variable.
47948 (linux_mod_CFLAGS): Likewise.
47949
47950 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
47951
47952 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
47953 the length of a blocklist correctly.
47954
47955 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
47956 Use ioctl only if the OS file is a block device.
47957 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
47958 not very useful for normal files.
47959
47960 * kern/main.c (pupa_set_root_dev): New function.
47961 (pupa_load_normal_mode): Likewise.
47962 (pupa_main): Call those above.
47963
47964 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
47965 pupa_uint16_t.
47966
47967 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
47968
47969 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
47970
47971 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
47972 (setup): Configure the installed partition information and the
47973 dl prefix.
47974
47975 * loader/i386/pc/chainloader.c (my_mod): New variable.
47976 (pupa_chainloader_unload): New function.
47977 (pupa_rescue_cmd_chainloader): Refer itself.
47978 (PUPA_MOD_INIT): Save its own module in MY_MOD.
47979
47980 * kern/i386/pc/startup.S (install_partition): Removed.
47981 (version_string): Likewise.
47982 (config_file): Likewise.
47983 (pupa_install_dos_part): New variable.
47984 (pupa_install_bsd_part): Likewise.
47985 (pupa_prefix): Likewise.
47986 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
47987
47988 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
47989 and pupa/misc.h.
47990 (make_install_device): New function.
47991 (pupa_machine_init): Set the dl prefix.
47992
47993 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
47994 (buf): Renamed to ...
47995 (linebuf): ... this.
47996 (pupa_rescue_cmd_prefix): New function.
47997 (pupa_rescue_cmd_insmod): Likewise.
47998 (pupa_rescue_cmd_rmmod): Likewise.
47999 (pupa_rescue_cmd_lsmod): Likewise.
48000 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48001 rmmod and lsmod.
48002
48003 * kern/mm.c (pupa_memalign): If failed even after invalidating
48004 disk caches, unload unneeded modules and retry.
48005
48006 * kern/misc.c (pupa_memmove): New function.
48007 (pupa_memcpy): Removed.
48008 (pupa_strcpy): New function.
48009 (pupa_itoa): Made static.
48010
48011 * kern/dl.c (pupa_dl_iterate): New function.
48012 (pupa_dl_ref): Likewise.
48013 (pupa_dl_unref): Likewise.
48014 (pupa_dl_unload): Return if succeeded or not.
48015 (pupa_dl_unload_unneeded): New function.
48016 (pupa_dl_unload_all): Likewise.
48017 (pupa_dl_init): Renamed to ...
48018 (pupa_dl_set_prefix): ... this.
48019 (pupa_dl_get_prefix): New function.
48020
48021 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48022 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48023 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48024 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48025 (pupa_install_dos_part): Declared.
48026 (pupa_install_bsd_part): Likewise.
48027 (pupa_prefix): Likewise.
48028 (pupa_boot_drive): Likewise.
48029
48030 * include/pupa/types.h: Fix a typo.
48031
48032 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48033 pupa_memmove.
48034 (pupa_memmove): Declared.
48035 (pupa_strcpy): Likewise.
48036
48037 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48038 pupa_mod_init takes one argument, its own module.
48039 (pupa_dl_unload_unneeded): Declared.
48040 (pupa_dl_unload_all): Likewise.
48041 (pupa_dl_ref): Likewise.
48042 (pupa_dl_unref): Likewise.
48043 (pupa_dl_iterate): Likewise.
48044 (pupa_dl_init): Renamed to ...
48045 (pupa_dl_set_prefix): ... this.
48046 (pupa_dl_get_prefix): Declared.
48047
48048 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
48049 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
48050 unloaded.
48051 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48052 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48053
48054 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48055 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48056
48057 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48058
48059 * util/i386/pc/pupa-setup.c (setup): Define the internal
48060 function find_first_partition_start at the top level, because GCC
48061 3.0.x cannot compile internal functions in deeper scopes
48062 correctly.
48063 (find_root_device): Use lstat instead of stat.
48064 Don't follow symbolic links.
48065 Fix the path-constructing code.
48066
48067 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48068 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48069 by a BLKGETSIZE ioctl first, because block devices don't fill
48070 the member st_mode of the structure stat on Linux.
48071 [__linux__] (linux_find_partition): Use a temporary buffer
48072 REAL_DEV for the working space. Copy it to DEV before returning.
48073 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48074 buffer cache consistent.
48075 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48076 strncmp. The previous value was merely wrong.
48077 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48078
48079 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48080 FAT size is 12. The previous value was merely wrong.
48081
48082 * kern/main.c (pupa_main): Don't split the starting message from
48083 newlines.
48084
48085 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48086 LF, because BIOS goes crazy about character attributes in this
48087 case.
48088
48089 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48090
48091 * include/i386/pc/util/biosdisk.h: New file.
48092 * util/i386/pc/biosdisk.c: Likewise.
48093 * util/i386/pc/pupa-setup.c: Likewise.
48094
48095 * Makefile.in (INCLUDE_DISTFILES): Added
48096 include/pupa/i386/pc/util/biosdisk.h.
48097 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48098 directory util/i386/pc.
48099 (install-local): Added a rule for sbin_UTILITIES.
48100 (uninstall): Likewise.
48101
48102 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48103
48104 * util/misc.c (xrealloc): New function.
48105 (pupa_malloc): Likewise.
48106 (pupa_free): Likewise.
48107 (pupa_realloc): Likewise.
48108 (pupa_stop): Likewise.
48109 (pupa_putchar): Likewise.
48110
48111 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48112
48113 * include/pupa/util/misc.h (xrealloc): Declared.
48114
48115 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48116 macro.
48117 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48118 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48119
48120 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48121 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48122
48123 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48124 way should be implemented.
48125 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48126
48127 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48128 the size of NAME for safety.
48129 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48130 0x88.
48131
48132 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48133 (pupa_setup_SOURCES): Likewise.
48134
48135 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48136
48137 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48138
48139 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48140 bunch of pushl's from pusha, because this destroys the return
48141 value.
48142
48143 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48144
48145 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48146 This means that any missing prototypes could be fatal. Also, you
48147 must take care when writing assembly code. See the comments at
48148 the beginning of startup.S, for more details.
48149
48150 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48151 compilation mechanism.
48152 (pupa_chainloader_real_boot): Likewise.
48153 (pupa_biosdisk_rw_int13_extensions): Likewise.
48154 (pupa_biosdisk_rw_standard): Likewise.
48155 (pupa_biosdisk_check_int13_extensions): Likewise.
48156 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48157 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48158 (pupa_get_memsize): Likewise.
48159 (pupa_get_mmap_entry): Likewise.
48160 (pupa_console_putchar): Likewise.
48161 (pupa_console_setcursor): Likewise.
48162 (pupa_getrtsecs): Use pushl instead of push.
48163
48164 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48165 memory instead of the stack for a mmap entry, because some
48166 BIOSes may ignore the maximum size and overflow.
48167
48168 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48169
48170 * genmk.rb (PModule#rule): Compile automatically generated
48171 sources with module-specific CFLAGS as well as other sources.
48172
48173 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48174
48175 * configure.ac: Check ld.
48176 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48177 respectively, before checking endianness and sizes.
48178
48179 * Makefile.in (LD): New variable.
48180
48181 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48182
48183 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48184
48185 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48186
48187 * Changelog: New file.
48188